aiex-cli 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +118 -0
  3. package/bin/cli.mjs +2 -0
  4. package/dist/cli.d.mts +1 -0
  5. package/dist/cli.mjs +9948 -0
  6. package/dist/core/schema-sqlite/migrate-helper.d.mts +1 -0
  7. package/dist/core/schema-sqlite/migrate-helper.mjs +190 -0
  8. package/dist/doctor-Wic10PLt.mjs +711 -0
  9. package/dist/index.d.mts +281 -0
  10. package/dist/index.mjs +3 -0
  11. package/dist/table-schema.json +220 -0
  12. package/dist/web/assets/abap-Cry0R76c.js +1 -0
  13. package/dist/web/assets/apex-xqbJ58nJ.js +1 -0
  14. package/dist/web/assets/azcli-D7JTNGKs.js +1 -0
  15. package/dist/web/assets/bat-Cuq6hn0K.js +1 -0
  16. package/dist/web/assets/bicep-eTuQjz9F.js +2 -0
  17. package/dist/web/assets/cameligo-DKgCRl36.js +1 -0
  18. package/dist/web/assets/chunk-BEqpzyXh.js +1 -0
  19. package/dist/web/assets/clojure-B_aTBtVh.js +1 -0
  20. package/dist/web/assets/codicon-DCmgc-ay.ttf +0 -0
  21. package/dist/web/assets/coffee-BWAYpIPu.js +1 -0
  22. package/dist/web/assets/cpp-BduBQE8d.js +1 -0
  23. package/dist/web/assets/csharp-CMqOVYKK.js +1 -0
  24. package/dist/web/assets/csp-6cGliXw2.js +1 -0
  25. package/dist/web/assets/css-CHnKqS9Q.js +3 -0
  26. package/dist/web/assets/cssMode-BloHqzZF.js +4 -0
  27. package/dist/web/assets/cypher-DMzZBj2L.js +1 -0
  28. package/dist/web/assets/dart-7hYfJ1Dv.js +1 -0
  29. package/dist/web/assets/dockerfile-BflvjnJW.js +1 -0
  30. package/dist/web/assets/ecl-BEt6xb2p.js +1 -0
  31. package/dist/web/assets/editor-BR-TvLsg.css +1 -0
  32. package/dist/web/assets/editor-DPKWm9GW.css +1 -0
  33. package/dist/web/assets/editor.api-BG499EJF.js +642 -0
  34. package/dist/web/assets/editor.main-BhEWG0_P.js +53 -0
  35. package/dist/web/assets/editor.worker-DwXe4U6w.js +12 -0
  36. package/dist/web/assets/elixir-CnrQCt6o.js +1 -0
  37. package/dist/web/assets/flow9-CfLCoUuB.js +1 -0
  38. package/dist/web/assets/freemarker2-DOHaFATh.js +3 -0
  39. package/dist/web/assets/fsharp-BQqR9uQ6.js +1 -0
  40. package/dist/web/assets/go-C3AlMVwy.js +1 -0
  41. package/dist/web/assets/graphql-O_-hDldf.js +1 -0
  42. package/dist/web/assets/handlebars-BIFWety9.js +1 -0
  43. package/dist/web/assets/hcl-BQQD6Mtj.js +1 -0
  44. package/dist/web/assets/html-YGaqGZNd.js +1 -0
  45. package/dist/web/assets/htmlMode-Bu3PyHjq.js +4 -0
  46. package/dist/web/assets/index-Bi376XVf.css +2 -0
  47. package/dist/web/assets/index-c6KB-9C-.js +3262 -0
  48. package/dist/web/assets/ini-Bf0RDfP_.js +1 -0
  49. package/dist/web/assets/java-nqX2KEDD.js +1 -0
  50. package/dist/web/assets/javascript-N0gZqDK0.js +1 -0
  51. package/dist/web/assets/json.worker-DhD1Scrm.js +51 -0
  52. package/dist/web/assets/jsonMode-z5YscjcG.js +10 -0
  53. package/dist/web/assets/julia-B6P9U5er.js +1 -0
  54. package/dist/web/assets/kotlin-B-LRk09-.js +1 -0
  55. package/dist/web/assets/less-CEaIdW1f.js +2 -0
  56. package/dist/web/assets/lexon-Qv4pvFSW.js +1 -0
  57. package/dist/web/assets/liquid-BHfNNVLs.js +1 -0
  58. package/dist/web/assets/lua-CFpyR7YN.js +1 -0
  59. package/dist/web/assets/m3-CvKhVPQn.js +1 -0
  60. package/dist/web/assets/markdown-qldG3Vc4.js +1 -0
  61. package/dist/web/assets/mdx-Dqu2t0et.js +1 -0
  62. package/dist/web/assets/mips-0D8PRyHq.js +1 -0
  63. package/dist/web/assets/monaco.contribution-ByQ3yI-W.js +2 -0
  64. package/dist/web/assets/msdax-DwZXSC5M.js +1 -0
  65. package/dist/web/assets/mysql-BWq85KY4.js +1 -0
  66. package/dist/web/assets/objective-c-D653JUMG.js +1 -0
  67. package/dist/web/assets/pascal-rWjRDdnR.js +1 -0
  68. package/dist/web/assets/pascaligo-Db8EehaF.js +1 -0
  69. package/dist/web/assets/perl-C68oq8-D.js +1 -0
  70. package/dist/web/assets/pgsql-BXeHe33s.js +1 -0
  71. package/dist/web/assets/php-CDVsAbfl.js +1 -0
  72. package/dist/web/assets/pla-DnryFT0q.js +1 -0
  73. package/dist/web/assets/postiats-CDg_4Ev-.js +1 -0
  74. package/dist/web/assets/powerquery-CWPi8ROz.js +1 -0
  75. package/dist/web/assets/powershell-C5A0QX3-.js +1 -0
  76. package/dist/web/assets/preload-helper-DSXbuxSR.js +1 -0
  77. package/dist/web/assets/primeicons-C6QP2o4f.woff2 +0 -0
  78. package/dist/web/assets/primeicons-DMOk5skT.eot +0 -0
  79. package/dist/web/assets/primeicons-Dr5RGzOO.svg +345 -0
  80. package/dist/web/assets/primeicons-MpK4pl85.ttf +0 -0
  81. package/dist/web/assets/primeicons-WjwUDZjB.woff +0 -0
  82. package/dist/web/assets/protobuf-Cgt-BQbL.js +2 -0
  83. package/dist/web/assets/pug-RPYJC9QB.js +1 -0
  84. package/dist/web/assets/python-icfse9Ji.js +1 -0
  85. package/dist/web/assets/qsharp-BZ3S7fu_.js +1 -0
  86. package/dist/web/assets/r-CN875f1X.js +1 -0
  87. package/dist/web/assets/razor-DwVkryG9.js +1 -0
  88. package/dist/web/assets/redis-BLesvTwR.js +1 -0
  89. package/dist/web/assets/redshift-Byf_0XqD.js +1 -0
  90. package/dist/web/assets/restructuredtext-DYg_6BiZ.js +1 -0
  91. package/dist/web/assets/ruby-C4OkxbC-.js +1 -0
  92. package/dist/web/assets/rust-xAoaEFMh.js +1 -0
  93. package/dist/web/assets/sb-C8dHOW_y.js +1 -0
  94. package/dist/web/assets/scala-Spx0wP1o.js +1 -0
  95. package/dist/web/assets/scheme-D2mZlAUz.js +1 -0
  96. package/dist/web/assets/scss-DDCn3Ylu.js +3 -0
  97. package/dist/web/assets/shell-M6px0EWn.js +1 -0
  98. package/dist/web/assets/solidity-DUWMJi-f.js +1 -0
  99. package/dist/web/assets/sophia-DwJbUG-2.js +1 -0
  100. package/dist/web/assets/sparql-ClQxbRPI.js +1 -0
  101. package/dist/web/assets/sql-BQdjW7Vy.js +1 -0
  102. package/dist/web/assets/st-BpISyZ_v.js +1 -0
  103. package/dist/web/assets/swift-CMbl5gM4.js +1 -0
  104. package/dist/web/assets/systemverilog-jx2Xs7uO.js +1 -0
  105. package/dist/web/assets/tcl-GIGnfs89.js +1 -0
  106. package/dist/web/assets/tsMode-CLrI3bdf.js +11 -0
  107. package/dist/web/assets/twig-Bc0mxc_m.js +1 -0
  108. package/dist/web/assets/typescript-BzuZVF7m.js +1 -0
  109. package/dist/web/assets/typespec-CEioAsEm.js +1 -0
  110. package/dist/web/assets/vb-BPk67J-d.js +1 -0
  111. package/dist/web/assets/wgsl-DOnyt8_J.js +298 -0
  112. package/dist/web/assets/xml-Cr85kdqA.js +1 -0
  113. package/dist/web/assets/yaml-D3RbJnnO.js +1 -0
  114. package/dist/web/index.html +25 -0
  115. package/package.json +86 -0
  116. package/src/core/schema-sqlite/migrate-helper.ts +246 -0
@@ -0,0 +1,53 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/freemarker2-DOHaFATh.js","assets/editor.api-BG499EJF.js","assets/chunk-BEqpzyXh.js","assets/editor-BR-TvLsg.css","assets/handlebars-BIFWety9.js","assets/html-YGaqGZNd.js","assets/javascript-N0gZqDK0.js","assets/typescript-BzuZVF7m.js","assets/liquid-BHfNNVLs.js","assets/mdx-Dqu2t0et.js","assets/python-icfse9Ji.js","assets/razor-DwVkryG9.js","assets/xml-Cr85kdqA.js","assets/yaml-D3RbJnnO.js","assets/cssMode-BloHqzZF.js","assets/htmlMode-Bu3PyHjq.js","assets/jsonMode-z5YscjcG.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-DSXbuxSR.js";import{$ as t,$a as n,$c as r,$i as i,$l as a,$n as o,$o as s,$r as c,$s as l,$t as u,A as d,Aa as f,Ac as p,Ai as m,Al as h,An as ee,Ao as te,Ar as ne,As as re,At as ie,B as ae,Ba as g,Bc as oe,Bi as se,Bl as ce,Bn as le,Bo as ue,Br as de,Bs as fe,Bt as pe,C as me,Ca as he,Cc as ge,Ci as _e,Cl as ve,Cn as ye,Co as be,Cr as xe,Cs as Se,Ct as Ce,D as we,Da as Te,Dc as Ee,Di as De,Dl as Oe,Dn as ke,Do as _,Dr as Ae,Ds as je,Dt as Me,E as Ne,Ea as Pe,Ec as Fe,Ei as Ie,El as v,En as Le,Eo as y,Er as Re,Es as ze,Et as Be,F as Ve,Fa as He,Fc as Ue,Fi as We,Fl as Ge,Fn as Ke,Fo as qe,Fr as Je,Fs as Ye,Ft as Xe,G as Ze,Ga as Qe,Gc as $e,Gi as et,Gl as b,Gn as tt,Go as nt,Gr as x,Gs as rt,Gt as it,H as at,Ha as S,Hc as ot,Hi as st,Hl as ct,Hn as lt,Ho as ut,Hr as dt,Hs as ft,Ht as pt,I as mt,Ia as ht,Ic as gt,Ii as _t,Il as vt,In as yt,Io as C,Ir as bt,Is as xt,It as St,J as Ct,Ja as wt,Jc as Tt,Ji as Et,Jl as Dt,Jn as Ot,Jo as w,Jr as kt,Js as At,Jt as jt,K as Mt,Ka as Nt,Kc as Pt,Ki as Ft,Kl as T,Kn as It,Ko as E,Kr as Lt,Ks as Rt,Kt as zt,L as Bt,La as Vt,Lc as Ht,Li as Ut,Ll as Wt,Ln as Gt,Lo as Kt,Lr as qt,Ls as Jt,Lt as Yt,M as Xt,Ma as Zt,Mc as Qt,Mi as $t,Mn as en,Mo as tn,Mr as nn,Ms as rn,Mt as an,N as on,Na as sn,Nc as cn,Ni as ln,Nl as un,Nn as dn,No as fn,Nr as pn,Ns as mn,Nt as hn,O as gn,Oa as _n,Oc as vn,Oi as yn,Ol as bn,On as xn,Oo as D,Or as Sn,Os as Cn,Ot as wn,P as Tn,Pa as En,Pc as Dn,Pi as On,Pl as kn,Pn as An,Po as jn,Pr as Mn,Ps as Nn,Pt as Pn,Q as Fn,Qa as In,Qc as O,Qi as Ln,Ql as Rn,Qn as zn,Qo as Bn,Qr as Vn,Qs as Hn,Qt as Un,Ra as Wn,Rc as Gn,Ri as Kn,Rl as qn,Rn as Jn,Ro as Yn,Rr as Xn,Rs as Zn,Rt as Qn,S as $n,Sa as er,Sc as tr,Si as nr,Sl as rr,Sn as ir,So as ar,Sr as k,Ss as or,St as sr,T as cr,Ta as lr,Tc as ur,Ti as dr,Tl as fr,Tn as pr,To as mr,Tr as hr,Ts as gr,Tt as _r,U as vr,Ua as yr,Uc as br,Ui as xr,Ul as Sr,Un as Cr,Uo as wr,Ur as Tr,Us as Er,Ut as Dr,V as Or,Va as kr,Vc as Ar,Vi as jr,Vl as Mr,Vn as Nr,Vo as A,Vr as Pr,Vs as Fr,Vt as Ir,W as Lr,Wa as Rr,Wc as zr,Wi as Br,Wl as Vr,Wn as Hr,Wo as Ur,Wr,Ws as Gr,Wt as Kr,X as qr,Xa as Jr,Xc as Yr,Xi as Xr,Xl as j,Xn as Zr,Xo as Qr,Xr as $r,Xs as ei,Xt as ti,Y as ni,Ya as ri,Yc as ii,Yi as ai,Yl as oi,Yn as si,Yo as M,Yr as ci,Ys as li,Yt as ui,Z as di,Za as fi,Zc as N,Zi as pi,Zl as mi,Zn as hi,Zo as P,Zr as gi,Zs as _i,Zt as vi,_ as yi,_a as F,_c as bi,_i as xi,_l as Si,_n as Ci,_o as wi,_r as Ti,_s as Ei,_t as Di,a as Oi,aa as ki,ac as Ai,ai as ji,al as Mi,an as Ni,ao as Pi,ar as Fi,as as I,at as Ii,au as Li,b as Ri,ba as zi,bc as Bi,bi as Vi,bl as Hi,bn as Ui,bo as Wi,br as Gi,bs as Ki,bt as qi,c as Ji,ca as Yi,cc as Xi,ci as Zi,cl as Qi,cn as $i,co as ea,cr as ta,cs as na,ct as ra,cu as ia,d as aa,da as oa,dc as sa,di as ca,dl as la,dn as ua,do as da,dr as fa,ds as L,dt as pa,du as ma,ea as ha,ec as ga,ei as _a,el as R,en as va,eo as ya,er as ba,es as xa,et as Sa,eu as Ca,f as wa,fa as Ta,fc as Ea,fi as Da,fl as Oa,fn as ka,fo as Aa,fr as ja,fs as Ma,ft as Na,fu as Pa,g as Fa,ga as Ia,gc as La,gi as Ra,gl as za,gn as Ba,go as Va,gr as Ha,gs as z,gt as Ua,h as Wa,ha as Ga,hc as Ka,hi as qa,hl as Ja,hn as Ya,ho as Xa,hr as Za,hs as Qa,ht as $a,hu as eo,i as to,ia as no,ic as ro,ii as io,il as ao,in as oo,io as so,ir as co,is as lo,it as uo,iu as fo,j as po,ja as mo,jc as ho,ji as go,jl as _o,jn as vo,jo as yo,jr as bo,js as xo,jt as So,k as Co,ka as wo,kc as To,ki as Eo,kl as Do,kn as Oo,ko,kr as Ao,ks as jo,kt as Mo,l as No,la as Po,lc as Fo,li as Io,ll as B,ln as Lo,lo as Ro,lr as zo,ls as Bo,lt as Vo,lu as Ho,m as Uo,ma as Wo,mc as Go,mi as Ko,ml as V,mn as qo,mo as Jo,mr as Yo,ms as Xo,mt as Zo,mu as Qo,n as $o,na as es,nc as ts,ni as ns,nl as rs,nn as is,no as as,nr as os,ns as ss,nt as cs,nu as ls,o as us,oa as ds,oc as fs,oi as ps,ol as H,on as ms,oo as hs,or as gs,os as _s,ot as vs,ou as ys,p as bs,pa as xs,pc as Ss,pi as Cs,pl as U,pn as ws,po as Ts,pr as Es,ps as Ds,pt as Os,pu as ks,q as As,qa as js,qc as Ms,qi as Ns,ql as Ps,qn as Fs,qo as W,qr as Is,qs as Ls,qt as Rs,r as zs,ra as Bs,rc as Vs,ri as Hs,rl as Us,rn as Ws,ro as Gs,rr as Ks,rs as qs,rt as Js,ru as Ys,s as Xs,sa as Zs,sc as Qs,si as $s,sl as ec,sn as tc,so as nc,sr as rc,ss as ic,st as ac,su as oc,t as sc,ta as cc,tc as lc,ti as uc,tl as G,tn as dc,to as fc,tr as pc,ts as mc,tt as hc,tu as gc,u as _c,ua as vc,uc as yc,ui as bc,ul as xc,un as Sc,uo as Cc,ur as wc,us as K,ut as Tc,uu as Ec,v as Dc,va as Oc,vc as kc,vi as Ac,vl as jc,vn as Mc,vo as Nc,vr as Pc,vs as Fc,vt as Ic,w as Lc,wa as Rc,wc as zc,wi as Bc,wl as Vc,wn as Hc,wo as Uc,wr as Wc,ws as Gc,wt as Kc,x as qc,xa as q,xc as Jc,xi as Yc,xl as Xc,xn as Zc,xo as J,xr as Qc,xs as $c,xt as el,y as tl,ya as nl,yc as rl,yi as il,yl as al,yn as ol,yo as sl,yr as cl,ys as Y,yt as ll,z as ul,za as dl,zc as fl,zi as pl,zl as ml,zn as hl,zo as gl,zr as _l,zs as vl,zt as yl}from"./editor.api-BG499EJF.js";import"./monaco.contribution-ByQ3yI-W.js";var bl=Object.defineProperty,xl=Object.getOwnPropertyDescriptor,Sl=Object.getOwnPropertyNames,Cl=Object.prototype.hasOwnProperty,wl=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of Sl(t))!Cl.call(e,i)&&i!==n&&bl(e,i,{get:()=>t[i],enumerable:!(r=xl(t,i))||r.enumerable});return e},Tl=(e,t,n)=>(wl(e,t,`default`),n&&wl(n,t,`default`)),El={};Tl(El,Uo);var Dl={},Ol={},kl=class e{static getOrCreate(t){return Ol[t]||(Ol[t]=new e(t)),Ol[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,Dl[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}};function X(e){let t=e.id;Dl[t]=e,El.languages.register(e);let n=kl.getOrCreate(t);El.languages.registerTokensProviderFactory(t,{create:async()=>(await n.load()).language}),El.languages.onLanguageEncountered(t,async()=>{let e=await n.load();El.languages.setLanguageConfiguration(t,e.conf)})}X({id:`abap`,extensions:[`.abap`],aliases:[`abap`,`ABAP`],loader:()=>e(()=>import(`./abap-Cry0R76c.js`),[])}),X({id:`apex`,extensions:[`.cls`],aliases:[`Apex`,`apex`],mimetypes:[`text/x-apex-source`,`text/x-apex`],loader:()=>e(()=>import(`./apex-xqbJ58nJ.js`),[])}),X({id:`azcli`,extensions:[`.azcli`],aliases:[`Azure CLI`,`azcli`],loader:()=>e(()=>import(`./azcli-D7JTNGKs.js`),[])}),X({id:`bat`,extensions:[`.bat`,`.cmd`],aliases:[`Batch`,`bat`],loader:()=>e(()=>import(`./bat-Cuq6hn0K.js`),[])}),X({id:`bicep`,extensions:[`.bicep`],aliases:[`Bicep`],loader:()=>e(()=>import(`./bicep-eTuQjz9F.js`),[])}),X({id:`cameligo`,extensions:[`.mligo`],aliases:[`Cameligo`],loader:()=>e(()=>import(`./cameligo-DKgCRl36.js`),[])}),X({id:`clojure`,extensions:[`.clj`,`.cljs`,`.cljc`,`.edn`],aliases:[`clojure`,`Clojure`],loader:()=>e(()=>import(`./clojure-B_aTBtVh.js`),[])}),X({id:`coffeescript`,extensions:[`.coffee`],aliases:[`CoffeeScript`,`coffeescript`,`coffee`],mimetypes:[`text/x-coffeescript`,`text/coffeescript`],loader:()=>e(()=>import(`./coffee-BWAYpIPu.js`),[])}),X({id:`c`,extensions:[`.c`,`.h`],aliases:[`C`,`c`],loader:()=>e(()=>import(`./cpp-BduBQE8d.js`),[])}),X({id:`cpp`,extensions:[`.cpp`,`.cc`,`.cxx`,`.hpp`,`.hh`,`.hxx`],aliases:[`C++`,`Cpp`,`cpp`],loader:()=>e(()=>import(`./cpp-BduBQE8d.js`),[])}),X({id:`csharp`,extensions:[`.cs`,`.csx`,`.cake`],aliases:[`C#`,`csharp`],loader:()=>e(()=>import(`./csharp-CMqOVYKK.js`),[])}),X({id:`csp`,extensions:[`.csp`],aliases:[`CSP`,`csp`],loader:()=>e(()=>import(`./csp-6cGliXw2.js`),[])}),X({id:`css`,extensions:[`.css`],aliases:[`CSS`,`css`],mimetypes:[`text/css`],loader:()=>e(()=>import(`./css-CHnKqS9Q.js`),[])}),X({id:`cypher`,extensions:[`.cypher`,`.cyp`],aliases:[`Cypher`,`OpenCypher`],loader:()=>e(()=>import(`./cypher-DMzZBj2L.js`),[])}),X({id:`dart`,extensions:[`.dart`],aliases:[`Dart`,`dart`],mimetypes:[`text/x-dart-source`,`text/x-dart`],loader:()=>e(()=>import(`./dart-7hYfJ1Dv.js`),[])}),X({id:`dockerfile`,extensions:[`.dockerfile`],filenames:[`Dockerfile`],aliases:[`Dockerfile`],loader:()=>e(()=>import(`./dockerfile-BflvjnJW.js`),[])}),X({id:`ecl`,extensions:[`.ecl`],aliases:[`ECL`,`Ecl`,`ecl`],loader:()=>e(()=>import(`./ecl-BEt6xb2p.js`),[])}),X({id:`elixir`,extensions:[`.ex`,`.exs`],aliases:[`Elixir`,`elixir`,`ex`],loader:()=>e(()=>import(`./elixir-CnrQCt6o.js`),[])}),X({id:`flow9`,extensions:[`.flow`],aliases:[`Flow9`,`Flow`,`flow9`,`flow`],loader:()=>e(()=>import(`./flow9-CfLCoUuB.js`),[])}),X({id:`fsharp`,extensions:[`.fs`,`.fsi`,`.ml`,`.mli`,`.fsx`,`.fsscript`],aliases:[`F#`,`FSharp`,`fsharp`],loader:()=>e(()=>import(`./fsharp-BQqR9uQ6.js`),[])}),X({id:`freemarker2`,extensions:[`.ftl`,`.ftlh`,`.ftlx`],aliases:[`FreeMarker2`,`Apache FreeMarker2`],loader:()=>e(()=>import(`./freemarker2-DOHaFATh.js`).then(e=>e.TagAutoInterpolationDollar),__vite__mapDeps([0,1,2,3]))}),X({id:`freemarker2.tag-angle.interpolation-dollar`,aliases:[`FreeMarker2 (Angle/Dollar)`,`Apache FreeMarker2 (Angle/Dollar)`],loader:()=>e(()=>import(`./freemarker2-DOHaFATh.js`).then(e=>e.TagAngleInterpolationDollar),__vite__mapDeps([0,1,2,3]))}),X({id:`freemarker2.tag-bracket.interpolation-dollar`,aliases:[`FreeMarker2 (Bracket/Dollar)`,`Apache FreeMarker2 (Bracket/Dollar)`],loader:()=>e(()=>import(`./freemarker2-DOHaFATh.js`).then(e=>e.TagBracketInterpolationDollar),__vite__mapDeps([0,1,2,3]))}),X({id:`freemarker2.tag-angle.interpolation-bracket`,aliases:[`FreeMarker2 (Angle/Bracket)`,`Apache FreeMarker2 (Angle/Bracket)`],loader:()=>e(()=>import(`./freemarker2-DOHaFATh.js`).then(e=>e.TagAngleInterpolationBracket),__vite__mapDeps([0,1,2,3]))}),X({id:`freemarker2.tag-bracket.interpolation-bracket`,aliases:[`FreeMarker2 (Bracket/Bracket)`,`Apache FreeMarker2 (Bracket/Bracket)`],loader:()=>e(()=>import(`./freemarker2-DOHaFATh.js`).then(e=>e.TagBracketInterpolationBracket),__vite__mapDeps([0,1,2,3]))}),X({id:`freemarker2.tag-auto.interpolation-dollar`,aliases:[`FreeMarker2 (Auto/Dollar)`,`Apache FreeMarker2 (Auto/Dollar)`],loader:()=>e(()=>import(`./freemarker2-DOHaFATh.js`).then(e=>e.TagAutoInterpolationDollar),__vite__mapDeps([0,1,2,3]))}),X({id:`freemarker2.tag-auto.interpolation-bracket`,aliases:[`FreeMarker2 (Auto/Bracket)`,`Apache FreeMarker2 (Auto/Bracket)`],loader:()=>e(()=>import(`./freemarker2-DOHaFATh.js`).then(e=>e.TagAutoInterpolationBracket),__vite__mapDeps([0,1,2,3]))}),X({id:`go`,extensions:[`.go`],aliases:[`Go`],loader:()=>e(()=>import(`./go-C3AlMVwy.js`),[])}),X({id:`graphql`,extensions:[`.graphql`,`.gql`],aliases:[`GraphQL`,`graphql`,`gql`],mimetypes:[`application/graphql`],loader:()=>e(()=>import(`./graphql-O_-hDldf.js`),[])}),X({id:`handlebars`,extensions:[`.handlebars`,`.hbs`],aliases:[`Handlebars`,`handlebars`,`hbs`],mimetypes:[`text/x-handlebars-template`],loader:()=>e(()=>import(`./handlebars-BIFWety9.js`),__vite__mapDeps([4,1,2,3]))}),X({id:`hcl`,extensions:[`.tf`,`.tfvars`,`.hcl`],aliases:[`Terraform`,`tf`,`HCL`,`hcl`],loader:()=>e(()=>import(`./hcl-BQQD6Mtj.js`),[])}),X({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:()=>e(()=>import(`./html-YGaqGZNd.js`),__vite__mapDeps([5,1,2,3]))}),X({id:`ini`,extensions:[`.ini`,`.properties`,`.gitconfig`],filenames:[`config`,`.gitattributes`,`.gitconfig`,`.editorconfig`],aliases:[`Ini`,`ini`],loader:()=>e(()=>import(`./ini-Bf0RDfP_.js`),[])}),X({id:`java`,extensions:[`.java`,`.jav`],aliases:[`Java`,`java`],mimetypes:[`text/x-java-source`,`text/x-java`],loader:()=>e(()=>import(`./java-nqX2KEDD.js`),[])}),X({id:`javascript`,extensions:[`.js`,`.es6`,`.jsx`,`.mjs`,`.cjs`],firstLine:`^#!.*\\bnode`,filenames:[`jakefile`],aliases:[`JavaScript`,`javascript`,`js`],mimetypes:[`text/javascript`],loader:()=>e(()=>import(`./javascript-N0gZqDK0.js`),__vite__mapDeps([6,7,1,2,3]))}),X({id:`julia`,extensions:[`.jl`],aliases:[`julia`,`Julia`],loader:()=>e(()=>import(`./julia-B6P9U5er.js`),[])}),X({id:`kotlin`,extensions:[`.kt`,`.kts`],aliases:[`Kotlin`,`kotlin`],mimetypes:[`text/x-kotlin-source`,`text/x-kotlin`],loader:()=>e(()=>import(`./kotlin-B-LRk09-.js`),[])}),X({id:`less`,extensions:[`.less`],aliases:[`Less`,`less`],mimetypes:[`text/x-less`,`text/less`],loader:()=>e(()=>import(`./less-CEaIdW1f.js`),[])}),X({id:`lexon`,extensions:[`.lex`],aliases:[`Lexon`],loader:()=>e(()=>import(`./lexon-Qv4pvFSW.js`),[])}),X({id:`lua`,extensions:[`.lua`],aliases:[`Lua`,`lua`],loader:()=>e(()=>import(`./lua-CFpyR7YN.js`),[])}),X({id:`liquid`,extensions:[`.liquid`,`.html.liquid`],aliases:[`Liquid`,`liquid`],mimetypes:[`application/liquid`],loader:()=>e(()=>import(`./liquid-BHfNNVLs.js`),__vite__mapDeps([8,1,2,3]))}),X({id:`m3`,extensions:[`.m3`,`.i3`,`.mg`,`.ig`],aliases:[`Modula-3`,`Modula3`,`modula3`,`m3`],loader:()=>e(()=>import(`./m3-CvKhVPQn.js`),[])}),X({id:`markdown`,extensions:[`.md`,`.markdown`,`.mdown`,`.mkdn`,`.mkd`,`.mdwn`,`.mdtxt`,`.mdtext`],aliases:[`Markdown`,`markdown`],loader:()=>e(()=>import(`./markdown-qldG3Vc4.js`),[])}),X({id:`mdx`,extensions:[`.mdx`],aliases:[`MDX`,`mdx`],loader:()=>e(()=>import(`./mdx-Dqu2t0et.js`),__vite__mapDeps([9,1,2,3]))}),X({id:`mips`,extensions:[`.s`],aliases:[`MIPS`,`MIPS-V`],mimetypes:[`text/x-mips`,`text/mips`,`text/plaintext`],loader:()=>e(()=>import(`./mips-0D8PRyHq.js`),[])}),X({id:`msdax`,extensions:[`.dax`,`.msdax`],aliases:[`DAX`,`MSDAX`],loader:()=>e(()=>import(`./msdax-DwZXSC5M.js`),[])}),X({id:`mysql`,extensions:[],aliases:[`MySQL`,`mysql`],loader:()=>e(()=>import(`./mysql-BWq85KY4.js`),[])}),X({id:`objective-c`,extensions:[`.m`],aliases:[`Objective-C`],loader:()=>e(()=>import(`./objective-c-D653JUMG.js`),[])}),X({id:`pascal`,extensions:[`.pas`,`.p`,`.pp`],aliases:[`Pascal`,`pas`],mimetypes:[`text/x-pascal-source`,`text/x-pascal`],loader:()=>e(()=>import(`./pascal-rWjRDdnR.js`),[])}),X({id:`pascaligo`,extensions:[`.ligo`],aliases:[`Pascaligo`,`ligo`],loader:()=>e(()=>import(`./pascaligo-Db8EehaF.js`),[])}),X({id:`perl`,extensions:[`.pl`,`.pm`],aliases:[`Perl`,`pl`],loader:()=>e(()=>import(`./perl-C68oq8-D.js`),[])}),X({id:`pgsql`,extensions:[],aliases:[`PostgreSQL`,`postgres`,`pg`,`postgre`],loader:()=>e(()=>import(`./pgsql-BXeHe33s.js`),[])}),X({id:`php`,extensions:[`.php`,`.php4`,`.php5`,`.phtml`,`.ctp`],aliases:[`PHP`,`php`],mimetypes:[`application/x-php`],loader:()=>e(()=>import(`./php-CDVsAbfl.js`),[])}),X({id:`pla`,extensions:[`.pla`],loader:()=>e(()=>import(`./pla-DnryFT0q.js`),[])}),X({id:`postiats`,extensions:[`.dats`,`.sats`,`.hats`],aliases:[`ATS`,`ATS/Postiats`],loader:()=>e(()=>import(`./postiats-CDg_4Ev-.js`),[])}),X({id:`powerquery`,extensions:[`.pq`,`.pqm`],aliases:[`PQ`,`M`,`Power Query`,`Power Query M`],loader:()=>e(()=>import(`./powerquery-CWPi8ROz.js`),[])}),X({id:`powershell`,extensions:[`.ps1`,`.psm1`,`.psd1`],aliases:[`PowerShell`,`powershell`,`ps`,`ps1`],loader:()=>e(()=>import(`./powershell-C5A0QX3-.js`),[])}),X({id:`proto`,extensions:[`.proto`],aliases:[`protobuf`,`Protocol Buffers`],loader:()=>e(()=>import(`./protobuf-Cgt-BQbL.js`),[])}),X({id:`pug`,extensions:[`.jade`,`.pug`],aliases:[`Pug`,`Jade`,`jade`],loader:()=>e(()=>import(`./pug-RPYJC9QB.js`),[])}),X({id:`python`,extensions:[`.py`,`.rpy`,`.pyw`,`.cpy`,`.gyp`,`.gypi`],aliases:[`Python`,`py`],firstLine:`^#!/.*\\bpython[0-9.-]*\\b`,loader:()=>e(()=>import(`./python-icfse9Ji.js`),__vite__mapDeps([10,1,2,3]))}),X({id:`qsharp`,extensions:[`.qs`],aliases:[`Q#`,`qsharp`],loader:()=>e(()=>import(`./qsharp-BZ3S7fu_.js`),[])}),X({id:`r`,extensions:[`.r`,`.rhistory`,`.rmd`,`.rprofile`,`.rt`],aliases:[`R`,`r`],loader:()=>e(()=>import(`./r-CN875f1X.js`),[])}),X({id:`razor`,extensions:[`.cshtml`],aliases:[`Razor`,`razor`],mimetypes:[`text/x-cshtml`],loader:()=>e(()=>import(`./razor-DwVkryG9.js`),__vite__mapDeps([11,1,2,3]))}),X({id:`redis`,extensions:[`.redis`],aliases:[`redis`],loader:()=>e(()=>import(`./redis-BLesvTwR.js`),[])}),X({id:`redshift`,extensions:[],aliases:[`Redshift`,`redshift`],loader:()=>e(()=>import(`./redshift-Byf_0XqD.js`),[])}),X({id:`restructuredtext`,extensions:[`.rst`],aliases:[`reStructuredText`,`restructuredtext`],loader:()=>e(()=>import(`./restructuredtext-DYg_6BiZ.js`),[])}),X({id:`ruby`,extensions:[`.rb`,`.rbx`,`.rjs`,`.gemspec`,`.pp`],filenames:[`rakefile`,`Gemfile`],aliases:[`Ruby`,`rb`],loader:()=>e(()=>import(`./ruby-C4OkxbC-.js`),[])}),X({id:`rust`,extensions:[`.rs`,`.rlib`],aliases:[`Rust`,`rust`],loader:()=>e(()=>import(`./rust-xAoaEFMh.js`),[])}),X({id:`sb`,extensions:[`.sb`],aliases:[`Small Basic`,`sb`],loader:()=>e(()=>import(`./sb-C8dHOW_y.js`),[])}),X({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:()=>e(()=>import(`./scala-Spx0wP1o.js`),[])}),X({id:`scheme`,extensions:[`.scm`,`.ss`,`.sch`,`.rkt`],aliases:[`scheme`,`Scheme`],loader:()=>e(()=>import(`./scheme-D2mZlAUz.js`),[])}),X({id:`scss`,extensions:[`.scss`],aliases:[`Sass`,`sass`,`scss`],mimetypes:[`text/x-scss`,`text/scss`],loader:()=>e(()=>import(`./scss-DDCn3Ylu.js`),[])}),X({id:`shell`,extensions:[`.sh`,`.bash`],aliases:[`Shell`,`sh`],loader:()=>e(()=>import(`./shell-M6px0EWn.js`),[])}),X({id:`sol`,extensions:[`.sol`],aliases:[`sol`,`solidity`,`Solidity`],loader:()=>e(()=>import(`./solidity-DUWMJi-f.js`),[])}),X({id:`aes`,extensions:[`.aes`],aliases:[`aes`,`sophia`,`Sophia`],loader:()=>e(()=>import(`./sophia-DwJbUG-2.js`),[])}),X({id:`sparql`,extensions:[`.rq`],aliases:[`sparql`,`SPARQL`],loader:()=>e(()=>import(`./sparql-ClQxbRPI.js`),[])}),X({id:`sql`,extensions:[`.sql`],aliases:[`SQL`],loader:()=>e(()=>import(`./sql-BQdjW7Vy.js`),[])}),X({id:`st`,extensions:[`.st`,`.iecst`,`.iecplc`,`.lc3lib`,`.TcPOU`,`.TcDUT`,`.TcGVL`,`.TcIO`],aliases:[`StructuredText`,`scl`,`stl`],loader:()=>e(()=>import(`./st-BpISyZ_v.js`),[])}),X({id:`swift`,aliases:[`Swift`,`swift`],extensions:[`.swift`],mimetypes:[`text/swift`],loader:()=>e(()=>import(`./swift-CMbl5gM4.js`),[])}),X({id:`systemverilog`,extensions:[`.sv`,`.svh`],aliases:[`SV`,`sv`,`SystemVerilog`,`systemverilog`],loader:()=>e(()=>import(`./systemverilog-jx2Xs7uO.js`),[])}),X({id:`verilog`,extensions:[`.v`,`.vh`],aliases:[`V`,`v`,`Verilog`,`verilog`],loader:()=>e(()=>import(`./systemverilog-jx2Xs7uO.js`),[])}),X({id:`tcl`,extensions:[`.tcl`],aliases:[`tcl`,`Tcl`,`tcltk`,`TclTk`,`tcl/tk`,`Tcl/Tk`],loader:()=>e(()=>import(`./tcl-GIGnfs89.js`),[])}),X({id:`twig`,extensions:[`.twig`],aliases:[`Twig`,`twig`],mimetypes:[`text/x-twig`],loader:()=>e(()=>import(`./twig-Bc0mxc_m.js`),[])}),X({id:`typescript`,extensions:[`.ts`,`.tsx`,`.cts`,`.mts`],aliases:[`TypeScript`,`ts`,`typescript`],mimetypes:[`text/typescript`],loader:()=>e(()=>import(`./typescript-BzuZVF7m.js`),__vite__mapDeps([7,1,2,3]))}),X({id:`typespec`,extensions:[`.tsp`],aliases:[`TypeSpec`],loader:()=>e(()=>import(`./typespec-CEioAsEm.js`),[])}),X({id:`vb`,extensions:[`.vb`],aliases:[`Visual Basic`,`vb`],loader:()=>e(()=>import(`./vb-BPk67J-d.js`),[])}),X({id:`wgsl`,extensions:[`.wgsl`],aliases:[`WebGPU Shading Language`,`WGSL`,`wgsl`],loader:()=>e(()=>import(`./wgsl-DOnyt8_J.js`),[])}),X({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:()=>e(()=>import(`./xml-Cr85kdqA.js`),__vite__mapDeps([12,1,2,3]))}),X({id:`yaml`,extensions:[`.yaml`,`.yml`],aliases:[`YAML`,`yaml`,`YML`,`yml`],mimetypes:[`application/x-yaml`,`text/x-yaml`],loader:()=>e(()=>import(`./yaml-D3RbJnnO.js`),__vite__mapDeps([13,1,2,3]))});var Al=Object.defineProperty,jl=Object.getOwnPropertyDescriptor,Ml=Object.getOwnPropertyNames,Nl=Object.prototype.hasOwnProperty,Pl=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of Ml(t))!Nl.call(e,i)&&i!==n&&Al(e,i,{get:()=>t[i],enumerable:!(r=jl(t,i))||r.enumerable});return e},Fl=(e,t,n)=>(Pl(e,t,`default`),n&&Pl(n,t,`default`)),Il={};Fl(Il,Uo);var Ll=class{constructor(e,t,n){this._onDidChange=new Il.Emitter,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(e){this.setOptions(e)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},Rl={validate:!0,lint:{compatibleVendorPrefixes:`ignore`,vendorPrefix:`warning`,duplicateProperties:`warning`,emptyRules:`warning`,importStatement:`ignore`,boxModel:`ignore`,universalSelector:`ignore`,zeroUnits:`ignore`,fontFaceProperties:`warning`,hexColorLength:`error`,argumentsInColorFunction:`error`,unknownProperties:`warning`,ieHack:`ignore`,unknownVendorSpecificProperties:`ignore`,propertyIgnoredDueToDisplay:`warning`,important:`ignore`,float:`ignore`,idSelector:`ignore`},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:`collapse`,maxPreserveNewLines:void 0,preserveNewLines:!0}},zl={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},Bl=new Ll(`css`,Rl,zl),Vl=new Ll(`scss`,Rl,zl),Hl=new Ll(`less`,Rl,zl);Il.languages.css={cssDefaults:Bl,lessDefaults:Hl,scssDefaults:Vl};function Ul(){return e(()=>import(`./cssMode-BloHqzZF.js`),__vite__mapDeps([14,1,2,3]))}Il.languages.onLanguage(`less`,()=>{Ul().then(e=>e.setupMode(Hl))}),Il.languages.onLanguage(`scss`,()=>{Ul().then(e=>e.setupMode(Vl))}),Il.languages.onLanguage(`css`,()=>{Ul().then(e=>e.setupMode(Bl))});var Wl=Object.defineProperty,Gl=Object.getOwnPropertyDescriptor,Kl=Object.getOwnPropertyNames,ql=Object.prototype.hasOwnProperty,Jl=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of Kl(t))!ql.call(e,i)&&i!==n&&Wl(e,i,{get:()=>t[i],enumerable:!(r=Gl(t,i))||r.enumerable});return e},Yl=(e,t,n)=>(Jl(e,t,`default`),n&&Jl(n,t,`default`)),Xl={};Yl(Xl,Uo);var Zl=class{constructor(e,t,n){this._onDidChange=new Xl.Emitter,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},Ql={format:{tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:`default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var`,contentUnformatted:`pre`,indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:`head, body, /html`,wrapAttributes:`auto`},suggest:{},data:{useDefaultDataProvider:!0}};function $l(e){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:e===eu,documentFormattingEdits:e===eu,documentRangeFormattingEdits:e===eu}}var eu=`html`,tu=`handlebars`,nu=`razor`,ru=uu(eu,Ql,$l(eu)),iu=ru.defaults,au=uu(tu,Ql,$l(tu)),ou=au.defaults,su=uu(nu,Ql,$l(nu)),cu=su.defaults;Xl.languages.html={htmlDefaults:iu,razorDefaults:cu,handlebarDefaults:ou,htmlLanguageService:ru,handlebarLanguageService:au,razorLanguageService:su,registerHTMLLanguageService:uu};function lu(){return e(()=>import(`./htmlMode-Bu3PyHjq.js`),__vite__mapDeps([15,1,2,3]))}function uu(e,t=Ql,n=$l(e)){let r=new Zl(e,t,n),i,a=Xl.languages.onLanguage(e,async()=>{i=(await lu()).setupMode(r)});return{defaults:r,dispose(){a.dispose(),i?.dispose(),i=void 0}}}var du=Object.defineProperty,fu=Object.getOwnPropertyDescriptor,pu=Object.getOwnPropertyNames,mu=Object.prototype.hasOwnProperty,hu=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of pu(t))!mu.call(e,i)&&i!==n&&du(e,i,{get:()=>t[i],enumerable:!(r=fu(t,i))||r.enumerable});return e},gu=(e,t,n)=>(hu(e,t,`default`),n&&hu(n,t,`default`)),_u={};gu(_u,Uo);var vu=new class{constructor(e,t,n){this._onDidChange=new _u.Emitter,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}}(`json`,{validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:`warning`,schemaValidation:`warning`,comments:`error`,trailingCommas:`error`},{documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0}),yu=()=>bu().then(e=>e.getWorker());_u.languages.json={jsonDefaults:vu,getWorker:yu};function bu(){return e(()=>import(`./jsonMode-z5YscjcG.js`),__vite__mapDeps([16,1,2,3]))}_u.languages.register({id:`json`,extensions:[`.json`,`.bowerrc`,`.jshintrc`,`.jscsrc`,`.eslintrc`,`.babelrc`,`.har`],aliases:[`JSON`,`json`],mimetypes:[`application/json`]}),_u.languages.onLanguage(`json`,()=>{bu().then(e=>e.setupMode(vu))});var xu=class extends jn{constructor(){super({id:`diffEditor.toggleCollapseUnchangedRegions`,title:T(`toggleCollapseUnchangedRegions`,`Toggle Collapse Unchanged Regions`),icon:N.map,toggled:E.has(`config.diffEditor.hideUnchangedRegions.enabled`),precondition:E.has(`isInDiffEditor`),menu:{when:E.has(`isInDiffEditor`),id:C.EditorTitle,order:22,group:`navigation`}})}run(e,...t){let n=e.get(Va),r=!n.getValue(`diffEditor.hideUnchangedRegions.enabled`);n.updateValue(`diffEditor.hideUnchangedRegions.enabled`,r)}},Su=class extends jn{constructor(){super({id:`diffEditor.toggleShowMovedCodeBlocks`,title:T(`toggleShowMovedCodeBlocks`,`Toggle Show Moved Code Blocks`),precondition:E.has(`isInDiffEditor`)})}run(e,...t){let n=e.get(Va),r=!n.getValue(`diffEditor.experimental.showMoves`);n.updateValue(`diffEditor.experimental.showMoves`,r)}},Cu=class extends jn{constructor(){super({id:`diffEditor.toggleUseInlineViewWhenSpaceIsLimited`,title:T(`toggleUseInlineViewWhenSpaceIsLimited`,`Toggle Use Inline View When Space Is Limited`),precondition:E.has(`isInDiffEditor`)})}run(e,...t){let n=e.get(Va),r=!n.getValue(`diffEditor.useInlineViewWhenSpaceIsLimited`);n.updateValue(`diffEditor.useInlineViewWhenSpaceIsLimited`,r)}},wu=T(`diffEditor`,`Diff Editor`),Tu=class extends ar{constructor(){super({id:`diffEditor.switchSide`,title:T(`switchSide`,`Switch Side`),icon:N.arrowSwap,precondition:E.has(`isInDiffEditor`),f1:!0,category:wu})}runEditorCommand(e,t,n){let r=Pu(e);if(r instanceof Ne){if(n&&n.dryRun)return{destinationSelection:r.mapToOtherSide().destinationSelection};r.switchSide()}}},Eu=class extends ar{constructor(){super({id:`diffEditor.exitCompareMove`,title:T(`exitCompareMove`,`Exit Compare Move`),icon:N.close,precondition:x.comparingMovedCode,f1:!1,category:wu,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...n){let r=Pu(e);r instanceof Ne&&r.exitCompareMove()}},Du=class extends ar{constructor(){super({id:`diffEditor.collapseAllUnchangedRegions`,title:T(`collapseAllUnchangedRegions`,`Collapse All Unchanged Regions`),icon:N.fold,precondition:E.has(`isInDiffEditor`),f1:!0,category:wu})}runEditorCommand(e,t,...n){let r=Pu(e);r instanceof Ne&&r.collapseAllUnchangedRegions()}},Ou=class extends ar{constructor(){super({id:`diffEditor.showAllUnchangedRegions`,title:T(`showAllUnchangedRegions`,`Show All Unchanged Regions`),icon:N.unfold,precondition:E.has(`isInDiffEditor`),f1:!0,category:wu})}runEditorCommand(e,t,...n){let r=Pu(e);r instanceof Ne&&r.showAllUnchangedRegions()}},ku=class extends jn{constructor(){super({id:`diffEditor.revert`,title:T(`revert`,`Revert`),f1:!1,category:wu})}run(e,t){let n=Nu(e,t.originalUri,t.modifiedUri);n instanceof Ne&&n.revertRangeMappings(t.mapping.innerChanges??[])}},Au=T(`accessibleDiffViewer`,`Accessible Diff Viewer`),ju=class e extends jn{constructor(){super({id:e.id,title:T(`editor.action.accessibleDiffViewer.next`,`Go to Next Difference`),category:Au,precondition:E.has(`isInDiffEditor`),keybinding:{primary:65,weight:100},f1:!0})}run(e){Pu(e)?.accessibleDiffViewerNext()}};ju.id=`editor.action.accessibleDiffViewer.next`;var Mu=class e extends jn{constructor(){super({id:e.id,title:T(`editor.action.accessibleDiffViewer.prev`,`Go to Previous Difference`),category:Au,precondition:E.has(`isInDiffEditor`),keybinding:{primary:1089,weight:100},f1:!0})}run(e){Pu(e)?.accessibleDiffViewerPrev()}};Mu.id=`editor.action.accessibleDiffViewer.prev`;function Nu(e,t,n){return e.get(lo).listDiffEditors().find(e=>{let r=e.getModifiedEditor(),i=e.getOriginalEditor();return r&&r.getModel()?.uri.toString()===n.toString()&&i&&i.getModel()?.uri.toString()===t.toString()})||null}function Pu(e){let t=e.get(lo).listDiffEditors(),n=Gc();if(n){for(let e of t)if(Fu(e.getContainerDomNode(),n))return e}return null}function Fu(e,t){let n=t;for(;n;){if(n===e)return!0;n=n.parentElement}return!1}A(xu),A(Su),A(Cu),Yn.appendMenuItem(C.EditorTitle,{command:{id:new Cu().desc.id,title:b(`useInlineViewWhenSpaceIsLimited`,`Use Inline View When Space Is Limited`),toggled:E.has(`config.diffEditor.useInlineViewWhenSpaceIsLimited`),precondition:E.has(`isInDiffEditor`)},order:11,group:`1_diff`,when:E.and(x.diffEditorRenderSideBySideInlineBreakpointReached,E.has(`isInDiffEditor`))}),Yn.appendMenuItem(C.EditorTitle,{command:{id:new Su().desc.id,title:b(`showMoves`,`Show Moved Code Blocks`),icon:N.move,toggled:nt.create(`config.diffEditor.experimental.showMoves`,!0),precondition:E.has(`isInDiffEditor`)},order:10,group:`1_diff`,when:E.has(`isInDiffEditor`)}),A(ku);for(let e of[{icon:N.arrowRight,key:x.diffEditorInlineMode.toNegated()},{icon:N.discard,key:x.diffEditorInlineMode}])Yn.appendMenuItem(C.DiffEditorHunkToolbar,{command:{id:new ku().desc.id,title:b(`revertHunk`,`Revert Block`),icon:e.icon},when:E.and(x.diffEditorModifiedWritable,e.key),order:5,group:`primary`}),Yn.appendMenuItem(C.DiffEditorSelectionToolbar,{command:{id:new ku().desc.id,title:b(`revertSelection`,`Revert Selection`),icon:e.icon},when:E.and(x.diffEditorModifiedWritable,e.key),order:5,group:`primary`});A(Tu),A(Eu),A(Du),A(Ou),Yn.appendMenuItem(C.EditorTitle,{command:{id:ju.id,title:b(`Open Accessible Diff Viewer`,`Open Accessible Diff Viewer`),precondition:E.has(`isInDiffEditor`)},order:10,group:`2_diff`,when:E.and(x.accessibleDiffViewerVisible.negate(),E.has(`isInDiffEditor`))}),M.registerCommandAlias(`editor.action.diffReview.next`,ju.id),A(ju),M.registerCommandAlias(`editor.action.diffReview.prev`,Mu.id),A(Mu);var Iu=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},Lu=function(e,t){return function(n,r){t(n,r,e)}},Ru,zu=new w(`selectionAnchorSet`,!1),Bu=Ru=class{static get(e){return e.getContribution(Ru.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=zu.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(O.fromPositions(e,e),{description:`selection-anchor`,stickiness:1,hoverMessage:new An().appendText(b(`selectionAnchor`,`Selection Anchor`)),className:`selection-anchor`})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),_n(b(`anchorSet`,`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(O.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()}};Bu.ID=`editor.contrib.selectionAnchorController`,Bu=Ru=Iu([Lu(1,W)],Bu);var Vu=class extends J{constructor(){super({id:`editor.action.setSelectionAnchor`,label:b(`setSelectionAnchor`,`Set Selection Anchor`),alias:`Set Selection Anchor`,precondition:void 0,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2080),weight:100}})}async run(e,t){var n;(n=Bu.get(t))==null||n.setSelectionAnchor()}},Hu=class extends J{constructor(){super({id:`editor.action.goToSelectionAnchor`,label:b(`goToSelectionAnchor`,`Go to Selection Anchor`),alias:`Go to Selection Anchor`,precondition:zu})}async run(e,t){var n;(n=Bu.get(t))==null||n.goToSelectionAnchor()}},Uu=class extends J{constructor(){super({id:`editor.action.selectFromAnchorToCursor`,label:b(`selectFromAnchorToCursor`,`Select from Anchor to Cursor`),alias:`Select from Anchor to Cursor`,precondition:zu,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2089),weight:100}})}async run(e,t){var n;(n=Bu.get(t))==null||n.selectFromAnchorToCursor()}},Wu=class extends J{constructor(){super({id:`editor.action.cancelSelectionAnchor`,label:b(`cancelSelectionAnchor`,`Cancel Selection Anchor`),alias:`Cancel Selection Anchor`,precondition:zu,kbOpts:{kbExpr:x.editorTextFocus,primary:9,weight:100}})}async run(e,t){var n;(n=Bu.get(t))==null||n.cancelSelectionAnchor()}};D(Bu.ID,Bu,4),y(Vu),y(Hu),y(Uu),y(Wu);var Gu=q(`editorOverviewRuler.bracketMatchForeground`,{dark:`#A0A0A0`,light:`#A0A0A0`,hcDark:`#A0A0A0`,hcLight:`#A0A0A0`},b(`overviewRulerBracketMatchForeground`,`Overview ruler marker color for matching brackets.`)),Ku=class extends J{constructor(){super({id:`editor.action.jumpToBracket`,label:b(`smartSelect.jumpBracket`,`Go to Bracket`),alias:`Go to Bracket`,precondition:void 0,kbOpts:{kbExpr:x.editorTextFocus,primary:3165,weight:100}})}run(e,t){var n;(n=Xu.get(t))==null||n.jumpToBracket()}},qu=class extends J{constructor(){super({id:`editor.action.selectToBracket`,label:b(`smartSelect.selectToBracket`,`Select to Bracket`),alias:`Select to Bracket`,precondition:void 0,metadata:{description:T(`smartSelect.selectToBracketDescription`,`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){var r;let i=!0;n&&n.selectBrackets===!1&&(i=!1),(r=Xu.get(t))==null||r.selectToBracket(i)}},Ju=class extends J{constructor(){super({id:`editor.action.removeBrackets`,label:b(`smartSelect.removeBrackets`,`Remove Brackets`),alias:`Remove Brackets`,precondition:void 0,kbOpts:{kbExpr:x.editorTextFocus,primary:2561,weight:100}})}run(e,t){var n;(n=Xu.get(t))==null||n.removeBrackets(this.id)}},Yu=class{constructor(e,t,n){this.position=e,this.brackets=t,this.options=n}},Xu=class e extends U{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 Hn(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),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(72)&&(this._matchBrackets=this._editor.getOption(72),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 O(i.lineNumber,i.column,i.lineNumber,i.column):new O(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(i=>{let a=i.getStartPosition(),o=t.bracketPairs.matchBracket(a);if(!o&&(o=t.bracketPairs.findEnclosingBrackets(a),!o)){let e=t.bracketPairs.findNextBracket(a);e&&e.range&&(o=t.bracketPairs.matchBracket(e.range.getStartPosition()))}let s=null,c=null;if(o){o.sort(r.compareRangesUsingStarts);let[t,n]=o;if(s=e?t.getStartPosition():t.getEndPosition(),c=e?n.getEndPosition():n.getStartPosition(),n.containsPosition(a)){let e=s;s=c,c=e}}s&&c&&n.push(new O(s.lineNumber,s.column,c.lineNumber,c.column))}),n.length>0&&(this._editor.setSelections(n),this._editor.revealRange(n[0]))}removeBrackets(e){if(!this._editor.hasModel())return;let t=this._editor.getModel();this._editor.getSelections().forEach(n=>{let r=n.getPosition(),i=t.bracketPairs.matchBracket(r);i||=t.bracketPairs.findEnclosingBrackets(r),i&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:i[0],text:``},{range:i[1],text:``}]),this._editor.pushUndoStop())})}_updateBrackets(){if(this._matchBrackets===`never`)return;this._recomputeBrackets();let e=[],t=0;for(let n of this._lastBracketsData){let r=n.brackets;r&&(e[t++]={range:r[0],options:n.options},e[t++]={range:r[1],options:n.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}let t=this._editor.getSelections();if(t.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}let n=this._editor.getModel(),r=n.getVersionId(),i=[];this._lastVersionId===r&&(i=this._lastBracketsData);let a=[],o=0;for(let e=0,n=t.length;e<n;e++){let n=t[e];n.isEmpty()&&(a[o++]=n.getStartPosition())}a.length>1&&a.sort(R.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 Yu(r,t,i)}}this._lastBracketsData=s,this._lastVersionId=r}};Xu.ID=`editor.contrib.bracketMatchingController`,Xu._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=k.register({description:`bracket-match-overview`,stickiness:1,className:`bracket-match`,overviewRuler:{color:ca(Gu),position:as.Center}}),Xu._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=k.register({description:`bracket-match-no-overview`,stickiness:1,className:`bracket-match`}),D(Xu.ID,Xu,1),y(qu),y(Ku),y(Ju),Yn.appendMenuItem(C.MenubarGoMenu,{group:`5_infile_nav`,command:{id:`editor.action.jumpToBracket`,title:b({key:`miGoToBracket`,comment:[`&& denotes a mnemonic`]},`Go to &&Bracket`)},order:2});var Zu=class{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;let n=this._selection.startLineNumber,i=this._selection.startColumn,a=this._selection.endColumn;if(!(this._isMovingLeft&&i===1)&&!(!this._isMovingLeft&&a===e.getLineMaxColumn(n)))if(this._isMovingLeft){let o=new r(n,i-1,n,i),s=e.getValueInRange(o);t.addEditOperation(o,null),t.addEditOperation(new r(n,a,n,a),s)}else{let o=new r(n,a,n,a+1),s=e.getValueInRange(o);t.addEditOperation(o,null),t.addEditOperation(new r(n,i,n,i),s)}}computeCursorState(e,t){return this._isMovingLeft?new O(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new O(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}},Qu=class extends J{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;let n=[],r=t.getSelections();for(let e of r)n.push(new Zu(e,this.left));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}},$u=class extends Qu{constructor(){super(!0,{id:`editor.action.moveCarretLeftAction`,label:b(`caret.moveLeft`,`Move Selected Text Left`),alias:`Move Selected Text Left`,precondition:x.writable})}},ed=class extends Qu{constructor(){super(!1,{id:`editor.action.moveCarretRightAction`,label:b(`caret.moveRight`,`Move Selected Text Right`),alias:`Move Selected Text Right`,precondition:x.writable})}};y($u),y(ed),y(class extends J{constructor(){super({id:`editor.action.transposeLetters`,label:b(`transposeLetters.label`,`Transpose Letters`),alias:`Transpose Letters`,precondition:x.writable,kbOpts:{kbExpr:x.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;let n=t.getModel(),i=[],a=t.getSelections();for(let e of a){if(!e.isEmpty())continue;let t=e.startLineNumber,a=e.startColumn,o=n.getLineMaxColumn(t);if(t===1&&(a===1||a===2&&o===2))continue;let s=a===o?e.getPosition():uc.rightPosition(n,e.getPosition().lineNumber,e.getPosition().column),c=uc.leftPosition(n,s),l=uc.leftPosition(n,c),u=n.getValueInRange(r.fromPositions(l,c)),d=n.getValueInRange(r.fromPositions(c,s)),f=r.fromPositions(l,s);i.push(new ns(f,d+u))}i.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop())}});var td=(function(){if(typeof crypto==`object`&&typeof crypto.randomUUID==`function`)return crypto.randomUUID.bind(crypto);let e;e=typeof crypto==`object`&&typeof crypto.getRandomValues==`function`?crypto.getRandomValues.bind(crypto):function(e){for(let t=0;t<e.length;t++)e[t]=Math.floor(Math.random()*256);return e};let t=new Uint8Array(16),n=[];for(let e=0;e<256;e++)n.push(e.toString(16).padStart(2,`0`));return function(){e(t),t[6]=t[6]&15|64,t[8]=t[8]&63|128;let r=0,i=``;return i+=n[t[r++]],i+=n[t[r++]],i+=n[t[r++]],i+=n[t[r++]],i+=`-`,i+=n[t[r++]],i+=n[t[r++]],i+=`-`,i+=n[t[r++]],i+=n[t[r++]],i+=`-`,i+=n[t[r++]],i+=n[t[r++]],i+=`-`,i+=n[t[r++]],i+=n[t[r++]],i+=n[t[r++]],i+=n[t[r++]],i+=n[t[r++]],i+=n[t[r++]],i}})();function nd(e){return{asString:async()=>e,asFile:()=>void 0,value:typeof e==`string`?e:void 0}}function rd(e,t,n){let r={id:td(),name:e,uri:t,data:n};return{asString:async()=>``,asFile:()=>r,value:void 0}}var id=class{constructor(){this._entries=new Map}get size(){let e=0;for(let t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){let t=[...this._entries.keys()];return Ge.some(this,([e,t])=>t.asFile())&&t.push(`files`),sd(ad(e),t)}get(e){return this._entries.get(this.toKey(e))?.[0]}append(e,t){let n=this._entries.get(e);n?n.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(let[e,t]of this._entries)for(let n of t)yield[e,n]}toKey(e){return ad(e)}};function ad(e){return e.toLowerCase()}function od(e,t){return sd(ad(e),t.map(ad))}function sd(e,t){if(e===`*/*`)return t.length>0;if(t.includes(e))return!0;let n=e.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!n)return!1;let[r,i,a]=n;return a===`*`?t.some(e=>e.startsWith(i+`/`)):!1}var cd=Object.freeze({create:e=>ia(e.map(e=>e.toString())).join(`\r
3
+ `),split:e=>e.split(`\r
4
+ `),parse:e=>cd.split(e).filter(e=>!e.startsWith(`#`))}),Z=class e{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(t){return this.equals(t)||this.value===``||t.value.startsWith(this.value+e.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...t){return new e((this.value?[this.value,...t]:t).join(e.sep))}};Z.sep=`.`,Z.None=new Z(`@@none@@`),Z.Empty=new Z(``);var ld={EDITORS:`CodeEditors`,FILES:`CodeFiles`},ud=class{};wr.add({DragAndDropContribution:`workbench.contributions.dragAndDrop`}.DragAndDropContribution,new ud);var dd=class e{constructor(){}static getInstance(){return e.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};dd.INSTANCE=new dd;function fd(e){let t=new id;for(let n of e.items){let e=n.type;if(n.kind===`string`){let r=new Promise(e=>n.getAsString(e));t.append(e,nd(r))}else if(n.kind===`file`){let r=n.getAsFile();r&&t.append(e,pd(r))}}return t}function pd(e){let t=e.path?G.parse(e.path):void 0;return rd(e.name,t,async()=>new Uint8Array(await e.arrayBuffer()))}var md=Object.freeze([ld.EDITORS,ld.FILES,ms.RESOURCES,ms.INTERNAL_URI_LIST]);function hd(e,t=!1){let n=fd(e),r=n.get(ms.INTERNAL_URI_LIST);if(r)n.replace(Ts.uriList,r);else if(t||!n.has(Ts.uriList)){let t=[];for(let n of e.items){let e=n.getAsFile();if(e){let n=e.path;try{n?t.push(G.file(n).toString()):t.push(G.parse(e.name,!0).toString())}catch{}}}t.length&&n.replace(Ts.uriList,nd(cd.create(t)))}for(let e of md)n.delete(e);return n}var gd=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)}},vd=class{async provideDocumentPasteEdits(e,t,n,r,i){let a=await this.getEdit(n,i);if(a)return{dispose(){},edits:[{insertText:a.insertText,title:a.title,kind:a.kind,handledMimeType:a.handledMimeType,yieldTo:a.yieldTo}]}}async provideDocumentDropEdits(e,t,n,r){let i=await this.getEdit(n,r);return i?[{insertText:i.insertText,title:i.title,kind:i.kind,handledMimeType:i.handledMimeType,yieldTo:i.yieldTo}]:void 0}},yd=class e extends vd{constructor(){super(...arguments),this.kind=e.kind,this.dropMimeTypes=[Ts.text],this.pasteMimeTypes=[Ts.text]}async getEdit(e,t){let n=e.get(Ts.text);if(!n||e.has(Ts.uriList))return;let r=await n.asString();return{handledMimeType:Ts.text,title:b(`text.label`,`Insert Plain Text`),insertText:r,kind:this.kind}}};yd.id=`text`,yd.kind=new Z(`text.plain`);var bd=class extends vd{constructor(){super(...arguments),this.kind=new Z(`uri.absolute`),this.dropMimeTypes=[Ts.uriList],this.pasteMimeTypes=[Ts.uriList]}async getEdit(e,t){let n=await Cd(e);if(!n.length||t.isCancellationRequested)return;let r=0,i=n.map(({uri:e,originalText:t})=>e.scheme===Ls.file?e.fsPath:(r++,t)).join(` `),a;return a=r>0?n.length>1?b(`defaultDropProvider.uriList.uris`,`Insert Uris`):b(`defaultDropProvider.uriList.uri`,`Insert Uri`):n.length>1?b(`defaultDropProvider.uriList.paths`,`Insert Paths`):b(`defaultDropProvider.uriList.path`,`Insert Path`),{handledMimeType:Ts.uriList,insertText:i,title:a,kind:this.kind}}},xd=class extends vd{constructor(e){super(),this._workspaceContextService=e,this.kind=new Z(`uri.relative`),this.dropMimeTypes=[Ts.uriList],this.pasteMimeTypes=[Ts.uriList]}async getEdit(e,t){let n=await Cd(e);if(!n.length||t.isCancellationRequested)return;let r=ys(n.map(({uri:e})=>{let t=this._workspaceContextService.getWorkspaceFolder(e);return t?Mn(t.uri,e):void 0}));if(r.length)return{handledMimeType:Ts.uriList,insertText:r.join(` `),title:n.length>1?b(`defaultDropProvider.uriList.relativePaths`,`Insert Relative Paths`):b(`defaultDropProvider.uriList.relativePath`,`Insert Relative Path`),kind:this.kind}}};xd=gd([_d(0,qo)],xd);var Sd=class{constructor(){this.kind=new Z(`html`),this.pasteMimeTypes=[`text/html`],this._yieldTo=[{mimeType:Ts.text}]}async provideDocumentPasteEdits(e,t,n,r,i){if(r.triggerKind!==Ht.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:b(`pasteHtmlLabel`,`Insert HTML`),kind:this.kind}]}}};async function Cd(e){let t=e.get(Ts.uriList);if(!t)return[];let n=await t.asString(),r=[];for(let e of cd.parse(n))try{r.push({uri:G.parse(e),originalText:e})}catch{}return r}var wd=class extends U{constructor(e,t){super(),this._register(e.documentDropEditProvider.register(`*`,new yd)),this._register(e.documentDropEditProvider.register(`*`,new bd)),this._register(e.documentDropEditProvider.register(`*`,new xd(t)))}};wd=gd([_d(0,g),_d(1,qo)],wd);var Td=class extends U{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register(`*`,new yd)),this._register(e.documentPasteEditProvider.register(`*`,new bd)),this._register(e.documentPasteEditProvider.register(`*`,new xd(t))),this._register(e.documentPasteEditProvider.register(`*`,new Sd))}};Td=gd([_d(0,g),_d(1,qo)],Td);var Ed=class e{constructor(){this.value=``,this.pos=0}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return e===95||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};let t=this.pos,n=0,r=this.value.charCodeAt(t),i;if(i=e._table[r],typeof i==`number`)return this.pos+=1,{type:i,pos:t,len:1};if(e.isDigitCharacter(r)){i=8;do n+=1,r=this.value.charCodeAt(t+n);while(e.isDigitCharacter(r));return this.pos+=n,{type:i,pos:t,len:n}}if(e.isVariableCharacter(r)){i=9;do r=this.value.charCodeAt(t+ ++n);while(e.isVariableCharacter(r)||e.isDigitCharacter(r));return this.pos+=n,{type:i,pos:t,len:n}}i=10;do n+=1,r=this.value.charCodeAt(t+n);while(!isNaN(r)&&e._table[r]===void 0&&!e.isDigitCharacter(r)&&!e.isVariableCharacter(r));return this.pos+=n,{type:i,pos:t,len:n}}};Ed._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};var Dd=class{constructor(){this._children=[]}appendChild(e){return e instanceof Od&&this._children[this._children.length-1]instanceof Od?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 Id)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),``)}len(){return 0}},Od=class e extends Dd{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new e(this.value)}},kd=class extends Dd{},Ad=class e extends kd{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 jd?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}},jd=class e extends Dd{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Od&&(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}},Md=class e extends Dd{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 Nd&&!!e.elseValue)&&(r=this._replace([])),r}_replace(e){let t=``;for(let n of this._children)if(n instanceof Nd){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}},Nd=class e extends Dd{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):``:e&&typeof this.ifValue==`string`?this.ifValue:!e&&typeof this.elseValue==`string`?this.elseValue:e||``}_toPascalCase(e){let t=e.match(/[a-z0-9]+/gi);return t?t.map(e=>e.charAt(0).toUpperCase()+e.substr(1)).join(``):e}_toCamelCase(e){let t=e.match(/[a-z0-9]+/gi);return t?t.map((e,t)=>t===0?e.charAt(0).toLowerCase()+e.substr(1):e.charAt(0).toUpperCase()+e.substr(1)).join(``):e}clone(){return new e(this.index,this.shorthandName,this.ifValue,this.elseValue)}},Pd=class e extends kd{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||``)),t===void 0?!1:(this._children=[new Od(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 Fd(e,t){let n=[...e];for(;n.length>0;){let e=n.shift();if(!t(e))break;n.unshift(...e.children)}}var Id=class e extends Dd{get placeholderInfo(){if(!this._placeholders){let e=[],t;this.walk(function(n){return n instanceof Ad&&(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 Fd([e],e=>(t+=e.len(),!0)),t}enclosingPlaceholders(e){let t=[],{parent:n}=e;for(;n;)n instanceof Ad&&t.push(n),n=n.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof Pd&&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 this._children=this.children.map(e=>e.clone()),t}walk(e){Fd(this.children,e)}},Ld=class{constructor(){this._scanner=new Ed,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 Id;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 Ad&&(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 Ad(e.index);o.transform=e.transform;for(let e of i){let t=e.clone();o.appendChild(t),t instanceof Ad&&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 Ad(0)))}_accept(e,t){if(e===void 0||this._token.type===e){let e=t?this._scanner.tokenText(this._token):!0;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 Od(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 Ad(Number(t)):new Pd(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 Ad(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(r),!0;if(!this._parse(r))return e.appendChild(new Od("${"+t+`:`)),r.children.forEach(e.appendChild,e),!0}else if(r.index>0&&this._accept(7)){let t=new jd;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 Od(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 Pd(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(r),!0;if(!this._parse(r))return e.appendChild(new Od("${"+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 Md,n=``,r=``;for(;!this._accept(6);){let e;if(e=this._accept(5,!0)){e=this._accept(6,!0)||e,n+=e;continue}if(this._token.type!==14){n+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let e;if(e=this._accept(5,!0)){e=this._accept(5,!0)||this._accept(6,!0)||e,t.appendChild(new Od(e));continue}if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);){if(this._token.type!==14){r+=this._accept(void 0,!0);continue}return!1}try{t.regexp=new RegExp(n,r)}catch{return!1}return e.transform=t,!0}_parseFormatString(e){let t=this._token;if(!this._accept(0))return!1;let n=!1;this._accept(3)&&(n=!0);let r=this._accept(8,!0);if(!r)return this._backTo(t),!1;if(!n||this._accept(4))return e.appendChild(new Nd(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 Nd(Number(r),n)),!0)}else if(this._accept(11)){let t=this._until(4);if(t)return e.appendChild(new Nd(Number(r),void 0,t,void 0)),!0}else if(this._accept(12)){let t=this._until(4);if(t)return e.appendChild(new Nd(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 Nd(Number(r),void 0,t,n)),!0}}else{let t=this._until(4);if(t)return e.appendChild(new Nd(Number(r),void 0,void 0,t)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type===14?!1:(e.appendChild(new Od(this._scanner.tokenText(this._token))),this._accept(void 0),!0)}};function Rd(e,t,n){return(typeof n.insertText==`string`?n.insertText===``:n.insertText.snippet===``)?{edits:n.additionalEdit?.edits??[]}:{edits:[...t.map(t=>new xn(e,{range:t,text:typeof n.insertText==`string`?Ld.escape(n.insertText)+`$0`:n.insertText.snippet,insertAsSnippet:!0})),...n.additionalEdit?.edits??[]]}}function zd(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))}var Bd=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},Vd=function(e,t){return function(n,r){t(n,r,e)}},Hd=k.register({description:`inline-progress-widget`,stickiness:1,showIfCollapsed:!0,after:{content:`\xA0`,inlineClassName:`inline-editor-progress-decoration`,inlineClassNameAffectsLetterSpacing:!0}}),Ud=class e extends U{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=K(`.inline-progress-widget`),this.domNode.role=`button`,this.domNode.title=e;let t=K(`span.icon`);this.domNode.append(t),t.classList.add(...P.asClassNameArray(N.loading),`codicon-modifier-spin`);let n=()=>{let e=this.editor.getOption(67);this.domNode.style.height=`${e}px`,this.domNode.style.width=`${Math.ceil(.8*e)}px`};n(),this._register(this.editor.onDidChangeConfiguration(e=>{(e.hasChanged(52)||e.hasChanged(67))&&n()})),this._register(z(this.domNode,Ds.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)}};Ud.baseId=`editor.widget.inlineProgressWidget`;var Wd=class extends U{constructor(e,t,n){super(),this.id=e,this._editor=t,this._instantiationService=n,this._showDelay=500,this._showPromise=this._register(new Ja),this._currentWidget=new Ja,this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}async showWhile(e,t,n){let i=this._operationIdPool++;this._currentOperation=i,this.clear(),this._showPromise.value=ts(()=>{let i=r.fromPositions(e);this._currentDecorations.set([{range:i,options:Hd}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(Ud,this.id,this._editor,i,t,n))},this._showDelay);try{return await n}finally{this._currentOperation===i&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};Wd=Bd([Vd(2,I)],Wd);var Gd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Kd=function(e,t){return function(n,r){t(n,r,e)}},qd,Jd=qd=class{static get(e){return e.getContribution(qd.ID)}constructor(e,t,n){this._openerService=n,this._messageWidget=new Ja,this._messageListeners=new V,this._mouseOverMessage=!1,this._editor=e,this._visible=qd.MESSAGE_VISIBLE.bindTo(t)}dispose(){var e;(e=this._message)==null||e.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){_n(yt(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=yt(e)?vo(e,{actionHandler:{callback:t=>{this.closeMessage(),ee(this._openerService,t,yt(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new Yd(this._editor,t,typeof e==`string`?e:this._message.element),this._messageListeners.add(xc.debounce(this._editor.onDidBlurEditorText,(e,t)=>t,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&xt(Gc(),this._messageWidget.value.getDomNode())||this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(z(this._messageWidget.value.getDomNode(),Ds.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(z(this._messageWidget.value.getDomNode(),Ds.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 r(t.lineNumber-3,1,e.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(Yd.fadeOut(this._messageWidget.value))}};Jd.ID=`editor.contrib.messageController`,Jd.MESSAGE_VISIBLE=new w(`messageVisible`,!1,b(`messageVisible`,`Whether the editor is currently showing an inline message`)),Jd=qd=Gd([Kd(1,W),Kd(2,hi)],Jd),_(new(be.bindToContribution(Jd.get))({id:`leaveEditorMessage`,precondition:Jd.MESSAGE_VISIBLE,handler:e=>e.closeMessage(),kbOpts:{weight:130,primary:9}}));var Yd=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)}};D(Jd.ID,Jd,4);function Xd(e,t){return t&&(e.stack||e.stacktrace)?b(`stackTrace.format`,`{0}: {1}`,Qd(e),Zd(e.stack)||Zd(e.stacktrace)):Qd(e)}function Zd(e){return Array.isArray(e)?e.join(`
5
+ `):e}function Qd(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`?b(`nodeExceptionMessage`,`A system error occurred ({0})`,e.message):e.message||b(`error.defaultMessage`,`An unknown error occurred. Please consult the log for more details.`)}function $d(e=null,t=!1){if(!e)return b(`error.defaultMessage`,`An unknown error occurred. Please consult the log for more details.`);if(Array.isArray(e)){let n=ys(e),r=$d(n[0],t);return n.length>1?b(`error.moreErrors`,`{0} ({1} errors in total)`,r,n.length):r}if(gc(e))return e;if(e.detail){let n=e.detail;if(n.error)return Xd(n.error,t);if(n.exception)return Xd(n.exception,t)}return e.stack?Xd(e,t):e.message?e.message:b(`error.defaultMessage`,`An unknown error occurred. Please consult the log for more details.`)}var ef=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},tf=function(e,t){return function(n,r){t(n,r,e)}},nf,rf=nf=class extends U{constructor(e,t,n,r,i,a,o,s,c,l){super(),this.typeId=e,this.editor=t,this.showCommand=r,this.range=i,this.edits=a,this.onSelectNewEdit=o,this._contextMenuService=s,this._keybindingService=l,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=n.bindTo(c),this.visibleContext.set(!0),this._register(Hi(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(Hi((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(e=>{i.containsPosition(e.position)||this.dispose()})),this._register(xc.runAndSubscribe(l.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){let e=this._keybindingService.lookupKeybinding(this.showCommand.id)?.getLabel();this.button.element.title=this.showCommand.label+(e?` (${e})`:``)}create(){this.domNode=K(`.post-edit-widget`),this.button=this._register(new Vo(this.domNode,{supportIcons:!0})),this.button.label=`$(insert)`,this._register(z(this.domNode,Ds.CLICK,()=>this.showSelector()))}getId(){return nf.baseId+`.`+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{let e=je(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>mc({id:``,label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}};rf.baseId=`editor.widget.postEditWidget`,rf=nf=ef([tf(7,Ks),tf(8,W),tf(9,$s)],rf);var af=class extends U{constructor(e,t,n,r,i,a,o){super(),this._id=e,this._editor=t,this._visibleContext=n,this._showCommand=r,this._instantiationService=i,this._bulkEditService=a,this._notificationService=o,this._currentWidget=this._register(new Ja),this._register(xc.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(e,t,n,r,i){let a=this._editor.getModel();if(!a||!e.length)return;let 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)=>{fr(r)||(this._notificationService.error(i),n&&this.show(e[0],t,s))},l;try{l=await r(o,i)}catch(e){return c(e,b(`resolveError`,`Error resolving edit '{0}':
6
+ {1}`,o.title,$d(e)))}if(i.isCancellationRequested)return;let u=Rd(a.uri,e,l),d=e[0],f=a.deltaDecorations([],[{range:d,options:{description:`paste-line-suffix`,stickiness:0}}]);this._editor.focus();let p,m;try{p=await this._bulkEditService.apply(u,{editor:this._editor,token:i}),m=a.getDecorationRange(f[0])}catch(e){return c(e,b(`applyError`,`Error applying edit '{0}':
7
+ {1}`,o.title,$d(e)))}finally{a.deltaDecorations(f,[])}i.isCancellationRequested||n&&p.isApplied&&t.allEdits.length>1&&this.show(m??d,t,s)}show(e,t,n){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(rf,this._id,this._editor,this._visibleContext,this._showCommand,e,t,n))}clear(){this._currentWidget.clear()}tryShowSelector(){var e;(e=this._currentWidget.value)==null||e.showSelector()}};af=ef([tf(4,I),tf(5,ke),tf(6,Za)],af);var of=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},sf=function(e,t){return function(n,r){t(n,r,e)}},cf,lf=`editor.changePasteType`,uf=new w(`pasteWidgetVisible`,!1,b(`pasteWidgetVisible`,`Whether the paste widget is showing`)),df=`application/vnd.code.copyMetadata`,ff=cf=class extends U{static get(e){return e.getContribution(cf.ID)}constructor(e,t,n,r,i,a,o){super(),this._bulkEditService=n,this._clipboardService=r,this._languageFeaturesService=i,this._quickInputService=a,this._progressService=o,this._editor=e;let s=e.getContainerDomNode();this._register(z(s,`copy`,e=>this.handleCopy(e))),this._register(z(s,`cut`,e=>this.handleCopy(e))),this._register(z(s,`paste`,e=>this.handlePaste(e),!0)),this._pasteProgressManager=this._register(new Wd(`pasteIntoEditor`,e,t)),this._postPasteWidgetManager=this._register(t.createInstance(af,`pasteIntoEditor`,e,uf,{id:lf,label:b(`postPasteWidgetTitle`,`Show paste options...`)}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},Se().execCommand(`paste`)}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(85).enabled&&!this._editor.getOption(91)}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){var t;if(!this._editor.hasTextFocus()||(ct&&this._clipboardService.writeResources([]),!e.clipboardData||!this.isPasteAsEnabled()))return;let n=this._editor.getModel(),i=this._editor.getSelections();if(!n||!i?.length)return;let a=this._editor.getOption(37),o=i,s=i.length===1&&i[0].isEmpty();if(s){if(!a)return;o=[new r(o[0].startLineNumber,1,o[0].startLineNumber,1+n.getLineLength(o[0].startLineNumber))]}let c=this._editor._getViewModel()?.getPlainTextToCopy(i,a,Sr),l={multicursorText:Array.isArray(c)?c:null,pasteOnNewLine:s,mode:null},u=this._languageFeaturesService.documentPasteEditProvider.ordered(n).filter(e=>!!e.prepareDocumentPaste);if(!u.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:l});return}let d=fd(e.clipboardData),f=u.flatMap(e=>e.copyMimeTypes??[]),p=td();this.setCopyMetadata(e.clipboardData,{id:p,providerCopyMimeTypes:f,defaultPastePayload:l});let m=lc(async e=>{let t=ys(await Promise.all(u.map(async t=>{try{return await t.prepareDocumentPaste(n,o,d,e)}catch(e){console.error(e);return}})));t.reverse();for(let e of t)for(let[t,n]of e)d.replace(t,n);return d});(t=cf._currentCopyOperation)==null||t.dataTransferPromise.cancel(),cf._currentCopyOperation={handle:p,dataTransferPromise:m}}async handlePaste(e){var t,n;if(!e.clipboardData||!this._editor.hasTextFocus())return;(t=Jd.get(this._editor))==null||t.closeMessage(),(n=this._currentPasteOperation)==null||n.cancel(),this._currentPasteOperation=void 0;let r=this._editor.getModel(),i=this._editor.getSelections();if(!i?.length||!r||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;let a=this.fetchCopyMetadata(e),o=hd(e.clipboardData);o.delete(df);let s=[...e.clipboardData.types,...a?.providerCopyMimeTypes??[],Ts.uriList],c=this._languageFeaturesService.documentPasteEditProvider.ordered(r).filter(e=>{let t=this._pasteAsActionContext?.preferred;return t&&e.providedPasteEditKinds&&!this.providerMatchesPreference(e,t)?!1:e.pasteMimeTypes?.some(e=>od(e,s))});if(!c.length){this._pasteAsActionContext?.preferred&&this.showPasteAsNoEditMessage(i,this._pasteAsActionContext.preferred);return}e.preventDefault(),e.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,c,i,o,a):this.doPasteInline(c,i,o,a,e)}showPasteAsNoEditMessage(e,t){var n;(n=Jd.get(this._editor))==null||n.showMessage(b(`pasteAsError`,`No paste edits for '{0}' found`,t instanceof Z?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,n,r,i){let a=lc(async o=>{let s=this._editor;if(!s.hasModel())return;let c=s.getModel(),l=new Lc(s,3,void 0,o);try{if(await this.mergeInDataFromCopy(n,r,l.token),l.token.isCancellationRequested)return;let a=e.filter(e=>this.isSupportedPasteProvider(e,n));if(!a.length||a.length===1&&a[0]instanceof yd)return this.applyDefaultPasteHandler(n,r,l.token,i);let o={triggerKind:Ht.Automatic},u=await this.getPasteEdits(a,n,c,t,o,l.token);if(l.token.isCancellationRequested)return;if(u.length===1&&u[0].provider instanceof yd)return this.applyDefaultPasteHandler(n,r,l.token,i);if(u.length){let e=s.getOption(85).showPasteSelector===`afterPaste`;return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:u},e,async(e,t)=>{var n;let r=await(n=e.provider).resolveDocumentPasteEdit?.call(n,e,t);return r&&(e.additionalEdit=r.additionalEdit),e},l.token)}await this.applyDefaultPasteHandler(n,r,l.token,i)}finally{l.dispose(),this._currentPasteOperation===a&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),b(`pasteIntoEditorProgress`,`Running paste handlers. Click to cancel`),a),this._currentPasteOperation=a}showPasteAsPick(e,t,n,r,i){let a=lc(async o=>{let s=this._editor;if(!s.hasModel())return;let c=s.getModel(),l=new Lc(s,3,void 0,o);try{if(await this.mergeInDataFromCopy(r,i,l.token),l.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:Ht.PasteAs,only:e&&e instanceof Z?e:void 0},s=await this.getPasteEdits(a,r,c,n,o,l.token);if(l.token.isCancellationRequested)return;if(e&&(s=s.filter(t=>e instanceof Z?e.contains(t.kind):e.providerId===t.provider.id)),!s.length){o.only&&this.showPasteAsNoEditMessage(n,o.only);return}let u;if(u=e?s.at(0):(await this._quickInputService.pick(s.map(e=>({label:e.title,description:e.kind?.value,edit:e})),{placeHolder:b(`pasteAsPickerPlaceholder`,`Select Paste Action`)}))?.edit,!u)return;let d=Rd(c.uri,n,u);await this._bulkEditService.apply(d,{editor:this._editor})}finally{l.dispose(),this._currentPasteOperation===a&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:b(`pasteAsProgress`,`Running paste handlers`)},()=>a)}setCopyMetadata(e,t){e.setData(df,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;let t=e.clipboardData.getData(df);if(t)try{return JSON.parse(t)}catch{return}let[n,r]=Da.getTextData(e.clipboardData);if(r)return{defaultPastePayload:{mode:r.mode,multicursorText:r.multicursorText??null,pasteOnNewLine:!!r.isFromEmptySelection}}}async mergeInDataFromCopy(e,t,n){if(t?.id&&cf._currentCopyOperation?.handle===t.id){let t=await cf._currentCopyOperation.dataTransferPromise;if(n.isCancellationRequested)return;for(let[n,r]of t)e.replace(n,r)}if(!e.has(Ts.uriList)){let t=await this._clipboardService.readResources();if(n.isCancellationRequested)return;t.length&&e.append(Ts.uriList,nd(cd.create(t)))}}async getPasteEdits(e,t,n,r,i,a){return zd(ys(await ro(Promise.all(e.map(async e=>{try{return((await e.provideDocumentPasteEdits?.call(e,n,r,t,i,a))?.edits)?.map(t=>({...t,provider:e}))}catch(e){console.error(e)}})),a)??[]).flat().filter(e=>!i.only||i.only.contains(e.kind)))}async applyDefaultPasteHandler(e,t,n,r){let i=await(e.get(Ts.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._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 t instanceof Z?e.providedPasteEditKinds?e.providedPasteEditKinds.some(e=>t.contains(e)):!0:e.id===t.providerId}};ff.ID=`editor.contrib.copyPasteActionController`,ff=cf=of([sf(1,I),sf(2,ke),sf(3,Tn),sf(4,g),sf(5,pa),sf(6,ir)],ff);var pf=`9_cutcopypaste`,mf=Mr||document.queryCommandSupported(`cut`),hf=Mr||document.queryCommandSupported(`copy`),gf=navigator.clipboard===void 0||Fo?document.queryCommandSupported(`paste`):!0;function _f(e){return e.register(),e}var vf=mf?_f(new Uc({id:`editor.action.clipboardCutAction`,precondition:void 0,kbOpts:Mr?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:C.MenubarEditMenu,group:`2_ccp`,title:b({key:`miCut`,comment:[`&& denotes a mnemonic`]},`Cu&&t`),order:1},{menuId:C.EditorContext,group:pf,title:b(`actions.clipboard.cutLabel`,`Cut`),when:x.writable,order:1},{menuId:C.CommandPalette,group:``,title:b(`actions.clipboard.cutLabel`,`Cut`),order:1},{menuId:C.SimpleEditorContext,group:pf,title:b(`actions.clipboard.cutLabel`,`Cut`),when:x.writable,order:1}]})):void 0,yf=hf?_f(new Uc({id:`editor.action.clipboardCopyAction`,precondition:void 0,kbOpts:Mr?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:C.MenubarEditMenu,group:`2_ccp`,title:b({key:`miCopy`,comment:[`&& denotes a mnemonic`]},`&&Copy`),order:2},{menuId:C.EditorContext,group:pf,title:b(`actions.clipboard.copyLabel`,`Copy`),order:2},{menuId:C.CommandPalette,group:``,title:b(`actions.clipboard.copyLabel`,`Copy`),order:1},{menuId:C.SimpleEditorContext,group:pf,title:b(`actions.clipboard.copyLabel`,`Copy`),order:2}]})):void 0;Yn.appendMenuItem(C.MenubarEditMenu,{submenu:C.MenubarCopy,title:T(`copy as`,`Copy As`),group:`2_ccp`,order:3}),Yn.appendMenuItem(C.EditorContext,{submenu:C.EditorContextCopy,title:T(`copy as`,`Copy As`),group:pf,order:3}),Yn.appendMenuItem(C.EditorContext,{submenu:C.EditorContextShare,title:T(`share`,`Share`),group:`11_share`,order:-1,when:E.and(E.notEquals(`resourceScheme`,`output`),x.editorTextFocus)}),Yn.appendMenuItem(C.ExplorerContext,{submenu:C.ExplorerContextShare,title:T(`share`,`Share`),group:`11_share`,order:-1});var bf=gf?_f(new Uc({id:`editor.action.clipboardPasteAction`,precondition:void 0,kbOpts:Mr?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:C.MenubarEditMenu,group:`2_ccp`,title:b({key:`miPaste`,comment:[`&& denotes a mnemonic`]},`&&Paste`),order:4},{menuId:C.EditorContext,group:pf,title:b(`actions.clipboard.pasteLabel`,`Paste`),when:x.writable,order:4},{menuId:C.CommandPalette,group:``,title:b(`actions.clipboard.pasteLabel`,`Paste`),order:1},{menuId:C.SimpleEditorContext,group:pf,title:b(`actions.clipboard.pasteLabel`,`Paste`),when:x.writable,order:4}]})):void 0,xf=class extends J{constructor(){super({id:`editor.action.clipboardCopyWithSyntaxHighlightingAction`,label:b(`actions.clipboard.copyWithSyntaxHighlightingLabel`,`Copy With Syntax Highlighting`),alias:`Copy With Syntax Highlighting`,precondition:void 0,kbOpts:{kbExpr:x.textInputFocus,primary:0,weight:100}})}run(e,t){t.hasModel()&&(!t.getOption(37)&&t.getSelection().isEmpty()||(Cs.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand(`copy`),Cs.forceCopyWithSyntaxHighlighting=!1))}};function Sf(e,t){e&&(e.addImplementation(1e4,`code-editor`,(e,n)=>{let r=e.get(lo).getFocusedCodeEditor();if(r&&r.hasTextFocus()){let e=r.getOption(37),n=r.getSelection();return n&&n.isEmpty()&&!e||r.getContainerDomNode().ownerDocument.execCommand(t),!0}return!1}),e.addImplementation(0,`generic-dom`,(e,n)=>(Se().execCommand(t),!0)))}Sf(vf,`cut`),Sf(yf,`copy`),bf&&(bf.addImplementation(1e4,`code-editor`,(e,t)=>{let n=e.get(lo),r=e.get(Tn),i=n.getFocusedCodeEditor();return i&&i.hasTextFocus()?i.getContainerDomNode().ownerDocument.execCommand(`paste`)?ff.get(i)?.finishedPaste()??Promise.resolve():ct?(async()=>{let e=await r.readText();if(e!==``){let t=Ko.INSTANCE.get(e),n=!1,r=null,a=null;t&&(n=i.getOption(37)&&!!t.isFromEmptySelection,r=t.multicursorText===void 0?null:t.multicursorText,a=t.mode),i.trigger(`keyboard`,`paste`,{text:e,pasteOnNewLine:n,multicursorText:r,mode:a})}})():!0:!1}),bf.addImplementation(0,`generic-dom`,(e,t)=>(Se().execCommand(`paste`),!0))),hf&&y(xf);var Cf=new class{constructor(){this.QuickFix=new Z(`quickfix`),this.Refactor=new Z(`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 Z(`notebook`),this.Source=new Z(`source`),this.SourceOrganizeImports=this.Source.append(`organizeImports`),this.SourceFixAll=this.Source.append(`fixAll`),this.SurroundWith=this.Refactor.append(`surround`)}},wf;(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`})(wf||={});function Tf(e,t){return!(e.include&&!e.include.intersects(t)||e.excludes&&e.excludes.some(n=>Df(t,n,e.include))||!e.includeSourceActions&&Cf.Source.contains(t))}function Ef(e,t){let n=t.kind?new Z(t.kind):void 0;return!(e.include&&(!n||!e.include.contains(n))||e.excludes&&n&&e.excludes.some(t=>Df(n,t,e.include))||!e.includeSourceActions&&n&&Cf.Source.contains(n)||e.onlyIncludePreferredActions&&!t.isPreferred)}function Df(e,t,n){return!(!t.contains(e)||n&&t.contains(n))}var Of=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 Z(e.kind):t}static getPreferredUser(e){return typeof e.preferred==`boolean`?e.preferred:!1}constructor(e,t,n){this.kind=e,this.apply=t,this.preferred=n}},kf=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){Oe(e)}t&&(this.action.edit=t.edit)}return this}},Af=`editor.action.codeAction`,jf=`editor.action.quickFix`,Mf=`editor.action.autoFix`,Nf=`editor.action.refactor`,Pf=`editor.action.sourceAction`,Ff=`editor.action.organizeImports`,If=`editor.action.fixAll`,Lf=class e extends U{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:Pa(t.diagnostics)?Pa(n.diagnostics)?e.codeActionsPreferredComparator(t,n):-1:Pa(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&&Cf.QuickFix.contains(new Z(e.kind))&&!!e.isPreferred)}get hasAIFix(){return this.validActions.some(({action:e})=>!!e.isAI)}get allAIFixes(){return this.validActions.every(({action:e})=>!!e.isAI)}},Rf={actions:[],documentation:void 0};async function zf(e,t,n,r,i,a){let o=r.filter||{},s={...o,excludes:[...o.excludes||[],Cf.Notebook]},c={only:o.include?.value,trigger:r.type},l=new cr(t,a),u=Bf(e,t,r.type===2?s:o),d=new V,f=u.map(async e=>{try{i.report(e);let r=await e.provideCodeActions(t,n,c,l.token);if(r&&d.add(r),l.token.isCancellationRequested)return Rf;let a=(r?.actions||[]).filter(e=>e&&Ef(o,e)),s=Hf(e,a,o.include);return{actions:a.map(t=>new kf(t,e)),documentation:s}}catch(e){if(fr(e))throw e;return Oe(e),Rf}}),p=e.onDidChange(()=>{Ho(e.all(t),u)||l.cancel()});try{let n=await Promise.all(f),i=n.map(e=>e.actions).flat();return new Lf(i,[...ys(n.map(e=>e.documentation)),...Vf(e,t,r,i)],d)}finally{p.dispose(),l.dispose()}}function Bf(e,t,n){return e.all(t).filter(e=>e.providedCodeActionKinds?e.providedCodeActionKinds.some(e=>Tf(n,new Z(e))):!0)}function*Vf(e,t,n,r){if(t&&r.length)for(let i of e.all(t))i._getAdditionalMenuItems&&(yield*i._getAdditionalMenuItems?.call(i,{trigger:n.type,only:n.filter?.include?.value},r.map(e=>e.action)))}function Hf(e,t,n){if(!e.documentation)return;let r=e.documentation.map(e=>({kind:new Z(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 Z(e.kind)))return t.command}}var Uf;(function(e){e.OnSave=`onSave`,e.FromProblemsView=`fromProblemsView`,e.FromCodeActions=`fromCodeActions`,e.FromAILightbulb=`fromAILightbulb`})(Uf||={});async function Wf(e,t,n,r,i=H.None){let a=e.get(ke),o=e.get(Qr),s=e.get(fn),c=e.get(Za);if(s.publicLog2(`codeAction.applyCodeAction`,{codeActionTitle:t.action.title,codeActionKind:t.action.kind,codeActionIsPreferred:!!t.action.isPreferred,reason:n}),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!==Uf.OnSave,showPreview:r?.preview})).isApplied)&&t.action.command)try{await o.executeCommand(t.action.command.id,...t.action.command.arguments||[])}catch(e){let t=Gf(e);c.error(typeof t==`string`?t:b(`applyCodeActionFailed`,`An unknown error occurred while applying the code action`))}}function Gf(e){if(typeof e==`string`)return e;if(e instanceof Error&&typeof e.message==`string`)return e.message}M.registerCommand(`_executeCodeActionProvider`,async function(e,t,n,i,a){if(!(t instanceof G))throw Vc();let{codeActionProvider:o}=e.get(g),s=e.get(qs).getModel(t);if(!s)throw Vc();let c=O.isISelection(n)?O.liftSelection(n):r.isIRange(n)?s.validateRange(n):void 0;if(!c)throw Vc();let l=typeof i==`string`?new Z(i):void 0,u=await zf(o,s,c,{type:1,triggerAction:wf.Default,filter:{includeSourceActions:!0,include:l}},ye.None,H.None),d=[],f=Math.min(u.validActions.length,typeof a==`number`?a:0);for(let e=0;e<f;e++)d.push(u.validActions[e].resolve(H.None));try{return await Promise.all(d),u.validActions.map(e=>e.action)}finally{setTimeout(()=>u.dispose(),100)}});var Kf=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},qf=function(e,t){return function(n,r){t(n,r,e)}},Jf,Yf=Jf=class{constructor(e){this.keybindingService=e}getResolver(){let e=new Qt(()=>this.keybindingService.getKeybindings().filter(e=>Jf.codeActionCommands.indexOf(e.command)>=0).filter(e=>e.resolvedKeybinding).map(e=>{let t=e.commandArgs;return e.command===`editor.action.organizeImports`?t={kind:Cf.SourceOrganizeImports.value}:e.command===`editor.action.fixAll`&&(t={kind:Cf.SourceFixAll.value}),{resolvedKeybinding:e.resolvedKeybinding,...Of.fromUser(t,{kind:Z.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 Z(e.kind);return t.filter(e=>e.kind.contains(n)).filter(t=>t.preferred?e.isPreferred:!0).reduceRight((e,t)=>e?e.kind.contains(t.kind)?t:e:t,void 0)}};Yf.codeActionCommands=[Nf,Af,Pf,Ff,If],Yf=Jf=Kf([qf(0,$s)],Yf),q(`symbolIcon.arrayForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.arrayForeground`,`The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.booleanForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.booleanForeground`,`The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.classForeground`,{dark:`#EE9D28`,light:`#D67E00`,hcDark:`#EE9D28`,hcLight:`#D67E00`},b(`symbolIcon.classForeground`,`The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.colorForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.colorForeground`,`The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.constantForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.constantForeground`,`The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.constructorForeground`,{dark:`#B180D7`,light:`#652D90`,hcDark:`#B180D7`,hcLight:`#652D90`},b(`symbolIcon.constructorForeground`,`The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.enumeratorForeground`,{dark:`#EE9D28`,light:`#D67E00`,hcDark:`#EE9D28`,hcLight:`#D67E00`},b(`symbolIcon.enumeratorForeground`,`The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.enumeratorMemberForeground`,{dark:`#75BEFF`,light:`#007ACC`,hcDark:`#75BEFF`,hcLight:`#007ACC`},b(`symbolIcon.enumeratorMemberForeground`,`The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.eventForeground`,{dark:`#EE9D28`,light:`#D67E00`,hcDark:`#EE9D28`,hcLight:`#D67E00`},b(`symbolIcon.eventForeground`,`The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.fieldForeground`,{dark:`#75BEFF`,light:`#007ACC`,hcDark:`#75BEFF`,hcLight:`#007ACC`},b(`symbolIcon.fieldForeground`,`The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.fileForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.fileForeground`,`The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.folderForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.folderForeground`,`The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.functionForeground`,{dark:`#B180D7`,light:`#652D90`,hcDark:`#B180D7`,hcLight:`#652D90`},b(`symbolIcon.functionForeground`,`The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.interfaceForeground`,{dark:`#75BEFF`,light:`#007ACC`,hcDark:`#75BEFF`,hcLight:`#007ACC`},b(`symbolIcon.interfaceForeground`,`The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.keyForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.keyForeground`,`The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.keywordForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.keywordForeground`,`The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.methodForeground`,{dark:`#B180D7`,light:`#652D90`,hcDark:`#B180D7`,hcLight:`#652D90`},b(`symbolIcon.methodForeground`,`The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.moduleForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.moduleForeground`,`The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.namespaceForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.namespaceForeground`,`The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.nullForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.nullForeground`,`The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.numberForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.numberForeground`,`The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.objectForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.objectForeground`,`The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.operatorForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.operatorForeground`,`The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.packageForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.packageForeground`,`The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.propertyForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.propertyForeground`,`The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.referenceForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.referenceForeground`,`The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.snippetForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.snippetForeground`,`The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.stringForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.stringForeground`,`The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.structForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.structForeground`,`The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.textForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.textForeground`,`The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.typeParameterForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.typeParameterForeground`,`The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.unitForeground`,{dark:F,light:F,hcDark:F,hcLight:F},b(`symbolIcon.unitForeground`,`The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),q(`symbolIcon.variableForeground`,{dark:`#75BEFF`,light:`#007ACC`,hcDark:`#75BEFF`,hcLight:`#007ACC`},b(`symbolIcon.variableForeground`,`The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`));var Xf=Object.freeze({kind:Z.Empty,title:b(`codeAction.widget.id.more`,`More Actions...`)}),Zf=Object.freeze([{kind:Cf.QuickFix,title:b(`codeAction.widget.id.quickfix`,`Quick Fix`)},{kind:Cf.RefactorExtract,title:b(`codeAction.widget.id.extract`,`Extract`),icon:N.wrench},{kind:Cf.RefactorInline,title:b(`codeAction.widget.id.inline`,`Inline`),icon:N.wrench},{kind:Cf.RefactorRewrite,title:b(`codeAction.widget.id.convert`,`Rewrite`),icon:N.wrench},{kind:Cf.RefactorMove,title:b(`codeAction.widget.id.move`,`Move`),icon:N.wrench},{kind:Cf.SurroundWith,title:b(`codeAction.widget.id.surround`,`Surround With`),icon:N.surroundWith},{kind:Cf.Source,title:b(`codeAction.widget.id.source`,`Source Action`),icon:N.symbolFile},Xf]);function Qf(e,t,n){if(!t)return e.map(e=>({kind:`action`,item:e,group:Xf,disabled:!!e.action.disabled,label:e.action.disabled||e.action.title,canPreview:!!e.action.edit?.edits.length}));let r=Zf.map(e=>({group:e,actions:[]}));for(let t of e){let e=t.action.kind?new Z(t.action.kind):Z.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:N.sparkle}:r,label:t.action.title,disabled:!!t.action.disabled,keybinding:n(t.action)})}}return i}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},ep=function(e,t){return function(n,r){t(n,r,e)}},tp,np;(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})(np||={});var rp=tp=class extends U{constructor(e,t,n){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new B),this.onClick=this._onClick.event,this._state=np.Hidden,this._iconClasses=[],this._domNode=K(`div.lightBulbWidget`),this._domNode.role=`listbox`,this._register(Vi.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(e=>{let t=this._editor.getModel();(this.state.type!==1||!t||this.state.editorPosition.lineNumber>=t.getLineCount())&&this.hide()})),this._register(Ei(this._domNode,e=>{if(this.state.type!==1)return;this._editor.focus(),e.preventDefault();let{top:t,height:n}=je(this._domNode),r=this._editor.getOption(67),i=Math.floor(r/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber<this.state.editorPosition.lineNumber&&(i+=r),this._onClick.fire({x:e.posx,y:t+n+i,actions:this.state.actions,trigger:this.state.trigger})})),this._register(z(this._domNode,`mouseenter`,e=>{(e.buttons&1)==1&&this.hide()})),this._register(xc.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{this._preferredKbLabel=this._keybindingService.lookupKeybinding(`editor.action.autoFix`)?.getLabel()??void 0,this._quickFixKbLabel=this._keybindingService.lookupKeybinding(`editor.action.quickFix`)?.getLabel()??void 0,this._updateLightBulbTitleAndIcon()}))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return`LightBulbWidget`}getDomNode(){return this._domNode}getPosition(){return this._state.type===1?this._state.widgetPosition:null}update(e,t,n){if(e.validActions.length<=0||!this._editor.getOptions().get(65).enabled)return this.hide();let r=this._editor.getModel();if(!r)return this.hide();let{lineNumber:i,column:a}=r.validatePosition(n),o=r.getOptions().tabSize,s=this._editor.getOptions().get(50),c=Tr(r.getLineContent(i),o),l=s.spaceWidth*c>22,u=e=>e>2&&this._editor.getTopForLineNumber(e)===this._editor.getTopForLineNumber(e-1),d=i,f=1;if(!l){if(i>1&&!u(i-1))--d;else if(i<r.getLineCount()&&!u(i+1))d+=1;else if(a*s.spaceWidth<22)return this.hide();f=/^\S\s*$/.test(r.getLineContent(d))?2:1}this.state=new np.Showing(e,t,n,{position:{lineNumber:d,column:f},preference:tp._posPref});let p=e.validActions,m=e.validActions[0].action.kind;if(p.length!==1||!m){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==np.Hidden&&(this.state=np.Hidden,this._editor.layoutContentWidget(this))}get state(){return this._state}set state(e){this._state=e,this._updateLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){if(this._domNode.classList.remove(...this._iconClasses),this._iconClasses=[],this.state.type!==1)return;let e,t=!1;this.state.actions.allAIFixes?(e=N.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):e=this.state.actions.hasAutoFix?this.state.actions.hasAIFix?N.lightbulbSparkleAutofix:N.lightbulbAutofix:this.state.actions.hasAIFix?N.lightbulbSparkle:N.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=P.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateLightbulbTitle(e,t){this.state.type===1&&(t?this.title=b(`codeActionAutoRun`,`Run: {0}`,this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=b(`preferredcodeActionWithKb`,`Show Code Actions. Preferred Quick Fix Available ({0})`,this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=b(`codeActionWithKb`,`Show Code Actions ({0})`,this._quickFixKbLabel):e||(this.title=b(`codeAction`,`Show Code Actions`)))}set title(e){this._domNode.title=e}};rp.ID=`editor.contrib.lightbulbWidget`,rp._posPref=[0],rp=tp=$f([ep(1,$s),ep(2,Qr)],rp);var ip=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ap=function(e,t){return function(n,r){t(n,r,e)}},op=`acceptSelectedCodeAction`,sp=`previewSelectedCodeAction`,cp=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??``}disposeTemplate(e){}},lp=class{get templateId(){return`action`}constructor(e,t){this._supportsPreview=e,this._keybindingService=t}renderTemplate(e){e.classList.add(this.templateId);let t=document.createElement(`div`);t.className=`icon`,e.append(t);let n=document.createElement(`span`);return n.className=`title`,e.append(n),{container:e,icon:t,text:n,keybinding:new Or(e,vt)}}renderElement(e,t,n){if(e.group?.icon?(n.icon.className=P.asClassName(e.group.icon),e.group.icon.color&&(n.icon.style.color=nl(e.group.icon.color.id))):(n.icon.className=P.asClassName(N.lightBulb),n.icon.style.color=`var(--vscode-editorLightBulb-foreground)`),!e.item||!e.label)return;n.text.textContent=mp(e.label),n.keybinding.set(e.keybinding),ft(!!e.keybinding,n.keybinding.element);let r=this._keybindingService.lookupKeybinding(`acceptSelectedCodeAction`)?.getLabel(),i=this._keybindingService.lookupKeybinding(`previewSelectedCodeAction`)?.getLabel();n.container.classList.toggle(`option-disabled`,e.disabled),e.disabled?n.container.title=e.label:r&&i?this._supportsPreview&&e.canPreview?n.container.title=b({key:`label-preview`,comment:[`placeholders are keybindings, e.g "F2 to Apply, Shift+F2 to Preview"`]},`{0} to Apply, {1} to Preview`,r,i):n.container.title=b({key:`label`,comment:[`placeholder is a keybinding, e.g "F2 to Apply"`]},`{0} to Apply`,r):n.container.title=``}disposeTemplate(e){e.keybinding.dispose()}};lp=ip([ap(1,$s)],lp);var up=class extends UIEvent{constructor(){super(`acceptSelectedAction`)}},dp=class extends UIEvent{constructor(){super(`previewSelectedAction`)}};function fp(e){if(e.kind===`action`)return e.label}var pp=class extends U{constructor(e,t,n,r,i,a){super(),this._delegate=r,this._contextViewService=i,this._keybindingService=a,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new ec),this.domNode=document.createElement(`div`),this.domNode.classList.add(`actionList`),this._list=this._register(new So(e,this.domNode,{getHeight:e=>e.kind===`header`?this._headerLineHeight:this._actionLineHeight,getTemplateId:e=>e.kind},[new lp(t,this._keybindingService),new cp],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:fp},accessibilityProvider:{getAriaLabel:e=>{if(e.kind===`action`){let t=e.label?mp(e?.label):``;return e.disabled&&(t=b({key:`customQuickFixWidget.labels`,comment:[`Action widget labels for accessibility.`]},`{0}, Disabled Reason: {1}`,t,e.disabled)),t}return null},getWidgetAriaLabel:()=>b({key:`customQuickFixWidget`,comment:[`An action widget option`]},`Action Widget`),getRole:e=>e.kind===`action`?`option`:`separator`,getWidgetRole:()=>`listbox`}})),this._list.style(Kc),this._register(this._list.onMouseClick(e=>this.onListClick(e))),this._register(this._list.onMouseOver(e=>this.onListHover(e))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(e=>this.onListSelection(e))),this._allMenuItems=n,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(e){return!e.disabled&&e.kind===`action`}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._contextViewService.hideContextView()}layout(e){let t=this._allMenuItems.filter(e=>e.kind===`header`).length,n=this._allMenuItems.length*this._actionLineHeight+t*this._headerLineHeight-t*this._actionLineHeight;this._list.layout(n);let r=e;if(this._allMenuItems.length>=50)r=380;else{let t=this._allMenuItems.map((e,t)=>{let n=this.domNode.ownerDocument.getElementById(this._list.getElementID(t));if(n){n.style.width=`auto`;let e=n.getBoundingClientRect().width;return n.style.width=``,e}return 0});r=Math.max(...t,e)}let i=Math.min(n,this.domNode.ownerDocument.body.clientHeight*.7);return this._list.layout(i,r),this.domNode.style.height=`${i}px`,this._list.domFocus(),r}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(e){let t=this._list.getFocus();if(t.length===0)return;let n=t[0],r=this._list.element(n);if(!this.focusCondition(r))return;let i=e?new dp:new up;this._list.setSelection([n],i)}onListSelection(e){if(!e.elements.length)return;let t=e.elements[0];t.item&&this.focusCondition(t)?this._delegate.onSelect(t.item,e.browserEvent instanceof dp):this._list.setSelection([])}onFocus(){var e,t;let n=this._list.getFocus();if(n.length===0)return;let r=n[0],i=this._list.element(r);(t=(e=this._delegate).onFocus)==null||t.call(e,i.item)}async onListHover(e){let t=e.element;if(t&&t.item&&this.focusCondition(t)){if(this._delegate.onHover&&!t.disabled&&t.kind===`action`){let e=await this._delegate.onHover(t.item,this.cts.token);t.canPreview=e?e.canPreview:void 0}e.index&&this._list.splice(e.index,1,[t])}this._list.setFocus(typeof e.index==`number`?[e.index]:[])}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};pp=ip([ap(4,co),ap(5,$s)],pp);function mp(e){return e.replace(/\r\n|\r|\n/g,` `)}var hp=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)}};q(`actionBar.toggledBackground`,{dark:go,light:go,hcDark:go,hcLight:go},b(`actionBar.toggledBackground`,`Background color for toggled action items in action bar.`));var _p={Visible:new w(`codeActionMenuVisible`,!1,b(`codeActionMenuVisible`,`Whether the action widget list is visible`))},vp=_s(`actionWidgetService`),yp=class extends U{get isVisible(){return _p.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,n){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=n,this._list=this._register(new Ja)}show(e,t,n,r,i,a,o){let s=_p.Visible.bindTo(this._contextKeyService),c=this._instantiationService.createInstance(pp,e,t,n,r);this._contextViewService.showContextView({getAnchor:()=>i,render:e=>(s.set(!0),this._renderWidget(e,c,o??[])),onHide:e=>{s.reset(),this._onWidgetClosed(e)}},a,!1)}acceptSelected(e){var t;(t=this._list.value)==null||t.acceptSelected(e)}focusPrevious(){var e;(e=this._list?.value)==null||e.focusPrevious()}focusNext(){var e;(e=this._list?.value)==null||e.focusNext()}hide(e){var t;(t=this._list.value)==null||t.hide(e),this._list.clear()}_renderWidget(e,t,n){let r=document.createElement(`div`);if(r.classList.add(`action-widget`),e.appendChild(r),this._list.value=t,this._list.value)r.appendChild(this._list.value.domNode);else throw Error(`List has no value`);let i=new V,a=document.createElement(`div`),o=e.appendChild(a);o.classList.add(`context-view-block`),i.add(z(o,Ds.MOUSE_DOWN,e=>e.stopPropagation()));let s=document.createElement(`div`),c=e.appendChild(s);c.classList.add(`context-view-pointerBlock`),i.add(z(c,Ds.POINTER_MOVE,()=>c.remove())),i.add(z(c,Ds.MOUSE_DOWN,()=>c.remove()));let l=0;if(n.length){let e=this._createActionBar(`.action-widget-action-bar`,n);e&&(r.appendChild(e.getContainer().parentElement),i.add(e),l=e.getContainer().offsetWidth)}let u=this._list.value?.layout(l);r.style.width=`${u}px`;let d=i.add(rt(e));return i.add(d.onDidBlur(()=>this.hide(!0))),i}_createActionBar(e,t){if(!t.length)return;let n=new Ic(K(e));return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};yp=hp([gp(0,co),gp(1,W),gp(2,I)],yp),Jo(vp,yp,1);var bp=1100;A(class extends jn{constructor(){super({id:`hideCodeActionWidget`,title:T(`hideCodeActionWidget.title`,`Hide action widget`),precondition:_p.Visible,keybinding:{weight:bp,primary:9,secondary:[1033]}})}run(e){e.get(vp).hide(!0)}}),A(class extends jn{constructor(){super({id:`selectPrevCodeAction`,title:T(`selectPrevCodeAction.title`,`Select previous action`),precondition:_p.Visible,keybinding:{weight:bp,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(e){let t=e.get(vp);t instanceof yp&&t.focusPrevious()}}),A(class extends jn{constructor(){super({id:`selectNextCodeAction`,title:T(`selectNextCodeAction.title`,`Select next action`),precondition:_p.Visible,keybinding:{weight:bp,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(e){let t=e.get(vp);t instanceof yp&&t.focusNext()}}),A(class extends jn{constructor(){super({id:op,title:T(`acceptSelected.title`,`Accept selected action`),precondition:_p.Visible,keybinding:{weight:bp,primary:3,secondary:[2137]}})}run(e){let t=e.get(vp);t instanceof yp&&t.acceptSelected()}}),A(class extends jn{constructor(){super({id:sp,title:T(`previewSelected.title`,`Preview selected action`),precondition:_p.Visible,keybinding:{weight:bp,primary:2051}})}run(e){let t=e.get(vp);t instanceof yp&&t.acceptSelected(!0)}});var xp=new w(`supportedCodeAction`,``),Sp=class extends U{constructor(e,t,n,r=250){super(),this._editor=e,this._markerService=t,this._signalChange=n,this._delay=r,this._autoTriggerTimer=this._register(new l),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=>bo(e,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:wf.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(65).enabled;if(n!==_o.Off){if(n===_o.On)return t;if(n===_o.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}}},Cp;(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(fr(e))return wp;throw e})}cancel(){this._cancellablePromise.cancel()}}e.Triggered=t})(Cp||={});var wp=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1}),Tp=class extends U{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 Ja),this._state=Cp.Empty,this._onDidChangeState=this._register(new B),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=xp.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(65)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(Cp.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(Cp.Empty);let e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(91)){let t=this._registry.all(e).flatMap(e=>e.providedCodeActionKinds??[]);this._supportedCodeActions.set(t.join(` `)),this._codeActionOracle.value=new Sp(this._editor,this._markerService,t=>{var n;if(!t){this.setState(Cp.Empty);return}let r=t.selection.getStartPosition(),i=lc(async n=>{if(this._settingEnabledNearbyQuickfixes()&&t.trigger.type===1&&(t.trigger.triggerAction===wf.QuickFix||(t.trigger.filter?.include)?.contains(Cf.QuickFix))){let r=await zf(this._registry,e,t.selection,t.trigger,ye.None,n),i=[...r.allActions];if(n.isCancellationRequested)return wp;let a=r.validActions?.some(e=>e.action.kind?Cf.QuickFix.contains(new Z(e.action.kind)):!1),o=this._markerService.read({resource:e.uri});if(a){for(let e of r.validActions)(e.action.command?.arguments)?.some(e=>typeof e==`string`&&e.includes(`_typescript.applyFixAllCodeAction`))&&(e.action.diagnostics=[...o.filter(e=>e.relatedInformation)]);return{validActions:r.validActions,allActions:i,documentation:r.documentation,hasAutoFix:r.hasAutoFix,hasAIFix:r.hasAIFix,allAIFixes:r.allAIFixes,dispose:()=>{r.dispose()}}}else if(!a&&o.length>0){let a=t.selection.getPosition(),s=a,c=Number.MAX_VALUE,l=[...r.validActions];for(let u of o){let d=u.endColumn,f=u.endLineNumber,p=u.startLineNumber;if(f===a.lineNumber||p===a.lineNumber){s=new R(f,d);let u={type:t.trigger.type,triggerAction:t.trigger.triggerAction,filter:{include:t.trigger.filter?.include?t.trigger.filter?.include:Cf.QuickFix},autoApply:t.trigger.autoApply,context:{notAvailableMessage:t.trigger.context?.notAvailableMessage||``,position:s}},p=new O(s.lineNumber,s.column,s.lineNumber,s.column),m=await zf(this._registry,e,p,u,ye.None,n);if(m.validActions.length!==0){for(let e of m.validActions)(e.action.command?.arguments)?.some(e=>typeof e==`string`&&e.includes(`_typescript.applyFixAllCodeAction`))&&(e.action.diagnostics=[...o.filter(e=>e.relatedInformation)]);r.allActions.length===0&&i.push(...m.allActions),Math.abs(a.column-d)<c?l.unshift(...m.validActions):l.push(...m.validActions)}c=Math.abs(a.column-d)}}let u=l.filter((e,t,n)=>n.findIndex(t=>t.action.title===e.action.title)===t);return u.sort((e,t)=>e.action.isPreferred&&!t.action.isPreferred?-1:!e.action.isPreferred&&t.action.isPreferred||e.action.isAI&&!t.action.isAI?1:!e.action.isAI&&t.action.isAI?-1:0),{validActions:u,allActions:i,documentation:r.documentation,hasAutoFix:r.hasAutoFix,hasAIFix:r.hasAIFix,allAIFixes:r.allAIFixes,dispose:()=>{r.dispose()}}}}return zf(this._registry,e,t.selection,t.trigger,ye.None,n)});t.trigger.type===1&&((n=this._progressService)==null||n.showWhile(i,250));let a=new Cp.Triggered(t.trigger,r,i),o=!1;this._state.type===1&&(o=this._state.trigger.type===1&&a.type===1&&a.trigger.type===2&&this._state.position!==a.position),o?setTimeout(()=>{this.setState(a)},500):this.setState(a)},void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:wf.Default})}else this._supportedCodeActions.reset()}trigger(e){var t;(t=this._codeActionOracle.value)==null||t.trigger(e)}setState(e,t){e!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=e,!t&&!this._disposed&&this._onDidChangeState.fire(e))}},Ep=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},Dp=function(e,t){return function(n,r){t(n,r,e)}},Op,kp=`quickfix-edit-highlight`,Ap=Op=class extends U{static get(e){return e.getContribution(Op.ID)}constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this._commandService=o,this._configurationService=s,this._actionWidgetService=c,this._instantiationService=l,this._telemetryService=u,this._activeCodeActions=this._register(new Ja),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new Tp(this._editor,i.codeActionProvider,t,n,a,s)),this._register(this._model.onDidChangeState(e=>this.update(e))),this._lightBulbWidget=new Qt(()=>{let e=this._editor.getContribution(rp.ID);return e&&this._register(e.onClick(e=>this.showCodeActionsFromLightbulb(e.actions,e))),e}),this._resolver=r.createInstance(Yf),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(e,t){if(this._telemetryService.publicLog2(`codeAction.showCodeActionsFromLightbulb`,{codeActionListLength:e.validActions.length,codeActions:e.validActions.map(e=>e.action.title),codeActionProviders:e.validActions.map(e=>e.provider?.displayName??``)}),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],autoSend:!1}),await this._applyCodeAction(t,!1,!1,Uf.FromAILightbulb);return}await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,n){return this.showCodeActionList(t,n,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,n,r){var i;if(!this._editor.hasModel())return;(i=Jd.get(this._editor))==null||i.closeMessage();let a=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:n,autoApply:r,context:{notAvailableMessage:e,position:a}})}_trigger(e){return this._model.trigger(e)}async _applyCodeAction(e,t,n,r){try{await this._instantiationService.invokeFunction(Wf,e,r,{preview:n,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:wf.QuickFix,filter:{}})}}async update(e){var t,n,r,i,a;if(e.type!==1){(t=this._lightBulbWidget.rawValue)==null||t.hide();return}let o;try{o=await e.actions}catch(e){v(e);return}if(!this._disposed)if((n=this._lightBulbWidget.value)==null||n.update(o,e.trigger,e.position),e.trigger.type===1){if(e.trigger.filter?.include){let t=this.tryGetValidActionToApply(e.trigger,o);if(t){try{(r=this._lightBulbWidget.value)==null||r.hide(),await this._applyCodeAction(t,!1,!1,Uf.FromCodeActions)}finally{o.dispose()}return}if(e.trigger.context){let t=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,o);if(t&&t.action.disabled){(i=Jd.get(this._editor))==null||i.showMessage(t.action.disabled,e.trigger.context.position),o.dispose();return}}}let t=!!e.trigger.filter?.include;if(e.trigger.context&&(!o.allActions.length||!t&&!o.validActions.length)){(a=Jd.get(this._editor))==null||a.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=o,o.dispose();return}this._activeCodeActions.value=o,this.showCodeActionList(o,this.toCoords(e.position),{includeDisabledActions:t,fromLightbulb:!1})}else this._actionWidgetService.isVisible?o.dispose():this._activeCodeActions.value=o}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length&&(e.autoApply===`first`&&t.validActions.length===0||e.autoApply===`ifSingle`&&t.allActions.length===1))return t.allActions.find(({action:e})=>e.disabled)}tryGetValidActionToApply(e,t){if(t.validActions.length&&(e.autoApply===`first`&&t.validActions.length>0||e.autoApply===`ifSingle`&&t.validActions.length===1))return t.validActions[0]}async showCodeActionList(e,t,n){let r=this._editor.createDecorationsCollection(),i=this._editor.getDomNode();if(!i)return;let a=n.includeDisabledActions&&(this._showDisabled||e.validActions.length===0)?e.allActions:e.validActions;if(!a.length)return;let o=R.isIPosition(t)?this.toCoords(t):t;this._actionWidgetService.show(`codeActionWidget`,!0,Qf(a,this._shouldShowHeaders(),this._resolver.getResolver()),{onSelect:async(e,t)=>{this._applyCodeAction(e,!0,!!t,n.fromLightbulb?Uf.FromAILightbulb:Uf.FromCodeActions),this._actionWidgetService.hide(!1),r.clear()},onHide:t=>{var i;(i=this._editor)==null||i.focus(),r.clear(),n.fromLightbulb&&t!==void 0&&this._telemetryService.publicLog2(`codeAction.showCodeActionList.onHide`,{codeActionListLength:e.validActions.length,didCancel:t,codeActions:e.validActions.map(e=>e.action.title)})},onHover:async(e,t)=>{if(t.isCancellationRequested)return;let n=!1,r=e.action.kind;if(r){let e=new Z(r);n=[Cf.RefactorExtract,Cf.RefactorInline,Cf.RefactorRewrite,Cf.RefactorMove,Cf.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:Op.DECORATION})):t.map(e=>({range:e,options:Op.DECORATION}));r.set(e)}else if(n&&n.length>0){let e=n.map(e=>({range:e,options:Op.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;wo(b(`editingNewSelection`,`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=je(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:b(`hideMoreActions`,`Hide Disabled`),enabled:!0,tooltip:``,class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,n))}:{id:`showMoreActions`,label:b(`showMoreActions`,`Show Disabled`),enabled:!0,tooltip:``,class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,n))}),r}};Ap.ID=`editor.contrib.codeActionController`,Ap.DECORATION=k.register({description:`quickfix-highlight`,className:kp}),Ap=Op=Ep([Dp(1,$a),Dp(2,W),Dp(3,I),Dp(4,g),Dp(5,Zc),Dp(6,Qr),Dp(7,Va),Dp(8,vp),Dp(9,I),Dp(10,fn)],Ap),bc((e,t)=>{((e,n)=>{n&&t.addRule(`.monaco-editor ${e} { background-color: ${n}; }`)})(`.quickfix-edit-highlight`,e.getColor(Br));let n=e.getColor(et);n&&t.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${Bc(e.type)?`dotted`:`solid`} ${n}; box-sizing: border-box; }`)});function jp(e){return E.regex(xp.keys()[0],RegExp(`(\\s|^)`+bi(e.value)+`\\b`))}var Mp={type:`object`,defaultSnippets:[{body:{kind:``}}],properties:{kind:{type:`string`,description:b(`args.schema.kind`,`Kind of the code action to run.`)},apply:{type:`string`,description:b(`args.schema.apply`,`Controls when the returned actions are applied.`),default:`ifSingle`,enum:[`first`,`ifSingle`,`never`],enumDescriptions:[b(`args.schema.apply.first`,`Always apply the first returned code action.`),b(`args.schema.apply.ifSingle`,`Apply the first returned code action if it is the only one.`),b(`args.schema.apply.never`,`Do not apply the returned code actions.`)]},preferred:{type:`boolean`,default:!1,description:b(`args.schema.preferred`,`Controls if only preferred code actions should be returned.`)}}};function Np(e,t,n,r,i=wf.Default){e.hasModel()&&Ap.get(e)?.manualTriggerAtCurrentPosition(t,i,n,r)}var Pp=class extends J{constructor(){super({id:jf,label:b(`quickfix.trigger.label`,`Quick Fix...`),alias:`Quick Fix...`,precondition:E.and(x.writable,x.hasCodeActionsProvider),kbOpts:{kbExpr:x.textInputFocus,primary:2137,weight:100}})}run(e,t){return Np(t,b(`editor.action.quickFix.noneMessage`,`No code actions available`),void 0,void 0,wf.QuickFix)}},Fp=class extends be{constructor(){super({id:Af,precondition:E.and(x.writable,x.hasCodeActionsProvider),metadata:{description:`Trigger a code action`,args:[{name:`args`,schema:Mp}]}})}runEditorCommand(e,t,n){let r=Of.fromUser(n,{kind:Z.Empty,apply:`ifSingle`});return Np(t,typeof n?.kind==`string`?r.preferred?b(`editor.action.codeAction.noneMessage.preferred.kind`,`No preferred code actions for '{0}' available`,n.kind):b(`editor.action.codeAction.noneMessage.kind`,`No code actions for '{0}' available`,n.kind):r.preferred?b(`editor.action.codeAction.noneMessage.preferred`,`No preferred code actions available`):b(`editor.action.codeAction.noneMessage`,`No code actions available`),{include:r.kind,includeSourceActions:!0,onlyIncludePreferredActions:r.preferred},r.apply)}},Ip=class extends J{constructor(){super({id:Nf,label:b(`refactor.label`,`Refactor...`),alias:`Refactor...`,precondition:E.and(x.writable,x.hasCodeActionsProvider),kbOpts:{kbExpr:x.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:`1_modification`,order:2,when:E.and(x.writable,jp(Cf.Refactor))},metadata:{description:`Refactor...`,args:[{name:`args`,schema:Mp}]}})}run(e,t,n){let r=Of.fromUser(n,{kind:Cf.Refactor,apply:`never`});return Np(t,typeof n?.kind==`string`?r.preferred?b(`editor.action.refactor.noneMessage.preferred.kind`,`No preferred refactorings for '{0}' available`,n.kind):b(`editor.action.refactor.noneMessage.kind`,`No refactorings for '{0}' available`,n.kind):r.preferred?b(`editor.action.refactor.noneMessage.preferred`,`No preferred refactorings available`):b(`editor.action.refactor.noneMessage`,`No refactorings available`),{include:Cf.Refactor.contains(r.kind)?r.kind:Z.None,onlyIncludePreferredActions:r.preferred},r.apply,wf.Refactor)}},Lp=class extends J{constructor(){super({id:Pf,label:b(`source.label`,`Source Action...`),alias:`Source Action...`,precondition:E.and(x.writable,x.hasCodeActionsProvider),contextMenuOpts:{group:`1_modification`,order:2.1,when:E.and(x.writable,jp(Cf.Source))},metadata:{description:`Source Action...`,args:[{name:`args`,schema:Mp}]}})}run(e,t,n){let r=Of.fromUser(n,{kind:Cf.Source,apply:`never`});return Np(t,typeof n?.kind==`string`?r.preferred?b(`editor.action.source.noneMessage.preferred.kind`,`No preferred source actions for '{0}' available`,n.kind):b(`editor.action.source.noneMessage.kind`,`No source actions for '{0}' available`,n.kind):r.preferred?b(`editor.action.source.noneMessage.preferred`,`No preferred source actions available`):b(`editor.action.source.noneMessage`,`No source actions available`),{include:Cf.Source.contains(r.kind)?r.kind:Z.None,includeSourceActions:!0,onlyIncludePreferredActions:r.preferred},r.apply,wf.SourceAction)}},Rp=class extends J{constructor(){super({id:Ff,label:b(`organizeImports.label`,`Organize Imports`),alias:`Organize Imports`,precondition:E.and(x.writable,jp(Cf.SourceOrganizeImports)),kbOpts:{kbExpr:x.textInputFocus,primary:1581,weight:100}})}run(e,t){return Np(t,b(`editor.action.organize.noneMessage`,`No organize imports action available`),{include:Cf.SourceOrganizeImports,includeSourceActions:!0},`ifSingle`,wf.OrganizeImports)}},zp=class extends J{constructor(){super({id:If,label:b(`fixAll.label`,`Fix All`),alias:`Fix All`,precondition:E.and(x.writable,jp(Cf.SourceFixAll))})}run(e,t){return Np(t,b(`fixAll.noneMessage`,`No fix all action available`),{include:Cf.SourceFixAll,includeSourceActions:!0},`ifSingle`,wf.FixAll)}},Bp=class extends J{constructor(){super({id:Mf,label:b(`autoFix.label`,`Auto Fix...`),alias:`Auto Fix...`,precondition:E.and(x.writable,jp(Cf.QuickFix)),kbOpts:{kbExpr:x.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return Np(t,b(`editor.action.autoFix.noneMessage`,`No auto fixes available`),{include:Cf.QuickFix,onlyIncludePreferredActions:!0},`ifSingle`,wf.AutoFix)}};D(Ap.ID,Ap,3),D(rp.ID,rp,4),y(Pp),y(Ip),y(Lp),y(Rp),y(Bp),y(zp),_(new Fp),wr.as(Aa.Configuration).registerConfiguration({...Le,properties:{"editor.codeActionWidget.showHeaders":{type:`boolean`,scope:5,description:b(`showCodeActionHeaders`,`Enable/disable showing group headers in the Code Action menu.`),default:!0}}}),wr.as(Aa.Configuration).registerConfiguration({...Le,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:`boolean`,scope:5,description:b(`includeNearbyQuickFixes`,`Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic.`),default:!0}}});var Vp=class{constructor(){this.lenses=[],this._disposables=new V}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(let n of e.lenses)this.lenses.push({symbol:n,provider:t})}};async function Hp(e,t,n){let r=e.ordered(t),i=new Map,a=new Vp,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){Oe(e)}});return await Promise.all(o),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}M.registerCommand(`_executeCodeLensProvider`,function(e,...t){let[n,r]=t;j(G.isUri(n)),j(typeof r==`number`||!r);let{codeLensProvider:i}=e.get(g),a=e.get(qs).getModel(n);if(!a)throw Vc();let o=[],s=new V;return Hp(i,a,H.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,H.None)).then(e=>o.push(e||n.symbol)));return Promise.all(t)}).then(()=>o).finally(()=>{setTimeout(()=>s.dispose(),100)})});var Up=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Wp=function(e,t){return function(n,r){t(n,r,e)}},Gp=_s(`ICodeLensCache`),Kp=class{constructor(e,t){this.lineCount=e,this.data=t}},qp=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw Error(`not supported`)}},this._cache=new Pi(20,.75),Fr(cn,()=>e.remove(`codelens/cache`,1));let t=`codelens/cache2`,n=e.get(t,1,`{}`);this._deserialize(n),xc.once(e.onWillSaveState)(n=>{n.reason===wn.SHUTDOWN&&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 Vp;r.add({lenses:n,dispose:()=>{}},this._fakeProvider);let i=new Kp(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],i=[];for(let e of n.lines)i.push({range:new r(e,1,e,11)});let a=new Vp;a.add({lenses:i,dispose(){}},this._fakeProvider),this._cache.set(e,new Kp(n.lineCount,a))}}catch{}}};qp=Up([Wp(0,Me)],qp),Jo(Gp,qp,1);var Jp=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`)}},Yp=class e{constructor(t,n){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=t,this._id=`codelens.widget-${e._idPool++}`,this.updatePosition(n),this._domNode=document.createElement(`span`),this._domNode.className=`codelens-decoration`}withCommands(t,n){this._commands.clear();let r=[],i=!1;for(let n=0;n<t.length;n++){let a=t[n];if(a&&(i=!0,a.command)){let i=Zr(a.command.title.trim());if(a.command.id){let t=`c${e._idPool++}`;r.push(K(`a`,{id:t,title:a.command.tooltip,role:`button`},...i)),this._commands.set(t,a.command)}else r.push(K(`span`,{title:a.command.tooltip},...i));n+1<t.length&&r.push(K(`span`,void 0,`\xA0|\xA0`))}}i?(vl(this._domNode,...r),this._isEmpty&&n&&this._domNode.classList.add(`fadein`),this._isEmpty=!1):vl(this._domNode,K(`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){this._widgetPosition={position:{lineNumber:e,column:this._editor.getModel().getLineFirstNonWhitespaceColumn(e)},preference:[1]}}getPosition(){return this._widgetPosition||null}};Yp._idPool=0;var Xp=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])}},Zp=k.register({collapseOnReplaceEdit:!0,description:`codelens`}),Qp=class{constructor(e,t,n,i,a,o){this._isDisposed=!1,this._editor=t,this._data=e,this._decorationIds=[];let s,c=[];this._data.forEach((e,t)=>{e.symbol.command&&c.push(e.symbol),n.addDecoration({range:e.symbol.range,options:Zp},e=>this._decorationIds[t]=e),s=s?r.plusRange(s,e.symbol.range):r.lift(e.symbol.range)}),this._viewZone=new Jp(s.startLineNumber-1,a,o),this._viewZoneId=i.addZone(this._viewZone),c.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(c,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new Yp(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),i=this._data[t].symbol;return!!(n&&r.isEmpty(i.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:Zp},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)))}}},$p=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},em=function(e,t){return function(n,r){t(n,r,e)}},tm=class{constructor(e,t,n,r,i,a){this._editor=e,this._languageFeaturesService=t,this._commandService=r,this._notificationService=i,this._codeLensCache=a,this._disposables=new V,this._localToDispose=new V,this._lenses=[],this._oldCodeLensModels=new V,this._provideCodeLensDebounce=n.for(t.codeLensProvider,`CodeLensProvide`,{min:250}),this._resolveCodeLensesDebounce=n.for(t.codeLensProvider,`CodeLensResolve`,{min:250,salt:`resolve`}),this._resolveCodeLensesScheduler=new Hn(()=>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(50)||e.hasChanged(19)||e.hasChanged(18))&&this._updateLensStyle(),e.hasChanged(17)&&this._onModelChange()})),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){var e;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),(e=this._currentCodeLensModel)==null||e.dispose()}_getLayoutInfo(){let e=Math.max(1.3,this._editor.getOption(67)/this._editor.getOption(52)),t=this._editor.getOption(19);return(!t||t<5)&&(t=this._editor.getOption(52)*.9|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){let{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),n=this._editor.getOption(18),r=this._editor.getOption(50),{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`,bn.fontFamily)),this._editor.changeViewZones(t=>{for(let n of this._lenses)n.updateHeight(e,t)})}_localDispose(){var e,t,n;(e=this._getCodeLensModelPromise)==null||e.cancel(),this._getCodeLensModelPromise=void 0,(t=this._resolveCodeLensesPromise)==null||t.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),(n=this._currentCodeLensModel)==null||n.dispose()}_onModelChange(){this._localDispose();let e=this._editor.getModel();if(!e||!this._editor.getOption(17)||e.isTooLargeForTokenization())return;let t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e)){t&&ts(()=>{t===this._codeLensCache.get(e)&&(this._codeLensCache.delete(e),this._onModelChange())},30*1e3,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 Hn(()=>{var t;let r=Date.now();(t=this._getCodeLensModelPromise)==null||t.cancel(),this._getCodeLensModelPromise=lc(t=>Hp(this._languageFeaturesService.codeLensProvider,e,t)),this._getCodeLensModelPromise.then(t=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=t,this._codeLensCache.put(e,t),n.delay=this._provideCodeLensDebounce.update(e,Date.now()-r),this._renderCodeLensSymbols(t),this._resolveCodeLensesInViewportSoon()},v)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(n),this._localToDispose.add(Hi(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{var e;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 Xp;n.forEach(e=>{e.dispose(i,t),this._lenses.splice(this._lenses.indexOf(e),1)}),i.commit(e)})}),n.schedule(),this._resolveCodeLensesScheduler.cancel(),(e=this._resolveCodeLensesPromise)==null||e.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(Hi(()=>{if(this._editor.getModel()){let e=d.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 Xp;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=d.capture(this._editor),a=this._getLayoutInfo();this._editor.changeDecorations(e=>{this._editor.changeViewZones(t=>{let r=new Xp,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 Qp(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 Qp(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(){var e;(e=this._resolveCodeLensesPromise)==null||e.cancel(),this._resolveCodeLensesPromise=void 0;let t=this._editor.getModel();if(!t)return;let n=[],r=[];if(this._lenses.forEach(e=>{let i=e.computeIfNecessary(t);i&&(n.push(i),r.push(e))}),n.length===0)return;let i=Date.now(),a=lc(e=>{let i=n.map((n,i)=>{let a=Array(n.length),o=n.map((n,r)=>!n.symbol.command&&typeof n.provider.resolveCodeLens==`function`?Promise.resolve(n.provider.resolveCodeLens(t,n.symbol,e)).then(e=>{a[r]=e},Oe):(a[r]=n.symbol,Promise.resolve(void 0)));return Promise.all(o).then(()=>{!e.isCancellationRequested&&!r[i].isDisposed()&&r[i].updateCommands(a)})});return Promise.all(i)});this._resolveCodeLensesPromise=a,this._resolveCodeLensesPromise.then(()=>{let e=this._resolveCodeLensesDebounce.update(t,Date.now()-i);this._resolveCodeLensesScheduler.delay=e,this._currentCodeLensModel&&this._codeLensCache.put(t,this._currentCodeLensModel),this._oldCodeLensModels.clear(),a===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},e=>{v(e),a===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}async getModel(){return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,this._currentCodeLensModel?.isDisposed?void 0:this._currentCodeLensModel}};tm.ID=`css.editor.codeLens`,tm=$p([em(1,g),em(2,wc),em(3,Qr),em(4,Za),em(5,Gp)],tm),D(tm.ID,tm,1),y(class extends J{constructor(){super({id:`codelens.showLensesInCurrentLine`,precondition:x.hasCodeLensProvider,label:b(`showLensOnLine`,`Show CodeLens Commands For Current Line`),alias:`Show CodeLens Commands For Current Line`})}async run(e,t){if(!t.hasModel())return;let n=e.get(pa),r=e.get(Qr),i=e.get(Za),a=t.getSelection().positionLineNumber,o=t.getContribution(tm.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:b(`placeHolder`,`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 nm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},rm=function(e,t){return function(n,r){t(n,r,e)}},im=class{constructor(e,t){this._editorWorkerClient=new dl(e,!1,`editorWorkerService`,t)}async provideDocumentColors(e,t){return this._editorWorkerClient.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,n){let r=t.range,i=t.color,a=i.alpha,o=new S(new Rr(Math.round(255*i.red),Math.round(255*i.green),Math.round(255*i.blue),a)),s=a?S.Format.CSS.formatRGB(o):S.Format.CSS.formatRGBA(o),c=a?S.Format.CSS.formatHSL(o):S.Format.CSS.formatHSLA(o),l=a?S.Format.CSS.formatHex(o):S.Format.CSS.formatHexA(o),u=[];return u.push({label:s,textEdit:{range:r,text:s}}),u.push({label:c,textEdit:{range:r,text:c}}),u.push({label:l,textEdit:{range:r,text:l}}),u}},am=class extends U{constructor(e,t,n){super(),this._register(n.colorProvider.register(`*`,new im(e,t)))}};am=nm([rm(0,qs),rm(1,Cc),rm(2,g)],am),po(am);async function om(e,t,n,r=!0){return dm(new cm,e,t,n,r)}function sm(e,t,n,r){return Promise.resolve(n.provideColorPresentations(e,t,r))}var cm=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)}},lm=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)}},um=class{constructor(e){this.colorInfo=e}async compute(e,t,n,r){let i=await e.provideColorPresentations(t,this.colorInfo,H.None);return Array.isArray(i)&&r.push(...i),Array.isArray(i)}};async function dm(e,t,n,r,i){let a=!1,o,s=[],c=t.ordered(n);for(let t=c.length-1;t>=0;t--){let i=c[t];if(i instanceof im)o=i;else try{await e.compute(i,n,r,s)&&(a=!0)}catch(e){Oe(e)}}return a?s:o&&i?(await e.compute(o,n,r,s),s):[]}function fm(e,t){let{colorProvider:n}=e.get(g),r=e.get(qs).getModel(t);if(!r)throw Vc();return{model:r,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:e.get(Va).getValue(`editor.defaultColorDecorators`,{resource:t})}}M.registerCommand(`_executeDocumentColorProvider`,function(e,...t){let[n]=t;if(!(n instanceof G))throw Vc();let{model:r,colorProviderRegistry:i,isDefaultColorDecoratorsEnabled:a}=fm(e,n);return dm(new lm,i,r,H.None,a)}),M.registerCommand(`_executeColorPresentationProvider`,function(e,...t){let[n,i]=t,{uri:a,range:o}=i;if(!(a instanceof G)||!Array.isArray(n)||n.length!==4||!r.isIRange(o))throw Vc();let{model:s,colorProviderRegistry:c,isDefaultColorDecoratorsEnabled:l}=fm(e,a),[u,d,f,p]=n;return dm(new um({range:o,color:{red:u,green:d,blue:f,alpha:p}}),c,s,H.None,l)});var pm=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},mm=function(e,t){return function(n,r){t(n,r,e)}},hm,gm=Object.create({}),_m=hm=class extends U{constructor(e,t,n,r){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=n,this._localToDispose=this._register(new V),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new dr(this._editor),this._decoratorLimitReporter=new vm,this._colorDecorationClassRefs=this._register(new V),this._debounceInformation=r.for(n.colorProvider,`Document Colors`,{min:hm.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._isDefaultColorDecoratorsEnabled=this._editor.getOption(147);let n=t!==this._isColorDecoratorsEnabled||e.hasChanged(21),r=e.hasChanged(147);(n||r)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(147),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(20)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;let e=this._editor.getModel();!e||!this._languageFeaturesService.colorProvider.has(e)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new l,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=lc(async e=>{let t=this._editor.getModel();if(!t)return[];let n=new Oa(!1),r=await om(this._languageFeaturesService.colorProvider,t,e,this._isDefaultColorDecoratorsEnabled);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){v(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:k.EMPTY}));this._editor.changeDecorations(n=>{this._decorationsIds=n.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((t,n)=>this._colorDatas.set(t,e[n]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();let t=[],n=this._editor.getOption(21);for(let r=0;r<e.length&&t.length<n;r++){let{red:n,green:i,blue:a,alpha:o}=e[r].colorInfo.color,s=new Rr(Math.round(n*255),Math.round(i*255),Math.round(a*255),o),c=`rgba(${s.r}, ${s.g}, ${s.b}, ${s.a})`,l=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:c}));t.push({range:{startLineNumber:e[r].colorInfo.range.startLineNumber,startColumn:e[r].colorInfo.range.startColumn,endLineNumber:e[r].colorInfo.range.endLineNumber,endColumn:e[r].colorInfo.range.endColumn},options:{description:`colorDetector`,before:{content:`\xA0`,inlineClassName:`${l.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:gm}}})}let r=n<e.length?n:!1;this._decoratorLimitReporter.update(e.length,r),this._colorDecoratorIds.set(t)}removeAllDecorations(){this._editor.removeDecorations(this._decorationsIds),this._decorationsIds=[],this._colorDecoratorIds.clear(),this._colorDecorationClassRefs.clear()}getColorData(e){let t=this._editor.getModel();if(!t)return null;let n=t.getDecorationsInRange(r.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)}};_m.ID=`editor.contrib.colorDetector`,_m.RECOMPUTE_TIME=1e3,_m=hm=pm([mm(1,Va),mm(2,g),mm(3,wc)],_m);var vm=class{constructor(){this._onDidChange=new B,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}};D(_m.ID,_m,1);var ym=class{get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(e,t,n){this.presentationIndex=n,this._onColorFlushed=new B,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new B,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new B,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let n=-1;for(let e=0;e<this.colorPresentations.length;e++)if(t.toLowerCase()===this.colorPresentations[e].label){n=e;break}if(n===-1){let e=t.split(`(`)[0].toLowerCase();for(let t=0;t<this.colorPresentations.length;t++)if(this.colorPresentations[t].label.toLowerCase().startsWith(e)){n=t;break}}n!==-1&&n!==this.presentationIndex&&(this.presentationIndex=n,this._onDidChangePresentation.fire(this.presentation))}flushColor(){this._onColorFlushed.fire(this._color)}},bm=K,xm=class extends U{constructor(e,t,n,r=!1){super(),this.model=t,this.showingStandaloneColorPicker=r,this._closeButton=null,this._domNode=bm(`.colorpicker-header`),Y(e,this._domNode),this._pickedColorNode=Y(this._domNode,bm(`.picked-color`)),Y(this._pickedColorNode,bm(`span.codicon.codicon-color-mode`)),this._pickedColorPresentation=Y(this._pickedColorNode,document.createElement(`span`)),this._pickedColorPresentation.classList.add(`picked-color-presentation`);let i=b(`clickToToggleColorOptions`,`Click to toggle color options (rgb/hsl/hex)`);this._pickedColorNode.setAttribute(`title`,i),this._originalColorNode=Y(this._domNode,bm(`.original-color`)),this._originalColorNode.style.backgroundColor=S.Format.CSS.format(this.model.originalColor)||``,this.backgroundColor=n.getColorTheme().getColor(ai)||S.white,this._register(n.onDidColorThemeChange(e=>{this.backgroundColor=e.getColor(ai)||S.white})),this._register(z(this._pickedColorNode,Ds.CLICK,()=>this.model.selectNextColorPresentation())),this._register(z(this._originalColorNode,Ds.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this._register(t.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=S.Format.CSS.format(t.color)||``,this._pickedColorNode.classList.toggle(`light`,t.color.rgba.a<.5?this.backgroundColor.isLighter():t.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add(`standalone-colorpicker`),this._closeButton=this._register(new Sm(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=S.Format.CSS.format(e)||``,this._pickedColorNode.classList.toggle(`light`,e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:``}},Sm=class extends U{constructor(e){super(),this._onClicked=this._register(new B),this.onClicked=this._onClicked.event,this._button=document.createElement(`div`),this._button.classList.add(`close-button`),Y(e,this._button);let t=document.createElement(`div`);t.classList.add(`close-button-inner-div`),Y(this._button,t),Y(t,bm(`.button`+P.asCSSSelector(ul(`color-picker-close`,N.close,b(`closeIcon`,`Icon to close the color picker`))))).classList.add(`close-icon`),this._register(z(this._button,Ds.CLICK,()=>{this._onClicked.fire()}))}},Cm=class extends U{constructor(e,t,n,r=!1){super(),this.model=t,this.pixelRatio=n,this._insertButton=null,this._domNode=bm(`.colorpicker-body`),Y(e,this._domNode),this._saturationBox=new wm(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new Em(this._domNode,this.model,r),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new Dm(this._domNode,this.model,r),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),r&&(this._insertButton=this._register(new Om(this._domNode)),this._domNode.classList.add(`standalone-colorpicker`))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){let n=this.model.color.hsva;this.model.color=new S(new yr(n.h,e,t,n.a))}onDidOpacityChange(e){let t=this.model.color.hsva;this.model.color=new S(new yr(t.h,t.s,t.v,e))}onDidHueChange(e){let t=this.model.color.hsva,n=(1-e)*360;this.model.color=new S(new yr(n===360?0:n,t.s,t.v,t.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}},wm=class extends U{constructor(e,t,n){super(),this.model=t,this.pixelRatio=n,this._onDidChange=new B,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new B,this.onColorFlushed=this._onColorFlushed.event,this._domNode=bm(`.saturation-wrap`),Y(e,this._domNode),this._canvas=document.createElement(`canvas`),this._canvas.className=`saturation-box`,Y(this._domNode,this._canvas),this.selection=bm(`.saturation-selection`),Y(this._domNode,this.selection),this.layout(),this._register(z(this._domNode,Ds.POINTER_DOWN,e=>this.onPointerDown(e))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;this.monitor=this._register(new he);let t=je(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>this.onDidChangePosition(e.pageX-t.left,e.pageY-t.top),()=>null);let n=z(e.target.ownerDocument,Ds.POINTER_UP,()=>{this._onColorFlushed.fire(),n.dispose(),this.monitor&&=(this.monitor.stopMonitoring(!0),null)},!0)}onDidChangePosition(e,t){let n=Math.max(0,Math.min(1,e/this.width)),r=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(n,r),this._onDidChange.fire({s:n,v:r})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();let e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){let e=this.model.color.hsva,t=new S(new yr(e.h,1,1,1)),n=this._canvas.getContext(`2d`),r=n.createLinearGradient(0,0,this._canvas.width,0);r.addColorStop(0,`rgba(255, 255, 255, 1)`),r.addColorStop(.5,`rgba(255, 255, 255, 0.5)`),r.addColorStop(1,`rgba(255, 255, 255, 0)`);let i=n.createLinearGradient(0,0,0,this._canvas.height);i.addColorStop(0,`rgba(0, 0, 0, 0)`),i.addColorStop(1,`rgba(0, 0, 0, 1)`),n.rect(0,0,this._canvas.width,this._canvas.height),n.fillStyle=S.Format.CSS.format(t),n.fill(),n.fillStyle=r,n.fill(),n.fillStyle=i,n.fill()}paintSelection(e,t){this.selection.style.left=`${e*this.width}px`,this.selection.style.top=`${this.height-t*this.height}px`}onDidChangeColor(e){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();let t=e.hsva;this.paintSelection(t.s,t.v)}},Tm=class extends U{constructor(e,t,n=!1){super(),this.model=t,this._onDidChange=new B,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new B,this.onColorFlushed=this._onColorFlushed.event,n?(this.domNode=Y(e,bm(`.standalone-strip`)),this.overlay=Y(this.domNode,bm(`.standalone-overlay`))):(this.domNode=Y(e,bm(`.strip`)),this.overlay=Y(this.domNode,bm(`.overlay`))),this.slider=Y(this.domNode,bm(`.slider`)),this.slider.style.top=`0px`,this._register(z(this.domNode,Ds.POINTER_DOWN,e=>this.onPointerDown(e))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;let e=this.getValue(this.model.color);this.updateSliderPosition(e)}onDidChangeColor(e){let t=this.getValue(e);this.updateSliderPosition(t)}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=this._register(new he),n=je(this.domNode);this.domNode.classList.add(`grabbing`),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,e=>this.onDidChangeTop(e.pageY-n.top),()=>null);let r=z(e.target.ownerDocument,Ds.POINTER_UP,()=>{this._onColorFlushed.fire(),r.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove(`grabbing`)},!0)}onDidChangeTop(e){let t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top=`${(1-e)*this.height}px`}},Em=class extends Tm{constructor(e,t,n=!1){super(e,t,n),this.domNode.classList.add(`opacity-strip`),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);let{r:t,g:n,b:r}=e.rgba,i=new S(new Rr(t,n,r,1)),a=new S(new Rr(t,n,r,0));this.overlay.style.background=`linear-gradient(to bottom, ${i} 0%, ${a} 100%)`}getValue(e){return e.hsva.a}},Dm=class extends Tm{constructor(e,t,n=!1){super(e,t,n),this.domNode.classList.add(`hue-strip`)}getValue(e){return 1-e.hsva.h/360}},Om=class extends U{constructor(e){super(),this._onClicked=this._register(new B),this.onClicked=this._onClicked.event,this._button=Y(e,document.createElement(`button`)),this._button.classList.add(`insert-button`),this._button.textContent=`Insert`,this._register(z(this._button,Ds.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}},km=class extends Ac{constructor(e,t,n,r,i=!1){super(),this.model=t,this.pixelRatio=n,this._register(Bo.getInstance(rn(e)).onDidChange(()=>this.layout()));let a=bm(`.colorpicker-widget`);e.appendChild(a),this.header=this._register(new xm(a,this.model,r,i)),this.body=this._register(new Cm(a,this.model,this.pixelRatio,i))}layout(){this.body.layout()}},Am=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},jm=function(e,t){return function(n,r){t(n,r,e)}},Mm=class{constructor(e,t,n,r){this.owner=e,this.range=t,this.model=n,this.provider=r,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},Nm=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,n){return li.fromPromise(this._computeAsync(e,t,n))}async _computeAsync(e,t,n){if(!this._editor.hasModel())return[];let r=_m.get(this._editor);if(!r)return[];for(let e of t){if(!r.isColorDecoration(e))continue;let t=r.getColorData(e.range.getStartPosition());if(t)return[await Im(this,this._editor.getModel(),t.colorInfo,t.provider)]}return[]}renderHoverParts(e,t){return Lm(this,this._editor,this._themeService,t,e)}};Nm=Am([jm(1,Io)],Nm);var Pm=class{constructor(e,t,n,r){this.owner=e,this.range=t,this.model=n,this.provider=r}},Fm=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,n){if(!this._editor.hasModel()||!_m.get(this._editor))return null;let i=await om(n,this._editor.getModel(),H.None),a=null,o=null;for(let t of i){let n=t.colorInfo;r.containsRange(n.range,e.range)&&(a=n,o=t.provider)}let s=a??e,c=o??t,l=!!a;return{colorHover:await Im(this,this._editor.getModel(),s,c),foundInEditor:l}}async updateEditorModel(e){if(!this._editor.hasModel())return;let t=e.model,n=new r(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await zm(this._editor.getModel(),t,this._color,n,e),n=Rm(this._editor,n,t))}renderHoverParts(e,t){return Lm(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};Fm=Am([jm(1,Io)],Fm);async function Im(e,t,n,i){let a=t.getValueInRange(n.range),{red:o,green:s,blue:c,alpha:l}=n.color,u=new S(new Rr(Math.round(o*255),Math.round(s*255),Math.round(c*255),l)),d=await sm(t,n,i,H.None),f=new ym(u,[],0);return f.colorPresentations=d||[],f.guessColorPresentation(u,a),e instanceof Nm?new Mm(e,r.lift(n.range),f,i):new Pm(e,r.lift(n.range),f,i)}function Lm(e,t,n,i,a){if(i.length===0||!t.hasModel())return U.None;if(a.setMinimumDimensions){let e=t.getOption(67)+8;a.setMinimumDimensions(new L(302,e))}let o=new V,s=i[0],c=t.getModel(),l=s.model,u=o.add(new km(a.fragment,l,t.getOption(143),n,e instanceof Fm));a.setColorPicker(u);let d=!1,f=new r(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn);if(e instanceof Fm){let t=i[0].model.color;e.color=t,zm(c,l,t,f,s),o.add(l.onColorFlushed(t=>{e.color=t}))}else o.add(l.onColorFlushed(async e=>{await zm(c,l,e,f,s),d=!0,f=Rm(t,f,l)}));return o.add(l.onDidChangeColor(e=>{zm(c,l,e,f,s)})),o.add(t.onDidChangeModelContent(e=>{d?d=!1:(a.hide(),t.focus())})),o}function Rm(e,t,n){let i=[],a=n.presentation.textEdit??{range:t,text:n.presentation.label,forceMoveMarkers:!1};i.push(a),n.presentation.additionalTextEdits&&i.push(...n.presentation.additionalTextEdits);let o=r.lift(a.range),s=e.getModel()._setTrackedRange(null,o,3);return e.executeEdits(`colorpicker`,i),e.pushUndoStop(),e.getModel()._getTrackedRange(s)??o}async function zm(e,t,n,r,i){t.colorPresentations=await sm(e,{range:r,color:{red:n.rgba.r/255,green:n.rgba.g/255,blue:n.rgba.b/255,alpha:n.rgba.a}},i.provider,H.None)||[]}var Bm=`editor.action.showHover`,Vm=`editor.action.showDefinitionPreviewHover`,Hm=`editor.action.scrollUpHover`,Um=`editor.action.scrollDownHover`,Wm=`editor.action.scrollLeftHover`,Gm=`editor.action.scrollRightHover`,Km=`editor.action.pageUpHover`,qm=`editor.action.pageDownHover`,Jm=`editor.action.goToTopHover`,Ym=`editor.action.goToBottomHover`,Xm=`editor.action.increaseHoverVerbosityLevel`,Zm=b({key:`increaseHoverVerbosityLevel`,comment:[`Label for action that will increase the hover verbosity level.`]},`Increase Hover Verbosity Level`),Qm=`editor.action.decreaseHoverVerbosityLevel`,$m=b({key:`decreaseHoverVerbosityLevel`,comment:[`Label for action that will decrease the hover verbosity level.`]},`Decrease Hover Verbosity Level`),eh=`editor.action.inlineSuggest.commit`,th=`editor.action.inlineSuggest.showPrevious`,nh=`editor.action.inlineSuggest.showNext`,rh=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)}},ah,oh=class extends U{constructor(e,t,n){super(),this.editor=e,this.model=t,this.instantiationService=n,this.alwaysShowToolbar=St(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar===`always`),this.sessionPosition=void 0,this.position=Kr(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 R(t.lineNumber,Math.min(n,this.sessionPosition?.column??2**53-1));return this.sessionPosition=r,r}),this._register(Dr((t,n)=>{let r=this.model.read(t);if(!r||!this.alwaysShowToolbar.read(t))return;let i=Rs((t,n)=>{let i=n.add(this.instantiationService.createInstance(lh,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(i),n.add(Hi(()=>e.removeContentWidget(i))),n.add(pe(e=>{this.position.read(e)&&r.lastTriggerKind.read(e)!==Ar.Explicit&&r.triggerExplicitly()})),i}),a=Pn(this,(e,t)=>!!this.position.read(e)||!!t);n.add(pe(e=>{a.read(e)&&i.read(e)}))}))}};oh=rh([ih(2,I)],oh);var sh=ul(`inline-suggestion-hints-next`,N.chevronRight,b(`parameterHintsNextIcon`,`Icon for show next parameter hint.`)),ch=ul(`inline-suggestion-hints-previous`,N.chevronLeft,b(`parameterHintsPreviousIcon`,`Icon for show previous parameter hint.`)),lh=ah=class extends U{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,n){let r=new Bn(e,t,n,!0,()=>this._commandService.executeCommand(e)),i=this.keybindingService.lookupKeybinding(e,this._contextKeyService),a=t;return i&&(a=b({key:`content`,comment:[`A label`,`A keybinding`]},`{0} ({1})`,t,i.getLabel())),r.tooltip=a,r}constructor(e,t,n,r,i,a,o,c,l,u,d){super(),this.editor=e,this.withBorder=t,this._position=n,this._currentSuggestionIdx=r,this._suggestionCount=i,this._extraCommands=a,this._commandService=o,this.keybindingService=l,this._contextKeyService=u,this._menuService=d,this.id=`InlineSuggestionHintsContentWidget${ah.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=mn(`div.inlineSuggestionsHints`,{className:this.withBorder?`.withBorder`:``},[mn(`div@toolBar`)]),this.previousAction=this.createCommandAction(th,b(`previous`,`Previous`),P.asClassName(ch)),this.availableSuggestionCountAction=new Bn(`inlineSuggestionHints.availableSuggestionCount`,``,void 0,!1),this.nextAction=this.createCommandAction(nh,b(`next`,`Next`),P.asClassName(sh)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(C.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new Hn(()=>{this.availableSuggestionCountAction.label=``},100)),this.disableButtonsDebounced=this._register(new Hn(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(c.createInstance(fh,this.nodes.toolBar,C.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:e=>e.startsWith(`primary`)},actionViewItemProvider:(e,t)=>{if(e instanceof Kt)return c.createInstance(dh,e,void 0);if(e===this.availableSuggestionCountAction){let t=new uh(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=>{ah._dropDownVisible=e})),this._register(pe(e=>{this._position.read(e),this.editor.layoutContentWidget(this)})),this._register(pe(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(pe(e=>{let t=this._extraCommands.read(e).map(e=>({class:void 0,id:e.id,enabled:!0,tooltip:e.tooltip||``,label:e.title,run:t=>this._commandService.executeCommand(e.id)}));for(let[e,n]of this.inlineCompletionsActionsMenus.getActions())for(let e of n)e instanceof Kt&&t.push(e);t.length>0&&t.unshift(new s),this.toolBar.setAdditionalSecondaryActions(t)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};lh._dropDownVisible=!1,lh.id=0,lh=ah=rh([ih(6,Qr),ih(7,I),ih(8,$s),ih(9,W),ih(10,qe)],lh);var uh=class extends ie{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(){}},dh=class extends ll{updateLabel(){let e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){let t=mn(`div.keybinding`).root;this._register(new Or(t,vt,{disableTitle:!0,...at})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add(`inlineSuggestionStatusBarItemLabel`)}}updateTooltip(){}},fh=class extends gn{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._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){let e=[],t=[];el(this.menu,this.options2?.menuOptions,{primary:e,secondary:t},this.options2?.toolbarOptions?.primaryGroup,this.options2?.toolbarOptions?.shouldInlineSubmenu,this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){Ho(this.prependedPrimaryActions,e,(e,t)=>e===t)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Ho(this.additionalActions,e,(e,t)=>e===t)||(this.additionalActions=e,this.updateToolbar())}};fh=rh([ih(3,qe),ih(4,W),ih(5,Ks),ih(6,$s),ih(7,Qr),ih(8,fn)],fh);var ph=class{constructor(){this._onDidWillResize=new B,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new B,this.onDidResize=this._onDidResize.event,this._sashListener=new V,this._size=new L(0,0),this._minSize=new L(0,0),this._maxSize=new L(2**53-1,2**53-1),this.domNode=document.createElement(`div`),this._eastSash=new cs(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new cs(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new cs(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:hc.North}),this._southSash=new cs(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:hc.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(xc.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(xc.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(xc.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(xc.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 L(t,e);L.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}},mh=30,hh=24,gh=class extends U{constructor(e,t=new L(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new ph),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position=`absolute`,this._resizableNode.minSize=L.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 L(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?R.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){let t=this._editor.getDomNode(),n=this._editor.getScrolledVisiblePosition(e);if(!(!t||!n))return je(t).top+n.top-mh}_availableVerticalSpaceBelow(e){let t=this._editor.getDomNode(),n=this._editor.getScrolledVisiblePosition(e);if(!t||!n)return;let r=je(t),i=gr(t.ownerDocument.body),a=r.top+n.top+n.height;return i.height-a-hh}_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(60).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)}},_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=30,xh=6,Sh=yh=class extends gh{get isColorPickerVisible(){return!!this._visibleData?.colorPicker}get isVisibleFromKeyboard(){return this._visibleData?.source===1}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(e,t,n,r,i){let a=new L(150,e.getOption(67)+8);super(e,a),this._configurationService=n,this._accessibilityService=r,this._keybindingService=i,this._hover=this._register(new ba),this._minimumSize=a,this._hoverVisibleKey=x.hoverVisible.bindTo(t),this._hoverFocusedKey=x.hoverFocused.bindTo(t),Y(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex=`50`,this._register(this._editor.onDidLayoutChange(()=>{this.isVisible&&this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(50)&&this._updateFont()}));let o=this._register(rt(this._resizableNode.domNode));this._register(o.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(o.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._setHoverData(void 0),this._editor.addContentWidget(this)}dispose(){var e;super.dispose(),(e=this._visibleData)==null||e.disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return yh.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 yh._applyDimensions(n,e,t)}_setContainerDomNodeDimensions(e,t){let n=this._hover.containerDomNode;return yh._applyDimensions(n,e,t)}_setHoverWidgetDimensions(e,t){this._setContentsDomNodeDimensions(e,t),this._setContainerDomNodeDimensions(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){yh._applyMaxDimensions(this._hover.contentsDomNode,e,t),yh._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`);let t=e.width,n=e.height;this._setHoverWidgetDimensions(t,n)}_updateResizableNodeMaxDimensions(){let e=this._findMaximumRenderingWidth()??1/0,t=this._findMaximumRenderingHeight()??1/0;this._resizableNode.maxSize=new L(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){var t;yh._lastDimensions=new L(e.width,e.height),this._setAdjustedHoverWidgetDimensions(e),this._resizableNode.layout(e.height,e.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),(t=this._visibleData?.colorPicker)==null||t.layout()}_findAvailableSpaceVertically(){let e=this._visibleData?.showAtPosition;if(e)return this._positionPreference===1?this._availableVerticalSpaceAbove(e):this._availableVerticalSpaceBelow(e)}_findMaximumRenderingHeight(){let e=this._findAvailableSpaceVertically();if(!e)return;let t=xh;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-2;return e||this._hover.containerDomNode.clientWidth<t?gr(this._hover.containerDomNode.ownerDocument.body).width-14:this._hover.containerDomNode.clientWidth+2}isMouseGettingCloser(e,t){if(!this._visibleData)return!1;if(this._visibleData.initialMousePosX===void 0||this._visibleData.initialMousePosY===void 0)return this._visibleData.initialMousePosX=e,this._visibleData.initialMousePosY=t,!1;let n=je(this.getDomNode());this._visibleData.closestMouseDistance===void 0&&(this._visibleData.closestMouseDistance=Ch(this._visibleData.initialMousePosX,this._visibleData.initialMousePosY,n.left,n.top,n.width,n.height));let r=Ch(e,t,n.left,n.top,n.width,n.height);return r>this._visibleData.closestMouseDistance+4?!1:(this._visibleData.closestMouseDistance=Math.min(this._visibleData.closestMouseDistance,r),!0)}_setHoverData(e){var t;(t=this._visibleData)==null||t.disposables.dispose(),this._visibleData=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle(`hidden`,!e)}_updateFont(){let{fontSize:e,lineHeight:t}=this._editor.getOption(50),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,yh._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,yh._lastDimensions.width);this._setHoverWidgetMaxDimensions(t,e)}_render(e,t){this._setHoverData(t),this._updateFont(),this._updateContent(e),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){return this._visibleData?{position:this._visibleData.showAtPosition,secondaryPosition:this._visibleData.showAtSecondaryPosition,positionAffinity:this._visibleData.isBeforeContent?3:void 0,preference:[this._positionPreference??1]}:null}showAt(e,t){var n;if(!this._editor||!this._editor.hasModel())return;this._render(e,t);let r=re(this._hover.containerDomNode),i=t.showAtPosition;this._positionPreference=this._findPositionPreference(r,i)??1,this.onContentsChanged(),t.stoleFocus&&this._hover.containerDomNode.focus(),(n=t.colorPicker)==null||n.layout();let a=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&os(this._configurationService.getValue(`accessibility.verbosity.hover`)===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding(`editor.action.accessibleView`)?.getAriaLabel()??``);a&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+`, `+a)}hide(){if(!this._visibleData)return;let e=this._visibleData.stoleFocus||this._hoverFocusedKey.get();this._setHoverData(void 0),this._resizableNode.maxSize=new L(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`)}setMinimumDimensions(e){this._minimumSize=new L(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 L(e,this._minimumSize.height)}onContentsChanged(){this._removeConstraintsRenderNormally();let e=this._hover.containerDomNode,t=re(e),n=xo(e);if(this._resizableNode.layout(t,n),this._setHoverWidgetDimensions(n,t),t=re(e),n=xo(e),this._contentWidth=n,this._updateMinimumWidth(),this._resizableNode.layout(t,n),this._visibleData?.showAtPosition){let e=re(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(e,this._visibleData.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){let e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e-t.lineHeight})}scrollDown(){let e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e+t.lineHeight})}scrollLeft(){let e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e-bh})}scrollRight(){let e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+bh})}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})}};Sh.ID=`editor.contrib.resizableContentHoverWidget`,Sh._lastDimensions=new L(0,0),Sh=yh=_h([vh(1,W),vh(2,Va),vh(3,lr),vh(4,$s)],Sh);function Ch(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 wh=class{constructor(e,t,n){this.value=e,this.isComplete=t,this.hasLoadingMessage=n}},Th=class extends U{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new B),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new Hn(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new Hn(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new Hn(()=>this._triggerLoadingMessage(),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&=(this._asyncIterable.cancel(),null),super.dispose()}get _hoverTime(){return this._editor.getOption(60).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t=!0){this._state=e,t&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=ga(e=>this._computer.computeAsync(e)),(async()=>{try{for await(let e of this._asyncIterable)e&&(this._result.push(e),this._fireResult());this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0)}catch(e){v(e)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){this._state===3&&this._setState(4)}_fireResult(){if(this._state===1||this._state===2)return;let e=this._state===0,t=this._state===4;this._onResult.fire(new wh(this._result.slice(0),e,t))}start(e){if(e===0)this._state===0&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&=(this._asyncIterable.cancel(),null),this._result=[],this._setState(0,!1)}},Eh=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}},Dh=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}},Oh=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}},kh=class{constructor(e,t,n){this.provider=e,this.hover=t,this.ordinal=n}};async function Ah(e,t,n,r,i){let a=await Promise.resolve(e.provideHover(n,r,i)).catch(Oe);if(!(!a||!Nh(a)))return new kh(e,a,t)}function jh(e,t,n,r){let i=e.ordered(t).map((e,i)=>Ah(e,i,t,n,r));return li.fromPromises(i).coalesce()}function Mh(e,t,n,r){return jh(e,t,n,r).map(e=>e.hover).toPromise()}te(`_executeHoverProvider`,(e,t,n)=>Mh(e.get(g).hoverProvider,t,n,H.None));function Nh(e){let t=e.range!==void 0,n=e.contents!==void 0&&e.contents&&e.contents.length>0;return t&&n}var Ph=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},Fh=function(e,t){return function(n,r){t(n,r,e)}},Ih=K,Lh=ul(`hover-increase-verbosity`,N.add,b(`increaseHoverVerbosity`,`Icon for increaseing hover verbosity.`)),Rh=ul(`hover-decrease-verbosity`,N.remove,b(`decreaseHoverVerbosity`,`Icon for decreasing hover verbosity.`)),zh=class{constructor(e,t,n,r,i,a=void 0){this.owner=e,this.range=t,this.contents=n,this.isBeforeContent=r,this.ordinal=i,this.source=a}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},Bh=class{constructor(e,t,n){this.hover=e,this.hoverProvider=t,this.hoverPosition=n}supportsVerbosityAction(e){switch(e){case fl.Increase:return this.hover.canIncreaseVerbosity??!1;case fl.Decrease:return this.hover.canDecreaseVerbosity??!1}}},Vh=class{constructor(e,t,n,r,i,a,o){this._editor=e,this._languageService=t,this._openerService=n,this._configurationService=r,this._languageFeaturesService=i,this._keybindingService=a,this._hoverService=o,this.hoverOrdinal=3}createLoadingMessage(e){return new zh(this,e.range,[new An().appendText(b(`modesContentHover.loading`,`Loading...`))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];let n=this._editor.getModel(),i=e.range.startLineNumber,a=n.getLineMaxColumn(i),o=[],s=1e3,c=n.getLineLength(i),l=n.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),u=this._editor.getOption(117),d=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:l}),f=!1;u>=0&&c>u&&e.range.startColumn>=u&&(f=!0,o.push(new zh(this,e.range,[{value:b(`stopped rendering`,"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,s++))),!f&&typeof d==`number`&&c>=d&&o.push(new zh(this,e.range,[{value:b(`too many characters`,"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,s++));let p=!1;for(let n of t){let t=n.range.startLineNumber===i?n.range.startColumn:1,c=n.range.endLineNumber===i?n.range.endColumn:a,l=n.options.hoverMessage;if(!l||Ke(l))continue;n.options.beforeContentClassName&&(p=!0);let u=new r(e.range.startLineNumber,t,e.range.startLineNumber,c);o.push(new zh(this,u,fo(l),p,s++))}return o}computeAsync(e,t,n){if(!this._editor.hasModel()||e.type!==1)return li.EMPTY;let r=this._editor.getModel(),i=this._languageFeaturesService.hoverProvider;return i.has(r)?this._getMarkdownHovers(i,r,e,n):li.EMPTY}_getMarkdownHovers(e,t,n,i){let a=n.range.getStartPosition();return jh(e,t,a,i).filter(e=>!Ke(e.hover.contents)).map(e=>{let t=e.hover.range?r.lift(e.hover.range):n.range,i=new Bh(e.hover,e.provider,a);return new zh(this,t,e.hover.contents,!1,e.ordinal,i)})}renderHoverParts(e,t){return this._renderedHoverParts=new Hh(t,e.fragment,this._editor,this._languageService,this._openerService,this._keybindingService,this._hoverService,this._configurationService,e.onContentsChanged),this._renderedHoverParts}markdownHoverContentAtIndex(e){return this._renderedHoverParts?.markdownHoverContentAtIndex(e)??``}doesMarkdownHoverAtIndexSupportVerbosityAction(e,t){return this._renderedHoverParts?.doesMarkdownHoverAtIndexSupportVerbosityAction(e,t)??!1}updateMarkdownHoverVerbosityLevel(e,t,n){var r;(r=this._renderedHoverParts)==null||r.updateMarkdownHoverPartVerbosityLevel(e,t,n)}};Vh=Ph([Fh(1,Xa),Fh(2,hi),Fh(3,Va),Fh(4,g),Fh(5,$s),Fh(6,Fi)],Vh);var Hh=class extends U{constructor(e,t,n,r,i,a,o,s,c){super(),this._editor=n,this._languageService=r,this._openerService=i,this._keybindingService=a,this._hoverService=o,this._configurationService=s,this._onFinishedRendering=c,this._focusedHoverPartIndex=-1,this._ongoingHoverOperations=new Map,this._renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._register(Hi(()=>{this._renderedHoverParts.forEach(e=>{e.disposables.dispose()})})),this._register(Hi(()=>{this._ongoingHoverOperations.forEach(e=>{e.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,n){return e.sort(oc(e=>e.ordinal,ks)),e.map((e,r)=>{let i=this._renderHoverPart(r,e.contents,e.source,n);return t.appendChild(i.renderedMarkdown),i})}_renderHoverPart(e,t,n,r){let{renderedMarkdown:i,disposables:a}=this._renderMarkdownContent(t,r);if(!n)return{renderedMarkdown:i,disposables:a};let o=n.supportsVerbosityAction(fl.Increase),s=n.supportsVerbosityAction(fl.Decrease);if(!o&&!s)return{renderedMarkdown:i,disposables:a,hoverSource:n};let c=Ih(`div.verbosity-actions`);return i.prepend(c),a.add(this._renderHoverExpansionAction(c,fl.Increase,o)),a.add(this._renderHoverExpansionAction(c,fl.Decrease,s)),this._register(z(i,Ds.FOCUS_IN,t=>{t.stopPropagation(),this._focusedHoverPartIndex=e})),this._register(z(i,Ds.FOCUS_OUT,e=>{e.stopPropagation(),this._focusedHoverPartIndex=-1})),{renderedMarkdown:i,disposables:a,hoverSource:n}}_renderMarkdownContent(e,t){let n=Ih(`div.hover-row`);n.tabIndex=0;let r=Ih(`div.hover-row-contents`);n.appendChild(r);let i=new V;return i.add(Wh(this._editor,r,e,this._languageService,this._openerService,t)),{renderedMarkdown:n,disposables:i}}_renderHoverExpansionAction(e,t,n){let r=new V,i=t===fl.Increase,a=Y(e,Ih(P.asCSSSelector(i?Lh:Rh)));a.tabIndex=0;let o=new gs(`mouse`,!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(r.add(this._hoverService.setupUpdatableHover(o,a,Gh(this._keybindingService,t))),!n)return a.classList.add(`disabled`),r;a.classList.add(`enabled`);let s=()=>this.updateMarkdownHoverPartVerbosityLevel(t);return r.add(new zn(a,s)),r.add(new pc(a,s,[3,10])),r}async updateMarkdownHoverPartVerbosityLevel(e,t=-1,n=!0){let r=this._editor.getModel();if(!r)return;let i=t===-1?this._focusedHoverPartIndex:t,a=this._getRenderedHoverPartAtIndex(i);if(!a||!a.hoverSource?.supportsVerbosityAction(e))return;let o=a.hoverSource,s=await this._fetchHover(o,r,e);if(!s)return;let c=new Bh(s,o.hoverProvider,o.hoverPosition),l=this._renderHoverPart(i,s.contents,c,this._onFinishedRendering);this._replaceRenderedHoverPartAtIndex(i,l),n&&this._focusOnHoverPartWithIndex(i),this._onFinishedRendering()}markdownHoverContentAtIndex(e){return this._getRenderedHoverPartAtIndex(e)?.renderedMarkdown.innerText??``}doesMarkdownHoverAtIndexSupportVerbosityAction(e,t){let n=this._getRenderedHoverPartAtIndex(e);return!(!n||!n.hoverSource?.supportsVerbosityAction(t))}async _fetchHover(e,t,n){let r=n===fl.Increase?1:-1,i=e.hoverProvider,a=this._ongoingHoverOperations.get(i);a&&(a.tokenSource.cancel(),r+=a.verbosityDelta);let o=new ec;this._ongoingHoverOperations.set(i,{verbosityDelta:r,tokenSource:o});let s={verbosityRequest:{verbosityDelta:r,previousHover:e.hover}},c;try{c=await Promise.resolve(i.provideHover(t,e.hoverPosition,o.token,s))}catch(e){Oe(e)}return o.dispose(),this._ongoingHoverOperations.delete(i),c}_replaceRenderedHoverPartAtIndex(e,t){if(e>=this._renderHoverParts.length||e<0)return;let n=this._renderedHoverParts[e];n.renderedMarkdown.replaceWith(t.renderedMarkdown),n.disposables.dispose(),this._renderedHoverParts[e]=t}_focusOnHoverPartWithIndex(e){this._renderedHoverParts[e].renderedMarkdown.focus()}_getRenderedHoverPartAtIndex(e){return this._renderedHoverParts[e]}};function Uh(e,t,n,r,i){t.sort(oc(e=>e.ordinal,ks));let a=new V;for(let o of t)a.add(Wh(n,e.fragment,o.contents,r,i,e.onContentsChanged));return a}function Wh(e,t,n,r,i,a){let o=new V;for(let s of n){if(Ke(s))continue;let n=Ih(`div.markdown-hover`),c=Y(n,Ih(`div.hover-contents`)),l=o.add(new Oo({editor:e},r,i));o.add(l.onDidRenderAsync(()=>{c.className=`hover-contents code-hover-contents`,a()}));let u=o.add(l.render(s));c.appendChild(u.element),t.appendChild(n)}return o}function Gh(e,t){switch(t){case fl.Increase:{let t=e.lookupKeybinding(Xm);return t?b(`increaseVerbosityWithKb`,`Increase Hover Verbosity ({0})`,t.getLabel()):b(`increaseVerbosity`,`Increase Hover Verbosity`)}case fl.Decrease:{let t=e.lookupKeybinding(Qm);return t?b(`decreaseVerbosityWithKb`,`Decrease Hover Verbosity ({0})`,t.getLabel()):b(`decreaseVerbosity`,`Decrease Hover Verbosity`)}}}function Kh(e,t){return!!e[t]}var qh=class{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=Kh(e.event,t.triggerModifier),this.hasSideBySideModifier=Kh(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}},Jh=class{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=Kh(e,t.triggerModifier)}},Yh=class{constructor(e,t,n,r){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=n,this.triggerSideBySideModifier=r}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}};function Xh(e){return e===`altKey`?ce?new Yh(57,`metaKey`,6,`altKey`):new Yh(5,`ctrlKey`,6,`altKey`):ce?new Yh(6,`altKey`,57,`metaKey`):new Yh(6,`altKey`,5,`ctrlKey`)}var Zh=class extends U{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new B),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new B),this.onExecute=this._onExecute.event,this._onCancel=this._register(new B),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=t?.extractLineNumberFromMouseEvent??(e=>e.target.position?e.target.position.lineNumber:0),this._opts=Xh(this._editor.getOption(78)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(e=>{if(e.hasChanged(78)){let e=Xh(this._editor.getOption(78));if(this._opts.equals(e))return;this._opts=e,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(e=>this._onEditorMouseMove(new qh(e,this._opts)))),this._register(this._editor.onMouseDown(e=>this._onEditorMouseDown(new qh(e,this._opts)))),this._register(this._editor.onMouseUp(e=>this._onEditorMouseUp(new qh(e,this._opts)))),this._register(this._editor.onKeyDown(e=>this._onEditorKeyDown(new Jh(e,this._opts)))),this._register(this._editor.onKeyUp(e=>this._onEditorKeyUp(new Jh(e,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(e=>this._onDidChangeCursorSelection(e))),this._register(this._editor.onDidChangeModel(e=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(e=>{(e.scrollTopChanged||e.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(e)}_onEditorMouseUp(e){let t=this._extractLineNumberFromMouseEvent(e);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}},Qh=class{constructor(e,t){this.range=e,this.direction=t}},$h=class e{constructor(e,t,n){this.hint=e,this.anchor=t,this.provider=n,this._isResolved=!1}with(t){let n=new e(this.hint,t.anchor,this.provider);return n._isResolved=this._isResolved,n._currentResolve=this._currentResolve,n}async resolve(e){if(typeof this.provider.resolveInlayHint==`function`){if(this._currentResolve)return await this._currentResolve,e.isCancellationRequested?void 0:this.resolve(e);this._isResolved||(this._currentResolve=this._doResolve(e).finally(()=>this._currentResolve=void 0)),await this._currentResolve}}async _doResolve(e){try{let t=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=t?.tooltip??this.hint.tooltip,this.hint.label=t?.label??this.hint.label,this.hint.textEdits=t?.textEdits??this.hint.textEdits,this._isResolved=!0}catch(e){Oe(e),this._isResolved=!1}}},eg=class e{static async create(t,n,r,i){let a=[],o=t.ordered(n).reverse().map(t=>r.map(async r=>{try{let o=await t.provideInlayHints(n,r,i);(o?.hints.length||t.onDidChangeInlayHints)&&a.push([o??e._emptyInlayHintList,t])}catch(e){Oe(e)}}));if(await Promise.all(o.flat()),i.isCancellationRequested||n.isDisposed())throw new ve;return new e(r,a,n)}constructor(t,n,i){this._disposables=new V,this.ranges=t,this.provider=new Set;let a=[];for(let[t,o]of n){this._disposables.add(t),this.provider.add(o);for(let n of t.hints){let t=i.validatePosition(n.position),s=`before`,c=e._getRangeAtPosition(i,t),l;c.getStartPosition().isBefore(t)?(l=r.fromPositions(c.getStartPosition(),t),s=`after`):(l=r.fromPositions(t,c.getEndPosition()),s=`before`),a.push(new $h(n,new Qh(l,s),o))}}this.items=a.sort((e,t)=>R.compare(e.hint.position,t.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){let n=t.lineNumber,i=e.getWordAtPosition(t);if(i)return new r(n,i.startColumn,n,i.endColumn);e.tokenization.tokenizeIfCheap(n);let a=e.tokenization.getLineTokens(n),o=t.column-1,s=a.findTokenIndexAtOffset(o),c=a.getStartOffset(s),l=a.getEndOffset(s);return l-c===1&&(c===o&&s>1?(c=a.getStartOffset(s-1),l=a.getEndOffset(s-1)):l===o&&s<a.getCount()-1&&(c=a.getStartOffset(s+1),l=a.getEndOffset(s+1))),new r(n,c+1,n,l+1)}};eg._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});function tg(e){return G.from({scheme:Ls.command,path:e.id,query:e.arguments&&encodeURIComponent(JSON.stringify(e.arguments))}).toString()}var ng=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},rg=function(e,t){return function(n,r){t(n,r,e)}},ig=class extends Yo{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f){super(e,{...r.getRawOptions(),overflowWidgetsDomNode:r.getOverflowWidgetsDomNode()},n,i,a,o,s,c,l,u,d,f),this._parentEditor=r,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(r.onDidChangeConfiguration(e=>this._onParentConfigurationChanged(e)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){Dt(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};ig=ng([rg(4,I),rg(5,lo),rg(6,Qr),rg(7,W),rg(8,Io),rg(9,Za),rg(10,lr),rg(11,Cc),rg(12,g)],ig);var ag=new S(new Rr(0,122,204)),og={showArrow:!0,showFrame:!0,className:``,frameColor:ag,arrowColor:ag,keepEditorSelection:!1},sg=`vs.editor.contrib.zoneWidget`,cg=class{constructor(e,t,n,r,i,a,o,s){this.id=``,this.domNode=e,this.afterLineNumber=t,this.afterColumn=n,this.heightInLines=r,this.showInHiddenAreas=o,this.ordinal=s,this._onDomNodeTop=i,this._onComputedHeight=a}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}},lg=class{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}},ug=class e{constructor(t){this._editor=t,this._ruleName=e._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),Zn(this._ruleName)}set color(e){this._color!==e&&(this._color=e,this._updateStyle())}set height(e){this._height!==e&&(this._height=e,this._updateStyle())}_updateStyle(){Zn(this._ruleName),$c(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px !important; margin-left: -${this._height}px; `)}show(e){e.column===1&&(e={lineNumber:e.lineNumber,column:2}),this._decorations.set([{range:r.fromPositions(e),options:{description:`zone-widget-arrow`,className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};ug._IdGenerator=new en(`.arrow-decoration-`);var dg=class{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new V,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=Ps(t),Dt(this.options,og,!1),this.domNode=document.createElement(`div`),this.options.isAccessible||(this.domNode.setAttribute(`aria-hidden`,`true`),this.domNode.setAttribute(`role`,`presentation`)),this._disposables.add(this.editor.onDidLayoutChange(e=>{let t=this._getWidth(e);this.domNode.style.width=t+`px`,this.domNode.style.left=this._getLeft(e)+`px`,this._onWidth(t)}))}dispose(){this._overlayWidget&&=(this.editor.removeOverlayWidget(this._overlayWidget),null),this._viewZone&&this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._viewZone=null}),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add(`zone-widget`),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement(`div`),this.container.classList.add(`zone-widget-container`),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new ug(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){let e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow&&this.options.arrowColor){let e=this.options.arrowColor.toString();this._arrow.color=e}}_getWidth(e){return e.width-e.minimap.minimapWidth-e.verticalScrollbarWidth}_getLeft(e){return e.minimap.minimapWidth>0&&e.minimap.minimapLeft===0?e.minimap.minimapWidth:0}_onViewZoneTop(e){this.domNode.style.top=e+`px`}_onViewZoneHeight(e){var t;if(this.domNode.style.height=`${e}px`,this.container){let t=e-this._decoratingElementsHeight();this.container.style.height=`${t}px`;let n=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(n))}(t=this._resizeSash)==null||t.layout()}get position(){let e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){let n=r.isIRange(e)?r.lift(e):r.fromPositions(e);this._isShowing=!0,this._showImpl(n,t),this._isShowing=!1,this._positionMarkerId.set([{range:n,options:k.EMPTY}])}hide(){var e;this._viewZone&&=(this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id)}),null),this._overlayWidget&&=(this.editor.removeOverlayWidget(this._overlayWidget),null),(e=this._arrow)==null||e.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){let e=this.editor.getOption(67),t=0;if(this.options.showArrow){let n=Math.round(e/3);t+=2*n}if(this.options.showFrame){let n=Math.round(e/9);t+=2*n}return t}_showImpl(e,t){let n=e.getStartPosition(),i=this.editor.getLayoutInfo(),a=this._getWidth(i);this.domNode.style.width=`${a}px`,this.domNode.style.left=this._getLeft(i)+`px`;let o=document.createElement(`div`);o.style.overflow=`hidden`;let s=this.editor.getOption(67);if(!this.options.allowUnlimitedHeight){let e=Math.max(12,this.editor.getLayoutInfo().height/s*.8);t=Math.min(t,e)}let c=0,l=0;if(this._arrow&&this.options.showArrow&&(c=Math.round(s/3),this._arrow.height=c,this._arrow.show(n)),this.options.showFrame&&(l=Math.round(s/9)),this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._overlayWidget&&=(this.editor.removeOverlayWidget(this._overlayWidget),null),this.domNode.style.top=`-1000px`,this._viewZone=new cg(o,n.lineNumber,n.column,t,e=>this._onViewZoneTop(e),e=>this._onViewZoneHeight(e),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=e.addZone(this._viewZone),this._overlayWidget=new lg(sg+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){let e=this.options.frameWidth?this.options.frameWidth:l;this.container.style.borderTopWidth=e+`px`,this.container.style.borderBottomWidth=e+`px`}let u=t*s-this._decoratingElementsHeight();this.container&&(this.container.style.top=c+`px`,this.container.style.height=u+`px`,this.container.style.overflow=`hidden`),this._doLayout(u,a),this.options.keepEditorSelection||this.editor.setSelection(e);let d=this.editor.getModel();if(d){let t=d.validateRange(new r(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(t,t.startLineNumber===d.getLineCount())}}revealRange(e,t){t?this.editor.revealLineNearTop(e.endLineNumber,0):this.editor.revealRange(e,0)}setCssClass(e,t){this.container&&(t&&this.container.classList.remove(t),this.container.classList.add(e))}_onWidth(e){}_doLayout(e,t){}_relayout(e){this._viewZone&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones(t=>{this._viewZone&&(this._viewZone.heightInLines=e,t.layoutZone(this._viewZone.id))})}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new cs(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0);let e;this._disposables.add(this._resizeSash.onDidStart(t=>{this._viewZone&&(e={startY:t.startY,heightInLines:this._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{e=void 0})),this._disposables.add(this._resizeSash.onDidChange(t=>{if(e){let n=(t.currentY-e.startY)/this.editor.getOption(67),r=n<0?Math.ceil(n):Math.floor(n),i=e.heightInLines+r;i>5&&i<35&&this._relayout(i)}}))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){let e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}},fg=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},pg=function(e,t){return function(n,r){t(n,r,e)}},mg=_s(`IPeekViewService`);Jo(mg,class{constructor(){this._widgets=new Map}addExclusiveWidget(e,t){let n=this._widgets.get(e);n&&(n.listener.dispose(),n.widget.dispose()),this._widgets.set(e,{widget:t,listener:t.onDidClose(()=>{let n=this._widgets.get(e);n&&n.widget===t&&(n.listener.dispose(),this._widgets.delete(e))})})}},1);var hg;(function(e){e.inPeekEditor=new w(`inReferenceSearchEditor`,!0,b(`inReferenceSearchEditor`,`Whether the current code editor is embedded inside peek`)),e.notInPeekEditor=e.inPeekEditor.toNegated()})(hg||={});var gg=class{constructor(e,t){e instanceof ig&&hg.inPeekEditor.bindTo(t)}dispose(){}};gg.ID=`editor.contrib.referenceController`,gg=fg([pg(1,W)],gg),D(gg.ID,gg,0);function _g(e){let t=e.get(lo).getFocusedCodeEditor();return t instanceof ig?t.getParentEditor():t}var vg={headerBackgroundColor:S.white,primaryHeadingColor:S.fromHex(`#333333`),secondaryHeadingColor:S.fromHex(`#6c6c6cb3`)},yg=class extends dg{constructor(e,t,n){super(e,t),this.instantiationService=n,this._onDidClose=new B,this.onDidClose=this._onDidClose.event,Dt(this.options,vg,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(e){let t=this.options;e.headerBackgroundColor&&(t.headerBackgroundColor=e.headerBackgroundColor),e.primaryHeadingColor&&(t.primaryHeadingColor=e.primaryHeadingColor),e.secondaryHeadingColor&&(t.secondaryHeadingColor=e.secondaryHeadingColor),super.style(e)}_applyStyles(){super._applyStyles();let e=this.options;this._headElement&&e.headerBackgroundColor&&(this._headElement.style.backgroundColor=e.headerBackgroundColor.toString()),this._primaryHeading&&e.primaryHeadingColor&&(this._primaryHeading.style.color=e.primaryHeadingColor.toString()),this._secondaryHeading&&e.secondaryHeadingColor&&(this._secondaryHeading.style.color=e.secondaryHeadingColor.toString()),this._bodyElement&&e.frameColor&&(this._bodyElement.style.borderColor=e.frameColor.toString())}_fillContainer(e){this.setCssClass(`peekview-widget`),this._headElement=K(`.head`),this._bodyElement=K(`.body`),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=K(`.peekview-title`),this.options.supportOnTitleClick&&(this._titleElement.classList.add(`clickable`),Fc(this._titleElement,`click`,e=>this._onTitleClick(e))),Y(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=K(`span.filename`),this._secondaryHeading=K(`span.dirname`),this._metaHeading=K(`span.meta`),Y(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);let n=K(`.peekview-actions`);Y(this._headElement,n),this._actionbarWidget=new Ic(n,this._getActionBarOptions()),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new Bn(`peekview.close`,b(`label.close`,`Close`),P.asClassName(N.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:qi.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(e){}setTitle(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=e,this._primaryHeading.setAttribute(`title`,e),t?this._secondaryHeading.innerText=t:Ki(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,Er(this._metaHeading)):Nn(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0){this.dispose();return}let n=Math.ceil(this.editor.getOption(67)*1.2),r=Math.round(e-(n+2));this._doLayoutHead(n,t),this._doLayoutBody(r,t)}_doLayoutHead(e,t){this._headElement&&(this._headElement.style.height=`${e}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(e,t){this._bodyElement&&(this._bodyElement.style.height=`${e}px`)}};yg=fg([pg(2,I)],yg);var bg=q(`peekViewTitle.background`,{dark:`#252526`,light:`#F3F3F3`,hcDark:S.black,hcLight:S.white},b(`peekViewTitleBackground`,`Background color of the peek view title area.`)),xg=q(`peekViewTitleLabel.foreground`,{dark:S.white,light:S.black,hcDark:S.white,hcLight:Et},b(`peekViewTitleForeground`,`Color of the peek view title.`)),Sg=q(`peekViewTitleDescription.foreground`,{dark:`#ccccccb3`,light:`#616161`,hcDark:`#FFFFFF99`,hcLight:`#292929`},b(`peekViewTitleInfoForeground`,`Color of the peek view title info.`)),Cg=q(`peekView.border`,{dark:Ln,light:Ln,hcDark:Ia,hcLight:Ia},b(`peekViewBorder`,`Color of the peek view borders and arrow.`)),wg=q(`peekViewResult.background`,{dark:`#252526`,light:`#F3F3F3`,hcDark:S.black,hcLight:S.white},b(`peekViewResultsBackground`,`Background color of the peek view result list.`));q(`peekViewResult.lineForeground`,{dark:`#bbbbbb`,light:`#646465`,hcDark:S.white,hcLight:Et},b(`peekViewResultsMatchForeground`,`Foreground color for line nodes in the peek view result list.`)),q(`peekViewResult.fileForeground`,{dark:S.white,light:`#1E1E1E`,hcDark:S.white,hcLight:Et},b(`peekViewResultsFileForeground`,`Foreground color for file nodes in the peek view result list.`)),q(`peekViewResult.selectionBackground`,{dark:`#3399ff33`,light:`#3399ff33`,hcDark:null,hcLight:null},b(`peekViewResultsSelectionBackground`,`Background color of the selected entry in the peek view result list.`)),q(`peekViewResult.selectionForeground`,{dark:S.white,light:`#6C6C6C`,hcDark:S.white,hcLight:Et},b(`peekViewResultsSelectionForeground`,`Foreground color of the selected entry in the peek view result list.`));var Tg=q(`peekViewEditor.background`,{dark:`#001F33`,light:`#F2F8FC`,hcDark:S.black,hcLight:S.white},b(`peekViewEditorBackground`,`Background color of the peek view editor.`));q(`peekViewEditorGutter.background`,{dark:Tg,light:Tg,hcDark:Tg,hcLight:Tg},b(`peekViewEditorGutterBackground`,`Background color of the gutter in the peek view editor.`)),q(`peekViewEditorStickyScroll.background`,{dark:Tg,light:Tg,hcDark:Tg,hcLight:Tg},b(`peekViewEditorStickScrollBackground`,`Background color of sticky scroll in the peek view editor.`)),q(`peekViewResult.matchHighlightBackground`,{dark:`#ea5c004d`,light:`#ea5c004d`,hcDark:null,hcLight:null},b(`peekViewResultsMatchHighlight`,`Match highlight color in the peek view result list.`)),q(`peekViewEditor.matchHighlightBackground`,{dark:`#ff8f0099`,light:`#f5d802de`,hcDark:null,hcLight:null},b(`peekViewEditorMatchHighlight`,`Match highlight color in the peek view editor.`)),q(`peekViewEditor.matchHighlightBorder`,{dark:null,light:null,hcDark:Ga,hcLight:Ga},b(`peekViewEditorMatchHighlightBorder`,`Match highlight border in the peek view editor.`));var Eg=class{constructor(e,t,n,r){this.isProviderFirst=e,this.parent=t,this.link=n,this._rangeCallback=r,this.id=dn.nextId()}get uri(){return this.link.uri}get range(){return this._range??this.link.targetSelectionRange??this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){let e=this.parent.getPreview(this)?.preview(this.range);return e?b({key:`aria.oneReference.preview`,comment:[`Placeholders are: 0: filename, 1:line number, 2: column number, 3: preview snippet of source code`]},`{0} in {1} on line {2} at column {3}`,e.value,Re(this.uri),this.range.startLineNumber,this.range.startColumn):b(`aria.oneReference`,`in {0} on line {1} at column {2}`,Re(this.uri),this.range.startLineNumber,this.range.startColumn)}},Dg=class{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){let n=this._modelReference.object.textEditorModel;if(!n)return;let{startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s}=e,c=new r(i,n.getWordUntilPosition({lineNumber:i,column:a-t}).startColumn,i,a),l=new r(o,s,o,1073741824),u=n.getValueInRange(c).replace(/^\s+/,``),d=n.getValueInRange(e),f=n.getValueInRange(l).replace(/\s+$/,``);return{value:u+d+f,highlight:{start:u.length,end:u.length+d.length}}}},Og=class{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new hs}dispose(){jc(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){let e=this.children.length;return e===1?b(`aria.fileReferences.1`,`1 symbol in {0}, full path {1}`,Re(this.uri),this.uri.fsPath):b(`aria.fileReferences.N`,`{0} symbols in {1}, full path {2}`,e,Re(this.uri),this.uri.fsPath)}async resolve(e){if(this._previews.size!==0)return this;for(let t of this.children)if(!this._previews.has(t.uri))try{let n=await e.createModelReference(t.uri);this._previews.set(t.uri,new Dg(n))}catch(e){v(e)}return this}},kg=class e{constructor(t,n){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new B,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=t,this._title=n;let[r]=t;t.sort(e._compareReferences);let i;for(let n of t)if((!i||!Ao.isEqual(i.uri,n.uri,!0))&&(i=new Og(this,n.uri),this.groups.push(i)),i.children.length===0||e._compareReferences(n,i.children[i.children.length-1])!==0){let e=new Eg(r===n,i,n,e=>this._onDidChangeReferenceRange.fire(e));this.references.push(e),i.children.push(e)}}dispose(){jc(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new e(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?b(`aria.result.0`,`No results found`):this.references.length===1?b(`aria.result.1`,`Found 1 symbol in {0}`,this.references[0].uri.fsPath):this.groups.length===1?b(`aria.result.n1`,`Found {0} symbols in {1}`,this.references.length,this.groups[0].uri.fsPath):b(`aria.result.nm`,`Found {0} symbols in {1} files`,this.references.length,this.groups.length)}nextOrPreviousReference(e,t){let{parent:n}=e,r=n.children.indexOf(e),i=n.children.length,a=n.parent.groups.length;return a===1||t&&r+1<i||!t&&r>0?(r=t?(r+1)%i:(r+i-1)%i,n.children[r]):(r=n.parent.groups.indexOf(n),t?(r=(r+1)%a,n.parent.groups[r].children[0]):(r=(r+a-1)%a,n.parent.groups[r].children[n.parent.groups[r].children.length-1]))}nearestReference(e,t){let n=this.references.map((n,r)=>({idx:r,prefixLen:sa(n.uri.toString(),e.toString()),offsetDist:Math.abs(n.range.startLineNumber-t.lineNumber)*100+Math.abs(n.range.startColumn-t.column)})).sort((e,t)=>e.prefixLen>t.prefixLen?-1:e.prefixLen<t.prefixLen?1:e.offsetDist<t.offsetDist?-1:+(e.offsetDist>t.offsetDist))[0];if(n)return this.references[n.idx]}referenceAt(e,t){for(let n of this.references)if(n.uri.toString()===e.toString()&&r.containsPosition(n.range,t))return n}firstReference(){for(let e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return Ao.compare(e.uri,t.uri)||r.compareRangesUsingStarts(e.range,t.range)}},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=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof kg||e instanceof Og}getChildren(e){if(e instanceof kg)return e.groups;if(e instanceof Og)return e.resolve(this._resolverService).then(e=>e.children);throw Error(`bad tree`)}};Ng=Ag([jg(0,ss)],Ng);var Pg=class{getHeight(){return 23}getTemplateId(e){return e instanceof Og?Rg.id:Bg.id}},Fg=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){if(e instanceof Eg){let t=e.parent.getPreview(e)?.preview(e.range);if(t)return t.value}return Re(e.uri)}};Fg=Ag([jg(0,$s)],Fg);var Ig=class{getId(e){return e instanceof Eg?e.id:e.uri}},Lg=class extends U{constructor(e,t){super(),this._labelService=t;let n=document.createElement(`div`);n.classList.add(`reference-file`),this.file=this._register(new vr(n,{supportHighlights:!0})),this.badge=new ra(Y(n,K(`.count`)),{},sr),e.appendChild(n)}set(e,t){let n=Sn(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(n,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});let r=e.children.length;this.badge.setCount(r),r>1?this.badge.setTitleFormat(b(`referencesCount`,`{0} references`,r)):this.badge.setTitleFormat(b(`referenceCount`,`{0} reference`,r))}};Lg=Ag([jg(1,Hc)],Lg);var Rg=Mg=class{constructor(e){this._instantiationService=e,this.templateId=Mg.id}renderTemplate(e){return this._instantiationService.createInstance(Lg,e)}renderElement(e,t,n){n.set(e.element,Nr(e.filterData))}disposeTemplate(e){e.dispose()}};Rg.id=`FileReferencesRenderer`,Rg=Mg=Ag([jg(0,I)],Rg);var zg=class extends U{constructor(e){super(),this.label=this._register(new Lr(e))}set(e,t){let n=e.parent.getPreview(e)?.preview(e.range);if(!n||!n.value)this.label.set(`${Re(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{let{value:e,highlight:r}=n;t&&!Jn.isDefault(t)?(this.label.element.classList.toggle(`referenceMatch`,!1),this.label.set(e,Nr(t))):(this.label.element.classList.toggle(`referenceMatch`,!0),this.label.set(e,[r]))}}},Bg=class e{constructor(){this.templateId=e.id}renderTemplate(e){return new zg(e)}renderElement(e,t,n){n.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};Bg.id=`OneReferenceRenderer`;var Vg=class{getWidgetAriaLabel(){return b(`treeAriaLabel`,`References`)}getAriaLabel(e){return e.ariaMessage}},Hg=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},Ug=function(e,t){return function(n,r){t(n,r,e)}},Wg=class e{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new V,this._callOnModelChange=new V,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();let e=this._editor.getModel();if(e){for(let t of this._model.references)if(t.uri.toString()===e.uri.toString()){this._addDecorations(t.parent);return}}}_addDecorations(t){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));let n=[],r=[];for(let i=0,a=t.children.length;i<a;i++){let a=t.children[i];this._decorationIgnoreSet.has(a.id)||a.uri.toString()===this._editor.getModel().uri.toString()&&(n.push({range:a.range,options:e.DecorationOptions}),r.push(i))}this._editor.changeDecorations(e=>{let i=e.deltaDecorations([],n);for(let e=0;e<i.length;e++)this._decorations.set(i[e],t.children[r[e]])})}_onDecorationChanged(){let e=[],t=this._editor.getModel();if(t){for(let[n,i]of this._decorations){let a=t.getDecorationRange(n);if(!a)continue;let o=!1;r.equalsRange(a,i.range)||((r.spansMultipleLines(a)||i.range.endColumn-i.range.startColumn!==a.endColumn-a.startColumn)&&(o=!0),o?(this._decorationIgnoreSet.add(i.id),e.push(n)):i.range=a)}for(let t=0,n=e.length;t<n;t++)this._decorations.delete(e[t]);this._editor.removeDecorations(e)}}removeDecorations(){this._editor.removeDecorations([...this._decorations.keys()]),this._decorations.clear()}};Wg.DecorationOptions=k.register({description:`reference-decoration`,stickiness:1,className:`reference-decoration`});var Gg=class{constructor(){this.ratio=.7,this.heightInLines=18}static fromJSON(e){let t,n;try{let r=JSON.parse(e);t=r.ratio,n=r.heightInLines}catch{}return{ratio:t||.7,heightInLines:n||18}}},Kg=class extends Mt{},qg=class extends yg{constructor(e,t,n,r,i,a,o,s,c,l,u,d){super(e,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},a),this._defaultTreeKeyboardSupport=t,this.layoutData=n,this._textModelResolverService=i,this._instantiationService=a,this._peekViewService=o,this._uriLabel=s,this._undoRedoService=c,this._keybindingService=l,this._languageService=u,this._languageConfigurationService=d,this._disposeOnNewModel=new V,this._callOnDispose=new V,this._onDidSelectReference=new B,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new L(0,0),this._applyTheme(r.getColorTheme()),this._callOnDispose.add(r.onDidColorThemeChange(this._applyTheme.bind(this))),this._peekViewService.addExclusiveWidget(e,this),this.create()}dispose(){this.setModel(void 0),this._callOnDispose.dispose(),this._disposeOnNewModel.dispose(),jc(this._preview),jc(this._previewNotAvailableMessage),jc(this._tree),jc(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){let t=e.getColor(Cg)||S.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(bg)||S.transparent,primaryHeadingColor:e.getColor(xg),secondaryHeadingColor:e.getColor(Sg)})}show(e){super.show(e,this.layoutData.heightInLines||18)}focusOnReferenceTree(){this._tree.domFocus()}focusOnPreviewEditor(){this._preview.focus()}isPreviewEditorFocused(){return this._preview.hasTextFocus()}_onTitleClick(e){this._preview&&this._preview.getModel()&&this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:e.ctrlKey||e.metaKey||e.altKey?`side`:`open`,source:`title`})}_fillBody(e){this.setCssClass(`reference-zone-widget`),this._messageContainer=Y(e,K(`div.messages`)),Nn(this._messageContainer),this._splitView=new Sa(e,{orientation:1}),this._previewContainer=Y(e,K(`div.preview.inline`)),this._preview=this._instantiationService.createInstance(ig,this._previewContainer,{scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:14,horizontal:`auto`,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,alwaysConsumeMouseWheel:!0},overviewRulerLanes:2,fixedOverflowWidgets:!0,minimap:{enabled:!1}},{},this.editor),Nn(this._previewContainer),this._previewNotAvailableMessage=new xe(b(`missingPreviewMessage`,`no preview available`),da,xe.DEFAULT_CREATION_OPTIONS,null,this._undoRedoService,this._languageService,this._languageConfigurationService),this._treeContainer=Y(e,K(`div.ref-tree.inline`));let n={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new Vg,keyboardNavigationLabelProvider:this._instantiationService.createInstance(Fg),identityProvider:new Ig,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:wg}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(Fc(this._treeContainer,`keydown`,e=>{e.equals(9)&&(this._keybindingService.dispatchEvent(e,e.target),e.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(Kg,`ReferencesWidget`,this._treeContainer,new Pg,[this._instantiationService.createInstance(Rg),this._instantiationService.createInstance(Bg)],this._instantiationService.createInstance(Ng),n),this._splitView.addView({onDidChange:xc.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:e=>{this._preview.layout({height:this._dim.height,width:e})}},t.Distribute),this._splitView.addView({onDidChange:xc.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:e=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${e}px`,this._tree.layout(this._dim.height,e)}},t.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));let r=(e,t)=>{e instanceof Eg&&(t===`show`&&this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:t,source:`tree`}))};this._tree.onDidOpen(e=>{e.sideBySide?r(e.element,`side`):e.editorOptions.pinned?r(e.element,`goto`):r(e.element,`show`)}),Nn(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new L(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then(()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))})}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(``),this._messageContainer.innerText=b(`noResults`,`No results`),Er(this._messageContainer),Promise.resolve(void 0)):(Nn(this._messageContainer),this._decorationsManager=new Wg(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(e=>this._tree.rerender(e))),this._disposeOnNewModel.add(this._preview.onMouseDown(e=>{let{event:t,target:n}=e;if(t.detail!==2)return;let r=this._getFocusedReference();r&&this._onDidSelectReference.fire({element:{uri:r.uri,range:n.range},kind:t.ctrlKey||t.metaKey||t.altKey?`side`:`open`,source:`editor`})})),this.container.classList.add(`results-loaded`),Er(this._treeContainer),Er(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){let[e]=this._tree.getFocus();if(e instanceof Eg)return e;if(e instanceof Og&&e.children.length>0)return e.children[0]}async revealReference(e){await this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:`goto`,source:`tree`})}async _revealReference(e,t){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme===Ls.inMemory?this.setTitle(b(`peekView.alternateTitle`,`References`)):this.setTitle(Ae(e.uri),this._uriLabel.getUriLabel(Sn(e.uri)));let n=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent?this._tree.reveal(e):(t&&this._tree.reveal(e.parent),await this._tree.expand(e.parent),this._tree.reveal(e));let i=await n;if(!this._model){i.dispose();return}jc(this._previewModelReference);let a=i.object;if(a){let t=this._preview.getModel()===a.textEditorModel?0:1,n=r.lift(e.range).collapseToStart();this._previewModelReference=i,this._preview.setModel(a.textEditorModel),this._preview.setSelection(n),this._preview.revealRangeInCenter(n,t)}else this._preview.setModel(this._previewNotAvailableMessage),i.dispose()}};qg=Hg([Ug(3,Io),Ug(4,ss),Ug(5,I),Ug(6,mg),Ug(7,Hc),Ug(8,Wc),Ug(9,$s),Ug(10,Xa),Ug(11,Cc)],qg);var Jg=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},Yg=function(e,t){return function(n,r){t(n,r,e)}},Xg,Zg=new w(`referenceSearchVisible`,!1,b(`referenceSearchVisible`,`Whether reference peek is visible, like 'Peek References' or 'Peek Definition'`)),Qg=Xg=class{static get(e){return e.getContribution(Xg.ID)}constructor(e,t,n,r,i,a,o,s){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=r,this._notificationService=i,this._instantiationService=a,this._storageService=o,this._configurationService=s,this._disposables=new V,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=Zg.bindTo(n)}dispose(){var e,t;this._referenceSearchVisible.reset(),this._disposables.dispose(),(e=this._widget)==null||e.dispose(),(t=this._model)==null||t.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,n){let r;if(this._widget&&(r=this._widget.position),this.closeWidget(),r&&e.containsPosition(r))return;this._peekMode=n,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));let i=`peekViewLayout`,a=Gg.fromJSON(this._storageService.get(i,0,`{}`));this._widget=this._instantiationService.createInstance(qg,this._editor,this._defaultTreeKeyboardSupport,a),this._widget.setTitle(b(`labelLoading`,`Loading...`)),this._widget.show(e),this._disposables.add(this._widget.onDidClose(()=>{t.cancel(),this._widget&&=(this._storageService.store(i,JSON.stringify(this._widget.layoutData),0,1),void 0),this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(e=>{let{element:t,kind:r}=e;if(t)switch(r){case`open`:(e.source!==`editor`||!this._configurationService.getValue(`editor.stablePeek`))&&this.openReference(t,!1,!1);break;case`side`:this.openReference(t,!0,!1);break;case`goto`:n?this._gotoReference(t,!0):this.openReference(t,!1,!0);break}}));let o=++this._requestIdPool;t.then(t=>{var n;if(o!==this._requestIdPool||!this._widget){t.dispose();return}return(n=this._model)==null||n.dispose(),this._model=t,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(``):this._widget.setMetaTitle(b(`metaTitle.N`,`{0} ({1})`,this._model.title,this._model.references.length));let t=this._editor.getModel().uri,n=new R(e.startLineNumber,e.startColumn),r=this._model.nearestReference(t,n);if(r)return this._widget.setSelection(r).then(()=>{this._widget&&this._editor.getOption(87)===`editor`&&this._widget.focusOnPreviewEditor()})}})},e=>{this._notificationService.error(e)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(e){if(!this._editor.hasModel()||!this._model||!this._widget)return;let t=this._widget.position;if(!t)return;let n=this._model.nearestReference(this._editor.getModel().uri,t);if(!n)return;let r=this._model.nextOrPreviousReference(n,e),i=this._editor.hasTextFocus(),a=this._widget.isPreviewEditorFocused();await this._widget.setSelection(r),await this._gotoReference(r,!1),i?this._editor.focus():this._widget&&a&&this._widget.focusOnPreviewEditor()}async revealReference(e){!this._editor.hasModel()||!this._model||!this._widget||await this._widget.revealReference(e)}closeWidget(e=!0){var t,n;(t=this._widget)==null||t.dispose(),(n=this._model)==null||n.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(e,t){var n;(n=this._widget)==null||n.hide(),this._ignoreModelChangeEvent=!0;let i=r.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:i,selectionSource:`code.jump`,pinned:t}},this._editor).then(e=>{if(this._ignoreModelChangeEvent=!1,!e||!this._widget){this.closeWidget();return}if(this._editor===e)this._widget.show(i),this._widget.focusOnReferenceTree();else{let t=Xg.get(e),n=this._model.clone();this.closeWidget(),e.focus(),t?.toggleWidget(i,lc(e=>Promise.resolve(n)),this._peekMode??!1)}},e=>{this._ignoreModelChangeEvent=!1,v(e)})}openReference(e,t,n){t||this.closeWidget();let{uri:r,range:i}=e;this._editorService.openCodeEditor({resource:r,options:{selection:i,selectionSource:`code.jump`,pinned:n}},this._editor,t)}};Qg.ID=`editor.contrib.referencesController`,Qg=Xg=Jg([Yg(2,W),Yg(3,lo),Yg(4,Za),Yg(5,I),Yg(6,Me),Yg(7,Va)],Qg);function $g(e,t){let n=_g(e);if(!n)return;let r=Qg.get(n);r&&t(r)}ut.registerCommandAndKeybindingRule({id:`togglePeekWidgetFocus`,weight:100,primary:Mi(2089,60),when:E.or(Zg,hg.inPeekEditor),handler(e){$g(e,e=>{e.changeFocusBetweenPreviewAndReferences()})}}),ut.registerCommandAndKeybindingRule({id:`goToNextReference`,weight:90,primary:62,secondary:[70],when:E.or(Zg,hg.inPeekEditor),handler(e){$g(e,e=>{e.goToNextOrPreviousReference(!0)})}}),ut.registerCommandAndKeybindingRule({id:`goToPreviousReference`,weight:90,primary:1086,secondary:[1094],when:E.or(Zg,hg.inPeekEditor),handler(e){$g(e,e=>{e.goToNextOrPreviousReference(!1)})}}),M.registerCommandAlias(`goToNextReferenceFromEmbeddedEditor`,`goToNextReference`),M.registerCommandAlias(`goToPreviousReferenceFromEmbeddedEditor`,`goToPreviousReference`),M.registerCommandAlias(`closeReferenceSearchEditor`,`closeReferenceSearch`),M.registerCommand(`closeReferenceSearch`,e=>$g(e,e=>e.closeWidget())),ut.registerKeybindingRule({id:`closeReferenceSearch`,weight:-1,primary:9,secondary:[1033],when:E.and(hg.inPeekEditor,E.not(`config.editor.stablePeek`))}),ut.registerKeybindingRule({id:`closeReferenceSearch`,weight:250,primary:9,secondary:[1033],when:E.and(Zg,E.not(`config.editor.stablePeek`),E.or(x.editorTextFocus,qr.negate()))}),ut.registerCommandAndKeybindingRule({id:`revealReference`,weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:E.and(Zg,As,Ct.negate(),ni.negate()),handler(e){let t=e.get(Ze).lastFocusedList?.getFocus();Array.isArray(t)&&t[0]instanceof Eg&&$g(e,e=>e.revealReference(t[0]))}}),ut.registerCommandAndKeybindingRule({id:`openReferenceToSide`,weight:100,primary:2051,mac:{primary:259},when:E.and(Zg,As,Ct.negate(),ni.negate()),handler(e){let t=e.get(Ze).lastFocusedList?.getFocus();Array.isArray(t)&&t[0]instanceof Eg&&$g(e,e=>e.openReference(t[0],!0,!0))}}),M.registerCommand(`openReference`,e=>{let t=e.get(Ze).lastFocusedList?.getFocus();Array.isArray(t)&&t[0]instanceof Eg&&$g(e,e=>e.openReference(t[0],!1,!0))});var e_=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},t_=function(e,t){return function(n,r){t(n,r,e)}},n_=new w(`hasSymbols`,!1,b(`hasSymbols`,`Whether there are symbol locations that can be navigated via keyboard-only.`)),r_=_s(`ISymbolNavigationService`),i_=class{constructor(e,t,n,r){this._editorService=t,this._notificationService=n,this._keybindingService=r,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=n_.bindTo(e)}reset(){var e,t;this._ctxHasSymbols.reset(),(e=this._currentState)==null||e.dispose(),(t=this._currentMessage)==null||t.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(e){let t=e.parent.parent;if(t.references.length<=1){this.reset();return}this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();let n=new a_(this._editorService);this._currentState=Si(n,n.onDidChange(e=>{if(this._ignoreEditorChange)return;let n=this._editorService.getActiveCodeEditor();if(!n)return;let i=n.getModel(),a=n.getPosition();if(!i||!a)return;let o=!1,s=!1;for(let e of t.references)if(bo(e.uri,i.uri))o=!0,s||=r.containsPosition(e.range,a);else if(o)break;(!o||!s)&&this.reset()}))}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;let t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:r.collapseToStart(t.range),selectionRevealType:3}},e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){var e;(e=this._currentMessage)==null||e.dispose();let t=this._keybindingService.lookupKeybinding(`editor.gotoNextSymbolFromResult`),n=t?b(`location.kb`,`Symbol {0} of {1}, {2} for next`,this._currentIdx+1,this._currentModel.references.length,t.getLabel()):b(`location`,`Symbol {0} of {1}`,this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(n)}};i_=e_([t_(0,W),t_(1,lo),t_(2,Za),t_(3,$s)],i_),Jo(r_,i_,1),_(new class extends be{constructor(){super({id:`editor.gotoNextSymbolFromResult`,precondition:n_,kbOpts:{weight:100,primary:70}})}runEditorCommand(e,t){return e.get(r_).revealNext(t)}}),ut.registerCommandAndKeybindingRule({id:`editor.gotoNextSymbolFromResult.cancel`,weight:100,when:n_,primary:9,handler(e){e.get(r_).reset()}});var a_=class{constructor(e){this._listener=new Map,this._disposables=new V,this._onDidChange=new B,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),jc(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,Si(e.onDidChangeCursorPosition(t=>this._onDidChange.fire({editor:e})),e.onDidChangeModelContent(t=>this._onDidChange.fire({editor:e}))))}_onDidRemoveEditor(e){var t;(t=this._listener.get(e))==null||t.dispose(),this._listener.delete(e)}};a_=e_([t_(0,lo)],a_);function o_(e,t){return t.uri.scheme===e.uri.scheme?!0:!At(t.uri,Ls.walkThroughSnippet,Ls.vscodeChatCodeBlock,Ls.vscodeChatCodeCompareBlock,Ls.vscodeCopilotBackingChatCodeBlock)}async function s_(e,t,n,r){let i=n.ordered(e).map(n=>Promise.resolve(r(n,e,t)).then(void 0,e=>{Oe(e)}));return ys((await Promise.all(i)).flat()).filter(t=>o_(e,t))}function c_(e,t,n,r){return s_(t,n,e,(e,t,n)=>e.provideDefinition(t,n,r))}function l_(e,t,n,r){return s_(t,n,e,(e,t,n)=>e.provideDeclaration(t,n,r))}function u_(e,t,n,r){return s_(t,n,e,(e,t,n)=>e.provideImplementation(t,n,r))}function d_(e,t,n,r){return s_(t,n,e,(e,t,n)=>e.provideTypeDefinition(t,n,r))}function f_(e,t,n,r,i){return s_(t,n,e,async(e,t,n)=>{let a=(await e.provideReferences(t,n,{includeDeclaration:!0},i))?.filter(e=>o_(t,e));if(!r||!a||a.length!==2)return a;let o=(await e.provideReferences(t,n,{includeDeclaration:!1},i))?.filter(e=>o_(t,e));return o&&o.length===1?o:a})}async function p_(e){let t=new kg(await e(),``),n=t.references.map(e=>e.link);return t.dispose(),n}te(`_executeDefinitionProvider`,(e,t,n)=>{let r=c_(e.get(g).definitionProvider,t,n,H.None);return p_(()=>r)}),te(`_executeTypeDefinitionProvider`,(e,t,n)=>{let r=d_(e.get(g).typeDefinitionProvider,t,n,H.None);return p_(()=>r)}),te(`_executeDeclarationProvider`,(e,t,n)=>{let r=l_(e.get(g).declarationProvider,t,n,H.None);return p_(()=>r)}),te(`_executeReferenceProvider`,(e,t,n)=>{let r=f_(e.get(g).referenceProvider,t,n,!1,H.None);return p_(()=>r)}),te(`_executeImplementationProvider`,(e,t,n)=>{let r=u_(e.get(g).implementationProvider,t,n,H.None);return p_(()=>r)});var m_,h_,g_,__,v_,y_,b_,x_;Yn.appendMenuItem(C.EditorContext,{submenu:C.EditorContextPeek,title:b(`peek.submenu`,`Peek`),group:`navigation`,order:100});var S_=class e{static is(t){return!t||typeof t!=`object`?!1:!!(t instanceof e||R.isIPosition(t.position)&&t.model)}constructor(e,t){this.model=e,this.position=t}},C_=class e extends ar{static all(){return e._allSymbolNavigationCommands.values()}static _patchConfig(e){let t={...e,f1:!0};if(t.menu)for(let n of Ge.wrap(t.menu))(n.id===C.EditorContext||n.id===C.EditorContextPeek)&&(n.when=E.and(e.precondition,n.when));return t}constructor(t,n){super(e._patchConfig(n)),this.configuration=t,e._allSymbolNavigationCommands.set(n.id,this)}runEditorCommand(t,n,r,i){if(!n.hasModel())return Promise.resolve(void 0);let a=t.get(Za),o=t.get(lo),s=t.get(Zc),c=t.get(r_),l=t.get(g),u=t.get(I),d=n.getModel(),f=n.getPosition(),p=S_.is(r)?r:new S_(d,f),m=new Lc(n,5),h=ro(this._getLocationModel(l,p.model,p.position,m.token),m.token).then(async t=>{var a;if(!t||m.token.isCancellationRequested)return;_n(t.ariaMessage);let s;if(t.referenceAt(d.uri,f)){let t=this._getAlternativeCommand(n);!e._activeAlternativeCommands.has(t)&&e._allSymbolNavigationCommands.has(t)&&(s=e._allSymbolNavigationCommands.get(t))}let l=t.references.length;if(l===0){if(!this.configuration.muteMessage){let e=d.getWordAtPosition(f);(a=Jd.get(n))==null||a.showMessage(this._getNoResultFoundMessage(e),f)}}else if(l===1&&s)e._activeAlternativeCommands.add(this.desc.id),u.invokeFunction(t=>s.runEditorCommand(t,n,r,i).finally(()=>{e._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(o,c,n,t,i)},e=>{a.error(e)}).finally(()=>{m.dispose()});return s.showWhile(h,250),h}async _onResult(e,t,n,r,i){let a=this._getGoToPreference(n);if(!(n instanceof ig)&&(this.configuration.openInPeek||a===`peek`&&r.references.length>1))this._openInPeek(n,r,i);else{let o=r.firstReference(),s=r.references.length>1&&a===`gotoAndPeek`,c=await this._openReference(n,e,o,this.configuration.openToSide,!s);s&&c?this._openInPeek(c,r,i):r.dispose(),a===`goto`&&t.put(o)}}async _openReference(e,t,n,i,a){let o;if(Yr(n)&&(o=n.targetSelectionRange),o||=n.range,!o)return;let s=await t.openCodeEditor({resource:n.uri,options:{selection:r.collapseToStart(o),selectionRevealType:3,selectionSource:`code.jump`}},e,i);if(s){if(a){let e=s.getModel(),t=s.createDecorationsCollection([{range:o,options:{description:`symbol-navigate-action-highlight`,className:`symbolHighlight`}}]);setTimeout(()=>{s.getModel()===e&&t.clear()},350)}return s}}_openInPeek(e,t,n){let r=Qg.get(e);r&&e.hasModel()?r.toggleWidget(n??e.getSelection(),lc(e=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};C_._allSymbolNavigationCommands=new Map,C_._activeAlternativeCommands=new Set;var w_=class extends C_{async _getLocationModel(e,t,n,r){return new kg(await c_(e.definitionProvider,t,n,r),b(`def.title`,`Definitions`))}_getNoResultFoundMessage(e){return e&&e.word?b(`noResultWord`,`No definition found for '{0}'`,e.word):b(`generic.noResults`,`No definition found`)}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}};A((m_=class extends w_{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:m_.id,title:{...T(`actions.goToDecl.label`,`Go to Definition`),mnemonicTitle:b({key:`miGotoDefinition`,comment:[`&& denotes a mnemonic`]},`Go to &&Definition`)},precondition:x.hasDefinitionProvider,keybinding:[{when:x.editorTextFocus,primary:70,weight:100},{when:E.and(x.editorTextFocus,di),primary:2118,weight:100}],menu:[{id:C.EditorContext,group:`navigation`,order:1.1},{id:C.MenubarGoMenu,precondition:null,group:`4_symbol_nav`,order:2}]}),M.registerCommandAlias(`editor.action.goToDeclaration`,m_.id)}},m_.id=`editor.action.revealDefinition`,m_)),A((h_=class extends w_{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:h_.id,title:T(`actions.goToDeclToSide.label`,`Open Definition to the Side`),precondition:E.and(x.hasDefinitionProvider,x.isInEmbeddedEditor.toNegated()),keybinding:[{when:x.editorTextFocus,primary:Mi(2089,70),weight:100},{when:E.and(x.editorTextFocus,di),primary:Mi(2089,2118),weight:100}]}),M.registerCommandAlias(`editor.action.openDeclarationToTheSide`,h_.id)}},h_.id=`editor.action.revealDefinitionAside`,h_)),A((g_=class extends w_{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:g_.id,title:T(`actions.previewDecl.label`,`Peek Definition`),precondition:E.and(x.hasDefinitionProvider,hg.notInPeekEditor,x.isInEmbeddedEditor.toNegated()),keybinding:{when:x.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:C.EditorContextPeek,group:`peek`,order:2}}),M.registerCommandAlias(`editor.action.previewDeclaration`,g_.id)}},g_.id=`editor.action.peekDefinition`,g_));var T_=class extends C_{async _getLocationModel(e,t,n,r){return new kg(await l_(e.declarationProvider,t,n,r),b(`decl.title`,`Declarations`))}_getNoResultFoundMessage(e){return e&&e.word?b(`decl.noResultWord`,`No declaration found for '{0}'`,e.word):b(`decl.generic.noResults`,`No declaration found`)}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}};A((__=class extends T_{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:__.id,title:{...T(`actions.goToDeclaration.label`,`Go to Declaration`),mnemonicTitle:b({key:`miGotoDeclaration`,comment:[`&& denotes a mnemonic`]},`Go to &&Declaration`)},precondition:E.and(x.hasDeclarationProvider,x.isInEmbeddedEditor.toNegated()),menu:[{id:C.EditorContext,group:`navigation`,order:1.3},{id:C.MenubarGoMenu,precondition:null,group:`4_symbol_nav`,order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?b(`decl.noResultWord`,`No declaration found for '{0}'`,e.word):b(`decl.generic.noResults`,`No declaration found`)}},__.id=`editor.action.revealDeclaration`,__)),A(class extends T_{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:`editor.action.peekDeclaration`,title:T(`actions.peekDecl.label`,`Peek Declaration`),precondition:E.and(x.hasDeclarationProvider,hg.notInPeekEditor,x.isInEmbeddedEditor.toNegated()),menu:{id:C.EditorContextPeek,group:`peek`,order:3}})}});var E_=class extends C_{async _getLocationModel(e,t,n,r){return new kg(await d_(e.typeDefinitionProvider,t,n,r),b(`typedef.title`,`Type Definitions`))}_getNoResultFoundMessage(e){return e&&e.word?b(`goToTypeDefinition.noResultWord`,`No type definition found for '{0}'`,e.word):b(`goToTypeDefinition.generic.noResults`,`No type definition found`)}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}};A((v_=class extends E_{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:v_.ID,title:{...T(`actions.goToTypeDefinition.label`,`Go to Type Definition`),mnemonicTitle:b({key:`miGotoTypeDefinition`,comment:[`&& denotes a mnemonic`]},`Go to &&Type Definition`)},precondition:x.hasTypeDefinitionProvider,keybinding:{when:x.editorTextFocus,primary:0,weight:100},menu:[{id:C.EditorContext,group:`navigation`,order:1.4},{id:C.MenubarGoMenu,precondition:null,group:`4_symbol_nav`,order:3}]})}},v_.ID=`editor.action.goToTypeDefinition`,v_)),A((y_=class extends E_{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:y_.ID,title:T(`actions.peekTypeDefinition.label`,`Peek Type Definition`),precondition:E.and(x.hasTypeDefinitionProvider,hg.notInPeekEditor,x.isInEmbeddedEditor.toNegated()),menu:{id:C.EditorContextPeek,group:`peek`,order:4}})}},y_.ID=`editor.action.peekTypeDefinition`,y_));var D_=class extends C_{async _getLocationModel(e,t,n,r){return new kg(await u_(e.implementationProvider,t,n,r),b(`impl.title`,`Implementations`))}_getNoResultFoundMessage(e){return e&&e.word?b(`goToImplementation.noResultWord`,`No implementation found for '{0}'`,e.word):b(`goToImplementation.generic.noResults`,`No implementation found`)}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}};A((b_=class extends D_{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:b_.ID,title:{...T(`actions.goToImplementation.label`,`Go to Implementations`),mnemonicTitle:b({key:`miGotoImplementation`,comment:[`&& denotes a mnemonic`]},`Go to &&Implementations`)},precondition:x.hasImplementationProvider,keybinding:{when:x.editorTextFocus,primary:2118,weight:100},menu:[{id:C.EditorContext,group:`navigation`,order:1.45},{id:C.MenubarGoMenu,precondition:null,group:`4_symbol_nav`,order:4}]})}},b_.ID=`editor.action.goToImplementation`,b_)),A((x_=class extends D_{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:x_.ID,title:T(`actions.peekImplementation.label`,`Peek Implementations`),precondition:E.and(x.hasImplementationProvider,hg.notInPeekEditor,x.isInEmbeddedEditor.toNegated()),keybinding:{when:x.editorTextFocus,primary:3142,weight:100},menu:{id:C.EditorContextPeek,group:`peek`,order:5}})}},x_.ID=`editor.action.peekImplementation`,x_));var O_=class extends C_{_getNoResultFoundMessage(e){return e?b(`references.no`,`No references found for '{0}'`,e.word):b(`references.noGeneric`,`No references found`)}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}};A(class extends O_{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:`editor.action.goToReferences`,title:{...T(`goToReferences.label`,`Go to References`),mnemonicTitle:b({key:`miGotoReference`,comment:[`&& denotes a mnemonic`]},`Go to &&References`)},precondition:E.and(x.hasReferenceProvider,hg.notInPeekEditor,x.isInEmbeddedEditor.toNegated()),keybinding:{when:x.editorTextFocus,primary:1094,weight:100},menu:[{id:C.EditorContext,group:`navigation`,order:1.45},{id:C.MenubarGoMenu,precondition:null,group:`4_symbol_nav`,order:5}]})}async _getLocationModel(e,t,n,r){return new kg(await f_(e.referenceProvider,t,n,!0,r),b(`ref.title`,`References`))}}),A(class extends O_{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:`editor.action.referenceSearch.trigger`,title:T(`references.action.label`,`Peek References`),precondition:E.and(x.hasReferenceProvider,hg.notInPeekEditor,x.isInEmbeddedEditor.toNegated()),menu:{id:C.EditorContextPeek,group:`peek`,order:6}})}async _getLocationModel(e,t,n,r){return new kg(await f_(e.referenceProvider,t,n,!1,r),b(`ref.title`,`References`))}});var k_=class extends C_{constructor(e,t,n){super(e,{id:`editor.action.goToLocation`,title:T(`label.generic`,`Go to Any Symbol`),precondition:E.and(hg.notInPeekEditor,x.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=n}async _getLocationModel(e,t,n,r){return new kg(this._references,b(`generic.title`,`Locations`))}_getNoResultFoundMessage(e){return e&&b(`generic.noResult`,`No results for '{0}'`,e.word)||``}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(58).multipleReferences}_getAlternativeCommand(){return``}};M.registerCommand({id:`editor.action.goToLocations`,metadata:{description:`Go to locations from a position in a file`,args:[{name:`uri`,description:`The text document in which to start`,constraint:G},{name:`position`,description:`The position at which to start`,constraint:R.isIPosition},{name:`locations`,description:`An array of locations.`,constraint:Array},{name:`multiple`,description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"},{name:`noResultsMessage`,description:`Human readable message that shows when locations is empty.`}]},handler:async(e,t,n,r,i,a,o)=>{j(G.isUri(t)),j(R.isIPosition(n)),j(Array.isArray(r)),j(i===void 0||typeof i==`string`),j(o===void 0||typeof o==`boolean`);let s=e.get(lo),c=await s.openCodeEditor({resource:t},s.getFocusedCodeEditor());if(qc(c))return c.setPosition(n),c.revealPositionInCenterIfOutsideViewport(n,0),c.invokeWithinContext(e=>{let t=new class extends k_{_getNoResultFoundMessage(e){return a||super._getNoResultFoundMessage(e)}}({muteMessage:!a,openInPeek:!!o,openToSide:!1},r,i);e.get(I).invokeFunction(t.run.bind(t),c)})}}),M.registerCommand({id:`editor.action.peekLocations`,metadata:{description:`Peek locations from a position in a file`,args:[{name:`uri`,description:`The text document in which to start`,constraint:G},{name:`position`,description:`The position at which to start`,constraint:R.isIPosition},{name:`locations`,description:`An array of locations.`,constraint:Array},{name:`multiple`,description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"}]},handler:async(e,t,n,r,i)=>{e.get(Qr).executeCommand(`editor.action.goToLocations`,t,n,r,i,void 0,!0)}}),M.registerCommand({id:`editor.action.findReferences`,handler:(e,t,n)=>{j(G.isUri(t)),j(R.isIPosition(n));let i=e.get(g),a=e.get(lo);return a.openCodeEditor({resource:t},a.getFocusedCodeEditor()).then(e=>{if(!qc(e)||!e.hasModel())return;let t=Qg.get(e);if(!t)return;let a=lc(t=>f_(i.referenceProvider,e.getModel(),R.lift(n),!1,t).then(e=>new kg(e,b(`ref.title`,`References`)))),o=new r(n.lineNumber,n.column,n.lineNumber,n.column);return Promise.resolve(t.toggleWidget(o,a,!1))})}}),M.registerCommandAlias(`editor.action.showReferences`,`editor.action.peekLocations`);async function A_(e,t,n,i){let a=e.get(ss),o=e.get(Ks),c=e.get(Qr),l=e.get(I),u=e.get(Za);if(await i.item.resolve(H.None),!i.part.location)return;let d=i.part.location,f=[],p=new Set(Yn.getMenuItems(C.EditorContext).map(e=>ue(e)?e.command.id:td()));for(let e of C_.all())p.has(e.desc.id)&&f.push(new Bn(e.desc.id,Kt.label(e.desc,{renderShortTitle:!0}),void 0,!0,async()=>{let n=await a.createModelReference(d.uri);try{let a=new S_(n.object.textEditorModel,r.getStartPosition(d.range)),o=i.item.anchor.range;await l.invokeFunction(e.runEditorCommand.bind(e),t,a,o)}finally{n.dispose()}}));if(i.part.command){let{command:e}=i.part;f.push(new s),f.push(new Bn(e.id,e.title,void 0,!0,async()=>{try{await c.executeCommand(e.id,...e.arguments??[])}catch(e){u.notify({severity:Ha.Error,source:i.item.provider.displayName,message:e})}}))}let m=t.getOption(127);o.showContextMenu({domForShadowRoot:m?t.getDomNode()??void 0:void 0,getAnchor:()=>{let e=je(n);return{x:e.left,y:e.top+e.height+8}},getActions:()=>f,onHide:()=>{t.focus()},autoSelectFirstItem:!0})}async function j_(e,t,n,i){let a=await e.get(ss).createModelReference(i.uri);await n.invokeWithinContext(async e=>{let o=t.hasSideBySideModifier,s=e.get(W),c=hg.inPeekEditor.getValue(s);return new w_({openToSide:o,openInPeek:!o&&n.getOption(88)&&!c,muteMessage:!0},{title:{value:``,original:``},id:``,precondition:void 0}).run(e,new S_(a.object.textEditorModel,r.getStartPosition(i.range)),r.lift(i.range))}),a.dispose()}var M_=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},N_=function(e,t){return function(n,r){t(n,r,e)}},P_,F_=class e{constructor(){this._entries=new Pi(50)}get(t){let n=e._key(t);return this._entries.get(n)}set(t,n){let r=e._key(t);this._entries.set(r,n)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}},I_=_s(`IInlayHintsCache`);Jo(I_,F_,1);var L_=class{constructor(e,t){this.item=e,this.index=t}get part(){let e=this.item.hint.label;return typeof e==`string`?{label:e}:e[this.index]}},R_=class{constructor(e,t){this.part=e,this.hasTriggerModifier=t}},z_=P_=class{static get(e){return e.getContribution(P_.ID)??void 0}constructor(e,t,n,r,i,a,o){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=r,this._commandService=i,this._notificationService=a,this._instaService=o,this._disposables=new V,this._sessionDisposables=new V,this._decorationsMetadata=new Map,this._ruleFactory=new dr(this._editor),this._activeRenderMode=0,this._debounceInfo=n.for(t.inlayHintsProvider,`InlayHint`,{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(e=>{e.hasChanged(141)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();let e=this._editor.getOption(141);if(e.enabled===`off`)return;let t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if(e.enabled===`on`)this._activeRenderMode=0;else{let t,n;e.enabled===`onUnlessPressed`?(t=0,n=1):(t=1,n=0),this._activeRenderMode=t,this._sessionDisposables.add(Xo.getInstance().event(e=>{if(!this._editor.hasModel())return;let r=e.altKey&&e.ctrlKey&&!(e.shiftKey||e.metaKey)?n:t;if(r!==this._activeRenderMode){this._activeRenderMode=r;let e=this._editor.getModel(),t=this._copyInlayHintsWithCurrentAnchor(e);this._updateHintsDecorators([e.getFullModelRange()],t),a.schedule(0)}}))}let n=this._inlayHintsCache.get(t);n&&this._updateHintsDecorators([t.getFullModelRange()],n),this._sessionDisposables.add(Hi(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let r,i=new Set,a=new Hn(async()=>{let e=Date.now();r?.dispose(!0),r=new ec;let n=t.onWillDispose(()=>r?.cancel());try{let n=r.token,o=await eg.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),n);if(a.delay=this._debounceInfo.update(t,Date.now()-e),n.isCancellationRequested){o.dispose();return}for(let e of o.provider)typeof e.onDidChangeInlayHints==`function`&&!i.has(e)&&(i.add(e),this._sessionDisposables.add(e.onDidChangeInlayHints(()=>{a.isScheduled()||a.schedule()})));this._sessionDisposables.add(o),this._updateHintsDecorators(o.ranges,o.items),this._cacheHintsForFastRestore(t)}catch(e){v(e)}finally{r.dispose(),n.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(a),this._sessionDisposables.add(Hi(()=>r?.dispose(!0))),a.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(e=>{(e.scrollTopChanged||!a.isScheduled())&&a.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeModelContent(e=>{r?.cancel();let t=Math.max(a.delay,1250);a.schedule(t)})),this._sessionDisposables.add(this._installDblClickGesture(()=>a.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){let e=new V,t=e.add(new Zh(this._editor)),n=new V;return e.add(n),e.add(t.onMouseMoveOrRelevantKeyDown(e=>{let[t]=e,i=this._getInlayHintLabelPart(t),a=this._editor.getModel();if(!i||!a){n.clear();return}let o=new ec;n.add(Hi(()=>o.dispose(!0))),i.item.resolve(o.token),this._activeInlayHintPart=i.part.command||i.part.location?new R_(i,t.hasTriggerModifier):void 0;let s=a.validatePosition(i.item.hint.position).lineNumber,c=new r(s,1,s,a.getLineMaxColumn(s)),l=this._getInlineHintsForRange(c);this._updateHintsDecorators([c],l),n.add(Hi(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([c],l)}))})),e.add(t.onCancel(()=>n.clear())),e.add(t.onExecute(async e=>{let t=this._getInlayHintLabelPart(e);if(t){let n=t.part;n.location?this._instaService.invokeFunction(j_,e,this._editor,n.location):Dn.is(n.command)&&await this._invokeCommand(n.command,t.item)}})),e}_getInlineHintsForRange(e){let t=new Set;for(let n of this._decorationsMetadata.values())e.containsRange(n.item.anchor.range)&&t.add(n.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp(async t=>{if(t.event.detail!==2)return;let n=this._getInlayHintLabelPart(t);if(n&&(t.event.preventDefault(),await n.item.resolve(H.None),Pa(n.item.hint.textEdits))){let t=n.item.hint.textEdits.map(e=>pr.replace(r.lift(e.range),e.text));this._editor.executeEdits(`inlayHint.default`,t),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!Jt(e.event.target))return;let t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(A_,this._editor,e.event.target,t)})}_getInlayHintLabelPart(e){if(e.target.type!==6)return;let t=e.target.detail.injectedText?.options;if(t instanceof Qc&&t?.attachedData instanceof L_)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(e){this._notificationService.notify({severity:Ha.Error,source:t.provider.displayName,message:e})}}_cacheHintsForFastRestore(e){let t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){let t=new Map;for(let[n,r]of this._decorationsMetadata){if(t.has(r.item))continue;let i=e.getDecorationRange(n);if(i){let e=new Qh(i,r.item.anchor.direction),n=r.item.with({anchor:e});t.set(r.item,n)}}return Array.from(t.values())}_getHintsRanges(){let e=this._editor.getModel(),t=this._editor.getVisibleRangesPlusViewportAboveBelow(),n=[];for(let i of t.sort(r.compareRangesUsingStarts)){let t=e.validateRange(new r(i.startLineNumber-30,i.startColumn,i.endLineNumber+30,i.endColumn));n.length===0||!r.areIntersectingOrTouching(n[n.length-1],t)?n.push(t):n[n.length-1]=r.plusRange(n[n.length-1],t)}return n}_updateHintsDecorators(e,t){let n=[],r=(e,t,r,i,a)=>{let o={content:r,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:t.className,cursorStops:i,attachedData:a};n.push({item:e,classNameRef:t,decoration:{range:e.anchor.range,options:{description:`InlayHint`,showIfCollapsed:e.anchor.range.isEmpty(),collapseOnReplaceEdit:!e.anchor.range.isEmpty(),stickiness:0,[e.anchor.direction]:this._activeRenderMode===0?o:void 0}}})},i=(e,t)=>{r(e,this._ruleFactory.createClassNameRef({width:`${a/3|0}px`,display:`inline-block`}),` `,t?fc.Right:fc.None)},{fontSize:a,fontFamily:o,padding:s,isUniform:c}=this._getLayoutInfo(),l=`--code-editorInlayHintsFontFamily`;this._editor.getContainerDomNode().style.setProperty(l,o);let u={line:0,totalLen:0};for(let e of t){if(u.line!==e.anchor.range.startLineNumber&&(u={line:e.anchor.range.startLineNumber,totalLen:0}),u.totalLen>P_._MAX_LABEL_LEN)continue;e.hint.paddingLeft&&i(e,!1);let t=typeof e.hint.label==`string`?[{label:e.hint.label}]:e.hint.label;for(let n=0;n<t.length;n++){let i=t[n],o=n===0,d=n===t.length-1,f={fontSize:`${a}px`,fontFamily:`var(${l}), ${bn.fontFamily}`,verticalAlign:c?`baseline`:`middle`,unicodeBidi:`isolate`};Pa(e.hint.textEdits)&&(f.cursor=`default`),this._fillInColors(f,e.hint),(i.command||i.location)&&this._activeInlayHintPart?.part.item===e&&this._activeInlayHintPart.part.index===n&&(f.textDecoration=`underline`,this._activeInlayHintPart.hasTriggerModifier&&(f.color=ca(pl),f.cursor=`pointer`)),s&&(o&&d?(f.padding=`1px ${Math.max(1,a/4)|0}px`,f.borderRadius=`${a/4|0}px`):o?(f.padding=`1px 0 1px ${Math.max(1,a/4)|0}px`,f.borderRadius=`${a/4|0}px 0 0 ${a/4|0}px`):d?(f.padding=`1px ${Math.max(1,a/4)|0}px 1px 0`,f.borderRadius=`0 ${a/4|0}px ${a/4|0}px 0`):f.padding=`1px 0 1px 0`);let p=i.label;u.totalLen+=p.length;let m=!1,h=u.totalLen-P_._MAX_LABEL_LEN;if(h>0&&(p=p.slice(0,-h)+`…`,m=!0),r(e,this._ruleFactory.createClassNameRef(f),B_(p),d&&!e.hint.paddingRight?fc.Right:fc.None,new L_(e,n)),m)break}if(e.hint.paddingRight&&i(e,!0),n.length>P_._MAX_DECORATORS)break}let f=[];for(let[t,n]of this._decorationsMetadata){let r=this._editor.getModel()?.getDecorationRange(t);r&&e.some(e=>e.containsRange(r))&&(f.push(t),n.classNameRef.dispose(),this._decorationsMetadata.delete(t))}let p=d.capture(this._editor);this._editor.changeDecorations(e=>{let t=e.deltaDecorations(f,n.map(e=>e.decoration));for(let e=0;e<t.length;e++){let r=n[e];this._decorationsMetadata.set(t[e],r)}}),p.restore(this._editor)}_fillInColors(e,t){t.kind===oe.Parameter?(e.backgroundColor=ca(cc),e.color=ca(es)):t.kind===oe.Type?(e.backgroundColor=ca(Bs),e.color=ca(no)):(e.backgroundColor=ca(i),e.color=ca(ha))}_getLayoutInfo(){let e=this._editor.getOption(141),t=e.padding,n=this._editor.getOption(52),r=this._editor.getOption(49),i=e.fontSize;(!i||i<5||i>n)&&(i=n);let a=e.fontFamily||r;return{fontSize:i,fontFamily:a,padding:t,isUniform:!t&&a===r&&i===n}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(let e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}};z_.ID=`editor.contrib.InlayHints`,z_._MAX_DECORATORS=1500,z_._MAX_LABEL_LEN=43,z_=P_=M_([N_(1,g),N_(2,wc),N_(3,I_),N_(4,Qr),N_(5,Za),N_(6,I)],z_);function B_(e){return e.replace(/[ \t]/g,`\xA0`)}M.registerCommand(`_executeInlayHintProvider`,async(e,...t)=>{let[n,i]=t;j(G.isUri(n)),j(r.isIRange(i));let{inlayHintsProvider:a}=e.get(g),o=await e.get(ss).createModelReference(n);try{let e=await eg.create(a,o.object.textEditorModel,[r.lift(i)],H.None),t=e.items.map(e=>e.hint);return setTimeout(()=>e.dispose(),0),t}finally{o.dispose()}});var 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},H_=function(e,t){return function(n,r){t(n,r,e)}},U_=class extends Dh{constructor(e,t,n,r){super(10,t,e.item.anchor.range,n,r,!0),this.part=e}},W_=class extends Vh{constructor(e,t,n,r,i,a,o,s){super(e,t,n,a,s,r,i),this._resolverService=o,this.hoverOrdinal=6}suggestHoverAnchor(e){if(!z_.get(this._editor)||e.target.type!==6)return null;let t=e.target.detail.injectedText?.options;return t instanceof Qc&&t.attachedData instanceof L_?new U_(t.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,n){return e instanceof U_?new li(async t=>{let{part:r}=e;if(await r.item.resolve(n),n.isCancellationRequested)return;let i;typeof r.item.hint.tooltip==`string`?i=new An().appendText(r.item.hint.tooltip):r.item.hint.tooltip&&(i=r.item.hint.tooltip),i&&t.emitOne(new zh(this,e.range,[i],!1,0)),Pa(r.item.hint.textEdits)&&t.emitOne(new zh(this,e.range,[new An().appendText(b(`hint.dbl`,`Double-click to insert`))],!1,10001));let a;if(typeof r.part.tooltip==`string`?a=new An().appendText(r.part.tooltip):r.part.tooltip&&(a=r.part.tooltip),a&&t.emitOne(new zh(this,e.range,[a],!1,1)),r.part.location||r.part.command){let n,i=this._editor.getOption(78)===`altKey`?ce?b(`links.navigate.kb.meta.mac`,`cmd + click`):b(`links.navigate.kb.meta`,`ctrl + click`):ce?b(`links.navigate.kb.alt.mac`,`option + click`):b(`links.navigate.kb.alt`,`alt + click`);r.part.location&&r.part.command?n=new An().appendText(b(`hint.defAndCommand`,`Go to Definition ({0}), right click for more`,i)):r.part.location?n=new An().appendText(b(`hint.def`,`Go to Definition ({0})`,i)):r.part.command&&(n=new An(`[${b(`hint.cmd`,`Execute Command`)}](${tg(r.part.command)} "${r.part.command.title}") (${i})`,{isTrusted:!0})),n&&t.emitOne(new zh(this,e.range,[n],!1,1e4))}let o=await this._resolveInlayHintLabelPartHover(r,n);for await(let e of o)t.emitOne(e)}):li.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return li.EMPTY;let{uri:n,range:r}=e.part.location,i=await this._resolverService.createModelReference(n);try{let n=i.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(n)?jh(this._languageFeaturesService.hoverProvider,n,new R(r.startLineNumber,r.startColumn),t).filter(e=>!Ke(e.hover.contents)).map(t=>new zh(this,e.item.anchor.range,t.hover.contents,!1,2+t.ordinal)):li.EMPTY}finally{i.dispose()}}};W_=V_([H_(1,Xa),H_(2,hi),H_(3,$s),H_(4,Fi),H_(5,Va),H_(6,ss),H_(7,g)],W_);var G_=class e{get anchor(){return this._anchor}set anchor(e){this._anchor=e}get shouldFocus(){return this._shouldFocus}set shouldFocus(e){this._shouldFocus=e}get source(){return this._source}set source(e){this._source=e}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(e){this._insistOnKeepingHoverVisible=e}constructor(e,t){this._editor=e,this._participants=t,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}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){let n=this._anchor;if(!this._editor.hasModel()||!n)return li.EMPTY;let r=e._getLineDecorations(this._editor,n);return li.merge(this._participants.map(e=>e.computeAsync?e.computeAsync(n,r,t):li.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];let t=e._getLineDecorations(this._editor,this._anchor),n=[];for(let e of this._participants)n=n.concat(e.computeSync(this._anchor,t));return ys(n)}},K_=class{constructor(e,t,n){this.anchor=e,this.messages=t,this.isComplete=n}filter(e){let t=this.messages.filter(t=>t.isValidForHoverAnchor(e));return t.length===this.messages.length?this:new q_(this,this.anchor,t,this.isComplete)}},q_=class extends K_{constructor(e,t,n,r){super(t,n,r),this.original=e}filter(e){return this.original.filter(e)}},J_=class{constructor(e,t,n,r,i,a,o,s,c,l){this.initialMousePosX=e,this.initialMousePosY=t,this.colorPicker=n,this.showAtPosition=r,this.showAtSecondaryPosition=i,this.preferAbove=a,this.stoleFocus=o,this.source=s,this.isBeforeContent=c,this.disposables=l,this.closestMouseDistance=void 0}},Y_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},X_=function(e,t){return function(n,r){t(n,r,e)}},Z_=K,Q_=class extends U{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this._hasContent=!1,this.hoverElement=Z_(`div.hover-row.status-bar`),this.hoverElement.tabIndex=0,this.actionsElement=Y(this.hoverElement,Z_(`div.actions`))}addAction(e){let t=this._keybindingService.lookupKeybinding(e.commandId),n=t?t.getLabel():null;return this._hasContent=!0,this._register(o.render(this.actionsElement,e,n))}append(e){let t=Y(this.actionsElement,e);return this._hasContent=!0,t}};Q_=Y_([X_(0,$s)],Q_);var $_=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},ev=function(e,t){return function(n,r){t(n,r,e)}},tv,nv=tv=class extends U{constructor(e,t,n){super(),this._editor=e,this._instantiationService=t,this._keybindingService=n,this._currentResult=null,this._onContentsChanged=this._register(new B),this.onContentsChanged=this._onContentsChanged.event,this._widget=this._register(this._instantiationService.createInstance(Sh,this._editor)),this._participants=[];for(let e of Oh.getAll()){let t=this._instantiationService.createInstance(e,this._editor);t instanceof Vh&&!(t instanceof W_)&&(this._markdownHoverParticipant=t),this._participants.push(t)}this._participants.sort((e,t)=>e.hoverOrdinal-t.hoverOrdinal),this._computer=new G_(this._editor,this._participants),this._hoverOperation=this._register(new Th(this._editor,this._computer)),this._register(this._hoverOperation.onResult(e=>{if(!this._computer.anchor)return;let t=e.hasLoadingMessage?this._addLoadingMessage(e.value):e.value;this._withResult(new K_(this._computer.anchor,t,e.isComplete))})),this._register(Fc(this._widget.getDomNode(),`keydown`,e=>{e.equals(9)&&this.hide()})),this._register(Tt.onDidChange(()=>{this._widget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)}))}_startShowingOrUpdateHover(e,t,n,r,i){return!this._widget.position||!this._currentResult?e?(this._startHoverOperationIfNecessary(e,t,n,r,!1),!0):!1:this._editor.getOption(60).sticky&&i&&this._widget.isMouseGettingCloser(i.event.posx,i.event.posy)?(e&&this._startHoverOperationIfNecessary(e,t,n,r,!0),!0):e?e&&this._currentResult.anchor.equals(e)?!0:e.canAdoptVisibleHover(this._currentResult.anchor,this._widget.position)?(this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,n,r,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,n,r,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(e,t,n,r,i){this._computer.anchor&&this._computer.anchor.equals(e)||(this._hoverOperation.cancel(),this._computer.anchor=e,this._computer.shouldFocus=r,this._computer.source=n,this._computer.insistOnKeepingHoverVisible=i,this._hoverOperation.start(t))}_setCurrentResult(e){this._currentResult!==e&&(e&&e.messages.length===0&&(e=null),this._currentResult=e,this._currentResult?this._renderMessages(this._currentResult.anchor,this._currentResult.messages):this._widget.hide())}_addLoadingMessage(e){if(this._computer.anchor){for(let t of this._participants)if(t.createLoadingMessage){let n=t.createLoadingMessage(this._computer.anchor);if(n)return e.slice(0).concat([n])}}return e}_withResult(e){this._widget.position&&this._currentResult&&this._currentResult.isComplete&&(!e.isComplete||this._computer.insistOnKeepingHoverVisible&&e.messages.length===0)||this._setCurrentResult(e)}_renderMessages(e,t){let{showAtPosition:n,showAtSecondaryPosition:r,highlightRange:i}=tv.computeHoverRanges(this._editor,e.range,t),a=new V,o=a.add(new Q_(this._keybindingService)),s=document.createDocumentFragment(),c=null,l={fragment:s,statusBar:o,setColorPicker:e=>c=e,onContentsChanged:()=>this._doOnContentsChanged(),setMinimumDimensions:e=>this._widget.setMinimumDimensions(e),hide:()=>this.hide()};for(let e of this._participants){let n=t.filter(t=>t.owner===e);n.length>0&&a.add(e.renderHoverParts(l,n))}let u=t.some(e=>e.isBeforeContent);if(o.hasContent&&s.appendChild(o.hoverElement),s.hasChildNodes()){if(i){let e=this._editor.createDecorationsCollection();e.set([{range:i,options:tv._DECORATION_OPTIONS}]),a.add(Hi(()=>{e.clear()}))}this._widget.showAt(s,new J_(e.initialMousePosX,e.initialMousePosY,c,n,r,this._editor.getOption(60).above,this._computer.shouldFocus,this._computer.source,u,a))}else a.dispose()}_doOnContentsChanged(){this._onContentsChanged.fire(),this._widget.onContentsChanged()}static computeHoverRanges(e,t,n){let i=1;if(e.hasModel()){let n=e._getViewModel(),r=n.coordinatesConverter,a=r.convertModelRangeToViewRange(t),o=new R(a.startLineNumber,n.getLineMinColumn(a.startLineNumber));i=r.convertViewPositionToModelPosition(o).column}let a=t.startLineNumber,o=t.startColumn,s=n[0].range,c=null;for(let e of n)s=r.plusRange(s,e.range),e.range.startLineNumber===a&&e.range.endLineNumber===a&&(o=Math.max(Math.min(o,e.range.startColumn),i)),e.forceShowAtRange&&(c=e.range);return{showAtPosition:c?c.getStartPosition():new R(a,t.startColumn),showAtSecondaryPosition:c?c.getStartPosition():new R(a,o),highlightRange:s}}showsOrWillShow(e){if(this._widget.isResizing)return!0;let t=[];for(let n of this._participants)if(n.suggestHoverAnchor){let r=n.suggestHoverAnchor(e);r&&t.push(r)}let n=e.target;if(n.type===6&&t.push(new Eh(0,n.range,e.event.posx,e.event.posy)),n.type===7){let r=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;!n.detail.isAfterLines&&typeof n.detail.horizontalDistanceToText==`number`&&n.detail.horizontalDistanceToText<r&&t.push(new Eh(0,n.range,e.event.posx,e.event.posy))}return t.length===0?this._startShowingOrUpdateHover(null,0,0,!1,e):(t.sort((e,t)=>t.priority-e.priority),this._startShowingOrUpdateHover(t[0],0,0,!1,e))}startShowingAtRange(e,t,n,r){this._startShowingOrUpdateHover(new Eh(0,e,void 0,void 0),t,n,r,null)}async updateMarkdownHoverVerbosityLevel(e,t,n){var r;(r=this._markdownHoverParticipant)==null||r.updateMarkdownHoverVerbosityLevel(e,t,n)}markdownHoverContentAtIndex(e){return this._markdownHoverParticipant?.markdownHoverContentAtIndex(e)??``}doesMarkdownHoverAtIndexSupportVerbosityAction(e,t){return this._markdownHoverParticipant?.doesMarkdownHoverAtIndexSupportVerbosityAction(e,t)??!1}containsNode(e){return e?this._widget.getDomNode().contains(e):!1}focus(){this._widget.focus()}scrollUp(){this._widget.scrollUp()}scrollDown(){this._widget.scrollDown()}scrollLeft(){this._widget.scrollLeft()}scrollRight(){this._widget.scrollRight()}pageUp(){this._widget.pageUp()}pageDown(){this._widget.pageDown()}goToTop(){this._widget.goToTop()}goToBottom(){this._widget.goToBottom()}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}get isColorPickerVisible(){return this._widget.isColorPickerVisible}get isVisibleFromKeyboard(){return this._widget.isVisibleFromKeyboard}get isVisible(){return this._widget.isVisible}get isFocused(){return this._widget.isFocused}get isResizing(){return this._widget.isResizing}get widget(){return this._widget}};nv._DECORATION_OPTIONS=k.register({description:`content-hover-highlight`,className:`hoverHighlight`}),nv=tv=$_([ev(1,I),ev(2,$s)],nv);var rv=class{get lineNumber(){return this._lineNumber}set lineNumber(e){this._lineNumber=e}get lane(){return this._laneOrLine}set lane(e){this._laneOrLine=e}constructor(e){this._editor=e,this._lineNumber=-1,this._laneOrLine=ya.Center}computeSync(){let e=e=>({value:e}),t=this._editor.getLineDecorations(this._lineNumber),n=[],r=this._laneOrLine===`lineNo`;if(!t)return n;for(let i of t){let t=i.options.glyphMargin?.position??ya.Center;if(!r&&t!==this._laneOrLine)continue;let a=r?i.options.lineNumberHoverMessage:i.options.glyphMarginHoverMessage;!a||Ke(a)||n.push(...fo(a).map(e))}return n}},iv=K,av=class e extends U{constructor(e,t,n){super(),this._renderDisposeables=this._register(new V),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new ba),this._hover.containerDomNode.classList.toggle(`hidden`,!this._isVisible),this._markdownRenderer=this._register(new Oo({editor:this._editor},t,n)),this._computer=new rv(this._editor),this._hoverOperation=this._register(new Th(this._editor,this._computer)),this._register(this._hoverOperation.onResult(e=>{this._withResult(e.value)})),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(50)&&this._updateFont()})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return e.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName(`code`)).forEach(e=>this._editor.applyFontInfo(e))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}showsOrWillShow(e){let t=e.target;return t.type===2&&t.detail.glyphMarginLane?(this._startShowingAt(t.position.lineNumber,t.detail.glyphMarginLane),!0):t.type===3?(this._startShowingAt(t.position.lineNumber,`lineNo`),!0):!1}_startShowingAt(e,t){this._computer.lineNumber===e&&this._computer.lane===t||(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=e,this._computer.lane=t,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle(`hidden`,!this._isVisible))}_withResult(e){this._messages=e,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(e,t){this._renderDisposeables.clear();let n=document.createDocumentFragment();for(let e of t){let t=iv(`div.hover-row.markdown-hover`),r=Y(t,iv(`div.hover-contents`)),i=this._renderDisposeables.add(this._markdownRenderer.render(e.value));r.appendChild(i.element),n.appendChild(t)}this._updateContents(n),this._showAt(e)}_updateContents(e){this._hover.contentsDomNode.textContent=``,this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle(`hidden`,!this._isVisible));let t=this._editor.getLayoutInfo(),n=this._editor.getTopForLineNumber(e),r=this._editor.getScrollTop(),i=this._editor.getOption(67),a=this._hover.containerDomNode.clientHeight,o=n-r-(a-i)/2,s=t.glyphMarginLeft+t.glyphMarginWidth+(this._computer.lane===`lineNo`?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${s}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(o),0)}px`}};av.ID=`editor.contrib.modesGlyphHoverWidget`;var 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,lv=cv=class extends U{constructor(e,t,n){super(),this._editor=e,this._instantiationService=t,this._keybindingService=n,this._onHoverContentsChanged=this._register(new B),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new V,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new Hn(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}static get(e){return e.getContribution(cv.ID)}_hookListeners(){let e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.delay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown(e=>this._onEditorMouseDown(e))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(e=>this._onEditorMouseMove(e))),this._listenersStore.add(this._editor.onKeyDown(e=>this._onKeyDown(e)))):(this._listenersStore.add(this._editor.onMouseMove(e=>this._onEditorMouseMove(e))),this._listenersStore.add(this._editor.onKeyDown(e=>this._onKeyDown(e)))),this._listenersStore.add(this._editor.onMouseLeave(e=>this._onEditorMouseLeave(e))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(e=>this._onEditorScrollChanged(e)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0,!this._shouldNotHideCurrentHoverWidget(e)&&this._hideWidgets()}_shouldNotHideCurrentHoverWidget(e){return!!(this._isMouseOnContentHoverWidget(e)||this._isMouseOnMarginHoverWidget(e)||this._isContentWidgetResizing())}_isMouseOnMarginHoverWidget(e){let t=e.target;return t?t.type===12&&t.detail===av.ID:!1}_isMouseOnContentHoverWidget(e){let t=e.target;return t?t.type===9&&t.detail===Sh.ID:!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),!this._shouldNotHideCurrentHoverWidget(e)&&this._hideWidgets())}_shouldNotRecomputeCurrentHoverWidget(e){let t=this._hoverSettings.sticky;return!!(((e,t)=>{let n=this._isMouseOnMarginHoverWidget(e);return t&&n})(e,t)||((e,t)=>{let n=this._isMouseOnContentHoverWidget(e);return t&&n})(e,t)||(e=>{let t=this._isMouseOnContentHoverWidget(e),n=this._contentWidget?.isColorPickerVisible;return t&&n})(e)||((e,t)=>t&&this._contentWidget?.containsNode(e.event.browserEvent.view?.document.activeElement)&&!e.event.browserEvent.view?.getSelection()?.isCollapsed)(e,t))}_onEditorMouseMove(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._mouseMoveEvent=e,this._contentWidget?.isFocused||this._contentWidget?.isResizing))return;let t=this._hoverSettings.sticky;if(t&&this._contentWidget?.isVisibleFromKeyboard)return;if(this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}let n=this._hoverSettings.hidingDelay;if(this._contentWidget?.isVisible&&t&&n>0){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(n);return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){if(!e)return;let t=e.target.element?.classList.contains(`colorpicker-color-decoration`),n=this._editor.getOption(148),r=this._hoverSettings.enabled,i=this._hoverState.activatedByDecoratorClick;if(t&&(n===`click`&&!i||n===`hover`&&!r||n===`clickAndHover`&&!r&&!i)||!t&&!r&&!i){this._hideWidgets();return}this._tryShowHoverWidget(e,0)||this._tryShowHoverWidget(e,1)||this._hideWidgets()}_tryShowHoverWidget(e,t){let n=this._getOrCreateContentWidget(),r=this._getOrCreateGlyphWidget(),i,a;switch(t){case 0:i=n,a=r;break;case 1:i=r,a=n;break;default:throw Error(`HoverWidgetType ${t} is unrecognized`)}let o=i.showsOrWillShow(e);return o&&a.hide(),o}_onKeyDown(e){if(!this._editor.hasModel())return;let t=this._keybindingService.softDispatch(e,this._editor.getDomNode()),n=t.kind===1||t.kind===2&&(t.commandId===`editor.action.showHover`||t.commandId===`editor.action.increaseHoverVerbosityLevel`||t.commandId===`editor.action.decreaseHoverVerbosityLevel`)&&this._contentWidget?.isVisible;e.keyCode===5||e.keyCode===6||e.keyCode===57||e.keyCode===4||n||this._hideWidgets()}_hideWidgets(){var e,t;this._hoverState.mouseDown&&this._contentWidget?.isColorPickerVisible||lh.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(e=this._glyphWidget)==null||e.hide(),(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(nv,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged(()=>this._onHoverContentsChanged.fire()))),this._contentWidget}_getOrCreateGlyphWidget(){return this._glyphWidget||=this._instantiationService.createInstance(av,this._editor),this._glyphWidget}showContentHover(e,t,n,r,i=!1){this._hoverState.activatedByDecoratorClick=i,this._getOrCreateContentWidget().startShowingAtRange(e,t,n,r)}_isContentWidgetResizing(){return this._contentWidget?.widget.isResizing||!1}markdownHoverContentAtIndex(e){return this._getOrCreateContentWidget().markdownHoverContentAtIndex(e)}doesMarkdownHoverAtIndexSupportVerbosityAction(e,t){return this._getOrCreateContentWidget().doesMarkdownHoverAtIndexSupportVerbosityAction(e,t)}updateMarkdownHoverVerbosityLevel(e,t,n){this._getOrCreateContentWidget().updateMarkdownHoverVerbosityLevel(e,t,n)}focus(){var e;(e=this._contentWidget)==null||e.focus()}scrollUp(){var e;(e=this._contentWidget)==null||e.scrollUp()}scrollDown(){var e;(e=this._contentWidget)==null||e.scrollDown()}scrollLeft(){var e;(e=this._contentWidget)==null||e.scrollLeft()}scrollRight(){var e;(e=this._contentWidget)==null||e.scrollRight()}pageUp(){var e;(e=this._contentWidget)==null||e.pageUp()}pageDown(){var e;(e=this._contentWidget)==null||e.pageDown()}goToTop(){var e;(e=this._contentWidget)==null||e.goToTop()}goToBottom(){var e;(e=this._contentWidget)==null||e.goToBottom()}get isColorPickerVisible(){return this._contentWidget?.isColorPickerVisible}get isHoverVisible(){return this._contentWidget?.isVisible}dispose(){var e,t;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose(),(t=this._contentWidget)==null||t.dispose()}};lv.ID=`editor.contrib.hover`,lv=cv=ov([sv(1,I),sv(2,$s)],lv);var uv=class extends U{constructor(e){super(),this._editor=e,this._register(e.onMouseDown(e=>this.onMouseDown(e)))}dispose(){super.dispose()}onMouseDown(e){let t=this._editor.getOption(148);if(t!==`click`&&t!==`clickAndHover`)return;let n=e.target;if(n.type!==6||!n.detail.injectedText||n.detail.injectedText.options.attachedData!==gm||!n.range)return;let i=this._editor.getContribution(lv.ID);if(i&&!i.isColorPickerVisible){let e=new r(n.range.startLineNumber,n.range.startColumn+1,n.range.endLineNumber,n.range.endColumn+1);i.showContentHover(e,1,0,!1,!0)}}};uv.ID=`editor.contrib.colorContribution`,D(uv.ID,uv,2),Oh.register(Nm);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,mv,hv=pv=class extends U{constructor(e,t,n,r,i,a,o){super(),this._editor=e,this._modelService=n,this._keybindingService=r,this._instantiationService=i,this._languageFeatureService=a,this._languageConfigurationService=o,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=x.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=x.standaloneColorPickerFocused.bindTo(t)}showOrFocus(){var e;this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||(e=this._standaloneColorPickerWidget)==null||e.focus():this._standaloneColorPickerWidget=new vv(this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused,this._instantiationService,this._modelService,this._keybindingService,this._languageFeatureService,this._languageConfigurationService))}hide(){var e;this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),(e=this._standaloneColorPickerWidget)==null||e.hide(),this._editor.focus()}insertColor(){var e;(e=this._standaloneColorPickerWidget)==null||e.updateEditor(),this.hide()}static get(e){return e.getContribution(pv.ID)}};hv.ID=`editor.contrib.standaloneColorPickerController`,hv=pv=dv([fv(1,W),fv(2,qs),fv(3,$s),fv(4,I),fv(5,g),fv(6,Cc)],hv),D(hv.ID,hv,1);var gv=8,_v=22,vv=mv=class extends U{constructor(e,t,n,r,i,a,o,s){super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=n,this._modelService=i,this._keybindingService=a,this._languageFeaturesService=o,this._languageConfigurationService=s,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement(`div`),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new B),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=r.createInstance(Fm,this._editor),this._position=this._editor._getViewModel()?.getPrimaryCursorState().modelState.position;let c=this._editor.getSelection(),l=c?{startLineNumber:c.startLineNumber,startColumn:c.startColumn,endLineNumber:c.endLineNumber,endColumn:c.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},u=this._register(rt(this._body));this._register(u.onDidBlur(e=>{this.hide()})),this._register(u.onDidFocus(e=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(e=>{let t=e.target.element?.classList;t&&t.contains(`colorpicker-color-decoration`)&&this.hide()})),this._register(this.onResult(e=>{this._render(e.value,e.foundInEditor)})),this._start(l),this._body.style.zIndex=`50`,this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return mv.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;let e=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:e?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(e){let t=await this._computeAsync(e);t&&this._onResult.fire(new yv(t.result,t.foundInEditor))}async _computeAsync(e){if(!this._editor.hasModel())return null;let t={range:e,color:{red:0,green:0,blue:0,alpha:1}},n=await this._standaloneColorPickerParticipant.createColorHover(t,new im(this._modelService,this._languageConfigurationService),this._languageFeaturesService.colorProvider);return n?{result:n.colorHover,foundInEditor:n.foundInEditor}:null}_render(e,t){let n=document.createDocumentFragment(),r=this._register(new Q_(this._keybindingService)),i,a={fragment:n,statusBar:r,setColorPicker:e=>i=e,onContentsChanged:()=>{},hide:()=>this.hide()};if(this._colorHover=e,this._register(this._standaloneColorPickerParticipant.renderHoverParts(a,[e])),i===void 0)return;this._body.classList.add(`standalone-colorpicker-body`),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+`px`,this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*.66,500)+`px`,this._body.tabIndex=0,this._body.appendChild(n),i.layout();let o=i.body,s=o.saturationBox.domNode.clientWidth,c=o.domNode.clientWidth-s-_v-gv,l=i.body.enterButton;l?.onClicked(()=>{this.updateEditor(),this.hide()});let u=i.header,d=u.pickedColorNode;d.style.width=s+gv+`px`;let f=u.originalColorNode;f.style.width=c+`px`,i.header.closeButton?.onClicked(()=>{this.hide()}),t&&(l&&(l.button.textContent=`Replace`),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}};vv.ID=`editor.contrib.standaloneColorPickerWidget`,vv=mv=dv([fv(3,I),fv(4,qs),fv(5,$s),fv(6,g),fv(7,Cc)],vv);var yv=class{constructor(e,t){this.value=e,this.foundInEditor=t}},bv=class extends ar{constructor(){super({id:`editor.action.showOrFocusStandaloneColorPicker`,title:{...T(`showOrFocusStandaloneColorPicker`,`Show or Focus Standalone Color Picker`),mnemonicTitle:b({key:`mishowOrFocusStandaloneColorPicker`,comment:[`&& denotes a mnemonic`]},`&&Show or Focus Standalone Color Picker`)},precondition:void 0,menu:[{id:C.CommandPalette}],metadata:{description:T(`showOrFocusStandaloneColorPickerDescription`,`Show or focus a standalone color picker which uses the default color provider. It displays hex/rgb/hsl colors.`)}})}runEditorCommand(e,t){var n;(n=hv.get(t))==null||n.showOrFocus()}},xv=class extends J{constructor(){super({id:`editor.action.hideColorPicker`,label:b({key:`hideColorPicker`,comment:[`Action that hides the color picker`]},`Hide the Color Picker`),alias:`Hide the Color Picker`,precondition:x.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:T(`hideColorPickerDescription`,`Hide the standalone color picker.`)}})}run(e,t){var n;(n=hv.get(t))==null||n.hide()}},Sv=class extends J{constructor(){super({id:`editor.action.insertColorWithStandaloneColorPicker`,label:b({key:`insertColorWithStandaloneColorPicker`,comment:[`Action that inserts color with standalone color picker`]},`Insert Color with Standalone Color Picker`),alias:`Insert Color with Standalone Color Picker`,precondition:x.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:T(`insertColorWithStandaloneColorPickerDescription`,`Insert hex/rgb/hsl colors with the focused standalone color picker.`)}})}run(e,t){var n;(n=hv.get(t))==null||n.insertColor()}};y(xv),y(Sv),A(bv);var Cv=class e{constructor(e,t,n){this.languageConfigurationService=n,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,n){if(n<0)return!1;let r=t.length,i=e.length;if(n+r>i)return!1;for(let i=0;i<r;i++){let r=e.charCodeAt(n+i),a=t.charCodeAt(i);if(r!==a&&!(r>=65&&r<=90&&r+32===a)&&!(a>=65&&a<=90&&a+32===r))return!1}return!0}_createOperationsForBlockComment(t,n,i,a,o,s){let c=t.startLineNumber,l=t.startColumn,u=t.endLineNumber,d=t.endColumn,f=o.getLineContent(c),p=o.getLineContent(u),m=f.lastIndexOf(n,l-1+n.length),h=p.indexOf(i,d-1-i.length);if(m!==-1&&h!==-1)if(c===u)f.substring(m+n.length,h).indexOf(i)>=0&&(m=-1,h=-1);else{let e=f.substring(m+n.length),t=p.substring(0,h);(e.indexOf(i)>=0||t.indexOf(i)>=0)&&(m=-1,h=-1)}let ee;m!==-1&&h!==-1?(a&&m+n.length<f.length&&f.charCodeAt(m+n.length)===32&&(n+=` `),a&&h>0&&p.charCodeAt(h-1)===32&&(i=` `+i,--h),ee=e._createRemoveBlockCommentOperations(new r(c,m+n.length+1,u,h+1),n,i)):(ee=e._createAddBlockCommentOperations(t,n,i,this._insertSpace),this._usedEndToken=ee.length===1?i:null);for(let e of ee)s.addTrackedEditOperation(e.range,e.text)}static _createRemoveBlockCommentOperations(e,t,n){let i=[];return r.isEmpty(e)?i.push(pr.delete(new r(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+n.length))):(i.push(pr.delete(new r(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),i.push(pr.delete(new r(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+n.length)))),i}static _createAddBlockCommentOperations(e,t,n,i){let a=[];return r.isEmpty(e)?a.push(pr.replace(new r(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+` `+n)):(a.push(pr.insert(new R(e.startLineNumber,e.startColumn),t+(i?` `:``))),a.push(pr.insert(new R(e.endLineNumber,e.endColumn),(i?` `:``)+n))),a}getEditOperations(e,t){let n=this._selection.startLineNumber,r=this._selection.startColumn;e.tokenization.tokenizeIfCheap(n);let i=e.getLanguageIdAtPosition(n,r),a=this.languageConfigurationService.getLanguageConfiguration(i).comments;!a||!a.blockCommentStartToken||!a.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,a.blockCommentStartToken,a.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){let n=t.getInverseEditOperations();if(n.length===2){let e=n[0],t=n[1];return new O(e.range.endLineNumber,e.range.endColumn,t.range.startLineNumber,t.range.startColumn)}else{let e=n[0].range,t=this._usedEndToken?-this._usedEndToken.length-1:0;return new O(e.endLineNumber,e.endColumn+t,e.endLineNumber,e.endColumn+t)}}},wv=class e{constructor(e,t,n,r,i,a,o){this.languageConfigurationService=e,this._selection=t,this._indentSize=n,this._type=r,this._insertSpace=i,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=a,this._ignoreFirstLine=o||!1}static _gatherPreflightCommentStrings(e,t,n,r){e.tokenization.tokenizeIfCheap(t);let i=e.getLanguageIdAtPosition(t,1),a=r.getLanguageConfiguration(i).comments,o=a?a.lineCommentToken:null;if(!o)return null;let s=[];for(let e=0,r=n-t+1;e<r;e++)s[e]={ignore:!1,commentStr:o,commentStrOffset:0,commentStrLength:o.length};return s}static _analyzeLines(e,t,n,r,i,a,o,s){let c=!0,l;l=e===0?!0:e!==1;for(let s=0,u=r.length;s<u;s++){let u=r[s],d=i+s;if(d===i&&o){u.ignore=!0;continue}let f=n.getLineContent(d),p=kc(f);if(p===-1){u.ignore=a,u.commentStrOffset=f.length;continue}if(c=!1,u.ignore=!1,u.commentStrOffset=p,l&&!Cv._haystackHasNeedleAtOffset(f,u.commentStr,p)&&(e===0?l=!1:e===1||(u.ignore=!0)),l&&t){let e=p+u.commentStrLength;e<f.length&&f.charCodeAt(e)===32&&(u.commentStrLength+=1)}}if(e===0&&c){l=!1;for(let e=0,t=r.length;e<t;e++)r[e].ignore=!1}return{supported:!0,shouldRemoveComments:l,lines:r}}static _gatherPreflightData(t,n,r,i,a,o,s,c){let l=e._gatherPreflightCommentStrings(r,i,a,c);return l===null?{supported:!1}:e._analyzeLines(t,n,r,l,i,o,s,c)}_executeLineComments(t,n,i,a){let o;i.shouldRemoveComments?o=e._createRemoveLineCommentsOperations(i.lines,a.startLineNumber):(e._normalizeInsertionPoint(t,i.lines,a.startLineNumber,this._indentSize),o=this._createAddLineCommentsOperations(i.lines,a.startLineNumber));let s=new R(a.positionLineNumber,a.positionColumn);for(let e=0,i=o.length;e<i;e++)n.addEditOperation(o[e].range,o[e].text),r.isEmpty(o[e].range)&&r.getStartPosition(o[e].range).equals(s)&&t.getLineContent(s.lineNumber).length+1===s.column&&(this._deltaColumn=(o[e].text||``).length);this._selectionId=n.trackSelection(a)}_attemptRemoveBlockComment(e,t,n,i){let a=t.startLineNumber,o=t.endLineNumber,s=i.length+Math.max(e.getLineFirstNonWhitespaceColumn(t.startLineNumber),t.startColumn),c=e.getLineContent(a).lastIndexOf(n,s-1),l=e.getLineContent(o).indexOf(i,t.endColumn-1-n.length);return c!==-1&&l===-1&&(l=e.getLineContent(a).indexOf(i,c+n.length),o=a),c===-1&&l!==-1&&(c=e.getLineContent(o).lastIndexOf(n,l),a=o),t.isEmpty()&&(c===-1||l===-1)&&(c=e.getLineContent(a).indexOf(n),c!==-1&&(l=e.getLineContent(a).indexOf(i,c+n.length))),c!==-1&&e.getLineContent(a).charCodeAt(c+n.length)===32&&(n+=` `),l!==-1&&e.getLineContent(o).charCodeAt(l-1)===32&&(i=` `+i,--l),c!==-1&&l!==-1?Cv._createRemoveBlockCommentOperations(new r(a,c+n.length+1,o,l+1),n,i):null}_executeBlockComment(e,t,n){e.tokenization.tokenizeIfCheap(n.startLineNumber);let i=e.getLanguageIdAtPosition(n.startLineNumber,1),a=this.languageConfigurationService.getLanguageConfiguration(i).comments;if(!a||!a.blockCommentStartToken||!a.blockCommentEndToken)return;let o=a.blockCommentStartToken,s=a.blockCommentEndToken,c=this._attemptRemoveBlockComment(e,n,o,s);if(!c){if(n.isEmpty()){let t=e.getLineContent(n.startLineNumber),i=kc(t);i===-1&&(i=t.length),c=Cv._createAddBlockCommentOperations(new r(n.startLineNumber,i+1,n.startLineNumber,t.length+1),o,s,this._insertSpace)}else c=Cv._createAddBlockCommentOperations(new r(n.startLineNumber,e.getLineFirstNonWhitespaceColumn(n.startLineNumber),n.endLineNumber,e.getLineMaxColumn(n.endLineNumber)),o,s,this._insertSpace);c.length===1&&(this._deltaColumn=o.length+1)}this._selectionId=t.trackSelection(n);for(let e of c)t.addEditOperation(e.range,e.text)}getEditOperations(t,n){let i=this._selection;if(this._moveEndPositionDown=!1,i.startLineNumber===i.endLineNumber&&this._ignoreFirstLine){n.addEditOperation(new r(i.startLineNumber,t.getLineMaxColumn(i.startLineNumber),i.startLineNumber+1,1),i.startLineNumber===t.getLineCount()?``:`
8
+ `),this._selectionId=n.trackSelection(i);return}i.startLineNumber<i.endLineNumber&&i.endColumn===1&&(this._moveEndPositionDown=!0,i=i.setEndPosition(i.endLineNumber-1,t.getLineMaxColumn(i.endLineNumber-1)));let a=e._gatherPreflightData(this._type,this._insertSpace,t,i.startLineNumber,i.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);return a.supported?this._executeLineComments(t,n,a,i):this._executeBlockComment(t,n,i)}computeCursorState(e,t){let n=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(n=n.setEndPosition(n.endLineNumber+1,1)),new O(n.selectionStartLineNumber,n.selectionStartColumn+this._deltaColumn,n.positionLineNumber,n.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(e,t){let n=[];for(let i=0,a=e.length;i<a;i++){let a=e[i];a.ignore||n.push(pr.delete(new r(t+i,a.commentStrOffset+1,t+i,a.commentStrOffset+a.commentStrLength+1)))}return n}_createAddLineCommentsOperations(e,t){let n=[],r=this._insertSpace?` `:``;for(let i=0,a=e.length;i<a;i++){let a=e[i];a.ignore||n.push(pr.insert(new R(t+i,a.commentStrOffset+1),a.commentStr+r))}return n}static nextVisibleColumn(e,t,n,r){return n?e+(t-e%t):e+r}static _normalizeInsertionPoint(t,n,r,i){let a=1073741824,o,s;for(let o=0,s=n.length;o<s;o++){if(n[o].ignore)continue;let s=t.getLineContent(r+o),c=0;for(let t=0,r=n[o].commentStrOffset;c<a&&t<r;t++)c=e.nextVisibleColumn(c,i,s.charCodeAt(t)===9,1);c<a&&(a=c)}a=Math.floor(a/i)*i;for(let c=0,l=n.length;c<l;c++){if(n[c].ignore)continue;let l=t.getLineContent(r+c),u=0;for(o=0,s=n[c].commentStrOffset;u<a&&o<s;o++)u=e.nextVisibleColumn(u,i,l.charCodeAt(o)===9,1);u>a?n[c].commentStrOffset=o-1:n[c].commentStrOffset=o}}},Tv=class extends J{constructor(e,t){super(t),this._type=e}run(e,t){let n=e.get(Cc);if(!t.hasModel())return;let i=t.getModel(),a=[],o=i.getOptions(),s=t.getOption(23),c=t.getSelections().map((e,t)=>({selection:e,index:t,ignoreFirstLine:!1}));c.sort((e,t)=>r.compareRangesUsingStarts(e.selection,t.selection));let l=c[0];for(let e=1;e<c.length;e++){let t=c[e];l.selection.endLineNumber===t.selection.startLineNumber&&(l.index<t.index?t.ignoreFirstLine=!0:(l.ignoreFirstLine=!0,l=t))}for(let e of c)a.push(new wv(n,e.selection,o.indentSize,this._type,s.insertSpace,s.ignoreEmptyLines,e.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}},Ev=class extends Tv{constructor(){super(0,{id:`editor.action.commentLine`,label:b(`comment.line`,`Toggle Line Comment`),alias:`Toggle Line Comment`,precondition:x.writable,kbOpts:{kbExpr:x.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:C.MenubarEditMenu,group:`5_insert`,title:b({key:`miToggleLineComment`,comment:[`&& denotes a mnemonic`]},`&&Toggle Line Comment`),order:1}})}},Dv=class extends Tv{constructor(){super(1,{id:`editor.action.addCommentLine`,label:b(`comment.line.add`,`Add Line Comment`),alias:`Add Line Comment`,precondition:x.writable,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2081),weight:100}})}},Ov=class extends Tv{constructor(){super(2,{id:`editor.action.removeCommentLine`,label:b(`comment.line.remove`,`Remove Line Comment`),alias:`Remove Line Comment`,precondition:x.writable,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2099),weight:100}})}},kv=class extends J{constructor(){super({id:`editor.action.blockComment`,label:b(`comment.block`,`Toggle Block Comment`),alias:`Toggle Block Comment`,precondition:x.writable,kbOpts:{kbExpr:x.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:C.MenubarEditMenu,group:`5_insert`,title:b({key:`miToggleBlockComment`,comment:[`&& denotes a mnemonic`]},`Toggle &&Block Comment`),order:2}})}run(e,t){let n=e.get(Cc);if(!t.hasModel())return;let r=t.getOption(23),i=[],a=t.getSelections();for(let e of a)i.push(new Cv(e,r.insertSpace,n));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}};y(Ev),y(Dv),y(Ov),y(kv);var Av=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},jv=function(e,t){return function(n,r){t(n,r,e)}},Mv,Nv=Mv=class{static get(e){return e.getContribution(Mv.ID)}constructor(e,t,n,r,i,a,o,s){this._contextMenuService=t,this._contextViewService=n,this._contextKeyService=r,this._keybindingService=i,this._menuService=a,this._configurationService=o,this._workspaceContextService=s,this._toDispose=new V,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(e=>this._onContextMenu(e))),this._toDispose.add(this._editor.onMouseWheel(e=>{if(this._contextMenuIsBeingShownCount>0){let t=this._contextViewService.getContextViewElement(),n=e.srcElement;n.shadowRoot&&Cn(t)===n.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(e=>{this._editor.getOption(24)&&e.keyCode===58&&(e.preventDefault(),e.stopPropagation(),this.showContextMenu())}))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(24)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);return}if(e.target.type===12||e.target.type===6&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),e.target.type===11)return this._showScrollbarContextMenu(e.event);if(e.target.type!==6&&e.target.type!==7&&e.target.type!==1)return;if(this._editor.focus(),e.target.position){let t=!1;for(let n of this._editor.getSelections())if(n.containsPosition(e.target.position)){t=!0;break}t||this._editor.setPosition(e.target.position)}let t=null;e.target.type!==1&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(24)||!this._editor.hasModel())return;let t=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){let n=[],r=this._menuService.createMenu(t,this._contextKeyService),i=r.getActions({arg:e.uri});r.dispose();for(let t of i){let[,r]=t,i=0;for(let t of r)if(t instanceof gl){let r=this._getMenuActions(e,t.item.submenu);r.length>0&&(n.push(new xa(t.id,t.label,r)),i++)}else n.push(t),i++;i&&n.push(new s)}return n.length&&n.pop(),n}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;let n=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let r=t;if(!r){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();let e=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),t=je(this._editor.getDomNode());r={x:t.left+e.left,y:t.top+e.top+e.height}}let i=this._editor.getOption(127)&&!Wt;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:i?this._editor.getDomNode():void 0,getAnchor:()=>r,getActions:()=>e,getActionViewItem:e=>{let t=this._keybindingFor(e);if(t)return new ie(e,e,{label:!0,keybinding:t.getLabel(),isMenu:!0});let n=e;return typeof n.getActionViewItem==`function`?n.getActionViewItem():new ie(e,e,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:e=>this._keybindingFor(e),onHide:e=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:n})}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel()||Mc(this._workspaceContextService.getWorkspace()))return;let t=this._editor.getOption(73),n=0,r=e=>({id:`menu-action-${++n}`,label:e.label,tooltip:``,class:void 0,enabled:e.enabled===void 0?!0:e.enabled,checked:e.checked,run:e.run}),i=(e,t)=>new xa(`menu-action-${++n}`,e,t,void 0),a=(e,t,n,a,o)=>{if(!t)return r({label:e,enabled:t,run:()=>{}});let s=e=>()=>{this._configurationService.updateValue(n,e)},c=[];for(let e of o)c.push(r({label:e.label,checked:a===e.value,run:s(e.value)}));return i(e,c)},o=[];o.push(r({label:b(`context.minimap.minimap`,`Minimap`),checked:t.enabled,run:()=>{this._configurationService.updateValue(`editor.minimap.enabled`,!t.enabled)}})),o.push(new s),o.push(r({label:b(`context.minimap.renderCharacters`,`Render Characters`),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue(`editor.minimap.renderCharacters`,!t.renderCharacters)}})),o.push(a(b(`context.minimap.size`,`Vertical size`),t.enabled,`editor.minimap.size`,t.size,[{label:b(`context.minimap.size.proportional`,`Proportional`),value:`proportional`},{label:b(`context.minimap.size.fill`,`Fill`),value:`fill`},{label:b(`context.minimap.size.fit`,`Fit`),value:`fit`}])),o.push(a(b(`context.minimap.slider`,`Slider`),t.enabled,`editor.minimap.showSlider`,t.showSlider,[{label:b(`context.minimap.slider.mouseover`,`Mouse Over`),value:`mouseover`},{label:b(`context.minimap.slider.always`,`Always`),value:`always`}]));let c=this._editor.getOption(127)&&!Wt;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:c?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>o,onHide:e=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};Nv.ID=`editor.contrib.contextmenu`,Nv=Mv=Av([jv(1,Ks),jv(2,co),jv(3,W),jv(4,$s),jv(5,qe),jv(6,Va),jv(7,qo)],Nv);var Pv=class extends J{constructor(){super({id:`editor.action.showContextMenu`,label:b(`action.showContextMenu.label`,`Show Editor Context Menu`),alias:`Show Editor Context Menu`,precondition:void 0,kbOpts:{kbExpr:x.textInputFocus,primary:1092,weight:100}})}run(e,t){var n;(n=Nv.get(t))==null||n.showContextMenu()}};D(Nv.ID,Nv,2),y(Pv);var Fv=class{constructor(e){this.selections=e}equals(e){let t=this.selections.length;if(t!==e.selections.length)return!1;for(let n=0;n<t;n++)if(!this.selections[n].equalsSelection(e.selections[n]))return!1;return!0}},Iv=class{constructor(e,t,n){this.cursorState=e,this.scrollTop=t,this.scrollLeft=n}},Lv=class e extends U{static get(t){return t.getContribution(e.ID)}constructor(e){super(),this._editor=e,this._isCursorUndoRedo=!1,this._undoStack=[],this._redoStack=[],this._register(e.onDidChangeModel(e=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeModelContent(e=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo||!t.oldSelections||t.oldModelVersionId!==t.modelVersionId)return;let n=new Fv(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(n)||(this._undoStack.push(new Iv(n,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}cursorUndo(){!this._editor.hasModel()||this._undoStack.length===0||(this._redoStack.push(new Iv(new Fv(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){!this._editor.hasModel()||this._redoStack.length===0||(this._undoStack.push(new Iv(new Fv(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.cursorState.selections),this._editor.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}),this._isCursorUndoRedo=!1}};Lv.ID=`editor.contrib.cursorUndoRedoController`;var Rv=class extends J{constructor(){super({id:`cursorUndo`,label:b(`cursor.undo`,`Cursor Undo`),alias:`Cursor Undo`,precondition:void 0,kbOpts:{kbExpr:x.textInputFocus,primary:2099,weight:100}})}run(e,t,n){var r;(r=Lv.get(t))==null||r.cursorUndo()}},zv=class extends J{constructor(){super({id:`cursorRedo`,label:b(`cursor.redo`,`Cursor Redo`),alias:`Cursor Redo`,precondition:void 0})}run(e,t,n){var r;(r=Lv.get(t))==null||r.cursorRedo()}};D(Lv.ID,Lv,0),y(Rv),y(zv);var Bv=class{constructor(e,t,n){this.selection=e,this.targetPosition=t,this.copy=n,this.targetSelection=null}getEditOperations(e,t){let n=e.getValueInRange(this.selection);if(this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new r(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),n),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new O(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new O(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber<this.selection.endLineNumber){this.targetSelection=new O(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber+this.selection.endLineNumber-this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}this.selection.endColumn<=this.targetPosition.column?this.targetSelection=new O(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,(this.selection.startLineNumber,this.selection.endLineNumber,this.targetPosition.column-this.selection.endColumn+this.selection.startColumn),this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn):this.targetSelection=new O(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column+this.selection.endColumn-this.selection.startColumn)}computeCursorState(e,t){return this.targetSelection}};function Vv(e){return ce?e.altKey:e.ctrlKey}var Hv=class e extends U{constructor(e){super(),this._editor=e,this._dndDecorationIds=this._editor.createDecorationsCollection(),this._register(this._editor.onMouseDown(e=>this._onEditorMouseDown(e))),this._register(this._editor.onMouseUp(e=>this._onEditorMouseUp(e))),this._register(this._editor.onMouseDrag(e=>this._onEditorMouseDrag(e))),this._register(this._editor.onMouseDrop(e=>this._onEditorMouseDrop(e))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(e=>this.onEditorKeyDown(e))),this._register(this._editor.onKeyUp(e=>this.onEditorKeyUp(e))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(e){!this._editor.getOption(35)||this._editor.getOption(22)||(Vv(e)&&(this._modifierPressed=!0),this._mouseDown&&Vv(e)&&this._editor.updateOptions({mouseStyle:`copy`}))}onEditorKeyUp(t){!this._editor.getOption(35)||this._editor.getOption(22)||(Vv(t)&&(this._modifierPressed=!1),this._mouseDown&&t.keyCode===e.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:`default`}))}_onEditorMouseDown(e){this._mouseDown=!0}_onEditorMouseUp(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:`text`})}_onEditorMouseDrag(e){let t=e.target;if(this._dragSelection===null){let e=(this._editor.getSelections()||[]).filter(e=>t.position&&e.containsPosition(t.position));if(e.length===1)this._dragSelection=e[0];else return}Vv(e.event)?this._editor.updateOptions({mouseStyle:`copy`}):this._editor.updateOptions({mouseStyle:`default`}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:`text`}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(t){if(t.target&&(this._hitContent(t.target)||this._hitMargin(t.target))&&t.target.position){let n=new R(t.target.position.lineNumber,t.target.position.column);if(this._dragSelection===null){let e=null;if(t.event.shiftKey){let t=this._editor.getSelection();if(t){let{selectionStartLineNumber:r,selectionStartColumn:i}=t;e=[new O(r,i,n.lineNumber,n.column)]}}else e=(this._editor.getSelections()||[]).map(e=>e.containsPosition(n)?new O(n.lineNumber,n.column,n.lineNumber,n.column):e);this._editor.setSelections(e||[],`mouse`,3)}else (!this._dragSelection.containsPosition(n)||(Vv(t.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(n)||this._dragSelection.getStartPosition().equals(n)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(e.ID,new Bv(this._dragSelection,n,Vv(t.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:`text`}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(t){this._dndDecorationIds.set([{range:new r(t.lineNumber,t.column,t.lineNumber,t.column),options:e._DECORATION_OPTIONS}]),this._editor.revealPosition(t,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return e.type===6||e.type===7}_hitMargin(e){return e.type===2||e.type===3||e.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}};Hv.ID=`editor.contrib.dragAndDrop`,Hv.TRIGGER_KEY_VALUE=ce?6:5,Hv._DECORATION_OPTIONS=k.register({description:`dnd-target`,className:`dnd-target`}),D(Hv.ID,Hv,2);var Uv;D(ff.ID,ff,0),po(Td),_(new class extends be{constructor(){super({id:lf,precondition:uf,kbOpts:{weight:100,primary:2137}})}runEditorCommand(e,t){return ff.get(t)?.changePasteType()}}),_(new class extends be{constructor(){super({id:`editor.hidePasteWidget`,precondition:uf,kbOpts:{weight:100,primary:9}})}runEditorCommand(e,t){var n;(n=ff.get(t))==null||n.clearWidgets()}}),y((Uv=class extends J{constructor(){super({id:`editor.action.pasteAs`,label:b(`pasteAs`,`Paste As...`),alias:`Paste As...`,precondition:x.writable,metadata:{description:`Paste as`,args:[{name:`args`,schema:Uv.argsSchema}]}})}run(e,t,n){let r=typeof n?.kind==`string`?n.kind:void 0;return!r&&n&&(r=typeof n.id==`string`?n.id:void 0),ff.get(t)?.pasteAs(r?new Z(r):void 0)}},Uv.argsSchema={type:`object`,properties:{kind:{type:`string`,description:b(`pasteAs.kind`,`The kind of the paste edit to try applying. If not provided or there are multiple edits for this kind, the editor will show a picker.`)}}},Uv)),y(class extends J{constructor(){super({id:`editor.action.pasteAsText`,label:b(`pasteAsText`,`Paste as Text`),alias:`Paste as Text`,precondition:x.writable})}run(e,t){return ff.get(t)?.pasteAs({providerId:yd.id})}});var Wv=class{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){let t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}},Gv=class{constructor(e){this.identifier=e}},Kv=_s(`treeViewsDndService`);Jo(Kv,Wv,1);var qv=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Jv=function(e,t){return function(n,r){t(n,r,e)}},Yv,Xv=`editor.experimental.dropIntoEditor.defaultProvider`,Zv=`editor.changeDropType`,Qv=new w(`dropWidgetVisible`,!1,b(`dropWidgetVisible`,`Whether the drop widget is showing`)),$v=Yv=class extends U{static get(e){return e.getContribution(Yv.ID)}constructor(e,t,n,r,i){super(),this._configService=n,this._languageFeaturesService=r,this._treeViewsDragAndDropService=i,this.treeItemsTransfer=dd.getInstance(),this._dropProgressManager=this._register(t.createInstance(Wd,`dropIntoEditor`,e)),this._postDropWidgetManager=this._register(t.createInstance(af,`dropIntoEditor`,e,Qv,{id:Zv,label:b(`postDropWidgetTitle`,`Show drop options...`)})),this._register(e.onDropIntoEditor(t=>this.onDropIntoEditor(e,t.position,t.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,n){var i;if(!n.dataTransfer||!e.hasModel())return;(i=this._currentOperation)==null||i.cancel(),e.focus(),e.setPosition(t);let a=lc(async i=>{let o=new Lc(e,1,void 0,i);try{let a=await this.extractDataTransferData(n);if(a.size===0||o.token.isCancellationRequested)return;let s=e.getModel();if(!s)return;let c=this._languageFeaturesService.documentDropEditProvider.ordered(s).filter(e=>e.dropMimeTypes?e.dropMimeTypes.some(e=>a.matches(e)):!0),l=await this.getDropEdits(c,s,t,a,o);if(o.token.isCancellationRequested)return;if(l.length){let n=this.getInitialActiveEditIndex(s,l),a=e.getOption(36).showDropSelector===`afterDrop`;await this._postDropWidgetManager.applyEditAndShowIfNeeded([r.fromPositions(t)],{activeEditIndex:n,allEdits:l},a,async e=>e,i)}}finally{o.dispose(),this._currentOperation===a&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,b(`dropIntoEditorProgress`,`Running drop handlers. Click to cancel`),a),this._currentOperation=a}async getDropEdits(e,t,n,r,i){return zd(ys(await ro(Promise.all(e.map(async e=>{try{return(await e.provideDocumentDropEdits(t,n,r,i.token))?.map(t=>({...t,providerId:e.id}))}catch(e){console.error(e)}})),i.token)??[]).flat())}getInitialActiveEditIndex(e,t){let n=this._configService.getValue(Xv,{resource:e.uri});for(let[e,r]of Object.entries(n)){let n=new Z(r),i=t.findIndex(t=>n.value===t.providerId&&t.handledMimeType&&od(e,[t.handledMimeType]));if(i>=0)return i}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new id;let t=hd(e.dataTransfer);if(this.treeItemsTransfer.hasData(Gv.prototype)){let e=this.treeItemsTransfer.getData(Gv.prototype);if(Array.isArray(e))for(let n of e){let e=await this._treeViewsDragAndDropService.removeDragOperationTransfer(n.identifier);if(e)for(let[n,r]of e)t.replace(n,r)}}return t}};$v.ID=`editor.contrib.dropIntoEditorController`,$v=Yv=qv([Jv(1,I),Jv(2,Va),Jv(3,g),Jv(4,Kv)],$v),D($v.ID,$v,2),po(wd),_(new class extends be{constructor(){super({id:Zv,precondition:Qv,kbOpts:{weight:100,primary:2137}})}runEditorCommand(e,t,n){var r;(r=$v.get(t))==null||r.changeDropType()}}),_(new class extends be{constructor(){super({id:`editor.hideDropWidget`,precondition:Qv,kbOpts:{weight:100,primary:9}})}runEditorCommand(e,t,n){var r;(r=$v.get(t))==null||r.clearWidgets()}}),wr.as(Aa.Configuration).registerConfiguration({...Le,properties:{[Xv]:{type:`object`,scope:5,description:b(`defaultProviderDescription`,`Configures the default drop provider to use for content of a given mime type.`),default:{},additionalProperties:{type:`string`}}}});var ey=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._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(t.id)}return 0}setCurrentFindMatch(t){let n=null,i=0;if(t)for(let e=0,r=this._decorations.length;e<r;e++){let r=this._editor.getModel().getDecorationRange(this._decorations[e]);if(t.equalsRange(r)){n=this._decorations[e],i=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 i=this._editor.getModel().getDecorationRange(n);if(i.startLineNumber!==i.endLineNumber&&i.endColumn===1){let e=i.endLineNumber-1,t=this._editor.getModel().getLineMaxColumn(e);i=new r(i.startLineNumber,i.startColumn,e,t)}this._rangeHighlightDecorationId=t.addDecoration(i,e._RANGE_HIGHLIGHT_DECORATION)}}),i}set(t,n){this._editor.changeDecorations(i=>{let a=e._FIND_MATCH_DECORATION,o=[];if(t.length>1e3){a=e._FIND_MATCH_NO_OVERVIEW_DECORATION;let n=this._editor.getModel().getLineCount(),i=this._editor.getLayoutInfo().height/n,s=Math.max(2,Math.ceil(3/i)),c=t[0].range.startLineNumber,l=t[0].range.endLineNumber;for(let n=1,i=t.length;n<i;n++){let i=t[n].range;l+s>=i.startLineNumber?i.endLineNumber>l&&(l=i.endLineNumber):(o.push({range:new r(c,1,l,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),c=i.startLineNumber,l=i.endLineNumber)}o.push({range:new r(c,1,l,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}let s=Array(t.length);for(let e=0,n=t.length;e<n;e++)s[e]={range:t[e].range,options:a};this._decorations=i.deltaDecorations(this._decorations,s),this._overviewRulerApproximateDecorations=i.deltaDecorations(this._overviewRulerApproximateDecorations,o),this._rangeHighlightDecorationId&&=(i.removeDecoration(this._rangeHighlightDecorationId),null),this._findScopeDecorationIds.length&&(this._findScopeDecorationIds.forEach(e=>i.removeDecoration(e)),this._findScopeDecorationIds=[]),n?.length&&(this._findScopeDecorationIds=n.map(t=>i.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}};ey._CURRENT_FIND_MATCH_DECORATION=k.register({description:`current-find-match`,stickiness:1,zIndex:13,className:`currentFindMatch`,inlineClassName:`currentFindMatchInline`,showIfCollapsed:!0,overviewRuler:{color:ca(oa),position:as.Center},minimap:{color:ca(Ut),position:1}}),ey._FIND_MATCH_DECORATION=k.register({description:`find-match`,stickiness:1,zIndex:10,className:`findMatch`,inlineClassName:`findMatchInline`,showIfCollapsed:!0,overviewRuler:{color:ca(oa),position:as.Center},minimap:{color:ca(Ut),position:1}}),ey._FIND_MATCH_NO_OVERVIEW_DECORATION=k.register({description:`find-match-no-overview`,stickiness:1,className:`findMatch`,showIfCollapsed:!0}),ey._FIND_MATCH_ONLY_OVERVIEW_DECORATION=k.register({description:`find-match-only-overview`,stickiness:1,overviewRuler:{color:ca(oa),position:as.Center}}),ey._RANGE_HIGHLIGHT_DECORATION=k.register({description:`find-range-highlight`,stickiness:1,className:`rangeHighlight`,isWholeLine:!0}),ey._FIND_SCOPE_DECORATION=k.register({description:`find-scope`,className:`findScope`,isWholeLine:!0});var ty=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)=>r.compareRangesUsingStarts(e.range,t.range));let n=[],i=e[0];for(let t=1;t<e.length;t++)i.range.endLineNumber===e[t].range.startLineNumber&&i.range.endColumn===e[t].range.startColumn?(i.range=i.range.plusRange(e[t].range),i.text+=e[t].text):(n.push(i),i=e[t]);n.push(i);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 ny(e,t){if(e&&e[0]!==``){let n=ry(e,t,`-`),r=ry(e,t,`_`);return n&&!r?iy(e,t,`-`):!n&&r?iy(e,t,`_`):e[0].toUpperCase()===e[0]?t.toUpperCase():e[0].toLowerCase()===e[0]?t.toLowerCase():La(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}else return t}function ry(e,t,n){return e[0].indexOf(n)!==-1&&t.indexOf(n)!==-1&&e[0].split(n).length===t.split(n).length}function iy(e,t,n){let r=t.split(n),i=e[0].split(n),a=``;return r.forEach((e,t)=>{a+=ny([i[t]],e)+n}),a.slice(0,-1)}var ay=class{constructor(e){this.staticValue=e,this.kind=0}},oy=class{constructor(e){this.pieces=e,this.kind=1}},sy=class e{static fromStaticValue(t){return new e([cy.staticValue(t)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new ay(``):e.length===1&&e[0].staticValue!==null?this._state=new ay(e[0].staticValue):this._state=new oy(e)}buildReplaceString(t,n){if(this._state.kind===0)return n?ny(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}},cy=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,!n||n.length===0?this.caseOps=null:this.caseOps=n.slice(0)}},ly=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++]=cy.staticValue(this._currentStaticPiece),this._currentStaticPiece=``),this._result[this._resultLen++]=cy.caseOps(e,n),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=cy.staticValue(this._currentStaticPiece),this._currentStaticPiece=``),new sy(this._result)}};function uy(e){if(!e||e.length===0)return new sy(null);let t=[],n=new ly(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(`
9
+ `,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));break}continue}if(a===36){if(r++,r>=i)break;let a=e.charCodeAt(r);if(a===36){n.emitUnchanged(r-1),n.emitStatic(`$`,r+1);continue}if(a===48||a===38){n.emitUnchanged(r-1),n.emitMatchIndex(0,r+1,t),t.length=0;continue}if(49<=a&&a<=57){let o=a-48;if(r+1<i){let i=e.charCodeAt(r+1);if(48<=i&&i<=57){r++,o=o*10+(i-48),n.emitUnchanged(r-2),n.emitMatchIndex(o,r+1,t),t.length=0;continue}}n.emitUnchanged(r-1),n.emitMatchIndex(o,r+1,t),t.length=0;continue}}}return n.finalize()}var dy=new w(`findWidgetVisible`,!1);dy.toNegated();var fy=new w(`findInputFocussed`,!1),py=new w(`replaceInputFocussed`,!1),my={primary:545,mac:{primary:2593}},hy={primary:565,mac:{primary:2613}},gy={primary:560,mac:{primary:2608}},_y={primary:554,mac:{primary:2602}},vy={primary:558,mac:{primary:2606}},Q={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`},yy=19999,by=240,xy=class e{constructor(e,t){this._toDispose=new V,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new l,this._decorations=new ey(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new Hn(()=>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,jc(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)},by)):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 r(e.startLineNumber,1,t,this._editor.getModel().getLineMaxColumn(t))}return e}));let i=this._findMatches(n,!1,yy);this._decorations.set(i,n);let a=this._editor.getSelection(),o=this._decorations.getCurrentMatchesPosition(a);if(o===0&&i.length>0){let e=wt(i.map(e=>e.range),e=>r.compareRangesUsingStarts(e,a)>=0);o=e>0?e-1+1:o}this._state.changeMatchInfo(o,this._decorations.getCount(),void 0),e&&this._editor.getOption(41).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 R(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 R(a,o),l=s.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(131):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(131):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 R(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 R(s,c),d=l.findNextMatch(this._state.searchString,u,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(131):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(131):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?uy(this._state.replaceString):sy.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 ns(t,r);this._executeEditorCommand(`replace`,i),this._decorations.setStartPosition(new R(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(131):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 n(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(131):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 r=this._editor.getModel(),i=r.getValue(1),a=r.getFullModelRange(),o=this._getReplacePattern(),s,c=this._state.preserveCase;s=o.hasReplacementPatterns||c?i.replace(t,function(){return o.buildReplaceString(arguments,c)}):i.replace(t,o.buildReplaceString(null,c));let l=new Hs(a,s,this._editor.getSelection());this._executeEditorCommand(`replaceAll`,l)}_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 ty(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 O(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}}},Sy=class e extends Ac{constructor(e,t,n){super(),this._hideSoon=this._register(new Hn(()=>this._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=n,this._domNode=document.createElement(`div`),this._domNode.className=`findOptionsWidget`,this._domNode.style.display=`none`,this._domNode.style.top=`10px`,this._domNode.style.zIndex=`12`,this._domNode.setAttribute(`role`,`presentation`),this._domNode.setAttribute(`aria-hidden`,`true`);let r={inputActiveOptionBorder:nl($t),inputActiveOptionForeground:nl(ln),inputActiveOptionBackground:nl(go)},i=this._register(oo());this.caseSensitive=this._register(new Ii({appendTitle:this._keybindingLabelFor(Q.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverDelegate:i,...r})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new ac({appendTitle:this._keybindingLabelFor(Q.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverDelegate:i,...r})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new vs({appendTitle:this._keybindingLabelFor(Q.ToggleRegexCommand),isChecked:this._state.isRegex,hoverDelegate:i,...r})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(e=>{let t=!1;e.isRegex&&(this.regex.checked=this._state.isRegex,t=!0),e.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,t=!0),e.matchCase&&(this.caseSensitive.checked=this._state.matchCase,t=!0),!this._state.isRevealed&&t&&this._revealTemporarily()})),this._register(z(this._domNode,Ds.MOUSE_LEAVE,e=>this._onMouseLeave())),this._register(z(this._domNode,`mouseover`,e=>this._onMouseOver()))}_keybindingLabelFor(e){let t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:``}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return e.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display=`block`)}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display=`none`)}};Sy.ID=`editor.contrib.findOptionsWidget`;function Cy(e,t){return e===1?!0:e===2?!1:t}var wy=class extends U{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return Cy(this._isRegexOverride,this._isRegex)}get wholeWord(){return Cy(this._wholeWordOverride,this._wholeWord)}get matchCase(){return Cy(this._matchCaseOverride,this._matchCase)}get preserveCase(){return Cy(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new B),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString=``,this._replaceString=``,this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(e,t,n){let i={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1},a=!1;t===0&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,i.matchesPosition=!0,a=!0),this._matchesCount!==t&&(this._matchesCount=t,i.matchesCount=!0,a=!0),n!==void 0&&(r.equalsRange(this._currentMatch,n)||(this._currentMatch=n,i.currentMatch=!0,a=!0)),a&&this._onFindReplaceStateChange.fire(i)}change(e,t,n=!0){let i={moveCursor:t,updateHistory:n,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1},a=!1,o=this.isRegex,s=this.wholeWord,c=this.matchCase,l=this.preserveCase;e.searchString!==void 0&&this._searchString!==e.searchString&&(this._searchString=e.searchString,i.searchString=!0,a=!0),e.replaceString!==void 0&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,i.replaceString=!0,a=!0),e.isRevealed!==void 0&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,i.isRevealed=!0,a=!0),e.isReplaceRevealed!==void 0&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,i.isReplaceRevealed=!0,a=!0),e.isRegex!==void 0&&(this._isRegex=e.isRegex),e.wholeWord!==void 0&&(this._wholeWord=e.wholeWord),e.matchCase!==void 0&&(this._matchCase=e.matchCase),e.preserveCase!==void 0&&(this._preserveCase=e.preserveCase),e.searchScope!==void 0&&(e.searchScope?.every(e=>this._searchScope?.some(t=>!r.equalsRange(t,e)))||(this._searchScope=e.searchScope,i.searchScope=!0,a=!0)),e.loop!==void 0&&this._loop!==e.loop&&(this._loop=e.loop,i.loop=!0,a=!0),e.isSearching!==void 0&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,i.isSearching=!0,a=!0),e.filters!==void 0&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,i.filters=!0,a=!0),this._isRegexOverride=e.isRegexOverride===void 0?0:e.isRegexOverride,this._wholeWordOverride=e.wholeWordOverride===void 0?0:e.wholeWordOverride,this._matchCaseOverride=e.matchCaseOverride===void 0?0:e.matchCaseOverride,this._preserveCaseOverride=e.preserveCaseOverride===void 0?0:e.preserveCaseOverride,o!==this.isRegex&&(a=!0,i.isRegex=!0),s!==this.wholeWord&&(a=!0,i.wholeWord=!0),c!==this.matchCase&&(a=!0,i.matchCase=!0),l!==this.preserveCase&&(a=!0,i.preserveCase=!0),a&&this._onFindReplaceStateChange.fire(i)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=19999}},Ty=b(`defaultLabel`,`input`),Ey=b(`label.preserveCaseToggle`,`Preserve Case`),Dy=class extends Tc{constructor(e){super({icon:N.preserveCase,title:Ey+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??Ni(`element`),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}},Oy=class extends Ac{constructor(e,t,n,r){super(),this._showOptionButtons=n,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new B),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new B),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new B),this._onInput=this._register(new B),this._onKeyUp=this._register(new B),this._onPreserveCaseKeyDown=this._register(new B),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=r.placeholder||``,this.validation=r.validation,this.label=r.label||Ty;let i=r.appendPreserveCaseLabel||``,a=r.history||[],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 uo(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 Dy({appendTitle:i,isChecked:!1,...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._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;let l=[this.preserveCase.domNode];this.onkeydown(this.domNode,e=>{if(e.equals(15)||e.equals(17)||e.equals(9)){let t=l.indexOf(this.domNode.ownerDocument.activeElement);if(t>=0){let n=-1;e.equals(17)?n=(t+1)%l.length:e.equals(15)&&(n=t===0?l.length-1:t-1),e.equals(9)?(l[t].blur(),this.inputBox.focus()):n>=0&&l[n].focus(),Ma.stop(e,!0)}}});let u=document.createElement(`div`);u.className=`controls`,u.style.display=this._showOptionButtons?`block`:`none`,u.appendChild(this.preserveCase.domNode),this.domNode.appendChild(u),e?.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,e=>this._onKeyDown.fire(e)),this.onkeyup(this.inputBox.inputElement,e=>this._onKeyUp.fire(e)),this.oninput(this.inputBox.inputElement,e=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,e=>this._onMouseDown.fire(e))}enable(){this.domNode.classList.remove(`disabled`),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add(`disabled`),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){var e;(e=this.inputBox)==null||e.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+`px`}dispose(){super.dispose()}},ky=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)}},jy=new w(`suggestWidgetVisible`,!1,b(`suggestWidgetVisible`,`Whether suggestion are visible`)),My=`historyNavigationWidgetFocus`,Ny=`historyNavigationForwardsEnabled`,Py=`historyNavigationBackwardsEnabled`,Fy=void 0,Iy=[];function Ly(e,t){if(Iy.includes(t))throw Error(`Cannot register the same widget multiple times`);Iy.push(t);let n=new V,r=new w(My,!1).bindTo(e),i=new w(Ny,!0).bindTo(e),a=new w(Py,!0).bindTo(e),o=()=>{r.set(!0),Fy=t},s=()=>{r.set(!1),Fy===t&&(Fy=void 0)};return Ye(t.element)&&o(),n.add(t.onDidFocus(()=>o())),n.add(t.onDidBlur(()=>s())),n.add(Hi(()=>{Iy.splice(Iy.indexOf(t),1),s()})),{historyNavigationForwardsEnablement:i,historyNavigationBackwardsEnablement:a,dispose(){n.dispose()}}}var Ry=class extends Js{constructor(e,t,n,r){super(e,t,n);let i=this._register(r.createScoped(this.inputBox.element));this._register(Ly(i,this.inputBox))}};Ry=ky([Ay(3,W)],Ry);var zy=class extends Oy{constructor(e,t,n,r,i=!1){super(e,t,i,n);let a=this._register(r.createScoped(this.inputBox.element));this._register(Ly(a,this.inputBox))}};zy=ky([Ay(3,W)],zy),ut.registerCommandAndKeybindingRule({id:`history.showPrevious`,weight:200,when:E.and(E.has(My),E.equals(Py,!0),E.not(`isComposing`),jy.isEqualTo(!1)),primary:16,secondary:[528],handler:e=>{Fy?.showPreviousValue()}}),ut.registerCommandAndKeybindingRule({id:`history.showNext`,weight:200,when:E.and(E.has(My),E.equals(Ny,!0),E.not(`isComposing`),jy.isEqualTo(!1)),primary:18,secondary:[530],handler:e=>{Fy?.showNextValue()}});function By(e){return e.lookupKeybinding(`history.showPrevious`)?.getElectronAccelerator()===`Up`&&e.lookupKeybinding(`history.showNext`)?.getElectronAccelerator()===`Down`}var Vy=ul(`find-collapsed`,N.chevronRight,b(`findCollapsedIcon`,`Icon to indicate that the editor find widget is collapsed.`)),Hy=ul(`find-expanded`,N.chevronDown,b(`findExpandedIcon`,`Icon to indicate that the editor find widget is expanded.`)),Uy=ul(`find-selection`,N.selection,b(`findSelectionIcon`,`Icon for 'Find in Selection' in the editor find widget.`)),Wy=ul(`find-replace`,N.replace,b(`findReplaceIcon`,`Icon for 'Replace' in the editor find widget.`)),Gy=ul(`find-replace-all`,N.replaceAll,b(`findReplaceAllIcon`,`Icon for 'Replace All' in the editor find widget.`)),Ky=ul(`find-previous-match`,N.arrowUp,b(`findPreviousMatchIcon`,`Icon for 'Find Previous' in the editor find widget.`)),qy=ul(`find-next-match`,N.arrowDown,b(`findNextMatchIcon`,`Icon for 'Find Next' in the editor find widget.`)),Jy=b(`label.findDialog`,`Find / Replace`),Yy=b(`label.find`,`Find`),Xy=b(`placeholder.find`,`Find`),Zy=b(`label.previousMatchButton`,`Previous Match`),Qy=b(`label.nextMatchButton`,`Next Match`),$y=b(`label.toggleSelectionFind`,`Find in Selection`),eb=b(`label.closeButton`,`Close`),tb=b(`label.replace`,`Replace`),nb=b(`placeholder.replace`,`Replace`),rb=b(`label.replaceButton`,`Replace`),ib=b(`label.replaceAllButton`,`Replace All`),ab=b(`label.toggleReplaceButton`,`Toggle Replace`),ob=b(`title.matchesCountLimit`,`Only the first {0} results are highlighted, but all find operations work on the entire text.`,yy),sb=b(`label.matchesLocation`,`{0} of {1}`),cb=b(`label.noResults`,`No results`),lb=419,ub=221,db=69,fb=33,pb=`ctrlEnterReplaceAll.windows.donotask`,mb=ce?256:2048,hb=class{constructor(e){this.afterLineNumber=e,this.heightInPx=fb,this.suppressMouseDown=!1,this.domNode=document.createElement(`div`),this.domNode.className=`dock-find-viewzone`}};function gb(e,t,n){let r=!!t.match(/\n/);if(n&&r&&n.selectionStart>0){e.stopPropagation();return}}function _b(e,t,n){let r=!!t.match(/\n/);if(n&&r&&n.selectionEnd<n.value.length){e.stopPropagation();return}}var vb=class e extends Ac{constructor(e,t,n,r,i,a,o,s,c,l){super(),this._hoverService=l,this._cachedHeight=null,this._revealTimeouts=[],this._codeEditor=e,this._controller=t,this._state=n,this._contextViewProvider=r,this._keybindingService=i,this._contextKeyService=a,this._storageService=s,this._notificationService=c,this._ctrlEnterReplaceAllWarningPrompted=!!s.getBoolean(pb,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new _i(500),this._register(Hi(()=>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(91)&&(this._codeEditor.getOption(91)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),e.hasChanged(145)&&this._tryUpdateWidgetWidth(),e.hasChanged(2)&&this.updateAccessibilitySupport(),e.hasChanged(41)){let e=this._codeEditor.getOption(41).loop;this._state.change({loop:e},!1);let t=this._codeEditor.getOption(41).addExtraSpaceOnTop;t&&!this._viewZone&&(this._viewZone=new hb(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=fy.bindTo(a),this._findFocusTracker=this._register(rt(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=py.bindTo(a),this._replaceFocusTracker=this._register(rt(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(41).addExtraSpaceOnTop&&(this._viewZone=new hb(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(e=>{if(e.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return e.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(91)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=xo(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,v)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){this._matchesCount.style.minWidth=db+`px`,this._state.matchesCount>=19999?this._matchesCount.title=ob:this._matchesCount.title=``,this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild);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=rl(sb,n,t)}else e=cb;this._matchesCount.appendChild(document.createTextNode(e)),_n(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),db=Math.max(db,this._matchesCount.clientWidth)}_getAriaLabel(e,t,n){if(e===cb)return n===``?b(`ariaSearchNoResultEmpty`,`{0} found`,e):b(`ariaSearchNoResult`,`{0} found for '{1}'`,e,n);if(t){let r=b(`ariaSearchNoResultWithLineNum`,`{0} found for '{1}', at {2}`,e,n,t.startLineNumber+`:`+t.startColumn),i=this._codeEditor.getModel();return i&&t.startLineNumber<=i.getLineCount()&&t.startLineNumber>=1?`${i.getLineContent(t.startLineNumber)}, ${r}`:r}return b(`ariaSearchNoResultWithLineNumNoCurrentMatch`,`{0} found for '{1}'`,e,n)}_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(91);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(41).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}default:break}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add(`visible`),this._domNode.setAttribute(`aria-hidden`,`false`)},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&e){let n=this._codeEditor.getDomNode();if(n){let r=je(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=jo(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._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(41).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(41).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new hb(0));let t=this._viewZone;this._codeEditor.changeViewZones(n=>{if(this._viewZoneId!==void 0){let r=this._getHeight();if(r===t.heightInPx)return;let i=r-t.heightInPx;t.heightInPx=r,n.layoutZone(this._viewZoneId),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+i);return}else{let r=this._getHeight();if(r-=this._codeEditor.getOption(84).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}else 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&&xo(this._domNode)>lb){this._domNode.style.maxWidth=`${t-28-n-15}px`,this._replaceInput.width=xo(this._findInput.domNode);return}if(lb+28+n>=t&&(i=!0),lb+28+n-db>=t&&(a=!0),lb+28+n-db>=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=xo(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&&!r.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(mb|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(`
10
+ `),e.preventDefault();return}if(e.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return gb(e,this._findInput.getValue(),this._findInput.domNode.querySelector(`textarea`));if(e.equals(18))return _b(e,this._findInput.getValue(),this._findInput.domNode.querySelector(`textarea`))}_onReplaceInputKeyDown(e){if(e.equals(mb|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{Sr&&Mr&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(b(`ctrlEnter.keybindingChanged`,`Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.`)),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(pb,!0,0,0)),this._replaceInput.inputBox.insertAtCursor(`
11
+ `),e.preventDefault();return}if(e.equals(2)){this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(1026)){this._findInput.focus(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return gb(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector(`textarea`));if(e.equals(18))return _b(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector(`textarea`))}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){let t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:``}_buildDomNode(){this._findInput=this._register(new Ry(null,this._contextViewProvider,{width:ub,label:Yy,placeholder:Xy,appendCaseSensitiveLabel:this._keybindingLabelFor(Q.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(Q.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(Q.ToggleRegexCommand),validation:e=>{if(e.length===0||!this._findInput.getRegex())return null;try{return new RegExp(e,`gu`),null}catch(e){return{content:e.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>By(this._keybindingService),inputBoxStyles:Ce,toggleStyles:_r},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(e=>this._onFindInputKeyDown(e))),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(e=>{e.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),e.preventDefault())})),this._register(this._findInput.onRegexKeyDown(e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),e.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(e=>{this._tryUpdateHeight()&&this._showViewZone()})),qn&&this._register(this._findInput.onMouseDown(e=>this._onFindInputMouseDown(e))),this._matchesCount=document.createElement(`div`),this._matchesCount.className=`matchesCount`,this._updateMatchesCount();let e=this._register(oo());this._prevBtn=this._register(new yb({label:Zy+this._keybindingLabelFor(Q.PreviousMatchFindAction),icon:Ky,hoverDelegate:e,onTrigger:()=>{oi(this._codeEditor.getAction(Q.PreviousMatchFindAction)).run().then(void 0,v)}},this._hoverService)),this._nextBtn=this._register(new yb({label:Qy+this._keybindingLabelFor(Q.NextMatchFindAction),icon:qy,hoverDelegate:e,onTrigger:()=>{oi(this._codeEditor.getAction(Q.NextMatchFindAction)).run().then(void 0,v)}},this._hoverService));let t=document.createElement(`div`);t.className=`find-part`,t.appendChild(this._findInput.domNode);let n=document.createElement(`div`);n.className=`find-actions`,t.appendChild(n),n.appendChild(this._matchesCount),n.appendChild(this._prevBtn.domNode),n.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new Tc({icon:Uy,title:$y+this._keybindingLabelFor(Q.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:e,inputActiveOptionBackground:nl(go),inputActiveOptionBorder:nl($t),inputActiveOptionForeground:nl(ln)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let e=this._codeEditor.getSelections();e=e.map(e=>(e.endColumn===1&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e)).filter(e=>!!e),e.length&&this._state.change({searchScope:e},!0)}}else this._state.change({searchScope:null},!0)})),n.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new yb({label:eb+this._keybindingLabelFor(Q.CloseFindWidgetCommand),icon:ae,hoverDelegate:e,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),e.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new zy(null,void 0,{label:tb,placeholder:nb,appendPreserveCaseLabel:this._keybindingLabelFor(Q.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>By(this._keybindingService),inputBoxStyles:Ce,toggleStyles:_r},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(e=>this._onReplaceInputKeyDown(e))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(e=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(e=>{e.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),e.preventDefault())}));let r=this._register(oo());this._replaceBtn=this._register(new yb({label:rb+this._keybindingLabelFor(Q.ReplaceOneAction),icon:Wy,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:e=>{e.equals(1026)&&(this._closeBtn.focus(),e.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new yb({label:ib+this._keybindingLabelFor(Q.ReplaceAllAction),icon:Gy,hoverDelegate:r,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));let i=document.createElement(`div`);i.className=`replace-part`,i.appendChild(this._replaceInput.domNode);let a=document.createElement(`div`);a.className=`replace-actions`,i.appendChild(a),a.appendChild(this._replaceBtn.domNode),a.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new yb({label:ab,className:`codicon toggle left`,onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=xo(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}},this._hoverService)),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement(`div`),this._domNode.className=`editor-widget find-widget`,this._domNode.setAttribute(`aria-hidden`,`true`),this._domNode.ariaLabel=Jy,this._domNode.role=`dialog`,this._domNode.style.width=`${lb}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(t),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(i),this._resizeSash=this._register(new cs(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let o=lb;this._register(this._resizeSash.onDidStart(()=>{o=xo(this._domNode)})),this._register(this._resizeSash.onDidChange(e=>{this._resized=!0;let t=o+e.startX-e.currentX;t<lb||t>(parseFloat(ze(this._domNode).maxWidth)||0)||(this._domNode.style.width=`${t}px`,this._isReplaceVisible&&(this._replaceInput.width=xo(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{let e=xo(this._domNode);if(e<lb)return;let t=lb;if(!this._resized||e===lb){let e=this._codeEditor.getLayoutInfo();t=e.width-28-e.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${t}px`,this._isReplaceVisible&&(this._replaceInput.width=xo(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){let e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}};vb.ID=`editor.contrib.findWidget`;var yb=class extends Ac{constructor(e,t){super(),this._opts=e;let n=`button`;this._opts.className&&(n=n+` `+this._opts.className),this._opts.icon&&(n=n+` `+P.asClassName(this._opts.icon)),this._domNode=document.createElement(`div`),this._domNode.tabIndex=0,this._domNode.className=n,this._domNode.setAttribute(`role`,`button`),this._domNode.setAttribute(`aria-label`,this._opts.label),this._register(t.setupUpdatableHover(e.hoverDelegate??Ni(`element`),this._domNode,this._opts.label)),this.onclick(this._domNode,e=>{this._opts.onTrigger(),e.preventDefault()}),this.onkeydown(this._domNode,e=>{var t,n;if(e.equals(10)||e.equals(3)){this._opts.onTrigger(),e.preventDefault();return}(n=(t=this._opts).onKeyDown)==null||n.call(t,e)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle(`disabled`,!e),this._domNode.setAttribute(`aria-disabled`,String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute(`aria-expanded`,String(!!e)),e?(this._domNode.classList.remove(...P.asClassNameArray(Vy)),this._domNode.classList.add(...P.asClassNameArray(Hy))):(this._domNode.classList.remove(...P.asClassNameArray(Hy)),this._domNode.classList.add(...P.asClassNameArray(Vy)))}};bc((e,t)=>{let n=e.getColor(et);n&&t.addRule(`.monaco-editor .findMatch { border: 1px ${Bc(e.type)?`dotted`:`solid`} ${n}; box-sizing: border-box; }`);let r=e.getColor(Ns);r&&t.addRule(`.monaco-editor .findScope { border: 1px ${Bc(e.type)?`dashed`:`solid`} ${r}; }`);let i=e.getColor(Ia);i&&t.addRule(`.monaco-editor .find-widget { border: 1px solid ${i}; }`);let a=e.getColor(xr);a&&t.addRule(`.monaco-editor .findMatchInline { color: ${a}; }`);let o=e.getColor(Ft);o&&t.addRule(`.monaco-editor .currentFindMatchInline { color: ${o}; }`)});var bb=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},xb=function(e,t){return function(n,r){t(n,r,e)}},Sb,Cb=524288;function wb(e,t=`single`,n=!1){if(!e.hasModel())return null;let r=e.getSelection();if(t===`single`&&r.startLineNumber===r.endLineNumber||t===`multiple`){if(r.isEmpty()){let t=e.getConfiguredWordAtPosition(r.getStartPosition());if(t&&!1===n)return t.word}else if(e.getModel().getValueLengthInRange(r)<Cb)return e.getModel().getValueInRange(r)}return null}var Tb=Sb=class extends U{get editor(){return this._editor}static get(e){return e.getContribution(Sb.ID)}constructor(e,t,n,r,i,a){super(),this._editor=e,this._findWidgetVisible=dy.bindTo(t),this._contextKeyService=t,this._storageService=n,this._clipboardService=r,this._notificationService=i,this._hoverService=a,this._updateHistoryDelayer=new _i(500),this._state=this._register(new wy),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange(e=>this._onStateChanged(e))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{let e=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean(`editor.matchCase`,1,!1),wholeWord:this._storageService.getBoolean(`editor.wholeWord`,1,!1),isRegex:this._storageService.getBoolean(`editor.isRegex`,1,!1),preserveCase:this._storageService.getBoolean(`editor.preserveCase`,1,!1)},!1),e&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:`none`,seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(41).loop})}))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&=(this._model.dispose(),null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store(`editor.isRegex`,this._state.actualIsRegex,1,1),e.wholeWord&&this._storageService.store(`editor.wholeWord`,this._state.actualWholeWord,1,1),e.matchCase&&this._storageService.store(`editor.matchCase`,this._state.actualMatchCase,1,1),e.preserveCase&&this._storageService.store(`editor.preserveCase`,this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean(`editor.matchCase`,1,this._state.matchCase),wholeWord:this._storageService.getBoolean(`editor.wholeWord`,1,this._state.wholeWord),isRegex:this._storageService.getBoolean(`editor.isRegex`,1,this._state.isRegex),preserveCase:this._storageService.getBoolean(`editor.preserveCase`,1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!fy.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let e=this._editor.getSelections();e=e.map(e=>(e.endColumn===1&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._editor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e)).filter(e=>!!e),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=bi(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}async _start(e,t){if(this.disposeModel(),!this._editor.hasModel())return;let n={...t,isRevealed:!0};if(e.seedSearchStringFromSelection===`single`){let t=wb(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);t&&(this._state.isRegex?n.searchString=bi(t):n.searchString=t)}else if(e.seedSearchStringFromSelection===`multiple`&&!e.updateSearchScope){let t=wb(this._editor,e.seedSearchStringFromSelection);t&&(n.searchString=t)}if(!n.searchString&&e.seedSearchStringFromGlobalClipboard){let e=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;e&&(n.searchString=e)}if(e.forceRevealReplace||n.isReplaceRevealed?n.isReplaceRevealed=!0:this._findWidgetVisible.get()||(n.isReplaceRevealed=!1),e.updateSearchScope){let e=this._editor.getSelections();e.some(e=>!e.isEmpty())&&(n.searchScope=e)}n.loop=e.loop,this._state.change(n,!1),this._model||=new xy(this._editor,this._state)}start(e,t){return this._start(e,t)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}goToMatch(e){return this._model?(this._model.moveToMatch(e),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){return this._model?this._editor.getModel()?.isTooLargeForHeapOperation()?(this._notificationService.warn(b(`too.large.for.replaceall`,`The file is too large to perform a replace all operation.`)),!1):(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():``}setGlobalBufferTerm(e){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}};Tb.ID=`editor.contrib.findController`,Tb=Sb=bb([xb(1,W),xb(2,Me),xb(3,Tn),xb(4,Za),xb(5,Fi)],Tb);var Eb=class extends Tb{constructor(e,t,n,r,i,a,o,s,c){super(e,n,o,s,a,c),this._contextViewService=t,this._keybindingService=r,this._themeService=i,this._widget=null,this._findOptionsWidget=null}async _start(e,t){this._widget||this._createFindWidget();let n=this._editor.getSelection(),r=!1;switch(this._editor.getOption(41).autoFindInSelection){case`always`:r=!0;break;case`never`:r=!1;break;case`multiline`:r=!!n&&n.startLineNumber!==n.endLineNumber;break;default:break}e.updateSearchScope=e.updateSearchScope||r,await super._start(e,t),this._widget&&(e.shouldFocus===2?this._widget.focusReplaceInput():e.shouldFocus===1&&this._widget.focusFindInput())}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new vb(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new Sy(this._editor,this._state,this._keybindingService))}};Eb=bb([xb(1,co),xb(2,W),xb(3,$s),xb(4,Io),xb(5,Za),xb(6,Me),xb(7,Tn),xb(8,Fi)],Eb),yo(new mr({id:Q.StartFindAction,label:b(`startFindAction`,`Find`),alias:`Find`,precondition:E.or(x.focus,E.has(`editorIsOpen`)),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:C.MenubarEditMenu,group:`3_find`,title:b({key:`miFind`,comment:[`&& denotes a mnemonic`]},`&&Find`),order:1}})).addImplementation(0,(e,t,n)=>{let r=Tb.get(t);return r?r.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getOption(41).seedSearchStringFromSelection===`never`?`none`:`single`,seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection===`selection`,seedSearchStringFromGlobalClipboard:t.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}):!1});var Db={description:`Open a new In-Editor Find Widget.`,args:[{name:`Open a new In-Editor Find Widget args`,schema:{properties:{searchString:{type:`string`},replaceString:{type:`string`},isRegex:{type:`boolean`},matchWholeWord:{type:`boolean`},isCaseSensitive:{type:`boolean`},preserveCase:{type:`boolean`},findInSelection:{type:`boolean`}}}}]},Ob=class extends J{constructor(){super({id:Q.StartFindWithArgs,label:b(`startFindWithArgsAction`,`Find With Arguments`),alias:`Find With Arguments`,precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:Db})}async run(e,t,n){let r=Tb.get(t);if(r){let e=n?{searchString:n.searchString,replaceString:n.replaceString,isReplaceRevealed:n.replaceString!==void 0,isRegex:n.isRegex,wholeWord:n.matchWholeWord,matchCase:n.isCaseSensitive,preserveCase:n.preserveCase}:{};await r.start({forceRevealReplace:!1,seedSearchStringFromSelection:r.getState().searchString.length===0&&t.getOption(41).seedSearchStringFromSelection!==`never`?`single`:`none`,seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection===`selection`,seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:n?.findInSelection||!1,loop:t.getOption(41).loop},e),r.setGlobalBufferTerm(r.getState().searchString)}}},kb=class extends J{constructor(){super({id:Q.StartFindWithSelection,label:b(`startFindWithSelectionAction`,`Find With Selection`),alias:`Find With Selection`,precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(e,t){let n=Tb.get(t);n&&(await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:`multiple`,seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),n.setGlobalBufferTerm(n.getState().searchString))}},Ab=class extends J{async run(e,t){let n=Tb.get(t);n&&!this._run(n)&&(await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:n.getState().searchString.length===0&&t.getOption(41).seedSearchStringFromSelection!==`never`?`single`:`none`,seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection===`selection`,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(n))}},jb=class extends Ab{constructor(){super({id:Q.NextMatchFindAction,label:b(`findNextMatchAction`,`Find Next`),alias:`Find Next`,precondition:void 0,kbOpts:[{kbExpr:x.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:E.and(x.focus,fy),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}},Mb=class extends Ab{constructor(){super({id:Q.PreviousMatchFindAction,label:b(`findPreviousMatchAction`,`Find Previous`),alias:`Find Previous`,precondition:void 0,kbOpts:[{kbExpr:x.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:E.and(x.focus,fy),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}},Nb=class extends J{constructor(){super({id:Q.GoToMatchFindAction,label:b(`findMatchAction.goToMatch`,`Go to Match...`),alias:`Go to Match...`,precondition:dy}),this._highlightDecorations=[]}run(e,t,n){let r=Tb.get(t);if(!r)return;let i=r.getState().matchesCount;if(i<1){e.get(Za).notify({severity:Ha.Warning,message:b(`findMatchAction.noResults`,`No matches. Try searching for something else.`)});return}let a=e.get(pa).createInputBox();a.placeholder=b(`findMatchAction.inputPlaceHolder`,`Type a number to go to a specific match (between 1 and {0})`,i);let o=e=>{let t=parseInt(e);if(isNaN(t))return;let n=r.getState().matchesCount;if(t>0&&t<=n)return t-1;if(t<0&&t>=-n)return n+t},s=e=>{let n=o(e);if(typeof n==`number`){a.validationMessage=void 0,r.goToMatch(n);let e=r.getState().currentMatch;e&&this.addDecorations(t,e)}else a.validationMessage=b(`findMatchAction.inputValidationMessage`,`Please type a number between 1 and {0}`,r.getState().matchesCount),this.clearDecorations(t)};a.onDidChangeValue(e=>{s(e)}),a.onDidAccept(()=>{let e=o(a.value);typeof e==`number`?(r.goToMatch(e),a.hide()):a.validationMessage=b(`findMatchAction.inputValidationMessage`,`Please type a number between 1 and {0}`,r.getState().matchesCount)}),a.onDidHide(()=>{this.clearDecorations(t),a.dispose()}),a.show()}clearDecorations(e){e.changeDecorations(e=>{this._highlightDecorations=e.deltaDecorations(this._highlightDecorations,[])})}addDecorations(e,t){e.changeDecorations(e=>{this._highlightDecorations=e.deltaDecorations(this._highlightDecorations,[{range:t,options:{description:`find-match-quick-access-range-highlight`,className:`rangeHighlight`,isWholeLine:!0}},{range:t,options:{description:`find-match-quick-access-range-highlight-overview`,overviewRuler:{color:ca(Zi),position:as.Full}}}])})}},Pb=class extends J{async run(e,t){let n=Tb.get(t);if(!n)return;let r=wb(t,`single`,!1);r&&n.setSearchString(r),this._run(n)||(await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:`none`,seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(n))}},Fb=class extends Pb{constructor(){super({id:Q.NextSelectionMatchFindAction,label:b(`nextSelectionMatchFindAction`,`Find Next Selection`),alias:`Find Next Selection`,precondition:void 0,kbOpts:{kbExpr:x.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}},Ib=class extends Pb{constructor(){super({id:Q.PreviousSelectionMatchFindAction,label:b(`previousSelectionMatchFindAction`,`Find Previous Selection`),alias:`Find Previous Selection`,precondition:void 0,kbOpts:{kbExpr:x.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}};yo(new mr({id:Q.StartFindReplaceAction,label:b(`startReplace`,`Replace`),alias:`Replace`,precondition:E.or(x.focus,E.has(`editorIsOpen`)),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:C.MenubarEditMenu,group:`3_find`,title:b({key:`miReplace`,comment:[`&& denotes a mnemonic`]},`&&Replace`),order:2}})).addImplementation(0,(e,t,n)=>{if(!t.hasModel()||t.getOption(91))return!1;let r=Tb.get(t);if(!r)return!1;let i=t.getSelection(),a=r.isFindInputFocused(),o=!i.isEmpty()&&i.startLineNumber===i.endLineNumber&&t.getOption(41).seedSearchStringFromSelection!==`never`&&!a,s=a||o?2:1;return r.start({forceRevealReplace:!0,seedSearchStringFromSelection:o?`single`:`none`,seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection===`selection`,seedSearchStringFromGlobalClipboard:t.getOption(41).seedSearchStringFromSelection!==`never`,shouldFocus:s,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop})}),D(Tb.ID,Eb,0),y(Ob),y(kb),y(jb),y(Mb),y(Nb),y(Fb),y(Ib);var Lb=be.bindToContribution(Tb.get);_(new Lb({id:Q.CloseFindWidgetCommand,precondition:dy,handler:e=>e.closeFindWidget(),kbOpts:{weight:105,kbExpr:E.and(x.focus,E.not(`isComposing`)),primary:9,secondary:[1033]}})),_(new Lb({id:Q.ToggleCaseSensitiveCommand,precondition:void 0,handler:e=>e.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:x.focus,primary:my.primary,mac:my.mac,win:my.win,linux:my.linux}})),_(new Lb({id:Q.ToggleWholeWordCommand,precondition:void 0,handler:e=>e.toggleWholeWords(),kbOpts:{weight:105,kbExpr:x.focus,primary:hy.primary,mac:hy.mac,win:hy.win,linux:hy.linux}})),_(new Lb({id:Q.ToggleRegexCommand,precondition:void 0,handler:e=>e.toggleRegex(),kbOpts:{weight:105,kbExpr:x.focus,primary:gy.primary,mac:gy.mac,win:gy.win,linux:gy.linux}})),_(new Lb({id:Q.ToggleSearchScopeCommand,precondition:void 0,handler:e=>e.toggleSearchScope(),kbOpts:{weight:105,kbExpr:x.focus,primary:_y.primary,mac:_y.mac,win:_y.win,linux:_y.linux}})),_(new Lb({id:Q.TogglePreserveCaseCommand,precondition:void 0,handler:e=>e.togglePreserveCase(),kbOpts:{weight:105,kbExpr:x.focus,primary:vy.primary,mac:vy.mac,win:vy.win,linux:vy.linux}})),_(new Lb({id:Q.ReplaceOneAction,precondition:dy,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:x.focus,primary:3094}})),_(new Lb({id:Q.ReplaceOneAction,precondition:dy,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:E.and(x.focus,py),primary:3}})),_(new Lb({id:Q.ReplaceAllAction,precondition:dy,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:x.focus,primary:2563}})),_(new Lb({id:Q.ReplaceAllAction,precondition:dy,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:E.and(x.focus,py),primary:void 0,mac:{primary:2051}}})),_(new Lb({id:Q.SelectAllMatchesAction,precondition:dy,handler:e=>e.selectAllMatches(),kbOpts:{weight:105,kbExpr:x.focus,primary:515}}));var Rb={0:` `,1:`u`,2:`r`},zb=16777215,Bb=4278190080,Vb=class{constructor(e){let t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){let t=e/32|0,n=e%32;return(this._states[t]&1<<n)!=0}set(e,t){let n=e/32|0,r=e%32,i=this._states[n];t?this._states[n]=i|1<<r:this._states[n]=i&~(1<<r)}},Hb=class e{constructor(e,t,n){if(e.length!==t.length||e.length>65535)throw Error(`invalid startIndexes or endIndexes size`);this._startIndexes=e,this._endIndexes=t,this._collapseStates=new Vb(e.length),this._userDefinedStates=new Vb(e.length),this._recoveredStates=new Vb(e.length),this._types=n,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;let e=[],t=(t,n)=>{let r=e[e.length-1];return this.getStartLineNumber(r)<=t&&this.getEndLineNumber(r)>=n};for(let n=0,r=this._startIndexes.length;n<r;n++){let r=this._startIndexes[n],i=this._endIndexes[n];if(r>16777215||i>16777215)throw Error(`startLineNumber or endLineNumber must not exceed `+zb);for(;e.length>0&&!t(r,i);)e.pop();let a=e.length>0?e[e.length-1]:-1;e.push(n),this._startIndexes[n]=r+((a&255)<<24),this._endIndexes[n]=i+((a&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&zb}getEndLineNumber(e){return this._endIndexes[e]&zb}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){t===1?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):t===2?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let n=!1;if(this._types)for(let r=0;r<this._types.length;r++)this._types[r]===e&&(this.setCollapsed(r,t),n=!0);return n}toRegion(e){return new Ub(this,e)}getParentIndex(e){this.ensureParentIndices();let t=((this._startIndexes[e]&Bb)>>>24)+((this._endIndexes[e]&Bb)>>>16);return t===65535?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,n=this._startIndexes.length;if(n===0)return-1;for(;t<n;){let r=Math.floor((t+n)/2);e<this.getStartLineNumber(r)?n=r:t=r+1}return t-1}findRange(e){let t=this.findIndex(e);if(t>=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);t!==-1;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){let e=[];for(let t=0;t<this.length;t++)e[t]=`[${Rb[this.getSource(t)]}${this.isCollapsed(t)?`+`:`-`}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(`, `)}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&zb,endLineNumber:this._endIndexes[e]&zb,type:this._types?this._types[e]:void 0,isCollapsed:this.isCollapsed(e),source:this.getSource(e)}}static fromFoldRanges(t){let n=t.length,r=new Uint32Array(n),i=new Uint32Array(n),a=[],o=!1;for(let e=0;e<n;e++){let n=t[e];r[e]=n.startLineNumber,i[e]=n.endLineNumber,a.push(n.type),n.type&&(o=!0)}o||(a=void 0);let s=new e(r,i,a);for(let e=0;e<n;e++)t[e].isCollapsed&&s.setCollapsed(e,!0),s.setSource(e,t[e].source);return s}static sanitizeAndMerge(e,t,n){n??=Number.MAX_VALUE;let r=(e,t)=>Array.isArray(e)?(n=>n<t?e[n]:void 0):(n=>n<t?e.toFoldRange(n):void 0),i=r(e,e.length),a=r(t,t.length),o=0,s=0,c=i(0),l=a(0),u=[],d,f=0,p=[];for(;c||l;){let e;if(l&&(!c||c.startLineNumber>=l.startLineNumber))c&&c.startLineNumber===l.startLineNumber?(l.source===1?e=l:(e=c,e.isCollapsed=l.isCollapsed&&c.endLineNumber===l.endLineNumber,e.source=0),c=i(++o)):(e=l,l.isCollapsed&&l.source===0&&(e.source=2)),l=a(++s);else{let t=s,n=l;for(;;){if(!n||n.startLineNumber>c.endLineNumber){e=c;break}if(n.source===1&&n.endLineNumber>c.endLineNumber)break;n=a(++t)}c=i(++o)}if(e){for(;d&&d.endLineNumber<e.startLineNumber;)d=u.pop();e.endLineNumber>e.startLineNumber&&e.startLineNumber>f&&e.endLineNumber<=n&&(!d||d.endLineNumber>=e.endLineNumber)&&(p.push(e),f=e.startLineNumber,d&&u.push(d),d=e)}}return p}},Ub=class{constructor(e,t){this.ranges=e,this.index=t}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}},Wb=class{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new B,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new Hb(new Uint32Array,new Uint32Array),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort((e,t)=>e.regionIndex-t.regionIndex);let t={};this._decorationProvider.changeDecorations(n=>{let r=0,i=-1,a=-1,o=e=>{for(;r<e;){let e=this._regions.getEndLineNumber(r),t=this._regions.isCollapsed(r);if(e<=i){let i=this.regions.getSource(r)!==0;n.changeDecorationOptions(this._editorDecorationIds[r],this._decorationProvider.getDecorationOption(t,e<=a,i))}t&&e>a&&(a=e),r++}};for(let n of e){let e=n.regionIndex,r=this._editorDecorationIds[e];if(r&&!t[r]){t[r]=!0,o(e);let n=!this._regions.isCollapsed(e);this._regions.setCollapsed(e,n),i=Math.max(i,this._regions.getEndLineNumber(e))}}o(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){let t=[],n=t=>{for(let n of e)if(!(n.startLineNumber>t.endLineNumber||t.startLineNumber>n.endLineNumber))return!0;return!1};for(let e=0;e<this._regions.length;e++){let r=this._regions.toFoldRange(e);(r.source===0||!n(r))&&t.push(r)}this.updatePost(Hb.fromFoldRanges(t))}update(e,t=[]){let n=this._currentFoldedOrManualRanges(t),r=Hb.sanitizeAndMerge(e,n,this._textModel.getLineCount());this.updatePost(Hb.fromFoldRanges(r))}updatePost(e){let t=[],n=-1;for(let r=0,i=e.length;r<i;r++){let i=e.getStartLineNumber(r),a=e.getEndLineNumber(r),o=e.isCollapsed(r),s=e.getSource(r)!==0,c={startLineNumber:i,startColumn:this._textModel.getLineMaxColumn(i),endLineNumber:a,endColumn:this._textModel.getLineMaxColumn(a)+1};t.push({range:c,options:this._decorationProvider.getDecorationOption(o,a<=n,s)}),o&&a>n&&(n=a)}this._decorationProvider.changeDecorations(e=>this._editorDecorationIds=e.deltaDecorations(this._editorDecorationIds,t)),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e=[]){let t=(t,n)=>{for(let r of e)if(t<r&&r<=n)return!0;return!1},n=[];for(let e=0,r=this._regions.length;e<r;e++){let r=this.regions.isCollapsed(e),i=this.regions.getSource(e);if(r||i!==0){let a=this._regions.toFoldRange(e),o=this._textModel.getDecorationRange(this._editorDecorationIds[e]);o&&(r&&t(o.startLineNumber,o.endLineNumber)&&(r=!1),n.push({startLineNumber:o.startLineNumber,endLineNumber:o.endLineNumber,type:a.type,isCollapsed:r,source:i}))}}return n}getMemento(){let e=this._currentFoldedOrManualRanges(),t=[],n=this._textModel.getLineCount();for(let r=0,i=e.length;r<i;r++){let i=e[r];if(i.startLineNumber>=i.endLineNumber||i.startLineNumber<1||i.endLineNumber>n)continue;let a=this._getLinesChecksum(i.startLineNumber+1,i.endLineNumber);t.push({startLineNumber:i.startLineNumber,endLineNumber:i.endLineNumber,isCollapsed:i.isCollapsed,source:i.source,checksum:a})}return t.length>0?t:void 0}applyMemento(e){if(!Array.isArray(e))return;let t=[],n=this._textModel.getLineCount();for(let r of e){if(r.startLineNumber>=r.endLineNumber||r.startLineNumber<1||r.endLineNumber>n)continue;let e=this._getLinesChecksum(r.startLineNumber+1,r.endLineNumber);(!r.checksum||e===r.checksum)&&t.push({startLineNumber:r.startLineNumber,endLineNumber:r.endLineNumber,type:void 0,isCollapsed:r.isCollapsed??!0,source:r.source??0})}let r=Hb.sanitizeAndMerge(this._regions,t,n);this.updatePost(Hb.fromFoldRanges(r))}_getLinesChecksum(e,t){return Rt(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){let n=[];if(this._regions){let r=this._regions.findRange(e),i=1;for(;r>=0;){let e=this._regions.toRegion(r);(!t||t(e,i))&&n.push(e),i++,r=e.parentIndex}}return n}getRegionAtLine(e){if(this._regions){let t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){let n=[],r=e?e.regionIndex+1:0,i=e?e.endLineNumber:Number.MAX_VALUE;if(t&&t.length===2){let e=[];for(let a=r,o=this._regions.length;a<o;a++){let r=this._regions.toRegion(a);if(this._regions.getStartLineNumber(a)<i){for(;e.length>0&&!r.containedBy(e[e.length-1]);)e.pop();e.push(r),t(r,e.length)&&n.push(r)}else break}}else for(let e=r,a=this._regions.length;e<a;e++){let r=this._regions.toRegion(e);if(this._regions.getStartLineNumber(e)<i)(!t||t(r))&&n.push(r);else break}return n}};function Gb(e,t,n){let r=[];for(let i of n){let n=e.getRegionAtLine(i);if(n){let i=!n.isCollapsed;if(r.push(n),t>1){let a=e.getRegionsInside(n,(e,n)=>e.isCollapsed!==i&&n<t);r.push(...a)}}}e.toggleCollapseState(r)}function Kb(e,t,n=Number.MAX_VALUE,r){let i=[];if(r&&r.length>0)for(let a of r){let r=e.getRegionAtLine(a);if(r&&(r.isCollapsed!==t&&i.push(r),n>1)){let a=e.getRegionsInside(r,(e,r)=>e.isCollapsed!==t&&r<n);i.push(...a)}}else{let r=e.getRegionsInside(null,(e,r)=>e.isCollapsed!==t&&r<n);i.push(...r)}e.toggleCollapseState(i)}function qb(e,t,n,r){let i=[];for(let a of r){let r=e.getAllRegionsAtLine(a,(e,r)=>e.isCollapsed!==t&&r<=n);i.push(...r)}e.toggleCollapseState(i)}function Jb(e,t,n){let r=[];for(let i of n){let n=e.getAllRegionsAtLine(i,e=>e.isCollapsed!==t);n.length>0&&r.push(n[0])}e.toggleCollapseState(r)}function Yb(e,t,n,r){let i=e.getRegionsInside(null,(e,i)=>i===t&&e.isCollapsed!==n&&!r.some(t=>e.containsLine(t)));e.toggleCollapseState(i)}function Xb(e,t,n){let r=[];for(let t of n){let n=e.getAllRegionsAtLine(t,void 0);n.length>0&&r.push(n[0])}let i=e.getRegionsInside(null,e=>r.every(t=>!t.containedBy(e)&&!e.containedBy(t))&&e.isCollapsed!==t);e.toggleCollapseState(i)}function Zb(e,t,n){let r=e.textModel,i=e.regions,a=[];for(let e=i.length-1;e>=0;e--)if(n!==i.isCollapsed(e)){let n=i.getStartLineNumber(e);t.test(r.getLineContent(n))&&a.push(i.toRegion(e))}e.toggleCollapseState(a)}function Qb(e,t,n){let r=e.regions,i=[];for(let e=r.length-1;e>=0;e--)n!==r.isCollapsed(e)&&t===r.getType(e)&&i.push(r.toRegion(e));e.toggleCollapseState(i)}function $b(e,t){let n=null,r=t.getRegionAtLine(e);if(r!==null&&(n=r.startLineNumber,e===n)){let e=r.parentIndex;n=e===-1?null:t.regions.getStartLineNumber(e)}return n}function ex(e,t){let n=t.getRegionAtLine(e);if(n!==null&&n.startLineNumber===e){if(e!==n.startLineNumber)return n.startLineNumber;{let e=n.parentIndex,r=0;for(e!==-1&&(r=t.regions.getStartLineNumber(n.parentIndex));n!==null;)if(n.regionIndex>0){if(n=t.regions.toRegion(n.regionIndex-1),n.startLineNumber<=r)return null;if(n.parentIndex===e)return n.startLineNumber}else return null}}else if(t.regions.length>0)for(n=t.regions.toRegion(t.regions.length-1);n!==null;){if(n.startLineNumber<e)return n.startLineNumber;n=n.regionIndex>0?t.regions.toRegion(n.regionIndex-1):null}return null}function tx(e,t){let n=t.getRegionAtLine(e);if(n!==null&&n.startLineNumber===e){let e=n.parentIndex,r=0;if(e!==-1)r=t.regions.getEndLineNumber(n.parentIndex);else if(t.regions.length===0)return null;else r=t.regions.getEndLineNumber(t.regions.length-1);for(;n!==null;)if(n.regionIndex<t.regions.length){if(n=t.regions.toRegion(n.regionIndex+1),n.startLineNumber>=r)return null;if(n.parentIndex===e)return n.startLineNumber}else return null}else if(t.regions.length>0)for(n=t.regions.toRegion(0);n!==null;){if(n.startLineNumber>e)return n.startLineNumber;n=n.regionIndex<t.regions.length?t.regions.toRegion(n.regionIndex+1):null}return null}var nx=class{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new B,this._hasLineChanges=!1,this._foldingModel=e,this._foldingModelListener=e.onDidChange(e=>this.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some(e=>e.range.endLineNumber!==e.range.startLineNumber||dt(e.text)[0]!==0))}updateHiddenRanges(){let e=!1,t=[],n=0,i=0,a=Number.MAX_VALUE,o=-1,s=this._foldingModel.regions;for(;n<s.length;n++){if(!s.isCollapsed(n))continue;let c=s.getStartLineNumber(n)+1,l=s.getEndLineNumber(n);a<=c&&l<=o||(!e&&i<this._hiddenRanges.length&&this._hiddenRanges[i].startLineNumber===c&&this._hiddenRanges[i].endLineNumber===l?(t.push(this._hiddenRanges[i]),i++):(e=!0,t.push(new r(c,1,l,1))),a=c,o=l)}(this._hasLineChanges||e||i<this._hiddenRanges.length)&&this.applyHiddenRanges(t)}applyHiddenRanges(e){this._hiddenRanges=e,this._hasLineChanges=!1,this._updateEventEmitter.fire(e)}hasRanges(){return this._hiddenRanges.length>0}isHidden(e){return ix(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1,n=this._foldingModel.textModel,r=null,i=e=>((!r||!rx(e,r))&&(r=ix(this._hiddenRanges,e)),r?r.startLineNumber-1:null);for(let r=0,a=e.length;r<a;r++){let a=e[r],o=i(a.startLineNumber);o&&(a=a.setStartPosition(o,n.getLineMaxColumn(o)),t=!0);let s=i(a.endLineNumber);s&&(a=a.setEndPosition(s,n.getLineMaxColumn(s)),t=!0),e[r]=a}return t}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&=(this._foldingModelListener.dispose(),null)}};function rx(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}function ix(e,t){let n=wt(e,e=>t<e.startLineNumber)-1;return n>=0&&e[n].endLineNumber>=t?e[n]:null}var ax=5e3,ox=`indent`,sx=class{constructor(e,t,n){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=n,this.id=ox}dispose(){}compute(e){let t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,n=t&&!!t.offSide,r=t&&t.markers;return Promise.resolve(ux(this.editorModel,n,r,this.foldingRangesLimit))}},cx=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,n){if(e>16777215||t>16777215)return;let r=this._length;this._startIndexes[r]=e,this._endIndexes[r]=t,this._length++,n<1e3&&(this._indentOccurrences[n]=(this._indentOccurrences[n]||0)+1)}toIndentRanges(e){let t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);let e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let n=this._length-1,r=0;n>=0;n--,r++)e[r]=this._startIndexes[n],t[r]=this._endIndexes[n];return new Hb(e,t)}else{this._foldingRangesLimit.update(this._length,t);let n=0,r=this._indentOccurrences.length;for(let e=0;e<this._indentOccurrences.length;e++){let i=this._indentOccurrences[e];if(i){if(i+n>t){r=e;break}n+=i}}let i=e.getOptions().tabSize,a=new Uint32Array(t),o=new Uint32Array(t);for(let s=this._length-1,c=0;s>=0;s--){let l=this._startIndexes[s],u=Tr(e.getLineContent(l),i);(u<r||u===r&&n++<t)&&(a[c]=l,o[c]=this._endIndexes[s],c++)}return new Hb(a,o)}}},lx={limit:ax,update:()=>{}};function ux(e,t,n,r=lx){let i=e.getOptions().tabSize,a=new cx(r),o;n&&(o=RegExp(`(${n.start.source})|(?:${n.end.source})`));let s=[],c=e.getLineCount()+1;s.push({indent:-1,endAbove:c,line:c});for(let n=e.getLineCount();n>0;n--){let r=e.getLineContent(n),c=Tr(r,i),l=s[s.length-1];if(c===-1){t&&(l.endAbove=n);continue}let u;if(o&&(u=r.match(o)))if(u[1]){let e=s.length-1;for(;e>0&&s[e].indent!==-2;)e--;if(e>0){s.length=e+1,l=s[e],a.insertFirst(n,l.line,c),l.line=n,l.indent=c,l.endAbove=n;continue}}else{s.push({indent:-2,endAbove:n,line:n});continue}if(l.indent>c){do s.pop(),l=s[s.length-1];while(l.indent>c);let e=l.endAbove-1;e-n>=1&&a.insertFirst(n,e,c)}l.indent===c?l.endAbove=n:s.push({indent:c,endAbove:n,line:n})}return a.toIndentRanges(e)}var dx=q(`editor.foldBackground`,{light:er(ki,.3),dark:er(ki,.3),hcDark:null,hcLight:null},b(`foldBackgroundBackground`,`Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations.`),!0);q(`editorGutter.foldingControlForeground`,{dark:Oc,light:Oc,hcDark:Oc,hcLight:Oc},b(`editorGutter.foldingControlForeground`,`Color of the folding control in the editor gutter.`));var fx=ul(`folding-expanded`,N.chevronDown,b(`foldingExpandedIcon`,`Icon for expanded ranges in the editor glyph margin.`)),px=ul(`folding-collapsed`,N.chevronRight,b(`foldingCollapsedIcon`,`Icon for collapsed ranges in the editor glyph margin.`)),mx=ul(`folding-manual-collapsed`,px,b(`foldingManualCollapedIcon`,`Icon for manually collapsed ranges in the editor glyph margin.`)),hx=ul(`folding-manual-expanded`,fx,b(`foldingManualExpandedIcon`,`Icon for manually expanded ranges in the editor glyph margin.`)),gx={color:ca(dx),position:1},_x=b(`linesCollapsed`,`Click to expand the range.`),vx=b(`linesExpanded`,`Click to collapse the range.`),yx=class e{constructor(e){this.editor=e,this.showFoldingControls=`mouseover`,this.showFoldingHighlights=!0}getDecorationOption(t,n,r){return n?e.HIDDEN_RANGE_DECORATION:this.showFoldingControls===`never`?t?this.showFoldingHighlights?e.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:e.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:e.NO_CONTROLS_EXPANDED_RANGE_DECORATION:t?r?this.showFoldingHighlights?e.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:e.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?e.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:e.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls===`mouseover`?r?e.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:e.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:r?e.MANUALLY_EXPANDED_VISUAL_DECORATION:e.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};yx.COLLAPSED_VISUAL_DECORATION=k.register({description:`folding-collapsed-visual-decoration`,stickiness:0,afterContentClassName:`inline-folded`,isWholeLine:!0,linesDecorationsTooltip:_x,firstLineDecorationClassName:P.asClassName(px)}),yx.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=k.register({description:`folding-collapsed-highlighted-visual-decoration`,stickiness:0,afterContentClassName:`inline-folded`,className:`folded-background`,minimap:gx,isWholeLine:!0,linesDecorationsTooltip:_x,firstLineDecorationClassName:P.asClassName(px)}),yx.MANUALLY_COLLAPSED_VISUAL_DECORATION=k.register({description:`folding-manually-collapsed-visual-decoration`,stickiness:0,afterContentClassName:`inline-folded`,isWholeLine:!0,linesDecorationsTooltip:_x,firstLineDecorationClassName:P.asClassName(mx)}),yx.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=k.register({description:`folding-manually-collapsed-highlighted-visual-decoration`,stickiness:0,afterContentClassName:`inline-folded`,className:`folded-background`,minimap:gx,isWholeLine:!0,linesDecorationsTooltip:_x,firstLineDecorationClassName:P.asClassName(mx)}),yx.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=k.register({description:`folding-no-controls-range-decoration`,stickiness:0,afterContentClassName:`inline-folded`,isWholeLine:!0,linesDecorationsTooltip:_x}),yx.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=k.register({description:`folding-no-controls-range-decoration`,stickiness:0,afterContentClassName:`inline-folded`,className:`folded-background`,minimap:gx,isWholeLine:!0,linesDecorationsTooltip:_x}),yx.EXPANDED_VISUAL_DECORATION=k.register({description:`folding-expanded-visual-decoration`,stickiness:1,isWholeLine:!0,firstLineDecorationClassName:`alwaysShowFoldIcons `+P.asClassName(fx),linesDecorationsTooltip:vx}),yx.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=k.register({description:`folding-expanded-auto-hide-visual-decoration`,stickiness:1,isWholeLine:!0,firstLineDecorationClassName:P.asClassName(fx),linesDecorationsTooltip:vx}),yx.MANUALLY_EXPANDED_VISUAL_DECORATION=k.register({description:`folding-manually-expanded-visual-decoration`,stickiness:0,isWholeLine:!0,firstLineDecorationClassName:`alwaysShowFoldIcons `+P.asClassName(hx),linesDecorationsTooltip:vx}),yx.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=k.register({description:`folding-manually-expanded-auto-hide-visual-decoration`,stickiness:0,isWholeLine:!0,firstLineDecorationClassName:P.asClassName(hx),linesDecorationsTooltip:vx}),yx.NO_CONTROLS_EXPANDED_RANGE_DECORATION=k.register({description:`folding-no-controls-range-decoration`,stickiness:0,isWholeLine:!0}),yx.HIDDEN_RANGE_DECORATION=k.register({description:`folding-hidden-range-decoration`,stickiness:1});var bx={},xx=`syntax`,Sx=class{constructor(e,t,n,r,i){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=n,this.foldingRangesLimit=r,this.fallbackRangeProvider=i,this.id=xx,this.disposables=new V,i&&this.disposables.add(i);for(let e of t)typeof e.onDidChange==`function`&&this.disposables.add(e.onDidChange(n))}compute(e){return Cx(this.providers,this.editorModel,e).then(t=>t?Tx(t,this.foldingRangesLimit):this.fallbackRangeProvider?.compute(e)??null)}dispose(){this.disposables.dispose()}};function Cx(e,t,n){let r=null,i=e.map((e,i)=>Promise.resolve(e.provideFoldingRanges(t,bx,n)).then(e=>{if(!n.isCancellationRequested&&Array.isArray(e)){Array.isArray(r)||(r=[]);let n=t.getLineCount();for(let t of e)t.start>0&&t.end>t.start&&t.end<=n&&r.push({start:t.start,end:t.end,rank:i,kind:t.kind})}},Oe));return Promise.all(i).then(e=>r)}var wx=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,n,r){if(e>16777215||t>16777215)return;let i=this._length;this._startIndexes[i]=e,this._endIndexes[i]=t,this._nestingLevels[i]=r,this._types[i]=n,this._length++,r<30&&(this._nestingLevelCounts[r]=(this._nestingLevelCounts[r]||0)+1)}toIndentRanges(){let e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);let e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let n=0;n<this._length;n++)e[n]=this._startIndexes[n],t[n]=this._endIndexes[n];return new Hb(e,t,this._types)}else{this._foldingRangesLimit.update(this._length,e);let t=0,n=this._nestingLevelCounts.length;for(let r=0;r<this._nestingLevelCounts.length;r++){let i=this._nestingLevelCounts[r];if(i){if(i+t>e){n=r;break}t+=i}}let r=new Uint32Array(e),i=new Uint32Array(e),a=[];for(let o=0,s=0;o<this._length;o++){let c=this._nestingLevels[o];(c<n||c===n&&t++<e)&&(r[s]=this._startIndexes[o],i[s]=this._endIndexes[o],a[s]=this._types[o],s++)}return new Hb(r,i,a)}}};function Tx(e,t){let n=e.sort((e,t)=>{let n=e.start-t.start;return n===0&&(n=e.rank-t.rank),n}),r=new wx(t),i,a=[];for(let e of n)if(!i)i=e,r.add(e.start,e.end,e.kind&&e.kind.value,a.length);else if(e.start>i.start)if(e.end<=i.end)a.push(i),i=e,r.add(e.start,e.end,e.kind&&e.kind.value,a.length);else{if(e.start>i.end){do i=a.pop();while(i&&e.start>i.end);i&&a.push(i),i=e}r.add(e.start,e.end,e.kind&&e.kind.value,a.length)}return r.toIndentRanges()}var Ex=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},Dx=function(e,t){return function(n,r){t(n,r,e)}},Ox,kx=new w(`foldingEnabled`,!1),Ax=Ox=class extends U{static get(e){return e.getContribution(Ox.ID)}static getFoldingRangeProviders(e,t){let n=e.foldingRangeProvider.ordered(t);return Ox._foldingRangeSelector?.call(Ox,n,t)??n}constructor(e,t,n,r,i,a){super(),this.contextKeyService=t,this.languageConfigurationService=n,this.languageFeaturesService=a,this.localToDispose=this._register(new V),this.editor=e,this._foldingLimitReporter=new jx(e);let o=this.editor.getOptions();this._isEnabled=o.get(43),this._useFoldingProviders=o.get(44)!==`indentation`,this._unfoldOnClickAfterEndOfLine=o.get(48),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=o.get(46),this.updateDebounceInfo=i.for(a.foldingRangeProvider,`Folding`,{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new yx(e),this.foldingDecorationProvider.showFoldingControls=o.get(110),this.foldingDecorationProvider.showFoldingHighlights=o.get(45),this.foldingEnabled=kx.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(e=>{if(e.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),e.hasChanged(47)&&this.onModelChanged(),e.hasChanged(110)||e.hasChanged(45)){let e=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=e.get(110),this.foldingDecorationProvider.showFoldingHighlights=e.get(45),this.triggerFoldingModelChanged()}e.hasChanged(44)&&(this._useFoldingProviders=this.editor.getOptions().get(44)!==`indentation`,this.onFoldingStrategyChanged()),e.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),e.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))})),this.onModelChanged()}saveViewState(){let e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){let t=this.foldingModel.getMemento(),n=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:n,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){let t=this.editor.getModel();if(!(!t||!this._isEnabled||t.isTooLargeForTokenization()||!this.hiddenRangeModel)&&e&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();let e=this.editor.getModel();!this._isEnabled||!e||e.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new Wb(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new nx(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(e=>this.onHiddenRangesChanges(e))),this.updateScheduler=new _i(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new Hn(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(e=>this.onDidChangeModelContent(e))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(e=>this.onEditorMouseDown(e))),this.localToDispose.add(this.editor.onMouseUp(e=>this.onEditorMouseUp(e))),this.localToDispose.add({dispose:()=>{var e,t;this.foldingRegionPromise&&=(this.foldingRegionPromise.cancel(),null),(e=this.updateScheduler)==null||e.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,(t=this.rangeProvider)==null||t.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var e;(e=this.rangeProvider)==null||e.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;let t=new sx(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){let n=Ox.getFoldingRangeProviders(this.languageFeaturesService,e);n.length>0&&(this.rangeProvider=new Sx(e,n,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,t))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){var t;(t=this.hiddenRangeModel)==null||t.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&=(this.foldingRegionPromise.cancel(),null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{let e=this.foldingModel;if(!e)return null;let t=new Oa,n=this.getRangeProvider(e.textModel),r=this.foldingRegionPromise=lc(e=>n.compute(e));return r.then(n=>{if(n&&r===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){let e=n.setCollapsedAllOfType(Gn.Imports.value,!0);e&&(r=d.capture(this.editor),this._currentModelHasFoldedImports=e)}let i=this.editor.getSelections(),a=i?i.map(e=>e.startLineNumber):[];e.update(n,a),r?.restore(this.editor);let o=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=o)}return e})}).then(void 0,e=>(v(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){let e=this.editor.getSelections();e&&this.hiddenRangeModel.adjustSelections(e)&&this.editor.setSelections(e)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){let e=this.getFoldingModel();e&&e.then(e=>{if(e){let t=this.editor.getSelections();if(t&&t.length>0){let n=[];for(let r of t){let t=r.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(t)&&n.push(...e.getAllRegionsAtLine(t,e=>e.isCollapsed&&t>e.startLineNumber))}n.length&&(e.toggleCollapseState(n),this.reveal(t[0].getPosition()))}}}).then(void 0,v)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range||!e.event.leftButton&&!e.event.middleButton)return;let t=e.target.range,n=!1;switch(e.target.type){case 4:{let t=e.target.detail,r=e.target.element.offsetLeft;if(t.offsetX-r<4)return;n=!0;break}case 7:if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return;case 6:if(this.hiddenRangeModel.hasRanges()){let e=this.editor.getModel();if(e&&t.startColumn===e.getLineMaxColumn(t.startLineNumber))break}return;default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:n}}onEditorMouseUp(e){let t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;let n=this.mouseDownInfo.lineNumber,r=this.mouseDownInfo.iconClicked,i=e.target.range;if(!i||i.startLineNumber!==n)return;if(r){if(e.target.type!==4)return}else{let e=this.editor.getModel();if(!e||i.startColumn!==e.getLineMaxColumn(n))return}let a=t.getRegionAtLine(n);if(a&&a.startLineNumber===n){let i=a.isCollapsed;if(r||i){let r=e.event.altKey,o=[];if(r){let e=t.getRegionsInside(null,e=>!e.containedBy(a)&&!a.containedBy(e));for(let t of e)t.isCollapsed&&o.push(t);o.length===0&&(o=e)}else{let n=e.event.middleButton||e.event.shiftKey;if(n)for(let e of t.getRegionsInside(a))e.isCollapsed===i&&o.push(e);(i||!n||o.length===0)&&o.push(a)}t.toggleCollapseState(o),this.reveal({lineNumber:n,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}};Ax.ID=`editor.contrib.folding`,Ax=Ox=Ex([Dx(1,W),Dx(2,Cc),Dx(3,Za),Dx(4,wc),Dx(5,g)],Ax);var jx=class{constructor(e){this.editor=e,this._onDidChange=new B,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}},Mx=class extends J{runEditorCommand(e,t,n){let r=e.get(Cc),i=Ax.get(t);if(!i)return;let a=i.getFoldingModel();if(a)return this.reportTelemetry(e,t),a.then(e=>{if(e){this.invoke(i,e,t,n,r);let a=t.getSelection();a&&i.reveal(a.getStartPosition())}})}getSelectedLines(e){let t=e.getSelections();return t?t.map(e=>e.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(e=>e+1):this.getSelectedLines(t)}run(e,t){}};function Nx(e){if(!ls(e)){if(!Ca(e))return!1;let t=e;if(!ls(t.levels)&&!a(t.levels)||!ls(t.direction)&&!gc(t.direction)||!ls(t.selectionLines)&&(!Array.isArray(t.selectionLines)||!t.selectionLines.every(a)))return!1}return!0}var Px=class extends Mx{constructor(){super({id:`editor.unfold`,label:b(`unfoldAction.label`,`Unfold`),alias:`Unfold`,precondition:kx,kbOpts:{kbExpr:x.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:`Unfold the content in the editor`,args:[{name:`Unfold editor argument`,description:`Property-value pairs that can be passed through this argument:
12
+ * 'levels': Number of levels to unfold. If not set, defaults to 1.
13
+ * 'direction': If 'up', unfold given number of levels up otherwise unfolds down.
14
+ * 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.
15
+ `,constraint:Nx,schema:{type:`object`,properties:{levels:{type:`number`,default:1},direction:{type:`string`,enum:[`up`,`down`],default:`down`},selectionLines:{type:`array`,items:{type:`number`}}}}}]}})}invoke(e,t,n,r){let i=r&&r.levels||1,a=this.getLineNumbers(r,n);r&&r.direction===`up`?qb(t,!1,i,a):Kb(t,!1,i,a)}},Fx=class extends Mx{constructor(){super({id:`editor.unfoldRecursively`,label:b(`unFoldRecursivelyAction.label`,`Unfold Recursively`),alias:`Unfold Recursively`,precondition:kx,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2142),weight:100}})}invoke(e,t,n,r){Kb(t,!1,Number.MAX_VALUE,this.getSelectedLines(n))}},Ix=class extends Mx{constructor(){super({id:`editor.fold`,label:b(`foldAction.label`,`Fold`),alias:`Fold`,precondition:kx,kbOpts:{kbExpr:x.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:`Fold the content in the editor`,args:[{name:`Fold editor argument`,description:`Property-value pairs that can be passed through this argument:
16
+ * 'levels': Number of levels to fold.
17
+ * 'direction': If 'up', folds given number of levels up otherwise folds down.
18
+ * 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.
19
+ If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.
20
+ `,constraint:Nx,schema:{type:`object`,properties:{levels:{type:`number`},direction:{type:`string`,enum:[`up`,`down`]},selectionLines:{type:`array`,items:{type:`number`}}}}}]}})}invoke(e,t,n,r){let i=this.getLineNumbers(r,n),a=r&&r.levels,o=r&&r.direction;typeof a!=`number`&&typeof o!=`string`?Jb(t,!0,i):o===`up`?qb(t,!0,a||1,i):Kb(t,!0,a||1,i)}},Lx=class extends Mx{constructor(){super({id:`editor.toggleFold`,label:b(`toggleFoldAction.label`,`Toggle Fold`),alias:`Toggle Fold`,precondition:kx,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2090),weight:100}})}invoke(e,t,n){Gb(t,1,this.getSelectedLines(n))}},Rx=class extends Mx{constructor(){super({id:`editor.foldRecursively`,label:b(`foldRecursivelyAction.label`,`Fold Recursively`),alias:`Fold Recursively`,precondition:kx,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2140),weight:100}})}invoke(e,t,n){let r=this.getSelectedLines(n);Kb(t,!0,Number.MAX_VALUE,r)}},zx=class extends Mx{constructor(){super({id:`editor.foldAllBlockComments`,label:b(`foldAllBlockComments.label`,`Fold All Block Comments`),alias:`Fold All Block Comments`,precondition:kx,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2138),weight:100}})}invoke(e,t,n,r,i){if(t.regions.hasTypes())Qb(t,Gn.Comment.value,!0);else{let e=n.getModel();if(!e)return;let r=i.getLanguageConfiguration(e.getLanguageId()).comments;r&&r.blockCommentStartToken&&Zb(t,RegExp(`^\\s*`+bi(r.blockCommentStartToken)),!0)}}},Bx=class extends Mx{constructor(){super({id:`editor.foldAllMarkerRegions`,label:b(`foldAllMarkerRegions.label`,`Fold All Regions`),alias:`Fold All Regions`,precondition:kx,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2077),weight:100}})}invoke(e,t,n,r,i){if(t.regions.hasTypes())Qb(t,Gn.Region.value,!0);else{let e=n.getModel();if(!e)return;let r=i.getLanguageConfiguration(e.getLanguageId()).foldingRules;r&&r.markers&&r.markers.start&&Zb(t,new RegExp(r.markers.start),!0)}}},Vx=class extends Mx{constructor(){super({id:`editor.unfoldAllMarkerRegions`,label:b(`unfoldAllMarkerRegions.label`,`Unfold All Regions`),alias:`Unfold All Regions`,precondition:kx,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2078),weight:100}})}invoke(e,t,n,r,i){if(t.regions.hasTypes())Qb(t,Gn.Region.value,!1);else{let e=n.getModel();if(!e)return;let r=i.getLanguageConfiguration(e.getLanguageId()).foldingRules;r&&r.markers&&r.markers.start&&Zb(t,new RegExp(r.markers.start),!1)}}},Hx=class extends Mx{constructor(){super({id:`editor.foldAllExcept`,label:b(`foldAllExcept.label`,`Fold All Except Selected`),alias:`Fold All Except Selected`,precondition:kx,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2136),weight:100}})}invoke(e,t,n){Xb(t,!0,this.getSelectedLines(n))}},Ux=class extends Mx{constructor(){super({id:`editor.unfoldAllExcept`,label:b(`unfoldAllExcept.label`,`Unfold All Except Selected`),alias:`Unfold All Except Selected`,precondition:kx,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2134),weight:100}})}invoke(e,t,n){Xb(t,!1,this.getSelectedLines(n))}},Wx=class extends Mx{constructor(){super({id:`editor.foldAll`,label:b(`foldAllAction.label`,`Fold All`),alias:`Fold All`,precondition:kx,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2069),weight:100}})}invoke(e,t,n){Kb(t,!0)}},Gx=class extends Mx{constructor(){super({id:`editor.unfoldAll`,label:b(`unfoldAllAction.label`,`Unfold All`),alias:`Unfold All`,precondition:kx,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2088),weight:100}})}invoke(e,t,n){Kb(t,!1)}},Kx=class e extends Mx{getFoldingLevel(){return parseInt(this.id.substr(e.ID_PREFIX.length))}invoke(e,t,n){Yb(t,this.getFoldingLevel(),!0,this.getSelectedLines(n))}};Kx.ID_PREFIX=`editor.foldLevel`,Kx.ID=e=>Kx.ID_PREFIX+e;var qx=class extends Mx{constructor(){super({id:`editor.gotoParentFold`,label:b(`gotoParentFold.label`,`Go to Parent Fold`),alias:`Go to Parent Fold`,precondition:kx,kbOpts:{kbExpr:x.editorTextFocus,weight:100}})}invoke(e,t,n){let r=this.getSelectedLines(n);if(r.length>0){let e=$b(r[0],t);e!==null&&n.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}},Jx=class extends Mx{constructor(){super({id:`editor.gotoPreviousFold`,label:b(`gotoPreviousFold.label`,`Go to Previous Folding Range`),alias:`Go to Previous Folding Range`,precondition:kx,kbOpts:{kbExpr:x.editorTextFocus,weight:100}})}invoke(e,t,n){let r=this.getSelectedLines(n);if(r.length>0){let e=ex(r[0],t);e!==null&&n.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}},Yx=class extends Mx{constructor(){super({id:`editor.gotoNextFold`,label:b(`gotoNextFold.label`,`Go to Next Folding Range`),alias:`Go to Next Folding Range`,precondition:kx,kbOpts:{kbExpr:x.editorTextFocus,weight:100}})}invoke(e,t,n){let r=this.getSelectedLines(n);if(r.length>0){let e=tx(r[0],t);e!==null&&n.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}},Xx=class extends Mx{constructor(){super({id:`editor.createFoldingRangeFromSelection`,label:b(`createManualFoldRange.label`,`Create Folding Range from Selection`),alias:`Create Folding Range from Selection`,precondition:kx,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2135),weight:100}})}invoke(e,t,n){let r=[],i=n.getSelections();if(i){for(let e of i){let t=e.endLineNumber;e.endColumn===1&&--t,t>e.startLineNumber&&(r.push({startLineNumber:e.startLineNumber,endLineNumber:t,type:void 0,isCollapsed:!0,source:1}),n.setSelection({startLineNumber:e.startLineNumber,startColumn:1,endLineNumber:e.startLineNumber,endColumn:1}))}if(r.length>0){r.sort((e,t)=>e.startLineNumber-t.startLineNumber);let e=Hb.sanitizeAndMerge(t.regions,r,n.getModel()?.getLineCount());t.updatePost(Hb.fromFoldRanges(e))}}}},Zx=class extends Mx{constructor(){super({id:`editor.removeManualFoldingRanges`,label:b(`removeManualFoldingRanges.label`,`Remove Manual Folding Ranges`),alias:`Remove Manual Folding Ranges`,precondition:kx,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2137),weight:100}})}invoke(e,t,n){let r=n.getSelections();if(r){let n=[];for(let e of r){let{startLineNumber:t,endLineNumber:r}=e;n.push(r>=t?{startLineNumber:t,endLineNumber:r}:{endLineNumber:r,startLineNumber:t})}t.removeManualRanges(n),e.triggerFoldingModelChanged()}}};D(Ax.ID,Ax,0),y(Px),y(Fx),y(Ix),y(Rx),y(Wx),y(Gx),y(zx),y(Bx),y(Vx),y(Hx),y(Ux),y(Lx),y(qx),y(Jx),y(Yx),y(Xx),y(Zx);for(let e=1;e<=7;e++)ko(new Kx({id:Kx.ID(e),label:b(`foldLevelAction.label`,`Fold Level {0}`,e),alias:`Fold Level ${e}`,precondition:kx,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2048|21+e),weight:100}}));M.registerCommand(`_executeFoldingRangeProvider`,async function(e,...t){let[n]=t;if(!(n instanceof G))throw Vc();let r=e.get(g),i=e.get(qs).getModel(n);if(!i)throw Vc();let a=e.get(Va);if(!a.getValue(`editor.folding`,{resource:n}))return[];let o=e.get(Cc),s=a.getValue(`editor.foldingStrategy`,{resource:n}),c={get limit(){return a.getValue(`editor.foldingMaximumRegions`,{resource:n})},update:(e,t)=>{}},l=new sx(i,o,c),u=l;if(s!==`indentation`){let e=Ax.getFoldingRangeProviders(r,i);e.length&&(u=new Sx(i,e,()=>{},c,l))}let d=await u.compute(H.None),f=[];try{if(d)for(let e=0;e<d.length;e++){let t=d.getType(e);f.push({start:d.getStartLineNumber(e),end:d.getEndLineNumber(e),kind:t?Gn.fromValue(t):void 0})}return f}finally{u.dispose()}});var Qx=class extends J{constructor(){super({id:`editor.action.fontZoomIn`,label:b(`EditorFontZoomIn.label`,`Increase Editor Font Size`),alias:`Increase Editor Font Size`,precondition:void 0})}run(e,t){ic.setZoomLevel(ic.getZoomLevel()+1)}},$x=class extends J{constructor(){super({id:`editor.action.fontZoomOut`,label:b(`EditorFontZoomOut.label`,`Decrease Editor Font Size`),alias:`Decrease Editor Font Size`,precondition:void 0})}run(e,t){ic.setZoomLevel(ic.getZoomLevel()-1)}},eS=class extends J{constructor(){super({id:`editor.action.fontZoomReset`,label:b(`EditorFontZoomReset.label`,`Reset Editor Font Size`),alias:`Reset Editor Font Size`,precondition:void 0})}run(e,t){ic.setZoomLevel(0)}};y(Qx),y($x),y(eS);var tS=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},nS=function(e,t){return function(n,r){t(n,r,e)}},rS=class{constructor(e,t,n,r){this._editor=e,this._languageFeaturesService=t,this._workerService=n,this._accessibilitySignalService=r,this._disposables=new V,this._sessionDisposables=new V,this._disposables.add(t.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(e=>{e.hasChanged(56)&&this._update()})),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56)||!this._editor.hasModel())return;let e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;let n=new ea;for(let e of t.autoFormatTriggerCharacters)n.add(e.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(e=>{let t=e.charCodeAt(e.length-1);n.has(t)&&this._trigger(String.fromCharCode(t))}))}_trigger(e){if(!this._editor.hasModel()||this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;let t=this._editor.getModel(),n=this._editor.getPosition(),r=new ec,i=this._editor.onDidChangeModelContent(e=>{if(e.isFlush){r.cancel(),i.dispose();return}for(let t=0,a=e.changes.length;t<a;t++)if(e.changes[t].range.endLineNumber<=n.lineNumber){r.cancel(),i.dispose();return}});Dc(this._workerService,this._languageFeaturesService,t,n,e,t.getFormattingOptions(),r.token).then(e=>{r.token.isCancellationRequested||Pa(e)&&(this._accessibilitySignalService.playSignal(Xt.format,{userGesture:!1}),tl.execute(this._editor,e,!0))}).finally(()=>{i.dispose()})}};rS.ID=`editor.contrib.autoFormat`,rS=tS([nS(1,g),nS(2,Di),nS(3,on)],rS);var iS=class{constructor(e,t,n){this.editor=e,this._languageFeaturesService=t,this._instantiationService=n,this._callOnDispose=new V,this._callOnModel=new V,this._callOnDispose.add(e.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(e.onDidChangeModel(()=>this._update())),this._callOnDispose.add(e.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(t.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(55)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste(({range:e})=>this._trigger(e)))}_trigger(e){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(Fa,this.editor,e,2,ye.None,H.None,!1).catch(v))}};iS.ID=`editor.contrib.formatOnPaste`,iS=tS([nS(1,g),nS(2,I)],iS);var aS=class extends J{constructor(){super({id:`editor.action.formatDocument`,label:b(`formatDocument.label`,`Format Document`),alias:`Format Document`,precondition:E.and(x.notInCompositeEditor,x.writable,x.hasDocumentFormattingProvider),kbOpts:{kbExpr:x.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:`1_modification`,order:1.3}})}async run(e,t){if(t.hasModel()){let n=e.get(I);await e.get(Zc).showWhile(n.invokeFunction(yi,t,1,ye.None,H.None,!0),250)}}},oS=class extends J{constructor(){super({id:`editor.action.formatSelection`,label:b(`formatSelection.label`,`Format Selection`),alias:`Format Selection`,precondition:E.and(x.writable,x.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2084),weight:100},contextMenuOpts:{when:x.hasNonEmptySelection,group:`1_modification`,order:1.31}})}async run(e,t){if(!t.hasModel())return;let n=e.get(I),i=t.getModel(),a=t.getSelections().map(e=>e.isEmpty()?new r(e.startLineNumber,1,e.startLineNumber,i.getLineMaxColumn(e.startLineNumber)):e);await e.get(Zc).showWhile(n.invokeFunction(Fa,t,a,1,ye.None,H.None,!0),250)}};D(rS.ID,rS,2),D(iS.ID,iS,2),y(aS),y(oS),M.registerCommand(`editor.action.format`,async e=>{let t=e.get(lo).getFocusedCodeEditor();if(!t||!t.hasModel())return;let n=e.get(Qr);t.getSelection().isEmpty()?await n.executeCommand(`editor.action.formatDocument`):await n.executeCommand(`editor.action.formatSelection`)});var sS=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},cS=function(e,t){return function(n,r){t(n,r,e)}},lS=class{remove(){var e;(e=this.parent)==null||e.children.delete(this.id)}static findId(e,t){let n;typeof e==`string`?n=`${t.id}/${e}`:(n=`${t.id}/${e.name}`,t.children.get(n)!==void 0&&(n=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let r=n;for(let e=0;t.children.get(r)!==void 0;e++)r=`${n}_${e}`;return r}static empty(e){return e.children.size===0}},uS=class extends lS{constructor(e,t,n){super(),this.id=e,this.parent=t,this.symbol=n,this.children=new Map}},dS=class extends lS{constructor(e,t,n,r){super(),this.id=e,this.parent=t,this.label=n,this.order=r,this.children=new Map}},fS=class e extends lS{static create(t,n,r){let i=new ec(r),a=new e(n.uri),o=t.ordered(n),s=o.map((t,r)=>{let o=lS.findId(`provider_${r}`,a),s=new dS(o,a,t.displayName??`Unknown Outline Provider`,r);return Promise.resolve(t.provideDocumentSymbols(n,i.token)).then(t=>{for(let n of t||[])e._makeOutlineElement(n,s);return s},e=>(Oe(e),s)).then(e=>{lS.empty(e)?e.remove():a._groups.set(o,e)})}),c=t.onDidChange(()=>{Ho(t.ordered(n),o)||i.cancel()});return Promise.all(s).then(()=>i.token.isCancellationRequested&&!r.isCancellationRequested?e.create(t,n,r):a._compact()).finally(()=>{i.dispose(),c.dispose(),i.dispose()})}static _makeOutlineElement(t,n){let r=new uS(lS.findId(t,n),n,t);if(t.children)for(let n of t.children)e._makeOutlineElement(n,r);n.children.set(r.id,r)}constructor(e){super(),this.uri=e,this.id=`root`,this.parent=void 0,this._groups=new Map,this.children=new Map,this.id=`root`,this.parent=void 0}_compact(){let e=0;for(let[t,n]of this._groups)n.children.size===0?this._groups.delete(t):e+=1;if(e!==1)this.children=this._groups;else{let e=Ge.first(this._groups.values());for(let[,t]of e.children)t.parent=this,this.children.set(t.id,t)}return this}getTopLevelSymbols(){let e=[];for(let t of this.children.values())t instanceof uS?e.push(t.symbol):e.push(...Ge.map(t.children.values(),e=>e.symbol));return e.sort((e,t)=>r.compareRangesUsingStarts(e.range,t.range))}asListOfDocumentSymbols(){let t=this.getTopLevelSymbols(),n=[];return e._flattenDocumentSymbols(n,t,``),n.sort((e,t)=>R.compare(r.getStartPosition(e.range),r.getStartPosition(t.range))||R.compare(r.getEndPosition(t.range),r.getEndPosition(e.range)))}static _flattenDocumentSymbols(t,n,r){for(let i of n)t.push({kind:i.kind,tags:i.tags,name:i.name,detail:i.detail,containerName:i.containerName||r,range:i.range,selectionRange:i.selectionRange,children:void 0}),i.children&&e._flattenDocumentSymbols(t,i.children,i.name)}},pS=_s(`IOutlineModelService`),mS=class{constructor(e,t,n){this._languageFeaturesService=e,this._disposables=new V,this._cache=new Pi(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,`DocumentSymbols`,{min:350}),this._disposables.add(n.onModelRemoved(e=>{this._cache.delete(e.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(e,t){let n=this._languageFeaturesService.documentSymbolProvider,r=n.ordered(e),i=this._cache.get(e.id);if(!i||i.versionId!==e.getVersionId()||!Ho(i.provider,r)){let t=new ec;i={versionId:e.getVersionId(),provider:r,promiseCnt:0,source:t,promise:fS.create(n,e,t.token),model:void 0},this._cache.set(e.id,i);let a=Date.now();i.promise.then(t=>{i.model=t,this._debounceInformation.update(e,Date.now()-a)}).catch(t=>{this._cache.delete(e.id)})}if(i.model)return i.model;i.promiseCnt+=1;let a=t.onCancellationRequested(()=>{--i.promiseCnt===0&&(i.source.cancel(),this._cache.delete(e.id))});try{return await i.promise}finally{a.dispose()}}};mS=sS([cS(0,g),cS(1,wc),cS(2,qs)],mS),Jo(pS,mS,1),M.registerCommand(`_executeDocumentSymbolProvider`,async function(e,...t){let[n]=t;j(G.isUri(n));let r=e.get(pS),i=await e.get(ss).createModelReference(n);try{return(await r.getOrCreate(i.object.textEditorModel,H.None)).getTopLevelSymbols()}finally{i.dispose()}});var hS=class e extends U{constructor(t,n){super(),this.contextKeyService=t,this.model=n,this.inlineCompletionVisible=e.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=e.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=e.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=e.suppressSuggestions.bindTo(this.contextKeyService),this._register(pe(e=>{let t=this.model.read(e)?.state.read(e),n=!!t?.inlineCompletion&&t?.primaryGhostText!==void 0&&!t?.primaryGhostText.isEmpty();this.inlineCompletionVisible.set(n),t?.primaryGhostText&&t?.inlineCompletion&&this.suppressSuggestions.set(t.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)})),this._register(pe(e=>{let t=this.model.read(e),n=!1,r=!0,i=t?.primaryGhostText.read(e);if(t?.selectedSuggestItem&&i&&i.parts.length>0){let{column:e,lines:a}=i.parts[0],o=a[0];if(e<=t.textModel.getLineIndentColumn(i.lineNumber)){let e=kc(o);e===-1&&(e=o.length-1),n=e>0;let i=t.textModel.getOptions().tabSize;r=Yc.visibleColumnFromColumn(o,e+1,i)<i}}this.inlineCompletionSuggestsIndentation.set(n),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};hS.inlineSuggestionVisible=new w(`inlineSuggestionVisible`,!1,b(`inlineSuggestionVisible`,`Whether an inline suggestion is visible`)),hS.inlineSuggestionHasIndentation=new w(`inlineSuggestionHasIndentation`,!1,b(`inlineSuggestionHasIndentation`,`Whether the inline suggestion starts with whitespace`)),hS.inlineSuggestionHasIndentationLessThanTabSize=new w(`inlineSuggestionHasIndentationLessThanTabSize`,!0,b(`inlineSuggestionHasIndentationLessThanTabSize`,`Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab`)),hS.suppressSuggestions=new w(`inlineSuggestionSuppressSuggestions`,void 0,b(`suppressSuggestions`,`Whether suggestions should be suppressed for the current suggestion`));var gS=class{constructor(e,t){this.lineNumber=e,this.parts=t}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 Nt([...this.parts.map(e=>new Qe(r.fromPositions(new R(1,e.column)),e.lines.join(`
21
+ `)))]).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)}},_S=class{constructor(e,t,n){this.column=e,this.text=t,this.preview=n,this.lines=vn(this.text)}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every((t,n)=>t===e.lines[n])}},vS=class{constructor(e,t,n,r=0){this.lineNumber=e,this.columnRange=t,this.text=n,this.additionalReservedLineCount=r,this.parts=[new _S(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=vn(this.text)}renderForScreenReader(e){return this.newLines.join(`
22
+ `)}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 yS(e,t){return Ho(e,t,bS)}function bS(e,t){return e===t?!0:!e||!t?!1:e instanceof gS&&t instanceof gS||e instanceof vS&&t instanceof vS?e.equals(t):!1}var xS=[];function SS(){return xS}var CS=class{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new rr(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new r(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}};function wS(e,t){let n=new V,r=e.createDecorationsCollection();return n.add(pt({debugName:()=>`Apply decorations from ${t.debugName}`},e=>{let n=t.read(e);r.set(n)})),n.add({dispose:()=>{r.clear()}}),n}function TS(e,t){return new R(e.lineNumber+t.lineNumber-1,t.lineNumber===1?e.column+t.column-1:t.column)}function ES(e,t){return new R(e.lineNumber-t.lineNumber+1,e.lineNumber-t.lineNumber===0?e.column-t.column+1:e.column)}var DS=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},OS=function(e,t){return function(n,r){t(n,r,e)}},kS=`ghost-text`,AS=class extends U{constructor(e,t,n){super(),this.editor=e,this.model=t,this.languageService=n,this.isDisposed=ti(this,!1),this.currentTextModel=St(this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Kr(this,e=>{if(this.isDisposed.read(e))return;let t=this.currentTextModel.read(e);if(t!==this.model.targetTextModel.read(e))return;let n=this.model.ghostText.read(e);if(!n)return;let r=n instanceof vS?n.columnRange:void 0,i=[],a=[];function o(e,t){if(a.length>0){let n=a[a.length-1];t&&n.decorations.push(new Zt(n.content.length+1,n.content.length+1+e[0].length,t,0)),n.content+=e[0],e=e.slice(1)}for(let n of e)a.push({content:n,decorations:t?[new Zt(1,n.length+1,t,0)]:[]})}let s=t.getLineContent(n.lineNumber),c,l=0;for(let e of n.parts){let t=e.lines;c===void 0?(i.push({column:e.column,text:t[0],preview:e.preview}),t=t.slice(1)):o([s.substring(l,e.column-1)],void 0),t.length>0&&(o(t,kS),c===void 0&&e.column<=s.length&&(c=e.column)),l=e.column-1}return c!==void 0&&o([s.substring(l)],void 0),{replacedRange:r,inlineTexts:i,additionalLines:a,hiddenRange:c===void 0?void 0:new CS(c,s.length+1),lineNumber:n.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(e),targetTextModel:t}}),this.decorations=Kr(this,e=>{let t=this.uiState.read(e);if(!t)return[];let n=[];t.replacedRange&&n.push({range:t.replacedRange.toRange(t.lineNumber),options:{inlineClassName:`inline-completion-text-to-replace`,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)n.push({range:r.fromPositions(new R(t.lineNumber,e.column)),options:{description:kS,after:{content:e.text,inlineClassName:e.preview?`ghost-text-decoration-preview`:`ghost-text-decoration`,cursorStops:fc.Left},showIfCollapsed:!0}});return n}),this.additionalLinesWidget=this._register(new jS(this.editor,this.languageService.languageIdCodec,Kr(e=>{let t=this.uiState.read(e);return t?{lineNumber:t.lineNumber,additionalLines:t.additionalLines,minReservedLineCount:t.additionalReservedLineCount,targetTextModel:t.targetTextModel}:void 0}))),this._register(Hi(()=>{this.isDisposed.set(!0,void 0)})),this._register(wS(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};AS=DS([OS(2,Xa)],AS);var jS=class extends U{get viewZoneId(){return this._viewZoneId}constructor(e,t,n){super(),this.editor=e,this.languageIdCodec=t,this.lines=n,this._viewZoneId=void 0,this.editorOptionsChanged=Qn(`editorOptionChanged`,xc.filter(this.editor.onDidChangeConfiguration,e=>e.hasChanged(33)||e.hasChanged(117)||e.hasChanged(99)||e.hasChanged(94)||e.hasChanged(51)||e.hasChanged(50)||e.hasChanged(67))),this._register(pe(e=>{let t=this.lines.read(e);this.editorOptionsChanged.read(e),t?this.updateLines(t.lineNumber,t.additionalLines,t.minReservedLineCount):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones(e=>{this._viewZoneId&&=(e.removeZone(this._viewZoneId),void 0)})}updateLines(e,t,n){let r=this.editor.getModel();if(!r)return;let{tabSize:i}=r.getOptions();this.editor.changeViewZones(r=>{this._viewZoneId&&=(r.removeZone(this._viewZoneId),void 0);let a=Math.max(t.length,n);if(a>0){let n=document.createElement(`div`);MS(n,i,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:n,afterColumnAffinity:1})}})}};function MS(e,t,n,r,i){let a=r.get(33),o=r.get(117),s=r.get(94),c=r.get(51),l=r.get(50),u=r.get(67),d=new wi(1e4);d.appendString(`<div class="suggest-preview-text">`);for(let e=0,r=n.length;e<r;e++){let r=n[e],p=r.content;d.appendString(`<div class="view-line`),d.appendString(`" style="top:`),d.appendString(String(e*u)),d.appendString(`px;width:1000000px;">`);let m=Jc(p),h=Ka(p),ee=sn.createEmpty(p,i);mo(new f(l.isMonospace&&!a,l.canUseHalfwidthRightwardsArrow,p,!1,m,h,0,ee,r.decorations,t,0,l.spaceWidth,l.middotWidth,l.wsmiddotWidth,o,`none`,s,c!==Do.OFF,null),d),d.appendString(`</div>`)}d.appendString(`</div>`),na(e,l);let p=d.build();e.innerHTML=NS?NS.createHTML(p):p}var NS=Wi(`editorGhostText`,{createHTML:e=>e});function PS(e,t){let n=new qt(new _l,e=>t.getLanguageConfiguration(e)),r=bt(new Xn(new FS([e]),n),[],void 0,!0),i=``,a=e.getLineContent();function o(e,t){if(e.kind===2)if(o(e.openingBracket,t),t=de(t,e.openingBracket.length),e.child&&(o(e.child,t),t=de(t,e.child.length)),e.closingBracket)o(e.closingBracket,t),t=de(t,e.closingBracket.length);else{let t=n.getSingleLanguageBracketTokens(e.openingBracket.languageId).findClosingTokenText(e.openingBracket.bracketIds);i+=t}else if(e.kind!==3){if(e.kind===0||e.kind===1)i+=a.substring(Pr(t),Pr(de(t,e.length)));else if(e.kind===4)for(let n of e.children)o(n,t),t=de(t,n.length)}}return o(r,0),i}var FS=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}};async function IS(e,t,n,r,i=H.None,a){let o=BS(t,n),s=e.all(n),c=new nc;for(let e of s)e.groupId&&c.add(e.groupId,e);function l(e){if(!e.yieldsToGroupIds)return[];let t=[];for(let n of e.yieldsToGroupIds||[]){let e=c.get(n);for(let n of e)t.push(n)}return t}let u=new Map,d=new Set;function f(e,t){if(t=[...t,e],d.has(e))return t;d.add(e);try{let n=l(e);for(let e of n){let n=f(e,t);if(n)return n}}finally{d.delete(e)}}function p(e){let a=u.get(e);if(a)return a;let o=f(e,[]);o&&Oe(Error(`Inline completions: cyclic yield-to dependency detected. Path: ${o.map(e=>e.toString?e.toString():``+e).join(` -> `)}`));let s=new ei;return u.set(e,s.p),(async()=>{if(!o){let t=l(e);for(let e of t){let t=await p(e);if(t&&t.items.length>0)return}}try{return await e.provideInlineCompletions(n,t,r,i)}catch(e){Oe(e);return}})().then(e=>s.complete(e),e=>s.error(e)),s.p}let m=await Promise.all(s.map(async e=>({provider:e,completions:await p(e)}))),h=new Map,ee=[];for(let e of m){let t=e.completions;if(!t)continue;let r=new RS(t,e.provider);ee.push(r);for(let e of t.items){let t=zS.from(e,r,o,n,a);h.set(t.hash(),t)}}return new LS(Array.from(h.values()),new Set(h.keys()),ee)}var LS=class{constructor(e,t,n){this.completions=e,this.hashs=t,this.providerResults=n}has(e){return this.hashs.has(e.hash())}dispose(){for(let e of this.providerResults)e.removeRef()}},RS=class{constructor(e,t){this.inlineCompletions=e,this.provider=t,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,this.refCount===0&&this.provider.freeInlineCompletions(this.inlineCompletions)}},zS=class e{static from(t,n,i,a,o){let s,c,l=t.range?r.lift(t.range):i;if(typeof t.insertText==`string`){if(s=t.insertText,o&&t.completeBracketPairs){s=VS(s,l.getStartPosition(),a,o);let e=s.length-t.insertText.length;e!==0&&(l=new r(l.startLineNumber,l.startColumn,l.endLineNumber,l.endColumn+e))}c=void 0}else if(`snippet`in t.insertText){let e=t.insertText.snippet.length;if(o&&t.completeBracketPairs){t.insertText.snippet=VS(t.insertText.snippet,l.getStartPosition(),a,o);let n=t.insertText.snippet.length-e;n!==0&&(l=new r(l.startLineNumber,l.startColumn,l.endLineNumber,l.endColumn+n))}let n=new Ld().parse(t.insertText.snippet);n.children.length===1&&n.children[0]instanceof Od?(s=n.children[0].value,c=void 0):(s=n.toString(),c={snippet:t.insertText.snippet,range:l})}else Ur(t.insertText);return new e(s,t.command,l,s,c,t.additionalTextEdits||SS(),t,n)}constructor(e,t,n,r,i,a,o,s){this.filterText=e,this.command=t,this.range=n,this.insertText=r,this.snippetInfo=i,this.additionalTextEdits=a,this.sourceInlineCompletion=o,this.source=s,e=e.replace(/\r\n|\r/g,`
23
+ `),r=e.replace(/\r\n|\r/g,`
24
+ `)}withRange(t){return new e(this.filterText,this.command,t,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}};function BS(e,t){let n=t.getWordAtPosition(e),i=t.getLineMaxColumn(e.lineNumber);return n?new r(e.lineNumber,n.startColumn,e.lineNumber,i):r.fromPositions(e,e.with(void 0,i))}function VS(e,t,n,r){let i=n.getLineContent(t.lineNumber).substring(0,t.column-1)+e,a=n.tokenization.tokenizeLineWithEdit(t,i.length-(t.column-1),e)?.sliceAndInflate(t.column-1,i.length,0);return a?PS(a,r):e}function HS(e,t,n){let i=n?e.range.intersectRanges(n):e.range;if(!i)return e;let a=t.getValueInRange(i,1),o=sa(a,e.text),s=js.ofText(a.substring(0,o)).addToPosition(e.range.getStartPosition()),c=e.text.substring(o);return new Qe(r.fromPositions(s,e.range.getEndPosition()),c)}function US(e,t){return e.text.startsWith(t.text)&&GS(e.range,t.range)}function WS(e,t,n,i,a=0){let o=HS(e,t);if(o.range.endLineNumber!==o.range.startLineNumber)return;let s=t.getLineContent(o.range.startLineNumber),c=Bi(s).length;if(o.range.startColumn-1<=c){let e=Bi(o.text).length,t=s.substring(o.range.startColumn-1,c),[n,i]=[o.range.getStartPosition(),o.range.getEndPosition()],a=n.column+t.length<=i.column?n.delta(0,t.length):i;o=new Qe(r.fromPositions(a,i),o.text.startsWith(t)?o.text.substring(t.length):o.text.substring(e))}let l=t.getValueInRange(o.range),u=qS(l,o.text);if(!u)return;let d=o.range.startLineNumber,f=[];if(n===`prefix`){let e=u.filter(e=>e.originalLength===0);if(e.length>1||e.length===1&&e[0].originalStart!==l.length)return}let p=o.text.length-a;for(let e of u){let t=o.range.startColumn+e.originalStart+e.originalLength;if(n===`subwordSmart`&&i&&i.lineNumber===o.range.startLineNumber&&t<i.column||e.originalLength>0)return;if(e.modifiedLength===0)continue;let r=e.modifiedStart+e.modifiedLength,a=Math.max(e.modifiedStart,Math.min(r,p)),s=o.text.substring(e.modifiedStart,a),c=o.text.substring(a,Math.max(e.modifiedStart,r));s.length>0&&f.push(new _S(t,s,!1)),c.length>0&&f.push(new _S(t,c,!0))}return new gS(d,f)}function GS(e,t){return t.getStartPosition().equals(e.getStartPosition())&&t.getEndPosition().isBeforeOrEqual(e.getEndPosition())}var KS=void 0;function qS(e,t){if(KS?.originalValue===e&&KS?.newValue===t)return KS?.changes;{let n=YS(e,t,!0);if(n){let r=JS(n);if(r>0){let i=YS(e,t,!1);i&&JS(i)<r&&(n=i)}}return KS={originalValue:e,newValue:t,changes:n},n}}function JS(e){let t=0;for(let n of e)t+=n.originalLength;return t}function YS(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++)n&&e[o]===`(`?(i[o]=a(2*(r*100+t)),t++):n&&e[o]===`)`?(t=Math.max(t-1,0),i[o]=a(2*(r*100+t)+1),t===0&&r++):i[o]=e.charCodeAt(o);return i}let s=o(e),c=o(t);return new Ro({getElements:()=>s},{getElements:()=>c}).ComputeDiff(!1).changes}var XS=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},ZS=function(e,t){return function(n,r){t(n,r,e)}},QS=class extends U{constructor(e,t,n,r,i){super(),this.textModel=e,this.versionId=t,this._debounceValue=n,this.languageFeaturesService=r,this.languageConfigurationService=i,this._updateOperation=this._register(new Ja),this.inlineCompletions=ui(`inlineCompletions`,void 0),this.suggestWidgetInlineCompletions=ui(`suggestWidgetInlineCompletions`,void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,n){let r=new eC(e,t,this.textModel.getVersionId()),i=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if(this._updateOperation.value?.request.satisfies(r))return this._updateOperation.value.promise;if(i.get()?.request.satisfies(r))return Promise.resolve(!0);let a=!!this._updateOperation.value;this._updateOperation.clear();let o=new ec,s=(async()=>{if((a||t.triggerKind===Ar.Automatic)&&await $S(this._debounceValue.get(this.textModel),o.token),o.token.isCancellationRequested||this.textModel.getVersionId()!==r.versionId)return!1;let s=new Date,c=await IS(this.languageFeaturesService.inlineCompletionsProvider,e,this.textModel,t,o.token,this.languageConfigurationService);if(o.token.isCancellationRequested||this.textModel.getVersionId()!==r.versionId)return!1;let l=new Date;this._debounceValue.update(this.textModel,l.getTime()-s.getTime());let d=new nC(c,r,this.textModel,this.versionId);if(n){let t=n.toInlineCompletion(void 0);n.canBeReused(this.textModel,e)&&!c.has(t)&&d.prepend(n.inlineCompletion,t.range,!0)}return this._updateOperation.clear(),u(e=>{i.set(d,e)}),!0})(),c=new tC(r,o,s);return this._updateOperation.value=c,s}clear(e){this._updateOperation.clear(),this.inlineCompletions.set(void 0,e),this.suggestWidgetInlineCompletions.set(void 0,e)}clearSuggestWidgetInlineCompletions(e){this._updateOperation.value?.request.context.selectedSuggestionInfo&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,e)}cancelUpdate(){this._updateOperation.clear()}};QS=XS([ZS(3,g),ZS(4,Cc)],QS);function $S(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 eC=class{constructor(e,t,n){this.position=e,this.context=t,this.versionId=n}satisfies(e){return this.position.equals(e.position)&&va(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,dc())&&(e.context.triggerKind===Ar.Automatic||this.context.triggerKind===Ar.Explicit)&&this.versionId===e.versionId}},tC=class{constructor(e,t,n){this.request=e,this.cancellationTokenSource=t,this.promise=n}dispose(){this.cancellationTokenSource.cancel()}},nC=class{get inlineCompletions(){return this._inlineCompletions}constructor(e,t,n,r){this.inlineCompletionProviderResult=e,this.request=t,this._textModel=n,this._versionId=r,this._refCount=1,this._prependedInlineCompletionItems=[];let i=n.deltaDecorations([],e.completions.map(e=>({range:e.range,options:{description:`inline-completion-tracking-range`}})));this._inlineCompletions=e.completions.map((e,t)=>new rC(e,i[t],this._textModel,this._versionId))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,this._refCount===0){setTimeout(()=>{this._textModel.isDisposed()||this._textModel.deltaDecorations(this._inlineCompletions.map(e=>e.decorationId),[])},0),this.inlineCompletionProviderResult.dispose();for(let e of this._prependedInlineCompletionItems)e.source.removeRef()}}prepend(e,t,n){n&&e.source.addRef();let r=this._textModel.deltaDecorations([],[{range:t,options:{description:`inline-completion-tracking-range`}}])[0];this._inlineCompletions.unshift(new rC(e,r,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}},rC=class{get forwardStable(){return this.inlineCompletion.source.inlineCompletions.enableForwardStability??!1}constructor(e,t,n,i){this.inlineCompletion=e,this.decorationId=t,this._textModel=n,this._modelVersion=i,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._updatedRange=zt({owner:this,equalsFn:r.equalsRange},e=>(this._modelVersion.read(e),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??iC)}toSingleTextEdit(e){return new Qe(this._updatedRange.read(e)??iC,this.inlineCompletion.insertText)}isVisible(e,t,n){let r=HS(this._toFilterTextReplacement(n),e),i=this._updatedRange.read(n);if(!i||!this.inlineCompletion.range.getStartPosition().equals(i.getStartPosition())||t.lineNumber!==r.range.startLineNumber)return!1;let a=e.getValueInRange(r.range,1),o=r.text,s=Math.max(0,t.column-r.range.startColumn),c=o.substring(0,s),l=o.substring(s),u=a.substring(0,s),d=a.substring(s),f=e.getLineIndentColumn(r.range.startLineNumber);return r.range.startColumn<=f&&(u=u.trimStart(),u.length===0&&(d=d.trimStart()),c=c.trimStart(),c.length===0&&(l=l.trimStart())),c.startsWith(u)&&!!It(d,l)}canBeReused(e,t){let n=this._updatedRange.read(void 0);return!!n&&n.containsPosition(t)&&this.isVisible(e,t,void 0)&&js.ofRange(n).isGreaterThanOrEqualTo(js.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new Qe(this._updatedRange.read(e)??iC,this.inlineCompletion.filterText)}},iC=new r(1,1,1,1),$={Visible:jy,HasFocusedSuggestion:new w(`suggestWidgetHasFocusedSuggestion`,!1,b(`suggestWidgetHasSelection`,`Whether any suggestion is focused`)),DetailsVisible:new w(`suggestWidgetDetailsVisible`,!1,b(`suggestWidgetDetailsVisible`,`Whether suggestion details are visible`)),MultipleSuggestions:new w(`suggestWidgetMultipleSuggestions`,!1,b(`suggestWidgetMultipleSuggestions`,`Whether there are multiple suggestions to pick from`)),MakesTextEdit:new w(`suggestionMakesTextEdit`,!0,b(`suggestionMakesTextEdit`,`Whether inserting the current suggestion yields in a change or has everything already been typed`)),AcceptSuggestionsOnEnter:new w(`acceptSuggestionOnEnter`,!0,b(`acceptSuggestionOnEnter`,`Whether suggestions are inserted when pressing Enter`)),HasInsertAndReplaceRange:new w(`suggestionHasInsertAndReplaceRange`,!1,b(`suggestionHasInsertAndReplaceRange`,`Whether the current suggestion has insert and replace behaviour`)),InsertMode:new w(`suggestionInsertMode`,void 0,{type:`string`,description:b(`suggestionInsertMode`,`Whether the default behaviour is to insert or replace`)}),CanResolve:new w(`suggestionCanResolve`,!1,b(`suggestionCanResolve`,`Whether the current suggestion supports to resolve further details`))},aC=new C(`suggestWidgetStatusBar`),oC=class{constructor(e,t,n,i){this.position=e,this.completion=t,this.container=n,this.provider=i,this.isInvalid=!1,this.score=Jn.Default,this.distance=0,this.textLabel=typeof t.label==`string`?t.label:t.label?.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=t.sortText&&t.sortText.toLowerCase(),this.filterTextLow=t.filterText&&t.filterText.toLowerCase(),this.extensionId=t.extensionId,r.isIRange(t.range)?(this.editStart=new R(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new R(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new R(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||r.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new R(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new R(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new R(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||r.spansMultipleLines(t.range.insert)||r.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),typeof i.resolveCompletionItem!=`function`&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return this._resolveDuration!==void 0}get resolveDuration(){return this._resolveDuration===void 0?-1:this._resolveDuration}async resolve(e){if(!this._resolveCache){let t=e.onCancellationRequested(()=>{this._resolveCache=void 0,this._resolveDuration=void 0}),n=new Oa(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(e=>{Object.assign(this.completion,e),this._resolveDuration=n.elapsed()},e=>{fr(e)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}},sC=class{constructor(e=2,t=new Set,n=new Set,r=new Map,i=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=n,this.providerItemsToReuse=r,this.showDeprecated=i}};sC.default=new sC;var cC;function lC(){return cC}var uC=class{constructor(e,t,n,r){this.items=e,this.needsClipboard=t,this.durations=n,this.disposable=r}};async function dC(e,t,n,i=sC.default,a={triggerKind:0},o=H.None){let s=new Oa;n=n.clone();let c=t.getWordAtPosition(n),l=c?new r(n.lineNumber,c.startColumn,n.lineNumber,c.endColumn):r.fromPositions(n),u={replace:l,insert:l.setEndPosition(n.lineNumber,n.column)},d=[],f=new V,p=[],m=!1,h=(e,t,r)=>{let a=!1;if(!t)return a;for(let r of t.suggestions)if(!i.kindFilter.has(r.kind)){if(!i.showDeprecated&&(r?.tags)?.includes(1))continue;r.range||=u,r.sortText||=typeof r.label==`string`?r.label:r.label.label,!m&&r.insertTextRules&&r.insertTextRules&4&&(m=Ld.guessNeedsClipboard(r.insertText)),d.push(new oC(n,r,t,e)),a=!0}return al(t)&&f.add(t),p.push({providerName:e._debugDisplayName??`unknown_provider`,elapsedProvider:t.duration??-1,elapsedOverall:r.elapsed()}),a},ee=(async()=>{})();for(let r of e.orderedGroups(t)){let e=!1;if(await Promise.all(r.map(async r=>{if(i.providerItemsToReuse.has(r)){let t=i.providerItemsToReuse.get(r);t.forEach(e=>d.push(e)),e||=t.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(r)))try{let i=new Oa;e=h(r,await r.provideCompletionItems(t,n,a,o),i)||e}catch(e){Oe(e)}})),e||o.isCancellationRequested)break}return await ee,o.isCancellationRequested?(f.dispose(),Promise.reject(new ve)):new uC(d.sort(gC(i.snippetSortOrder)),m,{entries:p,elapsed:s.elapsed()},f)}function fC(e,t){if(e.sortTextLow&&t.sortTextLow){if(e.sortTextLow<t.sortTextLow)return-1;if(e.sortTextLow>t.sortTextLow)return 1}return e.textLabel<t.textLabel?-1:e.textLabel>t.textLabel?1:e.completion.kind-t.completion.kind}function pC(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return-1;if(t.completion.kind===27)return 1}return fC(e,t)}function mC(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return 1;if(t.completion.kind===27)return-1}return fC(e,t)}var hC=new Map;hC.set(0,pC),hC.set(2,mC),hC.set(1,fC);function gC(e){return hC.get(e)}M.registerCommand(`_executeCompletionItemProvider`,async(e,...t)=>{let[n,r,i,a]=t;j(G.isUri(n)),j(R.isIPosition(r)),j(typeof i==`string`||!i),j(typeof a==`number`||!a);let{completionProvider:o}=e.get(g),s=await e.get(ss).createModelReference(n);try{let e={incomplete:!1,suggestions:[]},t=[],n=s.object.textEditorModel.validatePosition(r),c=await dC(o,s.object.textEditorModel,n,void 0,{triggerCharacter:i??void 0,triggerKind:+!!i});for(let n of c.items)t.length<(a??0)&&t.push(n.resolve(H.None)),e.incomplete=e.incomplete||n.container.incomplete,e.suggestions.push(n.completion);try{return await Promise.all(t),e}finally{setTimeout(()=>c.disposable.dispose(),100)}}finally{s.dispose()}});function _C(e,t){var n;(n=e.getContribution(`editor.contrib.suggestController`))==null||n.triggerSuggest(new Set().add(t),void 0,!0)}var vC=class{static isAllOff(e){return e.other===`off`&&e.comments===`off`&&e.strings===`off`}static isAllOn(e){return e.other===`on`&&e.comments===`on`&&e.strings===`on`}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}};function yC(e,t=Sr){return Je(e,t)?e.charAt(0).toUpperCase()+e.slice(1):e}var bC=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},xC=function(e,t){return function(n,r){t(n,r,e)}};Object.freeze({CURRENT_YEAR:!0,CURRENT_YEAR_SHORT:!0,CURRENT_MONTH:!0,CURRENT_DATE:!0,CURRENT_HOUR:!0,CURRENT_MINUTE:!0,CURRENT_SECOND:!0,CURRENT_DAY_NAME:!0,CURRENT_DAY_NAME_SHORT:!0,CURRENT_MONTH_NAME:!0,CURRENT_MONTH_NAME_SHORT:!0,CURRENT_SECONDS_UNIX:!0,CURRENT_TIMEZONE_OFFSET:!0,SELECTION:!0,CLIPBOARD:!0,TM_SELECTED_TEXT:!0,TM_CURRENT_LINE:!0,TM_CURRENT_WORD:!0,TM_LINE_INDEX:!0,TM_LINE_NUMBER:!0,TM_FILENAME:!0,TM_FILENAME_BASE:!0,TM_DIRECTORY:!0,TM_FILEPATH:!0,CURSOR_INDEX:!0,CURSOR_NUMBER:!0,RELATIVE_FILEPATH:!0,BLOCK_COMMENT_START:!0,BLOCK_COMMENT_END:!0,LINE_COMMENT:!0,WORKSPACE_NAME:!0,WORKSPACE_FOLDER:!0,RANDOM:!0,RANDOM_HEX:!0,UUID:!0});var SC=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}}},CC=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=Bi(this._model.getLineContent(this._selection.startLineNumber),0,this._selection.startColumn-1),r=n;e.snippet.walk(t=>t===e?!1:(t instanceof Od&&(r=Bi(vn(t.value).pop())),!0));let i=sa(r,n);t=t.replace(/(\r\n|\r|\n)(.*)/g,(e,t,n)=>`${t}${r.substr(i)}${n}`)}return t}else if(t===`TM_CURRENT_LINE`)return this._model.getLineContent(this._selection.positionLineNumber);else if(t===`TM_CURRENT_WORD`){let e=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return e&&e.word||void 0}else if(t===`TM_LINE_INDEX`)return String(this._selection.positionLineNumber-1);else if(t===`TM_LINE_NUMBER`)return String(this._selection.positionLineNumber);else if(t===`CURSOR_INDEX`)return String(this._selectionIdx);else if(t===`CURSOR_NUMBER`)return String(this._selectionIdx+1)}},wC=class{constructor(e,t){this._labelService=e,this._model=t}resolve(e){let{name:t}=e;if(t===`TM_FILENAME`)return rs(this._model.uri.fsPath);if(t===`TM_FILENAME_BASE`){let e=rs(this._model.uri.fsPath),t=e.lastIndexOf(`.`);return t<=0?e:e.slice(0,t)}else if(t===`TM_DIRECTORY`)return Us(this._model.uri.fsPath)===`.`?``:this._labelService.getUriLabel(Sn(this._model.uri));else if(t===`TM_FILEPATH`)return this._labelService.getUriLabel(this._model.uri);else if(t===`RELATIVE_FILEPATH`)return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}},TC=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=>!tr(e));if(e.length===this._selectionCount)return e[this._selectionIdx]}return t}}},EC=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}}};EC=bC([xC(2,Cc)],EC);var DC=class e{constructor(){this._date=new Date}resolve(t){let{name:n}=t;if(n===`CURRENT_YEAR`)return String(this._date.getFullYear());if(n===`CURRENT_YEAR_SHORT`)return String(this._date.getFullYear()).slice(-2);if(n===`CURRENT_MONTH`)return String(this._date.getMonth().valueOf()+1).padStart(2,`0`);if(n===`CURRENT_DATE`)return String(this._date.getDate().valueOf()).padStart(2,`0`);if(n===`CURRENT_HOUR`)return String(this._date.getHours().valueOf()).padStart(2,`0`);if(n===`CURRENT_MINUTE`)return String(this._date.getMinutes().valueOf()).padStart(2,`0`);if(n===`CURRENT_SECOND`)return String(this._date.getSeconds().valueOf()).padStart(2,`0`);if(n===`CURRENT_DAY_NAME`)return e.dayNames[this._date.getDay()];if(n===`CURRENT_DAY_NAME_SHORT`)return e.dayNamesShort[this._date.getDay()];if(n===`CURRENT_MONTH_NAME`)return e.monthNames[this._date.getMonth()];if(n===`CURRENT_MONTH_NAME_SHORT`)return e.monthNamesShort[this._date.getMonth()];if(n===`CURRENT_SECONDS_UNIX`)return String(Math.floor(this._date.getTime()/1e3));if(n===`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}}};DC.dayNames=[b(`Sunday`,`Sunday`),b(`Monday`,`Monday`),b(`Tuesday`,`Tuesday`),b(`Wednesday`,`Wednesday`),b(`Thursday`,`Thursday`),b(`Friday`,`Friday`),b(`Saturday`,`Saturday`)],DC.dayNamesShort=[b(`SundayShort`,`Sun`),b(`MondayShort`,`Mon`),b(`TuesdayShort`,`Tue`),b(`WednesdayShort`,`Wed`),b(`ThursdayShort`,`Thu`),b(`FridayShort`,`Fri`),b(`SaturdayShort`,`Sat`)],DC.monthNames=[b(`January`,`January`),b(`February`,`February`),b(`March`,`March`),b(`April`,`April`),b(`May`,`May`),b(`June`,`June`),b(`July`,`July`),b(`August`,`August`),b(`September`,`September`),b(`October`,`October`),b(`November`,`November`),b(`December`,`December`)],DC.monthNamesShort=[b(`JanuaryShort`,`Jan`),b(`FebruaryShort`,`Feb`),b(`MarchShort`,`Mar`),b(`AprilShort`,`Apr`),b(`MayShort`,`May`),b(`JuneShort`,`Jun`),b(`JulyShort`,`Jul`),b(`AugustShort`,`Aug`),b(`SeptemberShort`,`Sep`),b(`OctoberShort`,`Oct`),b(`NovemberShort`,`Nov`),b(`DecemberShort`,`Dec`)];var OC=class{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;let t=ol(this._workspaceService.getWorkspace());if(!Ba(t)){if(e.name===`WORKSPACE_NAME`)return this._resolveWorkspaceName(t);if(e.name===`WORKSPACE_FOLDER`)return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(Ci(e))return rs(e.uri.path);let t=rs(e.configPath.path);return t.endsWith(`code-workspace`)&&(t=t.substr(0,t.length-Ya.length-1)),t}_resoveWorkspacePath(e){if(Ci(e))return yC(e.uri.fsPath);let t=rs(e.configPath.path),n=e.configPath.fsPath;return n.endsWith(t)&&(n=n.substr(0,n.length-t.length-1)),n?yC(n):`/`}},kC=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 td()}},AC=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},jC=function(e,t){return function(n,r){t(n,r,e)}},MC,NC=class e{constructor(e,t,n){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=n,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=Ec(t.placeholders,Ad.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 i of this._snippet.placeholders){let a=this._snippet.offset(i),o=this._snippet.fullLen(i),s=r.fromPositions(t.getPositionAt(this._offset+a),t.getPositionAt(this._offset+a+o)),c=i.isFinalTabstop?e._decor.inactiveFinal:e._decor.inactive,l=n.addDecoration(s,c);this._placeholderDecorations.set(i,l)}})}move(t){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){let e=[];for(let t of this._placeholderGroups[this._placeholderGroupsIdx])if(t.transform){let n=this._placeholderDecorations.get(t),r=this._editor.getModel().getDecorationRange(n),i=this._editor.getModel().getValueInRange(r),a=t.transform.resolve(i).split(/\r\n|\r|\n/);for(let e=1;e<a.length;e++)a[e]=this._editor.getModel().normalizeIndentation(this._snippetLineLeadingWhitespace+a[e]);e.push(pr.replace(r,a.join(this._editor.getModel().getEOL())))}e.length>0&&this._editor.executeEdits(`snippet.placeholderTransform`,e)}let n=!1;t===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?(this._placeholderGroupsIdx+=1,n=!0):t===!1&&this._placeholderGroupsIdx>0&&(--this._placeholderGroupsIdx,n=!0);let r=this._editor.getModel().changeDecorations(t=>{let r=new Set,i=[];for(let a of this._placeholderGroups[this._placeholderGroupsIdx]){let o=this._placeholderDecorations.get(a),s=this._editor.getModel().getDecorationRange(o);i.push(new O(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn)),n&&=this._hasPlaceholderBeenCollapsed(a),t.changeDecorationOptions(o,a.isFinalTabstop?e._decor.activeFinal:e._decor.active),r.add(a);for(let n of this._snippet.enclosingPlaceholders(a)){let i=this._placeholderDecorations.get(n);t.changeDecorationOptions(i,n.isFinalTabstop?e._decor.activeFinal:e._decor.active),r.add(n)}}for(let[n,i]of this._placeholderDecorations)r.has(n)||t.changeDecorationOptions(i,n.isFinalTabstop?e._decor.inactiveFinal:e._decor.inactive);return i});return n?this.move(t):r??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof Ad){let e=this._placeholderDecorations.get(t);if(this._editor.getModel().getDecorationRange(e).isEmpty()&&t.toString().length>0)return!0}t=t.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 jd,!e)),e}merge(t){let n=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(i=>{for(let a of this._placeholderGroups[this._placeholderGroupsIdx]){let o=t.shift();console.assert(o._offset!==-1),console.assert(!o._placeholderDecorations);let s=o._snippet.placeholderInfo.last.index;for(let e of o._snippet.placeholderInfo.all)e.isFinalTabstop?e.index=a.index+(s+1)/this._nestingLevel:e.index=a.index+e.index/this._nestingLevel;this._snippet.replace(a,o._snippet.children);let c=this._placeholderDecorations.get(a);i.removeDecoration(c),this._placeholderDecorations.delete(a);for(let t of o._snippet.placeholders){let a=o._snippet.offset(t),s=o._snippet.fullLen(t),c=r.fromPositions(n.getPositionAt(o._offset+a),n.getPositionAt(o._offset+a+s)),l=i.addDecoration(c,e._decor.inactive);this._placeholderDecorations.set(t,l)}}this._placeholderGroups=Ec(this._snippet.placeholders,Ad.compareByIndex)})}};NC._decor={active:k.register({description:`snippet-placeholder-1`,stickiness:0,className:`snippet-placeholder`}),inactive:k.register({description:`snippet-placeholder-2`,stickiness:1,className:`snippet-placeholder`}),activeFinal:k.register({description:`snippet-placeholder-3`,stickiness:1,className:`finish-snippet-placeholder`}),inactiveFinal:k.register({description:`snippet-placeholder-4`,stickiness:1,className:`finish-snippet-placeholder`})};var PC={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0},FC=MC=class{static adjustWhitespace(e,t,n,r,i){let a=Bi(e.getLineContent(t.lineNumber),0,t.column-1),o;return r.walk(t=>{if(!(t instanceof Od)||t.parent instanceof jd||i&&!i.has(t))return!0;let s=t.value.split(/\r\n|\r|\n/);if(n){let n=r.offset(t);if(n===0)s[0]=e.normalizeIndentation(s[0]);else{o??=r.toString();let t=o.charCodeAt(n-1);(t===10||t===13)&&(s[0]=e.normalizeIndentation(a+s[0]))}for(let t=1;t<s.length;t++)s[t]=e.normalizeIndentation(a+s[t])}let c=s.join(e.getEOL());return c!==t.value&&(t.parent.replace(t,[new Od(c)]),o=void 0),!0}),a}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=O.createWithDirection(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn,t.getDirection())}return t}static createEditsAndSnippetsFromSelections(e,t,n,i,a,o,s,c,l){let u=[],d=[];if(!e.hasModel())return{edits:u,snippets:d};let f=e.getModel(),p=e.invokeWithinContext(e=>e.get(qo)),m=e.invokeWithinContext(e=>new wC(e.get(Hc),f)),h=()=>s,ee=f.getValueInRange(MC.adjustSelection(f,e.getSelection(),n,0)),te=f.getValueInRange(MC.adjustSelection(f,e.getSelection(),0,i)),ne=f.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),re=e.getSelections().map((e,t)=>({selection:e,idx:t})).sort((e,t)=>r.compareRangesUsingStarts(e.selection,t.selection));for(let{selection:r,idx:s}of re){let ie=MC.adjustSelection(f,r,n,0),ae=MC.adjustSelection(f,r,0,i);ee!==f.getValueInRange(ie)&&(ie=r),te!==f.getValueInRange(ae)&&(ae=r);let g=r.setStartPosition(ie.startLineNumber,ie.startColumn).setEndPosition(ae.endLineNumber,ae.endColumn),oe=new Ld().parse(t,!0,a),se=g.getStartPosition(),ce=MC.adjustWhitespace(f,se,o||s>0&&ne!==f.getLineFirstNonWhitespaceColumn(r.positionLineNumber),oe);oe.resolveVariables(new SC([m,new TC(h,s,re.length,e.getOption(79)===`spread`),new CC(f,r,s,c),new EC(f,r,l),new DC,new OC(p),new kC])),u[s]=pr.replace(g,oe.toString()),u[s].identifier={major:s,minor:0},u[s]._isTracked=!0,d[s]=new NC(e,oe,ce)}return{edits:u,snippets:d}}static createEditsAndSnippetsFromEdits(e,t,n,i,a,o,s){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};let c=[],l=e.getModel(),u=new Ld,d=new Id,f=new SC([e.invokeWithinContext(e=>new wC(e.get(Hc),l)),new TC(()=>a,0,e.getSelections().length,e.getOption(79)===`spread`),new CC(l,e.getSelection(),0,o),new EC(l,e.getSelection(),s),new DC,new OC(e.invokeWithinContext(e=>e.get(qo))),new kC]);t=t.sort((e,t)=>r.compareRangesUsingStarts(e.range,t.range));let p=0;for(let e=0;e<t.length;e++){let{range:n,template:i}=t[e];if(e>0){let i=t[e-1].range,a=r.fromPositions(i.getEndPosition(),n.getStartPosition()),o=new Od(l.getValueInRange(a));d.appendChild(o),p+=o.value.length}let a=u.parseFragment(i,d);MC.adjustWhitespace(l,n.getStartPosition(),!0,d,new Set(a)),d.resolveVariables(f);let o=d.toString(),s=o.slice(p);p=o.length;let m=pr.replace(n,s);m.identifier={major:e,minor:0},m._isTracked=!0,c.push(m)}return u.ensureFinalTabstop(d,n,!0),{edits:c,snippets:[new NC(e,d,``)]}}constructor(e,t,n=PC,r){this._editor=e,this._template=t,this._options=n,this._languageConfigurationService=r,this._templateMerges=[],this._snippets=[]}dispose(){jc(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(` -> `)}"`}insert(){if(!this._editor.hasModel())return;let{edits:e,snippets:t}=typeof this._template==`string`?MC.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):MC.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=t,this._editor.executeEdits(`snippet`,e,e=>{let n=e.filter(e=>!!e.identifier);for(let e=0;e<t.length;e++)t[e].initialize(n[e].textChange);return this._snippets[0].hasPlaceholder?this._move(!0):n.map(e=>O.fromPositions(e.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=PC){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);let{edits:n,snippets:r}=MC.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;if(!n){for(let e of this._snippets)e.merge(r);console.assert(r.length===0)}return this._snippets[0].hasPlaceholder&&!n?this._move(void 0):t.map(e=>O.fromPositions(e.range.getEndPosition()))})}next(){let e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}prev(){let e=this._move(!1);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 i=n.computePossibleSelections();if(t.size===0)for(let[n,a]of i){a.sort(r.compareRangesUsingStarts);for(let r of e)if(a[0].containsRange(r)){t.set(n,[]);break}}if(t.size===0)return!1;t.forEach((e,t)=>{e.push(...i.get(t))})}e.sort(r.compareRangesUsingStarts);for(let[n,i]of t){if(i.length!==e.length){t.delete(n);continue}i.sort(r.compareRangesUsingStarts);for(let r=0;r<i.length;r++)if(!i[r].containsRange(e[r])){t.delete(n);continue}}return t.size>0}};FC=MC=AC([jC(3,Cc)],FC);var IC=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},LC=function(e,t){return function(n,r){t(n,r,e)}},RC,zC={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0},BC=RC=class{static get(e){return e.getContribution(RC.ID)}constructor(e,t,n,r,i){this._editor=e,this._logService=t,this._languageFeaturesService=n,this._languageConfigurationService=i,this._snippetListener=new V,this._modelVersionId=-1,this._inSnippet=RC.InSnippetMode.bindTo(r),this._hasNextTabstop=RC.HasNextTabstop.bindTo(r),this._hasPrevTabstop=RC.HasPrevTabstop.bindTo(r)}dispose(){var e;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),(e=this._session)==null||e.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,t===void 0?zC:{...zC,...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?(j(typeof e==`string`),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new FC(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),this._session?.hasChoice){let e={_debugDisplayName:`snippetChoiceCompletions`,provideCompletionItems:(e,t)=>{if(!this._session||e!==this._editor.getModel()||!R.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:b(`next`,`Go to next placeholder...`)}})}return{suggestions:a}}},t=this._editor.getModel(),n,r=!1;this._choiceCompletions={provider:e,enable:()=>{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)},disable:()=>{n?.dispose(),r=!1}}}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._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){var e;if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0;return}let{activeChoice:t}=this._session;if(!t||!this._choiceCompletions){(e=this._choiceCompletions)==null||e.disable(),this._currentChoice=void 0;return}this._currentChoice!==t.choice&&(this._currentChoice=t.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{_C(this._editor,this._choiceCompletions.provider)}))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){var t;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,(t=this._session)==null||t.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){var e;(e=this._session)==null||e.prev(),this._updateState()}next(){var e;(e=this._session)==null||e.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}};BC.ID=`snippetController2`,BC.InSnippetMode=new w(`inSnippetMode`,!1,b(`inSnippetMode`,`Whether the editor in current in snippet mode`)),BC.HasNextTabstop=new w(`hasNextTabstop`,!1,b(`hasNextTabstop`,`Whether there is a next tab stop when in snippet mode`)),BC.HasPrevTabstop=new w(`hasPrevTabstop`,!1,b(`hasPrevTabstop`,`Whether there is a previous tab stop when in snippet mode`)),BC=RC=IC([LC(1,tn),LC(2,g),LC(3,W),LC(4,Cc)],BC),D(BC.ID,BC,4);var VC=be.bindToContribution(BC.get);_(new VC({id:`jumpToNextSnippetPlaceholder`,precondition:E.and(BC.InSnippetMode,BC.HasNextTabstop),handler:e=>e.next(),kbOpts:{weight:130,kbExpr:x.textInputFocus,primary:2}})),_(new VC({id:`jumpToPrevSnippetPlaceholder`,precondition:E.and(BC.InSnippetMode,BC.HasPrevTabstop),handler:e=>e.prev(),kbOpts:{weight:130,kbExpr:x.textInputFocus,primary:1026}})),_(new VC({id:`leaveSnippet`,precondition:BC.InSnippetMode,handler:e=>e.cancel(!0),kbOpts:{weight:130,kbExpr:x.textInputFocus,primary:9,secondary:[1033]}})),_(new VC({id:`acceptSnippet`,precondition:BC.InSnippetMode,handler:e=>e.finish()}));var HC=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},UC=function(e,t){return function(n,r){t(n,r,e)}},WC;(function(e){e[e.Undo=0]=`Undo`,e[e.Redo=1]=`Redo`,e[e.AcceptWord=2]=`AcceptWord`,e[e.Other=3]=`Other`})(WC||={});var GC=class extends U{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,n,r,i,a,o,s,c,l,d,f){super(),this.textModel=e,this.selectedSuggestItem=t,this.textModelVersionId=n,this._positions=r,this._debounceValue=i,this._suggestPreviewEnabled=a,this._suggestPreviewMode=o,this._inlineSuggestMode=s,this._enabled=c,this._instantiationService=l,this._commandService=d,this._languageConfigurationService=f,this._source=this._register(this._instantiationService.createInstance(QS,this.textModel,this.textModelVersionId,this._debounceValue)),this._isActive=ti(this,!1),this._forceUpdateExplicitlySignal=Yt(this),this._selectedInlineCompletionId=ti(this,void 0),this._primaryPosition=Kr(this,e=>this._positions.read(e)[0]??new R(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([WC.Redo,WC.Undo,WC.AcceptWord]),this._fetchInlineCompletionsPromise=it({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:Ar.Automatic}),handleChange:(e,t)=>(e.didChange(this.textModelVersionId)&&this._preserveCurrentCompletionReasons.has(e.change)?t.preserveCurrentCompletion=!0:e.didChange(this._forceUpdateExplicitlySignal)&&(t.inlineCompletionTriggerKind=Ar.Explicit),!0)},(e,t)=>{if(this._forceUpdateExplicitlySignal.read(e),!(this._enabled.read(e)&&this.selectedSuggestItem.read(e)||this._isActive.read(e))){this._source.cancelUpdate();return}this.textModelVersionId.read(e);let n=this._source.suggestWidgetInlineCompletions.get(),r=this.selectedSuggestItem.read(e);if(n&&!r){let e=this._source.inlineCompletions.get();u(t=>{(!e||n.request.versionId>e.request.versionId)&&this._source.inlineCompletions.set(n.clone(),t),this._source.clearSuggestWidgetInlineCompletions(t)})}let i=this._primaryPosition.read(e),a={triggerKind:t.inlineCompletionTriggerKind,selectedSuggestionInfo:r?.toSelectedSuggestionInfo()},o=this.selectedInlineCompletion.get(),s=t.preserveCurrentCompletion||o?.forwardStable?o:void 0;return this._source.fetch(i,a,s)}),this._filteredInlineCompletionItems=zt({owner:this,equalsFn:is()},e=>{let t=this._source.inlineCompletions.read(e);if(!t)return[];let n=this._primaryPosition.read(e);return t.inlineCompletions.filter(t=>t.isVisible(this.textModel,n,e))}),this.selectedInlineCompletionIndex=Kr(this,e=>{let t=this._selectedInlineCompletionId.read(e),n=this._filteredInlineCompletionItems.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=Kr(this,e=>this._filteredInlineCompletionItems.read(e)[this.selectedInlineCompletionIndex.read(e)]),this.activeCommands=zt({owner:this,equalsFn:is()},e=>this.selectedInlineCompletion.read(e)?.inlineCompletion.source.inlineCompletions.commands??[]),this.lastTriggerKind=this._source.inlineCompletions.map(this,e=>e?.request.context.triggerKind),this.inlineCompletionsCount=Kr(this,e=>{if(this.lastTriggerKind.read(e)===Ar.Explicit)return this._filteredInlineCompletionItems.read(e).length}),this.state=zt({owner:this,equalsFn:(e,t)=>!e||!t?e===t:yS(e.ghostTexts,t.ghostTexts)&&e.inlineCompletion===t.inlineCompletion&&e.suggestItem===t.suggestItem},e=>{let t=this.textModel,n=this.selectedSuggestItem.read(e);if(n){let r=HS(n.toSingleTextEdit(),t),i=this._computeAugmentation(r,e);if(!this._suggestPreviewEnabled.read(e)&&!i)return;let a=i?.edit??r,o=i?i.edit.text.length-r.text.length:0,s=this._suggestPreviewMode.read(e),c=this._positions.read(e),l=[a,...KC(this.textModel,c,a)],u=l.map((e,n)=>WS(e,t,s,c[n],o)).filter(mi);return{edits:l,primaryGhostText:u[0]??new gS(a.range.endLineNumber,[]),ghostTexts:u,inlineCompletion:i?.completion,suggestItem:n}}else{if(!this._isActive.read(e))return;let n=this.selectedInlineCompletion.read(e);if(!n)return;let r=n.toSingleTextEdit(e),i=this._inlineSuggestMode.read(e),a=this._positions.read(e),o=[r,...KC(this.textModel,a,r)],s=o.map((e,n)=>WS(e,t,i,a[n],0)).filter(mi);return s[0]?{edits:o,primaryGhostText:s[0],ghostTexts:s,inlineCompletion:n,suggestItem:void 0}:void 0}}),this.ghostTexts=zt({owner:this,equalsFn:yS},e=>{let t=this.state.read(e);if(t)return t.ghostTexts}),this.primaryGhostText=zt({owner:this,equalsFn:bS},e=>{let t=this.state.read(e);if(t)return t?.primaryGhostText}),this._register(yl(this._fetchInlineCompletionsPromise));let p;this._register(pe(e=>{var t,n;let r=this.state.read(e)?.inlineCompletion;if(r?.semanticId!==p?.semanticId&&(p=r,r)){let e=r.inlineCompletion,i=e.source;(n=(t=i.provider).handleItemDidShow)==null||n.call(t,i.inlineCompletions,e.sourceInlineCompletion,e.insertText)}}))}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){Un(e,e=>{this._isActive.set(!0,e),this._forceUpdateExplicitlySignal.trigger(e)}),await this._fetchInlineCompletionsPromise.get()}stop(e){Un(e,e=>{this._isActive.set(!1,e),this._source.clear(e)})}_computeAugmentation(e,t){let n=this.textModel,i=this._source.suggestWidgetInlineCompletions.read(t);return fi(i?i.inlineCompletions:[this.selectedInlineCompletion.read(t)].filter(mi),i=>{let a=i.toSingleTextEdit(t);return a=HS(a,n,r.fromPositions(a.range.getStartPosition(),e.range.getEndPosition())),US(a,e)?{completion:i,edit:a}:void 0})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();let t=this._filteredInlineCompletionItems.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)}async accept(e){var t;if(e.getModel()!==this.textModel)throw new rr;let n=this.state.get();if(!n||n.primaryGhostText.isEmpty()||!n.inlineCompletion)return;let r=n.inlineCompletion.toInlineCompletion(void 0);if(e.pushUndoStop(),r.snippetInfo)e.executeEdits(`inlineSuggestion.accept`,[pr.replace(r.range,``),...r.additionalTextEdits]),e.setPosition(r.snippetInfo.range.getStartPosition(),`inlineCompletionAccept`),(t=BC.get(e))==null||t.insert(r.snippetInfo.snippet,{undoStopBefore:!1});else{let t=n.edits,i=JC(t).map(e=>O.fromPositions(e));e.executeEdits(`inlineSuggestion.accept`,[...t.map(e=>pr.replace(e.range,e.text)),...r.additionalTextEdits]),e.setSelections(i,`inlineCompletionAccept`)}r.command&&r.source.addRef(),u(e=>{this._source.clear(e),this._isActive.set(!1,e)}),r.command&&(await this._commandService.executeCommand(r.command.id,...r.command.arguments||[]).then(void 0,Oe),r.source.removeRef())}async acceptNextWord(e){await this._acceptNext(e,(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(e){await this._acceptNext(e,(e,t)=>{let n=t.match(/\n/);return n&&n.index!==void 0?n.index+1:t.length},1)}async _acceptNext(e,t,n){if(e.getModel()!==this.textModel)throw new rr;let i=this.state.get();if(!i||i.primaryGhostText.isEmpty()||!i.inlineCompletion)return;let a=i.primaryGhostText,o=i.inlineCompletion.toInlineCompletion(void 0);if(o.snippetInfo||o.filterText!==o.insertText){await this.accept(e);return}let s=a.parts[0],c=new R(a.lineNumber,s.column),l=s.text,u=t(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.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();let t=r.fromPositions(p,c),n=new Qe(t,e.getModel().getValueInRange(t)+d),i=[n,...KC(this.textModel,f,n)],a=JC(i).map(e=>O.fromPositions(e));e.executeEdits(`inlineSuggestion.accept`,i.map(e=>pr.replace(e.range,e.text))),e.setSelections(a,`inlineCompletionPartialAccept`),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(o.source.provider.handlePartialAccept){let t=r.fromPositions(o.range.getStartPosition(),js.ofText(d).addToPosition(c)),i=e.getModel().getValueInRange(t,1);o.source.provider.handlePartialAccept(o.source.inlineCompletions,o.sourceInlineCompletion,i.length,{kind:n})}}finally{o.source.removeRef()}}handleSuggestAccepted(e){var t,n;let r=HS(e.toSingleTextEdit(),this.textModel),i=this._computeAugmentation(r,void 0);if(!i)return;let a=i.completion.inlineCompletion;(n=(t=a.source.provider).handlePartialAccept)==null||n.call(t,a.source.inlineCompletions,a.sourceInlineCompletion,r.text.length,{kind:2})}};GC=HC([UC(9,I),UC(10,Qr),UC(11,Cc)],GC);function KC(e,t,n){if(t.length===1)return[];let i=t[0],a=t.slice(1),o=n.range.getStartPosition(),s=n.range.getEndPosition(),c=e.getValueInRange(r.fromPositions(i,s)),l=ES(i,o);if(l.lineNumber<1)return v(new rr(`positionWithinTextEdit line number should be bigger than 0.
25
+ Invalid subtraction between ${i.toString()} and ${o.toString()}`)),[];let u=qC(n.text,l);return a.map(t=>{let n=TS(ES(t,o),s),i=sa(c,e.getValueInRange(r.fromPositions(t,n)));return new Qe(r.fromPositions(t,t.delta(0,i)),u)})}function qC(e,t){let n=``,r=To(e);for(let e=t.lineNumber-1;e<r.length;e++)n+=r[e].substring(e===t.lineNumber-1?t.column-1:0);return n}function JC(e){let t=Ys.createSortPermutation(e,(e,t)=>r.compareRangesUsingStarts(e.range,t.range)),n=new Nt(t.apply(e)).getNewRanges();return t.inverse().apply(n).map(e=>e.getEndPosition())}var YC=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},XC=function(e,t){return function(n,r){t(n,r,e)}},ZC,QC=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}},$C=class extends QC{constructor(){super(`first`)}memorize(e,t,n){}toJSON(){}fromJSON(){}},ew=class extends QC{constructor(){super(`recentlyUsed`),this._cache=new Pi(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:Ue.fromString(n.type),this._cache.set(t,n);this._seq=this._cache.size}},tw=class extends QC{constructor(){super(`recentlyUsedByPrefix`),this._trie=Ui.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:Ue.fromString(n.type),this._trie.set(t,n)}}},nw=ZC=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new V,this._persistSoon=new Hn(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(e=>{e.reason===wn.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(),this._strategy=new((ZC._strategyCtors.get(n))||$C);try{let e=+!this._configService.getValue(`editor.suggest.shareSuggestSelections`),t=this._storageService.get(`${ZC._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(`${ZC._storagePrefix}/${this._strategy.name}`,t,e,1)}}};nw._strategyCtors=new Map([[`recentlyUsedByPrefix`,tw],[`recentlyUsed`,ew],[`first`,$C]]),nw._storagePrefix=`suggest/memories`,nw=ZC=YC([XC(0,Me),XC(1,Va)],nw);var rw=_s(`ISuggestMemories`);Jo(rw,nw,1);var iw=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},aw=function(e,t){return function(n,r){t(n,r,e)}},ow,sw=ow=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=ow.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration(e=>e.hasChanged(123)&&this._update()),this._update()}dispose(){var e;this._configListener.dispose(),(e=this._selectionListener)==null||e.dispose(),this._ckAtEnd.reset()}_update(){let e=this._editor.getOption(123)===`on`;if(this._enabled!==e)if(this._enabled=e,this._enabled){let e=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}let e=this._editor.getModel(),t=this._editor.getSelection(),n=e.getWordAtPosition(t.getStartPosition());if(!n){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(n.endColumn===t.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(e),e()}else this._selectionListener&&=(this._ckAtEnd.reset(),this._selectionListener.dispose(),void 0)}};sw.AtEnd=new w(`atEndOfWord`,!1),sw=ow=iw([aw(1,W)],sw);var cw=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},lw=function(e,t){return function(n,r){t(n,r,e)}},uw,dw=uw=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=uw.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){var e;this._ckOtherSuggestions.reset(),(e=this._listener)==null||e.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},n){if(e.items.length===0){this.reset();return}if(uw._moveIndex(!0,e,t)===t){this.reset();return}this._acceptNext=n,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(e,t,n){let r=n;for(let i=t.items.length;i>0&&(r=(r+t.items.length+(e?1:-1))%t.items.length,!(r===n||!t.items[r].completion.additionalTextEdits));i--);return r}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=uw._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};dw.OtherSuggestions=new w(`hasOtherSuggestions`,!1),dw=uw=cw([lw(1,W)],dw);var fw=class{constructor(e,t,n,r){this._disposables=new V,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||!Pa(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;let t=new ea;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()}},pw=class e{async provideSelectionRanges(t,n){let r=[];for(let i of n){let n=[];r.push(n);let a=new Map;await new Promise(n=>e._bracketsRightYield(n,0,t,i,a)),await new Promise(r=>e._bracketsLeftYield(r,0,t,i,a,n))}return r}static _bracketsRightYield(t,n,r,i,a){let o=new Map,s=Date.now();for(;;){if(n>=e._maxRounds){t();break}if(!i){t();break}let c=r.bracketPairs.findNextBracket(i);if(!c){t();break}if(Date.now()-s>e._maxDuration){setTimeout(()=>e._bracketsRightYield(t,n+1,r,i,a));break}if(c.bracketInfo.isOpeningBracket){let e=c.bracketInfo.bracketText,t=o.has(e)?o.get(e):0;o.set(e,t+1)}else{let e=c.bracketInfo.getOpeningBrackets()[0].bracketText,t=o.has(e)?o.get(e):0;if(--t,o.set(e,Math.max(0,t)),t<0){let t=a.get(e);t||(t=new kn,a.set(e,t)),t.push(c.range)}}i=c.range.getEndPosition()}}static _bracketsLeftYield(t,n,i,a,o,s){let c=new Map,l=Date.now();for(;;){if(n>=e._maxRounds&&o.size===0){t();break}if(!a){t();break}let u=i.bracketPairs.findPrevBracket(a);if(!u){t();break}if(Date.now()-l>e._maxDuration){setTimeout(()=>e._bracketsLeftYield(t,n+1,i,a,o,s));break}if(u.bracketInfo.isOpeningBracket){let t=u.bracketInfo.bracketText,n=c.has(t)?c.get(t):0;if(--n,c.set(t,Math.max(0,n)),n<0){let n=o.get(t);if(n){let a=n.shift();n.size===0&&o.delete(t);let c=r.fromPositions(u.range.getEndPosition(),a.getStartPosition()),l=r.fromPositions(u.range.getStartPosition(),a.getEndPosition());s.push({range:c}),s.push({range:l}),e._addBracketLeading(i,l,s)}}}else{let e=u.bracketInfo.getOpeningBrackets()[0].bracketText,t=c.has(e)?c.get(e):0;c.set(e,t+1)}a=u.range.getStartPosition()}}static _addBracketLeading(e,t,n){if(t.startLineNumber===t.endLineNumber)return;let i=t.startLineNumber,a=e.getLineFirstNonWhitespaceColumn(i);a!==0&&a!==t.startColumn&&(n.push({range:r.fromPositions(new R(i,a),t.getEndPosition())}),n.push({range:r.fromPositions(new R(i,1),t.getEndPosition())}));let o=i-1;if(o>0){let i=e.getLineFirstNonWhitespaceColumn(o);i===t.startColumn&&i!==e.getLineLastNonWhitespaceColumn(o)&&(n.push({range:r.fromPositions(new R(o,i),t.getEndPosition())}),n.push({range:r.fromPositions(new R(o,1),t.getEndPosition())}))}}};pw._maxDuration=30,pw._maxRounds=2;var mw=class e{static async create(t,n){if(!n.getOption(118).localityBonus||!n.hasModel())return e.None;let i=n.getModel(),a=n.getPosition();if(!t.canComputeWordRanges(i.uri))return e.None;let[o]=await new pw().provideSelectionRanges(i,[a]);if(o.length===0)return e.None;let s=await t.computeWordRanges(i.uri,o[0].range);if(!s)return e.None;let c=i.getWordUntilPosition(a);return delete s[c.word],new class extends e{distance(e,t){if(!a.equals(n.getPosition()))return 0;if(t.kind===17)return 2<<20;let i=s[typeof t.label==`string`?t.label:t.label.label];if(ma(i))return 2<<20;let c=Li(i,r.fromPositions(e),r.compareRangesUsingStarts),l=c>=0?i[c]:i[Math.max(0,~c-1)],u=o.length;for(let e of o){if(!r.containsRange(e.range,l))break;--u}return u}}}};mw.None=new class extends mw{distance(){return 0}};var hw=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}},gw=class e{constructor(t,n,r,i,a,o,s=hl.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?lt:Cr;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=Jn.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=Jn.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;Go(l.completion.filterText,l.textLabel)===0?l.score=t:(l.score=le(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?Qo(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===27)return 1;if(n.completion.kind===27)return-1}return e._compareCompletionItems(t,n)}static _compareCompletionItemsSnippetsUp(t,n){if(t.completion.kind!==n.completion.kind){if(t.completion.kind===27)return-1;if(n.completion.kind===27)return 1}return e._compareCompletionItems(t,n)}},_w=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},vw=function(e,t){return function(n,r){t(n,r,e)}},yw,bw=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 xw(e,t,n){if(!t.getContextKeyValue(hS.inlineSuggestionVisible.key))return!0;let r=t.getContextKeyValue(hS.suppressSuggestions.key);return r===void 0?!e.getOption(62).suppressSuggestions:!r}function Sw(e,t,n){if(!t.getContextKeyValue(`inlineSuggestionVisible`))return!0;let r=t.getContextKeyValue(hS.suppressSuggestions.key);return r===void 0?!e.getOption(62).suppressSuggestions:!r}var Cw=yw=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 V,this._triggerCharacterListener=new V,this._triggerQuickSuggest=new l,this._triggerState=void 0,this._completionDisposables=new V,this._onDidCancel=new B,this._onDidTrigger=new B,this._onDidSuggest=new B,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new O(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 u=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{u=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{u=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(e=>{u||this._onCursorChange(e)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!u&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){jc(this._triggerCharacterListener),jc([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(91)||!this._editor.hasModel()||!this._editor.getOption(121))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,r.add(lC()),e.set(n,r)),r.add(t)}let t=t=>{if(!Sw(this._editor,this._contextKeyService,this._configurationService)||bw.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=``;zc(t.charCodeAt(t.length-1))?ge(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){var t;this._triggerState!==void 0&&(this._triggerQuickSuggest.cancel(),(t=this._requestToken)==null||t.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._triggerState!==void 0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._triggerState.auto,retrigger:!0}))}_onCursorChange(e){if(!this._editor.hasModel())return;let t=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==0&&e.reason!==3||e.source!==`keyboard`&&e.source!==`deleteLeft`){this.cancel();return}this._triggerState===void 0&&e.reason===0?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._triggerState!==void 0&&e.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._triggerState===void 0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){vC.isAllOff(this._editor.getOption(89))||this._editor.getOption(118).snippetsPreventQuickSuggestions&&BC.get(this._editor)?.isInSnippet()||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!bw.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;let e=this._editor.getModel(),t=this._editor.getPosition(),n=this._editor.getOption(89);if(!vC.isAllOff(n)){if(!vC.isAllOn(n)){e.tokenization.tokenizeIfCheap(t.lineNumber);let r=e.tokenization.getLineTokens(t.lineNumber),i=r.getStandardTokenType(r.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(vC.valueFor(n,i)!==`on`)return}xw(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(e)&&this.trigger({auto:!0})}},this._editor.getOption(90)))}_refilterCompletionItems(){j(this._editor.hasModel()),j(this._triggerState!==void 0);let e=new bw(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 bw(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 ec;let i=this._editor.getOption(112),a=1;switch(i){case`top`:a=0;break;case`bottom`:a=2;break}let{itemKind:o,showDeprecated:s}=yw.createSuggestFilter(this._editor),c=new sC(a,e.completionOptions?.kindFilter??o,e.completionOptions?.providerFilter,e.completionOptions?.providerItemsToReuse,s),l=mw.create(this._editorWorkerService,this._editor),u=dC(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),c,r,this._requestToken.token);Promise.all([u,l]).then(async([t,n])=>{var r;if((r=this._requestToken)==null||r.dispose(),!this._editor.hasModel())return;let i=e?.clipboardText;if(!i&&t.needsClipboard&&(i=await this._clipboardService.readText()),this._triggerState===void 0)return;let a=new bw(this._editor.getModel(),this._editor.getPosition(),e),o={...hl.default,firstMatchCanBeWeak:!this._editor.getOption(118).matchOnWordStartOnly};if(this._completionModel=new gw(t.items,this._context.column,{leadingLineContent:a.leadingLineContent,characterCountDelta:a.column-this._context.column},n,this._editor.getOption(118),this._editor.getOption(112),o,i),this._completionDisposables.add(t.disposable),this._onNewContext(a),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(v)}_reportDurationsTelemetry(e){this._telemetryGate++%230==0&&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(112)===`none`&&t.add(27);let n=e.getOption(118);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(27),n.showUsers||t.add(25),n.showIssues||t.add(26),{itemKind:t,showDeprecated:n.showDeprecated}}_onNewContext(e){if(this._context){if(e.lineNumber!==this._context.lineNumber){this.cancel();return}if(Bi(e.leadingLineContent)!==Bi(this._context.leadingLineContent)){this.cancel();return}if(e.column<this._context.column){e.leadingWord.word?this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0}):this.cancel();return}if(this._completionModel){if(e.leadingWord.word.length!==0&&e.leadingWord.startColumn>this._context.leadingWord.startColumn){if(bw.shouldAutoTrigger(this._editor)&&this._context){let e=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:e}})}return}if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&e.leadingWord.word.length!==0){let e=new Map,t=new Set;for(let[n,r]of this._completionModel.getItemsByProvider())r.length>0&&r[0].container.incomplete?t.add(n):e.set(n,r);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:t,providerItemsToReuse:e}})}else{let t=this._completionModel.lineContext,n=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},this._completionModel.items.length===0){let r=bw.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(r&&this._context.leadingWord.endColumn<e.leadingWord.startColumn){this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0});return}if(this._context.triggerOptions.auto){this.cancel();return}else if(this._completionModel.lineContext=t,n=this._completionModel.items.length>0,n&&e.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:n})}}}}};Cw=yw=_w([vw(1,Di),vw(2,Tn),vw(3,fn),vw(4,tn),vw(5,W),vw(6,Va),vw(7,g),vw(8,fa)],Cw);var ww=class e{constructor(t,n){this._disposables=new V,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()}};ww._maxSelectionLength=51200;var Tw=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},Ew=function(e,t){return function(n,r){t(n,r,e)}},Dw=class e extends ll{updateLabel(){let t=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!t)return super.updateLabel();this.label&&(this.label.textContent=b({key:`content`,comment:[`A label`,`A keybinding`]},`{0} ({1})`,this._action.label,e.symbolPrintEnter(t)))}static symbolPrintEnter(e){return e.getLabel()?.replace(/\benter\b/gi,`⏎`)}},Ow=class{constructor(e,t,n,r,i){this._menuId=t,this._menuService=r,this._contextKeyService=i,this._menuDisposables=new V,this.element=Y(e,K(`.suggest-status-bar`));let a=(e=>e instanceof Kt?n.createInstance(Dw,e,void 0):void 0);this._leftActions=new Ic(this.element,{actionViewItemProvider:a}),this._rightActions=new Ic(this.element,{actionViewItemProvider:a}),this._leftActions.domNode.classList.add(`left`),this._rightActions.domNode.classList.add(`right`)}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){let e=this._menuService.createMenu(this._menuId,this._contextKeyService),t=()=>{let 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()}};Ow=Tw([Ew(2,I),Ew(3,qe),Ew(4,W)],Ow);var kw=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Aw=function(e,t){return function(n,r){t(n,r,e)}};function jw(e){return!!e&&!!(e.completion.documentation||e.completion.detail&&e.completion.detail!==e.completion.label)}var Mw=class{constructor(e,t){this._editor=e,this._onDidClose=new B,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new B,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new V,this._renderDisposeable=new V,this._borderWidth=1,this._size=new L(330,0),this.domNode=K(`.suggest-details`),this.domNode.classList.add(`no-docs`),this._markdownRenderer=t.createInstance(Oo,{editor:e}),this._body=K(`.body`),this._scrollbar=new Ra(this._body,{alwaysConsumeMouseWheel:!0}),Y(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=Y(this._body,K(`.header`)),this._close=Y(this._header,K(`span`+P.asCSSSelector(N.close))),this._close.title=b(`details.close`,`Close`),this._type=Y(this._header,K(`p.type`)),this._docs=Y(this._body,K(`p.docs`)),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(50)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){let e=this._editor.getOptions(),t=e.get(50),n=t.getMassagedFontFamily(),r=e.get(119)||t.fontSize,i=e.get(120)||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(120)||this._editor.getOption(50).lineHeight,t=this._borderWidth;return{lineHeight:e,borderWidth:t,borderHeight:t*2,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=b(`loading`,`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 An().appendCodeblock(`empty`,t),n=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!jw(e)){this.clearContents();return}if(this.domNode.classList.remove(`no-docs`,`no-type`),n){let e=n.length>1e5?`${n.substr(0,1e5)}…`:n;this._type.textContent=e,this._type.title=e,Er(this._type),this._type.classList.toggle(`auto-wrap`,!/\r?\n^\s+/gim.test(e))}else Ki(this._type),this._type.title=``,Nn(this._type),this.domNode.classList.add(`no-type`);if(Ki(this._docs),typeof r==`string`)this._docs.classList.remove(`markdown-docs`),this._docs.textContent=r;else if(r){this._docs.classList.add(`markdown-docs`),Ki(this._docs);let e=this._markdownRenderer.render(r);this._docs.appendChild(e.element),this._renderDisposeable.add(e),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}))}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 L(e,t);L.equals(n,this._size)||(this._size=n,Gr(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)}set borderWidth(e){this._borderWidth=e}get borderWidth(){return this._borderWidth}};Mw=kw([Aw(1,I)],Mw);var Nw=class{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new V,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new ph,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){this._anchorBox=e.getBoundingClientRect(),this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,t)}_placeAtAnchor(e,t,n){let r=gr(this.getDomNode().ownerDocument.body),i=this.widget.getLayoutInfo(),a=new L(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 L(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=[s,(function(){let n=e.left-i.borderWidth-i.horizontalPadding,s=Math.max(i.horizontalPadding,e.left-t.width-i.borderWidth),c=new L(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))}})(),(function(){let n=e.left,o=-i.borderWidth+e.top+e.height,s=new L(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)}})()],l=c.find(e=>e.fit>=0)??c.sort((e,t)=>t.fit-e.fit)[0],u=e.top+e.height-i.borderHeight,d,f=t.height,p=Math.max(l.maxSizeTop.height,l.maxSizeBottom.height);f>p&&(f=p);let m;n?f<=l.maxSizeTop.height?(d=!0,m=l.maxSizeTop):(d=!1,m=l.maxSizeBottom):f<=l.maxSizeBottom.height?(d=!1,m=l.maxSizeBottom):(d=!0,m=l.maxSizeTop);let{top:h,left:ee}=l;!d&&f>e.height&&(h=u-f);let te=this._editor.getDomNode();if(te){let e=te.getBoundingClientRect();h-=e.top,ee-=e.left}this._applyTopLeft({left:ee,top:h}),this._resizable.enableSashes(!d,l===s,d,l!==s),this._resizable.minSize=l.minSize,this._resizable.maxSize=m,this._resizable.layout(f,Math.min(m.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}},Pw;(function(e){e[e.FILE=0]=`FILE`,e[e.FOLDER=1]=`FOLDER`,e[e.ROOT_FOLDER=2]=`ROOT_FOLDER`})(Pw||={});var Fw=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function Iw(e,t,n,r,i){if(P.isThemeIcon(i))return[`codicon-${i.id}`,`predefined-file-icon`];if(G.isUri(i))return[];let a=r===Pw.ROOT_FOLDER?[`rootfolder-icon`]:r===Pw.FOLDER?[`folder-icon`]:[`file-icon`];if(n){let i;if(n.scheme===Ls.data)i=hr.parseMetaData(n).get(hr.META_DATA_LABEL);else{let e=n.path.match(Fw);e?(i=Rw(e[2].toLowerCase()),e[1]&&a.push(`${Rw(e[1].toLowerCase())}-name-dir-icon`)):i=Rw(n.authority.toLowerCase())}if(r===Pw.ROOT_FOLDER)a.push(`${i}-root-name-folder-icon`);else if(r===Pw.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=Lw(e,t,n);r&&a.push(`${Rw(r)}-lang-file-icon`)}}return a}function Lw(e,t,n){if(!n)return null;let r=null;if(n.scheme===Ls.data){let e=hr.parseMetaData(n).get(hr.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 Rw(e){return e.replace(/[\11\12\14\15\40]/g,`/`)}var zw=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},Bw=function(e,t){return function(n,r){t(n,r,e)}},Vw;function Hw(e){return`suggest-aria-id:${e}`}var Uw=ul(`suggest-more-info`,N.chevronRight,b(`suggestMoreInfoIcon`,`Icon for more information in the suggest widget.`)),Ww=new(Vw=class{extract(e,t){if(e.textLabel.match(Vw._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(Vw._regexStrict))return t[0]=e.completion.detail,!0;if(e.completion.documentation){let n=typeof e.completion.documentation==`string`?e.completion.documentation:e.completion.documentation.value,r=Vw._regexRelaxed.exec(n);if(r&&(r.index===0||r.index+r[0].length===n.length))return t[0]=r[0],!0}return!1}},Vw._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*\))/,Vw._regexStrict=RegExp(`^${Vw._regexRelaxed.source}$`,`i`),Vw),Gw=class{constructor(e,t,n,r){this._editor=e,this._modelService=t,this._languageService=n,this._themeService=r,this._onDidToggleDetails=new B,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId=`suggestion`}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){let t=new V,n=e;n.classList.add(`show-file-icons`);let r=Y(e,K(`.icon`)),i=Y(r,K(`span.colorspan`)),a=Y(Y(e,K(`.contents`)),K(`.main`)),o=Y(a,K(`.icon-label.codicon`)),s=Y(a,K(`span.left`)),c=Y(a,K(`span.right`)),l=new vr(s,{supportHighlights:!0,supportIcons:!0});t.add(l);let u=Y(s,K(`span.signature-label`)),d=Y(s,K(`span.qualifier-label`)),f=Y(c,K(`span.details-label`)),p=Y(c,K(`span.readMore`+P.asCSSSelector(Uw)));return p.title=b(`readMore`,`Read More`),{root:n,left:s,right:c,icon:r,colorspan:i,iconLabel:l,iconContainer:o,parametersLabel:u,qualifierLabel:d,detailsLabel:f,readMore:p,disposables:t,configureFont:()=>{let e=this._editor.getOptions(),t=e.get(50),i=t.getMassagedFontFamily(),o=t.fontFeatureSettings,s=e.get(119)||t.fontSize,c=e.get(120)||t.lineHeight,l=t.fontWeight,u=t.letterSpacing,d=`${s}px`,f=`${c}px`,m=`${u}px`;n.style.fontSize=d,n.style.fontWeight=l,n.style.letterSpacing=m,a.style.fontFamily=i,a.style.fontFeatureSettings=o,a.style.lineHeight=f,r.style.height=f,r.style.width=f,p.style.height=f,p.style.width=f}}}renderElement(e,t,n){n.configureFont();let{completion:r}=e;n.root.id=Hw(t),n.colorspan.style.backgroundColor=``;let i={labelEscapeNewLines:!0,matches:Nr(e.score)},a=[];if(r.kind===19&&Ww.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=Iw(this._modelService,this._languageService,G.from({scheme:`fake`,path:e.textLabel}),Pw.FILE),a=Iw(this._modelService,this._languageService,G.from({scheme:`fake`,path:r.detail}),Pw.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=[Iw(this._modelService,this._languageService,G.from({scheme:`fake`,path:e.textLabel}),Pw.FOLDER),Iw(this._modelService,this._languageService,G.from({scheme:`fake`,path:r.detail}),Pw.FOLDER)].flat()):(n.icon.className=`icon hide`,n.iconContainer.className=``,n.iconContainer.classList.add(`suggest-icon`,...P.asClassNameArray(Ue.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=Kw(r.detail||``),n.root.classList.add(`string-label`)):(n.parametersLabel.textContent=Kw(r.label.detail||``),n.detailsLabel.textContent=Kw(r.label.description||``),n.root.classList.remove(`string-label`)),this._editor.getOption(118).showInlineDetails?Er(n.detailsLabel):Nn(n.detailsLabel),jw(e)?(n.right.classList.add(`can-expand-details`),Er(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`),Nn(n.readMore),n.readMore.onmousedown=null,n.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};Gw=zw([Bw(1,qs),Bw(2,Xa),Bw(3,Io)],Gw);function Kw(e){return e.replace(/\r\n|\r|\n/g,``)}var qw=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},Jw=function(e,t){return function(n,r){t(n,r,e)}},Yw;q(`editorSuggestWidget.background`,{dark:Po,light:Po,hcDark:Po,hcLight:Po},b(`editorSuggestWidgetBackground`,`Background color of the suggest widget.`)),q(`editorSuggestWidget.border`,{dark:vc,light:vc,hcDark:vc,hcLight:vc},b(`editorSuggestWidgetBorder`,`Border color of the suggest widget.`));var Xw=q(`editorSuggestWidget.foreground`,{dark:Et,light:Et,hcDark:Et,hcLight:Et},b(`editorSuggestWidgetForeground`,`Foreground color of the suggest widget.`));q(`editorSuggestWidget.selectedForeground`,{dark:De,light:De,hcDark:De,hcLight:De},b(`editorSuggestWidgetSelectedForeground`,`Foreground color of the selected entry in the suggest widget.`)),q(`editorSuggestWidget.selectedIconForeground`,{dark:yn,light:yn,hcDark:yn,hcLight:yn},b(`editorSuggestWidgetSelectedIconForeground`,`Icon foreground color of the selected entry in the suggest widget.`));var Zw=q(`editorSuggestWidget.selectedBackground`,{dark:Ie,light:Ie,hcDark:Ie,hcLight:Ie},b(`editorSuggestWidgetSelectedBackground`,`Background color of the selected entry in the suggest widget.`));q(`editorSuggestWidget.highlightForeground`,{dark:m,light:m,hcDark:m,hcLight:m},b(`editorSuggestWidgetHighlightForeground`,`Color of the match highlights in the suggest widget.`)),q(`editorSuggestWidget.focusHighlightForeground`,{dark:Eo,light:Eo,hcDark:Eo,hcLight:Eo},b(`editorSuggestWidgetFocusHighlightForeground`,`Color of the match highlights in the suggest widget when an item is focused.`)),q(`editorSuggestWidgetStatus.foreground`,{dark:er(Xw,.5),light:er(Xw,.5),hcDark:er(Xw,.5),hcLight:er(Xw,.5)},b(`editorSuggestWidgetStatusForeground`,`Foreground color of the suggest widget status.`));var Qw=class{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof ig}`}restore(){let e=this._service.get(this._key,0)??``;try{let t=JSON.parse(e);if(L.is(t))return L.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}},$w=Yw=class{constructor(e,t,n,r,i){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new Ja,this._pendingShowDetails=new Ja,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new l,this._disposables=new V,this._onDidSelect=new la,this._onDidFocus=new la,this._onDidHide=new B,this._onDidShow=new B,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new B,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new ph,this.element.domNode.classList.add(`editor-widget`,`suggest-widget`),this._contentWidget=new eT(this,e),this._persistedSize=new Qw(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 L(r,i))}this._contentWidget.unlockPreference(),o=void 0}})),this._messageElement=Y(this.element.domNode,K(`.message`)),this._listElement=Y(this.element.domNode,K(`.tree`));let s=this._disposables.add(i.createInstance(Mw,this.editor));s.onDidClose(this.toggleDetails,this,this._disposables),this._details=new Nw(s,this.editor);let c=()=>this.element.domNode.classList.toggle(`no-icons`,!this.editor.getOption(118).showIcons);c();let u=i.createInstance(Gw,this.editor);this._disposables.add(u),this._disposables.add(u.onDidToggleDetails(()=>this.toggleDetails())),this._list=new So(`SuggestWidget`,this._listElement,{getHeight:e=>this.getLayoutInfo().itemHeight,getTemplateId:e=>`suggestion`},[u],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>`option`,getWidgetAriaLabel:()=>b(`suggest`,`Suggest`),getWidgetRole:()=>`listbox`,getAriaLabel:e=>{let t=e.textLabel;if(typeof e.completion.label!=`string`){let{detail:n,description:r}=e.completion.label;n&&r?t=b(`label.full`,`{0} {1}, {2}`,t,n,r):n?t=b(`label.detail`,`{0} {1}`,t,n):r&&(t=b(`label.desc`,`{0}, {1}`,t,r))}if(!e.isResolved||!this._isDetailsVisible())return t;let{documentation:n,detail:r}=e.completion,i=rl(`{0}{1}`,r||``,n?typeof n==`string`?n:n.value:``);return b(`ariaCurrenttSuggestionReadDetails`,`{0}, docs: {1}`,t,i)}}}),this._list.style(Be({listInactiveFocusBackground:Zw,listInactiveFocusOutline:Ga})),this._status=i.createInstance(Ow,this.element.domNode,aC);let d=()=>this.element.domNode.classList.toggle(`with-status-bar`,this.editor.getOption(118).showStatusBar);d(),this._disposables.add(r.onDidColorThemeChange(e=>this._onThemeChange(e))),this._onThemeChange(r.getColorTheme()),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(118)&&(d(),c()),this._completionModel&&(e.hasChanged(50)||e.hasChanged(119)||e.hasChanged(120))&&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._disposables.add(Fc(this._details.widget.domNode,`keydown`,e=>{this._onDetailsKeydown.fire(e)})),this._disposables.add(this.editor.onMouseDown(e=>this._onEditorMouseDown(e)))}dispose(){var e;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),(e=this._loadingTimeout)==null||e.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.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())}_onThemeChange(e){this._details.widget.borderWidth=Bc(e.type)?2:1}_onListFocus(e){var t;if(this._ignoreFocusEvents)return;if(!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 n=e.elements[0],r=e.indexes[0];n!==this._focusedItem&&((t=this._currentSuggestionDetails)==null||t.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=n,this._list.reveal(r),this._currentSuggestionDetails=lc(async e=>{let t=ts(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250),r=e.onCancellationRequested(()=>t.dispose());try{return await n.resolve(e)}finally{t.dispose(),r.dispose()}}),this._currentSuggestionDetails.then(()=>{r>=this._list.length||n!==this._list.element(r)||(this._ignoreFocusEvents=!0,this._list.splice(r,1,[n]),this._list.setFocus([r]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove(`docs-side`),this.editor.setAriaOptions({activeDescendant:Hw(r)}))}).catch(v)),this._onDidFocus.fire({item:n,index:r,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:Nn(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=Yw.LOADING_MESSAGE,Nn(this._listElement,this._status.element),Er(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,wo(Yw.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add(`message`),this._messageElement.textContent=Yw.NO_SUGGESTIONS_MESSAGE,Nn(this._listElement,this._status.element),Er(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,wo(Yw.NO_SUGGESTIONS_MESSAGE);break;case 3:Nn(this._messageElement),Er(this._listElement,this._status.element),this._show();break;case 4:Nn(this._messageElement),Er(this._listElement,this._status.element),this._show();break;case 5:Nn(this._messageElement),Er(this._listElement,this._status.element),this._details.show(),this._show();break}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add(`visible`),this._onDidShow.fire(this)},100)}showTriggered(e,t){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout=ts(()=>this._setState(1),t)))}showSuggestions(e,t,n,r,i){var a,o;if(this._contentWidget.setPosition(this.editor.getPosition()),(a=this._loadingTimeout)==null||a.dispose(),(o=this._currentSuggestionDetails)==null||o.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),n&&this._state!==2&&this._state!==0){this._setState(4);return}let s=this._completionModel.items.length,c=s===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(s>1),c){this._setState(r?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(n?4:3),this._list.reveal(t,0),this._list.setFocus(i?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=fe(rn(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._setState(3),this._details.widget.domNode.classList.remove(`focused`)):this._state===3&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add(`focused`))}toggleDetails(){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove(`shows-details`)):(jw(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))}showDetails(e){this._pendingShowDetails.value=fe(rn(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show(),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`)),this.editor.focus()})}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var e;this._pendingLayout.clear(),this._pendingShowDetails.clear(),(e=this._loadingTimeout)==null||e.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();let t=this._persistedSize.restore(),n=Math.ceil(this.getLayoutInfo().itemHeight*4.3);t&&t.height<n&&this._persistedSize.store(t.with(void 0,n))}isFrozen(){return this._state===4}_afterRender(e){if(e===null){this._isDetailsVisible()&&this._details.hide();return}this._state===2||this._state===1||(this._isDetailsVisible()&&!this._details.widget.isEmpty&&this._details.show(),this._positionDetails())}_layout(e){if(!this.editor.hasModel()||!this.editor.getDomNode())return;let t=gr(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 L(i,r),this._contentWidget.setPreference(2);else{let a=t.width-n.borderHeight-2*n.horizontalPadding;i>a&&(i=a);let o=this._completionModel?this._completionModel.stats.pLabelLen*n.typicalHalfwidthCharacterWidth:i,s=n.statusBarHeight+this._list.contentHeight+n.borderHeight,c=n.itemHeight+n.statusBarHeight,l=je(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||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 L(o,n.defaultSize.height),this.element.maxSize=new L(a,h),this.element.minSize=new L(220,c),this._cappedHeight=r===s?{wanted:this._cappedHeight?.wanted??e.height,capped:r}:void 0}this._resize(i,r)}_resize(e,t){let{width:n,height:r}=this.element.maxSize;e=Math.min(n,e),t=Math.min(r,t);let{statusBarHeight:i}=this.getLayoutInfo();this._list.layout(t-i,e),this._listElement.style.height=`${t-i}px`,this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,this._contentWidget.getPosition()?.preference[0]===2)}getLayoutInfo(){let e=this.editor.getOption(50),t=ja(this.editor.getOption(120)||e.lineHeight,8,1e3),n=!this.editor.getOption(118).showStatusBar||this._state===2||this._state===1?0:t,r=this._details.widget.borderWidth,i=2*r;return{itemHeight:t,statusBarHeight:n,borderWidth:r,borderHeight:i,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new L(430,n+12*t+i)}}_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}};$w.LOADING_MESSAGE=b(`suggestWidget.loading`,`Loading...`),$w.NO_SUGGESTIONS_MESSAGE=b(`suggestWidget.noSuggestions`,`No suggestions.`),$w=Yw=qw([Jw(1,Me),Jw(2,W),Jw(3,Io),Jw(4,I)],$w);var eT=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 L(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}},tT=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},nT=function(e,t){return function(n,r){t(n,r,e)}},rT,iT=class{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=k.register({description:`suggest-line-suffix`,stickiness:1}),e.getLineMaxColumn(t.lineNumber)!==t.column){let n=e.getOffsetAt(t),i=e.getPositionAt(n+1);e.changeDecorations(e=>{this._marker&&e.removeDecoration(this._marker),this._marker=e.addDecoration(r.fromPositions(t,i),this._decorationOptions)})}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations(e=>{e.removeDecoration(this._marker),this._marker=void 0})}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){let t=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}else return this._model.getLineMaxColumn(e.lineNumber)-e.column}},aT=rT=class{static get(e){return e.getContribution(rT.ID)}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 Ja,this._toDispose=new V,this._selectors=new oT(e=>e.priority),this._onWillInsertSuggestItem=new B,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=i.createInstance(Cw,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(118).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>s.set(e.getOption(118).insertMode))),this.widget=this._toDispose.add(new Qa(rn(e.getDomNode()),()=>{let e=this._instantiationService.createInstance($w,this.editor);this._toDispose.add(e),this._toDispose.add(e.onDidSelect(e=>this._insertSuggestion(e,0),this));let t=new fw(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(Hi(()=>{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(!R.equals(e.editInsertEnd,e.editReplaceEnd)),i.set(!!e.provider.resolveCompletionItem||!!e.completion.documentation||e.completion.detail!==e.completion.label)})),this._toDispose.add(e.onDetailsKeyDown(e=>{if(e.toKeyCodeChord().equals(new Xi(!0,!1,!1,!1,33))||ce&&e.toKeyCodeChord().equals(new Xi(!1,!1,!1,!0,33))){e.stopPropagation();return}e.toKeyCodeChord().isModifierKey()||this.editor.focus()})),e})),this._overtypingCapturer=this._toDispose.add(new Qa(rn(e.getDomNode()),()=>this._toDispose.add(new ww(this.editor,this.model)))),this._alternatives=this._toDispose.add(new Qa(rn(e.getDomNode()),()=>this._toDispose.add(new dw(this.editor,this._contextKeyService)))),this._toDispose.add(i.createInstance(sw,e)),this._toDispose.add(this.model.onDidTrigger(e=>{this.widget.value.showTriggered(e.auto,e.shy?250:50),this._lineSuffix.value=new iT(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(118);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=BC.get(this.editor);if(!n)return;this._onWillInsertSuggestItem.fire({item:e.item});let i=this.editor.getModel(),a=i.getAlternativeVersionId(),{item:o}=e,s=[],c=new ec;t&1||this.editor.pushUndoStop();let l=this.getOverwriteInfo(o,!!(t&8));this._memoryService.memorize(i,this.editor.getPosition(),o);let u=o.isResolved,f=-1,p=-1;if(Array.isArray(o.completion.additionalTextEdits)){this.model.cancel();let e=d.capture(this.editor);this.editor.executeEdits(`suggestController.additionalTextEdits.sync`,o.completion.additionalTextEdits.map(e=>{let t=r.lift(e.range);if(t.startLineNumber===o.position.lineNumber&&t.startColumn>o.position.column){let e=this.editor.getPosition().column-o.position.column,n=e,i=r.spansMultipleLines(t)?0:e;t=new r(t.startLineNumber,t.startColumn+n,t.endLineNumber,t.endColumn+i)}return pr.replaceMove(t,e.text)})),e.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!u){let e=new Oa,n,a=i.onDidChangeContent(e=>{if(e.isFlush){c.cancel(),a.dispose();return}for(let t of e.changes){let e=r.getEndPosition(t.range);(!n||R.isBefore(e,n))&&(n=e)}}),l=t;t|=2;let u=!1,f=this.editor.onWillType(()=>{f.dispose(),u=!0,l&2||this.editor.pushUndoStop()});s.push(o.resolve(c.token).then(()=>{if(!o.completion.additionalTextEdits||c.token.isCancellationRequested)return;if(n&&o.completion.additionalTextEdits.some(e=>R.isBefore(n,r.getStartPosition(e.range))))return!1;u&&this.editor.pushUndoStop();let e=d.capture(this.editor);return this.editor.executeEdits(`suggestController.additionalTextEdits.async`,o.completion.additionalTextEdits.map(e=>pr.replaceMove(r.lift(e.range),e.text))),e.restoreRelativeVerticalPositionOfCursor(this.editor),(u||!(l&2))&&this.editor.pushUndoStop(),!0}).then(t=>{this._logService.trace(`[suggest] async resolving of edits DONE (ms, applied?)`,e.elapsed(),t),p=t===!0?1:t===!1?0:-2}).finally(()=>{a.dispose(),f.dispose()}))}let{insertText:m}=o.completion;if(o.completion.insertTextRules&4||(m=Ld.escape(m)),this.model.cancel(),n.insert(m,{overwriteBefore:l.overwriteBefore,overwriteAfter:l.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(o.completion.insertTextRules&1),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),t&2||this.editor.pushUndoStop(),o.completion.command)if(o.completion.command.id===sT.id)this.model.trigger({auto:!0,retrigger:!0});else{let e=new Oa;s.push(this._commandService.executeCommand(o.completion.command.id,...o.completion.command.arguments?[...o.completion.command.arguments]:[]).catch(e=>{o.completion.extensionId?Oe(e):v(e)}).finally(()=>{f=e.elapsed()}))}t&4&&this._alternatives.value.set(e,e=>{for(c.cancel();i.canUndo();){a!==i.getAlternativeVersionId()&&i.undo(),this._insertSuggestion(e,3|(t&8?8:0));break}}),this._alertCompletionItem(o),Promise.all(s).finally(()=>{this._reportSuggestionAcceptedTelemetry(o,i,u,f,p),this.model.clear(),c.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,n,r,i){Math.floor(Math.random()*100)!==0&&this._telemetryService.publicLog2(`suggest.acceptedSuggestion`,{extensionId:e.extensionId?.value??`unknown`,providerId:e.provider._debugDisplayName??`unknown`,kind:e.completion.kind,basenameHash:Rt(Re(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:ne(t.uri),resolveInfo:e.provider.resolveCompletionItem?+!!n:-1,resolveDuration:e.resolveDuration,commandDuration:r,additionalEditsAsync:i})}getOverwriteInfo(e,t){j(this.editor.hasModel());let n=this.editor.getOption(118).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){Pa(e.completion.additionalTextEdits)&&_n(b(`aria.alert.snippet`,`Accepting '{0}' made {1} additional edits`,e.textLabel,e.completion.additionalTextEdits.length))}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:!0};xc.once(this.model.onDidTrigger)(e=>{let t=[];xc.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{jc(t),n()},void 0,t),this.model.onDidSuggest(({completionModel:e})=>{if(jc(t),e.items.length===0){n();return}let i=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),e.items),a=e.items[i];if(!r(a)){n();return}this.editor.pushUndoStop(),this._insertSuggestion({index:i,item:a,model:e},7)},void 0,t)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){let n=this.widget.value.getFocusedItem(),r=0;e&&(r|=4),t&&(r|=8),this._insertSuggestion(n,r)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(e){return this._selectors.register(e)}};aT.ID=`editor.contrib.suggestController`,aT=rT=tT([nT(1,rw),nT(2,Qr),nT(3,W),nT(4,I),nT(5,tn),nT(6,fn)],aT);var oT=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}},sT=class e extends J{constructor(){super({id:e.id,label:b(`suggest.trigger.label`,`Trigger Suggest`),alias:`Trigger Suggest`,precondition:E.and(x.writable,x.hasCompletionItemProvider,$.Visible.toNegated()),kbOpts:{kbExpr:x.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,n){let r=aT.get(t);if(!r)return;let i;n&&typeof n==`object`&&n.auto===!0&&(i=!0),r.triggerSuggest(void 0,i,void 0)}};sT.id=`editor.action.triggerSuggest`,D(aT.ID,aT,2),y(sT);var cT=190,lT=be.bindToContribution(aT.get);_(new lT({id:`acceptSelectedSuggestion`,precondition:E.and($.Visible,$.HasFocusedSuggestion),handler(e){e.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:E.and($.Visible,x.textInputFocus),weight:cT},{primary:3,kbExpr:E.and($.Visible,x.textInputFocus,$.AcceptSuggestionsOnEnter,$.MakesTextEdit),weight:cT}],menuOpts:[{menuId:aC,title:b(`accept.insert`,`Insert`),group:`left`,order:1,when:$.HasInsertAndReplaceRange.toNegated()},{menuId:aC,title:b(`accept.insert`,`Insert`),group:`left`,order:1,when:E.and($.HasInsertAndReplaceRange,$.InsertMode.isEqualTo(`insert`))},{menuId:aC,title:b(`accept.replace`,`Replace`),group:`left`,order:1,when:E.and($.HasInsertAndReplaceRange,$.InsertMode.isEqualTo(`replace`))}]})),_(new lT({id:`acceptAlternativeSelectedSuggestion`,precondition:E.and($.Visible,x.textInputFocus,$.HasFocusedSuggestion),kbOpts:{weight:cT,kbExpr:x.textInputFocus,primary:1027,secondary:[1026]},handler(e){e.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:aC,group:`left`,order:2,when:E.and($.HasInsertAndReplaceRange,$.InsertMode.isEqualTo(`insert`)),title:b(`accept.replace`,`Replace`)},{menuId:aC,group:`left`,order:2,when:E.and($.HasInsertAndReplaceRange,$.InsertMode.isEqualTo(`replace`)),title:b(`accept.insert`,`Insert`)}]})),M.registerCommandAlias(`acceptSelectedSuggestionOnEnter`,`acceptSelectedSuggestion`),_(new lT({id:`hideSuggestWidget`,precondition:$.Visible,handler:e=>e.cancelSuggestWidget(),kbOpts:{weight:cT,kbExpr:x.textInputFocus,primary:9,secondary:[1033]}})),_(new lT({id:`selectNextSuggestion`,precondition:E.and($.Visible,E.or($.MultipleSuggestions,$.HasFocusedSuggestion.negate())),handler:e=>e.selectNextSuggestion(),kbOpts:{weight:cT,kbExpr:x.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),_(new lT({id:`selectNextPageSuggestion`,precondition:E.and($.Visible,E.or($.MultipleSuggestions,$.HasFocusedSuggestion.negate())),handler:e=>e.selectNextPageSuggestion(),kbOpts:{weight:cT,kbExpr:x.textInputFocus,primary:12,secondary:[2060]}})),_(new lT({id:`selectLastSuggestion`,precondition:E.and($.Visible,E.or($.MultipleSuggestions,$.HasFocusedSuggestion.negate())),handler:e=>e.selectLastSuggestion()})),_(new lT({id:`selectPrevSuggestion`,precondition:E.and($.Visible,E.or($.MultipleSuggestions,$.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevSuggestion(),kbOpts:{weight:cT,kbExpr:x.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),_(new lT({id:`selectPrevPageSuggestion`,precondition:E.and($.Visible,E.or($.MultipleSuggestions,$.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevPageSuggestion(),kbOpts:{weight:cT,kbExpr:x.textInputFocus,primary:11,secondary:[2059]}})),_(new lT({id:`selectFirstSuggestion`,precondition:E.and($.Visible,E.or($.MultipleSuggestions,$.HasFocusedSuggestion.negate())),handler:e=>e.selectFirstSuggestion()})),_(new lT({id:`focusSuggestion`,precondition:E.and($.Visible,$.HasFocusedSuggestion.negate()),handler:e=>e.focusSuggestion(),kbOpts:{weight:cT,kbExpr:x.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),_(new lT({id:`focusAndAcceptSuggestion`,precondition:E.and($.Visible,$.HasFocusedSuggestion.negate()),handler:e=>{e.focusSuggestion(),e.acceptSelectedSuggestion(!0,!1)}})),_(new lT({id:`toggleSuggestionDetails`,precondition:E.and($.Visible,$.HasFocusedSuggestion),handler:e=>e.toggleSuggestionDetails(),kbOpts:{weight:cT,kbExpr:x.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:aC,group:`right`,order:1,when:E.and($.DetailsVisible,$.CanResolve),title:b(`detail.more`,`show less`)},{menuId:aC,group:`right`,order:1,when:E.and($.DetailsVisible.toNegated(),$.CanResolve),title:b(`detail.less`,`show more`)}]})),_(new lT({id:`toggleExplainMode`,precondition:$.Visible,handler:e=>e.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),_(new lT({id:`toggleSuggestionFocus`,precondition:$.Visible,handler:e=>e.toggleSuggestionFocus(),kbOpts:{weight:cT,kbExpr:x.textInputFocus,primary:2570,mac:{primary:778}}})),_(new lT({id:`insertBestCompletion`,precondition:E.and(x.textInputFocus,E.equals(`config.editor.tabCompletion`,`on`),sw.AtEnd,$.Visible.toNegated(),dw.OtherSuggestions.toNegated(),BC.InSnippetMode.toNegated()),handler:(e,t)=>{e.triggerSuggestAndAcceptBest(Ca(t)?{fallback:`tab`,...t}:{fallback:`tab`})},kbOpts:{weight:cT,primary:2}})),_(new lT({id:`insertNextSuggestion`,precondition:E.and(x.textInputFocus,E.equals(`config.editor.tabCompletion`,`on`),dw.OtherSuggestions,$.Visible.toNegated(),BC.InSnippetMode.toNegated()),handler:e=>e.acceptNextSuggestion(),kbOpts:{weight:cT,kbExpr:x.textInputFocus,primary:2}})),_(new lT({id:`insertPrevSuggestion`,precondition:E.and(x.textInputFocus,E.equals(`config.editor.tabCompletion`,`on`),dw.OtherSuggestions,$.Visible.toNegated(),BC.InSnippetMode.toNegated()),handler:e=>e.acceptPrevSuggestion(),kbOpts:{weight:cT,kbExpr:x.textInputFocus,primary:1026}})),y(class extends J{constructor(){super({id:`editor.action.resetSuggestSize`,label:b(`suggest.reset.label`,`Reset Suggest Widget Size`),alias:`Reset Suggest Widget Size`,precondition:void 0})}run(e,t){var n;(n=aT.get(t))==null||n.resetWidgetSize()}});var uT=class extends U{get selectedItem(){return this._selectedItem}constructor(e,t,n,r){super(),this.editor=e,this.suggestControllerPreselector=t,this.checkModelVersion=n,this.onWillAccept=r,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._selectedItem=ti(this,void 0),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 i=aT.get(this.editor);if(i){this._register(i.registerSelector({priority:100,select:(e,t,n)=>{u(e=>this.checkModelVersion(e));let r=this.editor.getModel();if(!r)return-1;let a=this.suggestControllerPreselector(),o=a?HS(a,r):void 0;if(!o)return-1;let s=R.lift(t),c=ri(n.map((e,t)=>{let n=HS(dT.fromSuggestion(i,r,s,e,this.isShiftKeyPressed).toSingleTextEdit(),r);return{index:t,valid:US(o,n),prefixLength:n.text.length,suggestItem:e}}).filter(e=>e&&e.valid&&e.prefixLength>0),oc(e=>e.prefixLength,ks));return c?c.index:-1}}));let e=!1,t=()=>{e||(e=!0,this._register(i.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(i.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(i.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(xc.once(i.model.onDidTrigger)(e=>{t()})),this._register(i.onWillInsertSuggestItem(e=>{let t=this.editor.getPosition(),n=this.editor.getModel();if(!t||!n)return;let r=dT.fromSuggestion(i,n,t,e.item,this.isShiftKeyPressed);this.onWillAccept(r)}))}this.update(this._isActive)}update(e){let t=this.getSuggestItemInfo();(this._isActive!==e||!fT(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,u(e=>{this.checkModelVersion(e),this._selectedItem.set(this._isActive?this._currentSuggestItemInfo:void 0,e)}))}getSuggestItemInfo(){let e=aT.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 dT.fromSuggestion(e,r,n,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){aT.get(this.editor)?.stopForceRenderingAbove()}forceRenderingAbove(){aT.get(this.editor)?.forceRenderingAbove()}},dT=class e{static fromSuggestion(t,n,i,a,o){let{insertText:s}=a.completion,c=!1;if(a.completion.insertTextRules&4){let e=new Ld().parse(s);e.children.length<100&&FC.adjustWhitespace(n,i,!0,e),s=e.toString(),c=!0}let l=t.getOverwriteInfo(a,o);return new e(r.fromPositions(i.delta(0,-l.overwriteBefore),i.delta(0,Math.max(l.overwriteAfter,0))),s,a.completion.kind,c)}constructor(e,t,n,r){this.range=e,this.insertText=t,this.completionItemKind=n,this.isSnippetText=r}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new $e(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new Qe(this.range,this.insertText)}};function fT(e,t){return e===t?!0:!e||!t?!1:e.equals(t)}var pT=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},mT=function(e,t){return function(n,r){t(n,r,e)}},hT,gT=hT=class extends U{static get(e){return e.getContribution(hT.ID)}constructor(e,t,n,r,i,a,o,s,c,l){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=n,this._configurationService=r,this._commandService=i,this._debounceService=a,this._languageFeaturesService=o,this._accessibilitySignalService=s,this._keybindingService=c,this._accessibilityService=l,this.model=this._register(ui(`inlineCompletionModel`,void 0)),this._textModelVersionId=ti(this,-1),this._positions=vi({owner:this,equalsFn:is(dc())},[new R(1,1)]),this._suggestWidgetAdaptor=this._register(new uT(this.editor,()=>(this.model.get()?.selectedInlineCompletion.get())?.toSingleTextEdit(void 0),e=>this.updateObservables(e,WC.Other),e=>{u(t=>{var n;this.updateObservables(t,WC.Other),(n=this.model.get())==null||n.handleSuggestAccepted(e)})})),this._enabledInConfig=St(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=St(this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=St(this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue(`editorDictation.inProgress`)===!0),this._enabled=Kr(this,e=>this._enabledInConfig.read(e)&&(!this._isScreenReaderEnabled.read(e)||!this._editorDictationInProgress.read(e))),this._fontFamily=St(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._ghostTexts=Kr(this,e=>this.model.read(e)?.ghostTexts.read(e)??[]),this._stablizedGhostTexts=_T(this._ghostTexts,this._store),this._ghostTextWidgets=Xe(this,this._stablizedGhostTexts,(e,t)=>t.add(this._instantiationService.createInstance(AS,this.editor,{ghostText:e,minReservedLineCount:hn(0),targetTextModel:this.model.map(e=>e?.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,`InlineCompletionsDebounce`,{min:50,max:50}),this._playAccessibilitySignal=Yt(this),this._isReadonly=St(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(91)),this._textModel=St(this.editor.onDidChangeModel,()=>this.editor.getModel()),this._textModelIfWritable=Kr(e=>this._isReadonly.read(e)?void 0:this._textModel.read(e)),this._register(new hS(this._contextKeyService,this.model)),this._register(pe(n=>{let r=this._textModelIfWritable.read(n);u(n=>{if(this.model.set(void 0,n),this.updateObservables(n,WC.Other),r){let i=t.createInstance(GC,r,this._suggestWidgetAdaptor.selectedItem,this._textModelVersionId,this._positions,this._debounceValue,St(e.onDidChangeConfiguration,()=>e.getOption(118).preview),St(e.onDidChangeConfiguration,()=>e.getOption(118).previewMode),St(e.onDidChangeConfiguration,()=>e.getOption(62).mode),this._enabled);this.model.set(i,n)}})}));let d=this._register(or());this._register(pe(e=>{let t=this._fontFamily.read(e);d.setStyle(t===``||t===`default`?``:`
26
+ .monaco-editor .ghost-text-decoration,
27
+ .monaco-editor .ghost-text-decoration-preview,
28
+ .monaco-editor .ghost-text {
29
+ font-family: ${t};
30
+ }`)}));let f=e=>e.isUndoing?WC.Undo:e.isRedoing?WC.Redo:this.model.get()?.isAcceptingPartially?WC.AcceptWord:WC.Other;this._register(e.onDidChangeModelContent(e=>u(t=>this.updateObservables(t,f(e))))),this._register(e.onDidChangeCursorPosition(e=>u(t=>{var n;this.updateObservables(t,WC.Other),(e.reason===3||e.source===`api`)&&((n=this.model.get())==null||n.stop(t))}))),this._register(e.onDidType(()=>u(e=>{var t;this.updateObservables(e,WC.Other),this._enabled.get()&&((t=this.model.get())==null||t.trigger(e))}))),this._register(this._commandService.onDidExecuteCommand(t=>{new Set([Wr.Tab.id,Wr.DeleteLeft.id,Wr.DeleteRight.id,`editor.action.inlineSuggest.commit`,`acceptSelectedSuggestion`]).has(t.commandId)&&e.hasTextFocus()&&this._enabled.get()&&u(e=>{var t;(t=this.model.get())==null||t.trigger(e)})})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue(`accessibleViewIsShown`)||this._configurationService.getValue(`editor.inlineSuggest.keepOnBlur`)||e.getOption(62).keepOnBlur||lh.dropDownVisible||u(e=>{var t;(t=this.model.get())==null||t.stop(e)})})),this._register(pe(e=>{let t=this.model.read(e)?.state.read(e);t?.suggestItem?t.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register(Hi(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));let p=this._register(new V),m;this._register(Ir({handleChange:(e,t)=>(e.didChange(this._playAccessibilitySignal)&&(m=void 0),!0)},async(e,t)=>{this._playAccessibilitySignal.read(e);let n=this.model.read(e),r=n?.state.read(e);if(!n||!r||!r.inlineCompletion){m=void 0;return}if(r.inlineCompletion.semanticId!==m){p.clear(),m=r.inlineCompletion.semanticId;let e=n.textModel.getLineContent(r.primaryGhostText.lineNumber);await Ai(50,Qi(p)),await an(this._suggestWidgetAdaptor.selectedItem,ls,()=>!1,Qi(p)),await this._accessibilitySignalService.playSignal(Xt.inlineSuggestion),this.editor.getOption(8)&&this.provideScreenReaderUpdate(r.primaryGhostText.renderForScreenReader(e))}})),this._register(new oh(this.editor,this.model,this._instantiationService)),this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`accessibility.verbosity.inlineCompletions`)&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue(`accessibility.verbosity.inlineCompletions`)})})),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue(`accessibility.verbosity.inlineCompletions`)})}playAccessibilitySignal(e){this._playAccessibilitySignal.trigger(e)}provideScreenReaderUpdate(e){let t=this._contextKeyService.getContextKeyValue(`accessibleViewIsShown`),n=this._keybindingService.lookupKeybinding(`editor.action.accessibleView`),r;!t&&n&&this.editor.getOption(149)&&(r=b(`showAccessibleViewHint`,`Inspect this in the accessible view ({0})`,n.getAriaLabel())),_n(r?e+`, `+r:e)}updateObservables(e,t){let n=this.editor.getModel();this._textModelVersionId.set(n?.getVersionId()??-1,e,t),this._positions.set(this.editor.getSelections()?.map(e=>e.getPosition())??[new R(1,1)],e)}shouldShowHoverAt(e){let t=this.model.get()?.primaryGhostText.get();return t?t.parts.some(n=>e.containsPosition(new R(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){return this._ghostTextWidgets.get()[0]?.ownsViewZone(e)??!1}};gT.ID=`editor.contrib.inlineCompletionsController`,gT=hT=pT([mT(1,I),mT(2,W),mT(3,Va),mT(4,Qr),mT(5,wc),mT(6,g),mT(7,on),mT(8,$s),mT(9,lr)],gT);function _T(e,t){let n=ti(`result`,[]),r=[];return t.add(pe(t=>{let i=e.read(t);u(e=>{if(i.length!==r.length){r.length=i.length;for(let e=0;e<r.length;e++)r[e]||(r[e]=ti(`item`,i[e]));n.set([...r],e)}r.forEach((t,n)=>t.set(i[n],e))})})),n}var vT=class e extends J{constructor(){super({id:e.ID,label:b(`action.inlineSuggest.showNext`,`Show Next Inline Suggestion`),alias:`Show Next Inline Suggestion`,precondition:E.and(x.writable,hS.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;(n=gT.get(t)?.model.get())==null||n.next()}};vT.ID=nh;var yT=class e extends J{constructor(){super({id:e.ID,label:b(`action.inlineSuggest.showPrevious`,`Show Previous Inline Suggestion`),alias:`Show Previous Inline Suggestion`,precondition:E.and(x.writable,hS.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;(n=gT.get(t)?.model.get())==null||n.previous()}};yT.ID=th;var bT=class extends J{constructor(){super({id:`editor.action.inlineSuggest.trigger`,label:b(`action.inlineSuggest.trigger`,`Trigger Inline Suggestion`),alias:`Trigger Inline Suggestion`,precondition:x.writable})}async run(e,t){let n=gT.get(t);await jt(async e=>{await(n?.model.get())?.triggerExplicitly(e),n?.playAccessibilitySignal(e)})}},xT=class extends J{constructor(){super({id:`editor.action.inlineSuggest.acceptNextWord`,label:b(`action.inlineSuggest.acceptNextWord`,`Accept Next Word Of Inline Suggestion`),alias:`Accept Next Word Of Inline Suggestion`,precondition:E.and(x.writable,hS.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:E.and(x.writable,hS.inlineSuggestionVisible)},menuOpts:[{menuId:C.InlineSuggestionToolbar,title:b(`acceptWord`,`Accept Word`),group:`primary`,order:2}]})}async run(e,t){let n=gT.get(t);await(n?.model.get())?.acceptNextWord(n.editor)}},ST=class extends J{constructor(){super({id:`editor.action.inlineSuggest.acceptNextLine`,label:b(`action.inlineSuggest.acceptNextLine`,`Accept Next Line Of Inline Suggestion`),alias:`Accept Next Line Of Inline Suggestion`,precondition:E.and(x.writable,hS.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:C.InlineSuggestionToolbar,title:b(`acceptLine`,`Accept Line`),group:`secondary`,order:2}]})}async run(e,t){let n=gT.get(t);await(n?.model.get())?.acceptNextLine(n.editor)}},CT=class extends J{constructor(){super({id:eh,label:b(`action.inlineSuggest.accept`,`Accept Inline Suggestion`),alias:`Accept Inline Suggestion`,precondition:hS.inlineSuggestionVisible,menuOpts:[{menuId:C.InlineSuggestionToolbar,title:b(`accept`,`Accept`),group:`primary`,order:1}],kbOpts:{primary:2,weight:200,kbExpr:E.and(hS.inlineSuggestionVisible,x.tabMovesFocus.toNegated(),hS.inlineSuggestionHasIndentationLessThanTabSize,$.Visible.toNegated(),x.hoverFocused.toNegated())}})}async run(e,t){var n;let r=gT.get(t);r&&((n=r.model.get())==null||n.accept(r.editor),r.editor.focus())}},wT=class e extends J{constructor(){super({id:e.ID,label:b(`action.inlineSuggest.hide`,`Hide Inline Suggestion`),alias:`Hide Inline Suggestion`,precondition:hS.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){let n=gT.get(t);u(e=>{var t;(t=n?.model.get())==null||t.stop(e)})}};wT.ID=`editor.action.inlineSuggest.hide`;var TT=class e extends jn{constructor(){super({id:e.ID,title:b(`action.inlineSuggest.alwaysShowToolbar`,`Always Show Toolbar`),f1:!1,precondition:void 0,menu:[{id:C.InlineSuggestionToolbar,group:`secondary`,order:10}],toggled:E.equals(`config.editor.inlineSuggest.showToolbar`,`always`)})}async run(e,t){let n=e.get(Va),r=n.getValue(`editor.inlineSuggest.showToolbar`)===`always`?`onHover`:`always`;n.updateValue(`editor.inlineSuggest.showToolbar`,r)}};TT.ID=`editor.action.inlineSuggest.toggleAlwaysShowToolbar`;var ET=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},DT=function(e,t){return function(n,r){t(n,r,e)}},OT=class{constructor(e,t,n){this.owner=e,this.range=t,this.controller=n}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},kT=class{constructor(e,t,n,r,i,a){this._editor=e,this._languageService=t,this._openerService=n,this.accessibilityService=r,this._instantiationService=i,this._telemetryService=a,this.hoverOrdinal=4}suggestHoverAnchor(e){let t=gT.get(this._editor);if(!t)return null;let n=e.target;if(n.type===8){let i=n.detail;if(t.shouldShowHoverAtViewZone(i.viewZoneId))return new Dh(1e3,this,r.fromPositions(this._editor.getModel().validatePosition(i.positionBefore||i.position)),e.event.posx,e.event.posy,!1)}return n.type===7&&t.shouldShowHoverAt(n.range)||n.type===6&&n.detail.mightBeForeignElement&&t.shouldShowHoverAt(n.range)?new Dh(1e3,this,n.range,e.event.posx,e.event.posy,!1):null}computeSync(e,t){if(this._editor.getOption(62).showToolbar!==`onHover`)return[];let n=gT.get(this._editor);return n&&n.shouldShowHoverAt(e.range)?[new OT(this,e.range,n)]:[]}renderHoverParts(e,t){let n=new V,r=t[0];this._telemetryService.publicLog2(`inlineCompletionHover.shown`),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&this.renderScreenReaderText(e,r,n);let i=r.controller.model.get(),a=this._instantiationService.createInstance(lh,this._editor,!1,hn(null),i.selectedInlineCompletionIndex,i.inlineCompletionsCount,i.activeCommands);return e.fragment.appendChild(a.getDomNode()),i.triggerExplicitly(),n.add(a),n}renderScreenReaderText(e,t,n){let r=K,i=r(`div.hover-row.markdown-hover`),a=Y(i,r(`div.hover-contents`,{"aria-live":`assertive`})),o=n.add(new Oo({editor:this._editor},this._languageService,this._openerService)),s=t=>{n.add(o.onDidRenderAsync(()=>{a.className=`hover-contents code-hover-contents`,e.onContentsChanged()}));let r=b(`inlineSuggestionFollows`,`Suggestion:`),i=n.add(o.render(new An().appendText(r).appendCodeblock(`text`,t)));a.replaceChildren(i.element)};n.add(pe(e=>{let n=t.controller.model.read(e)?.primaryGhostText.read(e);if(n){let e=this._editor.getModel().getLineContent(n.lineNumber);s(n.renderForScreenReader(e))}else vl(a)})),e.fragment.appendChild(i)}};kT=ET([DT(1,Xa),DT(2,hi),DT(3,lr),DT(4,I),DT(5,fn)],kT);var AT=class extends U{constructor(){super()}},jT=new class{constructor(){this._implementations=[]}register(e){return this._implementations.push(e),{dispose:()=>{let t=this._implementations.indexOf(e);t!==-1&&this._implementations.splice(t,1),e.dispose()}}}getImplementations(){return this._implementations}};D(gT.ID,gT,3),y(bT),y(vT),y(yT),y(xT),y(ST),y(CT),y(wT),A(TT),Oh.register(kT),jT.register(new AT);var MT=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},NT=function(e,t){return function(n,r){t(n,r,e)}},PT,FT=PT=class{constructor(e,t,n,r){this.textModelResolverService=t,this.languageService=n,this.languageFeaturesService=r,this.toUnhook=new V,this.toUnhookForKeyboard=new V,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();let i=new Zh(e);this.toUnhook.add(i),this.toUnhook.add(i.onMouseMoveOrRelevantKeyDown(([e,t])=>{this.startFindDefinitionFromMouse(e,t??void 0)})),this.toUnhook.add(i.onExecute(e=>{this.isEnabled(e)&&this.gotoDefinition(e.target.position,e.hasSideBySideModifier).catch(e=>{v(e)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(i.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(PT.ID)}async startFindDefinitionFromCursor(e){await this.startFindDefinition(e),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(e=>{e&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))}startFindDefinitionFromMouse(e,t){if(e.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}let n=e.target.position;this.startFindDefinition(n)}async startFindDefinition(e){this.toUnhookForKeyboard.clear();let t=e?this.editor.getModel()?.getWordAtPosition(e):null;if(!t){this.currentWordAtPosition=null,this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===t.startColumn&&this.currentWordAtPosition.endColumn===t.endColumn&&this.currentWordAtPosition.word===t.word)return;this.currentWordAtPosition=t;let n=new me(this.editor,15);this.previousPromise&&=(this.previousPromise.cancel(),null),this.previousPromise=lc(t=>this.findDefinition(e,t));let i;try{i=await this.previousPromise}catch(e){v(e);return}if(!i||!i.length||!n.validate(this.editor)){this.removeLinkDecorations();return}let a=i[0].originSelectionRange?r.lift(i[0].originSelectionRange):new r(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(i.length>1){let e=a;for(let{originSelectionRange:t}of i)t&&(e=r.plusRange(e,t));this.addDecoration(e,new An().appendText(b(`multipleResults`,`Click to show {0} definitions.`,i.length)))}else{let e=i[0];if(!e.uri)return;this.textModelResolverService.createModelReference(e.uri).then(t=>{if(!t.object||!t.object.textEditorModel){t.dispose();return}let{object:{textEditorModel:n}}=t,{startLineNumber:r}=e.range;if(r<1||r>n.getLineCount()){t.dispose();return}let i=this.getPreviewValue(n,r,e),o=this.languageService.guessLanguageIdByFilepathOrFirstLine(n.uri);this.addDecoration(a,i?new An().appendCodeblock(o||``,i):void 0),t.dispose()})}}getPreviewValue(e,t,n){let r=n.range;return r.endLineNumber-r.startLineNumber>=PT.MAX_SOURCE_PREVIEW_LINES&&(r=this.getPreviewRangeBasedOnIndentation(e,t)),this.stripIndentationFromPreviewRange(e,t,r)}stripIndentationFromPreviewRange(e,t,n){let r=e.getLineFirstNonWhitespaceColumn(t);for(let i=t+1;i<n.endLineNumber;i++){let t=e.getLineFirstNonWhitespaceColumn(i);r=Math.min(r,t)}return e.getValueInRange(n).replace(RegExp(`^\\s{${r-1}}`,`gm`),``).trim()}getPreviewRangeBasedOnIndentation(e,t){let n=e.getLineFirstNonWhitespaceColumn(t),i=Math.min(e.getLineCount(),t+PT.MAX_SOURCE_PREVIEW_LINES),a=t+1;for(;a<i&&n!==e.getLineFirstNonWhitespaceColumn(a);a++);return new r(t,1,a+1,1)}addDecoration(e,t){let n={range:e,options:{description:`goto-definition-link`,inlineClassName:`goto-definition-link`,hoverMessage:t}};this.linkDecorations.set([n])}removeLinkDecorations(){this.linkDecorations.clear()}isEnabled(e,t){return this.editor.hasModel()&&e.isLeftClick&&e.isNoneOrSingleMouseDown&&e.target.type===6&&!(e.target.detail.injectedText?.options instanceof Qc)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){let n=this.editor.getModel();return n?c_(this.languageFeaturesService.definitionProvider,n,e,t):Promise.resolve(null)}gotoDefinition(e,t){return this.editor.setPosition(e),this.editor.invokeWithinContext(e=>new w_({openToSide:t,openInPeek:!t&&this.editor.getOption(88)&&!this.isInPeekEditor(e),muteMessage:!0},{title:{value:``,original:``},id:``,precondition:void 0}).run(e))}isInPeekEditor(e){let t=e.get(W);return hg.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};FT.ID=`editor.contrib.gotodefinitionatposition`,FT.MAX_SOURCE_PREVIEW_LINES=8,FT=PT=MT([NT(1,ss),NT(2,Xa),NT(3,g)],FT),D(FT.ID,FT,2);var IT=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},LT=function(e,t){return function(n,r){t(n,r,e)}},RT=class{constructor(e,t,n){this.marker=e,this.index=t,this.total=n}},zT=class{constructor(e,t,n){this._markerService=t,this._configService=n,this._onDidChange=new B,this.onDidChange=this._onDidChange.event,this._dispoables=new V,this._markers=[],this._nextIdx=-1,G.isUri(e)?this._resourceFilter=t=>t.toString()===e.toString():e&&(this._resourceFilter=e);let i=this._configService.getValue(`problems.sortOrder`),a=(e,t)=>{let n=Ss(e.resource.toString(),t.resource.toString());return n===0&&(n=i===`position`?r.compareRangesUsingStarts(e,t)||Ua.compare(e.severity,t.severity):Ua.compare(e.severity,t.severity)||r.compareRangesUsingStarts(e,t)),n},o=()=>{this._markers=this._markerService.read({resource:G.isUri(e)?e:void 0,severities:Ua.Error|Ua.Warning|Ua.Info}),typeof e==`function`&&(this._markers=this._markers.filter(e=>this._resourceFilter(e.resource))),this._markers.sort(a)};o(),this._dispoables.add(t.onMarkerChanged(e=>{(!this._resourceFilter||e.some(e=>this._resourceFilter(e)))&&(o(),this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e?!0:!this._resourceFilter||!e?!1:this._resourceFilter(e)}get selected(){let e=this._markers[this._nextIdx];return e&&new RT(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,n){let i=!1,a=this._markers.findIndex(t=>t.resource.toString()===e.uri.toString());a<0&&(a=Li(this._markers,{resource:e.uri},(e,t)=>Ss(e.resource.toString(),t.resource.toString())),a<0&&(a=~a));for(let n=a;n<this._markers.length;n++){let a=r.lift(this._markers[n]);if(a.isEmpty()){let t=e.getWordAtPosition(a.getStartPosition());t&&(a=new r(a.startLineNumber,t.startColumn,a.startLineNumber,t.endColumn))}if(t&&(a.containsPosition(t)||t.isBeforeOrEqual(a.getStartPosition()))){this._nextIdx=n,i=!0;break}if(this._markers[n].resource.toString()!==e.uri.toString())break}i||(this._nextIdx=n?0:this._markers.length-1),this._nextIdx<0&&(this._nextIdx=this._markers.length-1)}resetIndex(){this._nextIdx=-1}move(e,t,n){if(this._markers.length===0)return!1;let r=this._nextIdx;return this._nextIdx===-1?this._initIdx(t,n,e):e?this._nextIdx=(this._nextIdx+1)%this._markers.length:e||(this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length),r!==this._nextIdx}find(e,t){let n=this._markers.findIndex(t=>t.resource.toString()===e.toString());if(!(n<0)){for(;n<this._markers.length;n++)if(r.containsPosition(this._markers[n],t))return new RT(this._markers[n],n+1,this._markers.length)}}};zT=IT([LT(1,$a),LT(2,Va)],zT);var BT=_s(`IMarkerNavigationService`),VT=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new kn}getMarkerList(e){for(let t of this._provider){let n=t.getMarkerList(e);if(n)return n}return new zT(e,this._markerService,this._configService)}};VT=IT([LT(0,$a),LT(1,Va)],VT),Jo(BT,VT,1);var HT;(function(e){function t(e){switch(e){case Ti.Ignore:return`severity-ignore `+P.asClassName(N.info);case Ti.Info:return P.asClassName(N.info);case Ti.Warning:return P.asClassName(N.warning);case Ti.Error:return P.asClassName(N.error);default:return``}}e.className=t})(HT||={});var UT=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},WT=function(e,t){return function(n,r){t(n,r,e)}},GT,KT=class{constructor(e,t,n,r,i){this._openerService=r,this._labelService=i,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new V,this._editor=t;let a=document.createElement(`div`);a.className=`descriptioncontainer`,this._messageBlock=document.createElement(`div`),this._messageBlock.classList.add(`message`),this._messageBlock.setAttribute(`aria-live`,`assertive`),this._messageBlock.setAttribute(`role`,`alert`),a.appendChild(this._messageBlock),this._relatedBlock=document.createElement(`div`),a.appendChild(this._relatedBlock),this._disposables.add(Fc(this._relatedBlock,`click`,e=>{e.preventDefault();let t=this._relatedDiagnostics.get(e.target);t&&n(t)})),this._scrollable=new xi(a,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(e=>{a.style.left=`-${e.scrollLeft}px`,a.style.top=`-${e.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){jc(this._disposables)}update(e){let{source:t,message:n,relatedInformation:r,code:i}=e,a=(t?.length||0)+2;i&&(typeof i==`string`?a+=i.length:a+=i.value.length);let o=vn(n);this._lines=o.length,this._longestLineLength=0;for(let e of o)this._longestLineLength=Math.max(e.length+a,this._longestLineLength);Ki(this._messageBlock),this._messageBlock.setAttribute(`aria-label`,this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let s=this._messageBlock;for(let e of o)s=document.createElement(`div`),s.innerText=e,e===``&&(s.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(s);if(t||i){let e=document.createElement(`span`);if(e.classList.add(`details`),s.appendChild(e),t){let n=document.createElement(`span`);n.innerText=t,n.classList.add(`source`),e.appendChild(n)}if(i)if(typeof i==`string`){let t=document.createElement(`span`);t.innerText=`(${i})`,t.classList.add(`code`),e.appendChild(t)}else{this._codeLink=K(`a.code-link`),this._codeLink.setAttribute(`href`,`${i.target.toString()}`),this._codeLink.onclick=e=>{this._openerService.open(i.target,{allowCommands:!0}),e.preventDefault(),e.stopPropagation()};let t=Y(this._codeLink,K(`span`));t.innerText=i.value,e.appendChild(this._codeLink)}}if(Ki(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),Pa(r)){let e=this._relatedBlock.appendChild(document.createElement(`div`));e.style.paddingTop=`${Math.floor(this._editor.getOption(67)*.66)}px`,this._lines+=1;for(let t of r){let n=document.createElement(`div`),r=document.createElement(`a`);r.classList.add(`filename`),r.innerText=`${this._labelService.getUriBasenameLabel(t.resource)}(${t.startLineNumber}, ${t.startColumn}): `,r.title=this._labelService.getUriLabel(t.resource),this._relatedDiagnostics.set(r,t);let i=document.createElement(`span`);i.innerText=t.message,n.appendChild(r),n.appendChild(i),this._lines+=1,e.appendChild(n)}}let c=this._editor.getOption(50),l=Math.ceil(c.typicalFullwidthCharacterWidth*this._longestLineLength*.75),u=c.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:l,scrollHeight:u})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t=``;switch(e.severity){case Ua.Error:t=b(`Error`,`Error`);break;case Ua.Warning:t=b(`Warning`,`Warning`);break;case Ua.Info:t=b(`Info`,`Info`);break;case Ua.Hint:t=b(`Hint`,`Hint`);break}let n=b(`marker aria`,`{0} at {1}. `,t,e.startLineNumber+`:`+e.startColumn),r=this._editor.getModel();return r&&e.startLineNumber<=r.getLineCount()&&e.startLineNumber>=1&&(n=`${r.getLineContent(e.startLineNumber)}, ${n}`),n}},qT=GT=class extends yg{constructor(e,t,n,r,i,a,o){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},i),this._themeService=t,this._openerService=n,this._menuService=r,this._contextKeyService=a,this._labelService=o,this._callOnDispose=new V,this._onDidSelectRelatedInformation=new B,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Ua.Warning,this._backgroundColor=S.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(rE);let t=ZT,n=QT;this._severity===Ua.Warning?(t=$T,n=eE):this._severity===Ua.Info&&(t=tE,n=nE);let r=e.getColor(t),i=e.getColor(n);this.style({arrowColor:r,frameColor:r,headerBackgroundColor:i,primaryHeadingColor:e.getColor(xg),secondaryHeadingColor:e.getColor(Sg)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():``),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(e){super._fillHead(e),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun(e=>this.editor.focus()));let t=[],n=this._menuService.createMenu(GT.TitleMenu,this._contextKeyService);el(n,void 0,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0}),n.dispose()}_fillTitleIcon(e){this._icon=Y(e,K(``))}_fillBody(e){this._parentContainer=e,e.classList.add(`marker-widget`),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute(`role`,`tooltip`),this._container=document.createElement(`div`),e.appendChild(this._container),this._message=new KT(this._container,this.editor,e=>this._onDidSelectRelatedInformation.fire(e),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw Error(`call showAtMarker`)}showAtMarker(e,t,n){this._container.classList.remove(`stale`),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());let i=r.lift(e),a=this.editor.getPosition(),o=a&&i.containsPosition(a)?a:i.getStartPosition();super.show(o,this.computeRequiredHeight());let s=this.editor.getModel();if(s){let e=n>1?b(`problems`,`{0} of {1} problems`,t,n):b(`change`,`{0} of {1} problem`,t,n);this.setTitle(Re(s.uri),e)}this._icon.className=`codicon ${HT.className(Ua.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(o,0),this.editor.focus()}updateMarker(e){this._container.classList.remove(`stale`),this._message.update(e)}showStale(){this._container.classList.add(`stale`),this._relayout()}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._heightInPixel=e,this._message.layout(e,t),this._container.style.height=`${e}px`}_onWidth(e){this._message.layout(this._heightInPixel,e)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};qT.TitleMenu=new C(`gotoErrorTitleMenu`),qT=GT=UT([WT(1,Io),WT(2,hi),WT(3,qe),WT(4,I),WT(5,W),WT(6,Hc)],qT);var JT=zi(st,jr),YT=zi(Yi,Zs),XT=zi(Ln,pi),ZT=q(`editorMarkerNavigationError.background`,{dark:JT,light:JT,hcDark:Ia,hcLight:Ia},b(`editorMarkerNavigationError`,`Editor marker navigation widget error color.`)),QT=q(`editorMarkerNavigationError.headerBackground`,{dark:er(ZT,.1),light:er(ZT,.1),hcDark:null,hcLight:null},b(`editorMarkerNavigationErrorHeaderBackground`,`Editor marker navigation widget error heading background.`)),$T=q(`editorMarkerNavigationWarning.background`,{dark:YT,light:YT,hcDark:Ia,hcLight:Ia},b(`editorMarkerNavigationWarning`,`Editor marker navigation widget warning color.`)),eE=q(`editorMarkerNavigationWarning.headerBackground`,{dark:er($T,.1),light:er($T,.1),hcDark:`#0C141F`,hcLight:er($T,.2)},b(`editorMarkerNavigationWarningBackground`,`Editor marker navigation widget warning heading background.`)),tE=q(`editorMarkerNavigationInfo.background`,{dark:XT,light:XT,hcDark:Ia,hcLight:Ia},b(`editorMarkerNavigationInfo`,`Editor marker navigation widget info color.`)),nE=q(`editorMarkerNavigationInfo.headerBackground`,{dark:er(tE,.1),light:er(tE,.1),hcDark:null,hcLight:null},b(`editorMarkerNavigationInfoHeaderBackground`,`Editor marker navigation widget info heading background.`)),rE=q(`editorMarkerNavigation.background`,{dark:se,light:se,hcDark:se,hcLight:se},b(`editorMarkerNavigationBackground`,`Editor marker navigation widget background.`)),iE=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},aE=function(e,t){return function(n,r){t(n,r,e)}},oE,sE=oE=class{static get(e){return e.getContribution(oE.ID)}constructor(e,t,n,r,i){this._markerNavigationService=t,this._contextKeyService=n,this._editorService=r,this._instantiationService=i,this._sessionDispoables=new V,this._editor=e,this._widgetVisible=pE.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(e){if(this._model&&this._model.matches(e))return this._model;let t=!1;return this._model&&(t=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(e),t&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(qT,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(e=>{var t;(!this._model?.selected||!r.containsPosition(this._model?.selected.marker,e.position))&&((t=this._model)==null||t.resetIndex())})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;let e=this._model.find(this._editor.getModel().uri,this._widget.position);e?this._widget.updateMarker(e.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(e=>{this._editorService.openCodeEditor({resource:e.resource,options:{pinned:!0,revealIfOpened:!0,selection:r.lift(e).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(this._editor.hasModel()){let t=this._getOrCreateModel(this._editor.getModel().uri);t.resetIndex(),t.move(!0,this._editor.getModel(),new R(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}async nagivate(e,t){var n,r;if(this._editor.hasModel()){let i=this._getOrCreateModel(t?void 0:this._editor.getModel().uri);if(i.move(e,this._editor.getModel(),this._editor.getPosition()),!i.selected)return;if(i.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();let a=await this._editorService.openCodeEditor({resource:i.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:i.selected.marker}},this._editor);a&&((n=oE.get(a))==null||n.close(),(r=oE.get(a))==null||r.nagivate(e,t))}else this._widget.showAtMarker(i.selected.marker,i.selected.index,i.selected.total)}}};sE.ID=`editor.contrib.markerController`,sE=oE=iE([aE(1,BT),aE(2,W),aE(3,lo),aE(4,I)],sE);var cE=class extends J{constructor(e,t,n){super(n),this._next=e,this._multiFile=t}async run(e,t){var n;t.hasModel()&&((n=sE.get(t))==null||n.nagivate(this._next,this._multiFile))}},lE=class e extends cE{constructor(){super(!0,!1,{id:e.ID,label:e.LABEL,alias:`Go to Next Problem (Error, Warning, Info)`,precondition:void 0,kbOpts:{kbExpr:x.focus,primary:578,weight:100},menuOpts:{menuId:qT.TitleMenu,title:e.LABEL,icon:ul(`marker-navigation-next`,N.arrowDown,b(`nextMarkerIcon`,`Icon for goto next marker.`)),group:`navigation`,order:1}})}};lE.ID=`editor.action.marker.next`,lE.LABEL=b(`markerAction.next.label`,`Go to Next Problem (Error, Warning, Info)`);var uE=class e extends cE{constructor(){super(!1,!1,{id:e.ID,label:e.LABEL,alias:`Go to Previous Problem (Error, Warning, Info)`,precondition:void 0,kbOpts:{kbExpr:x.focus,primary:1602,weight:100},menuOpts:{menuId:qT.TitleMenu,title:e.LABEL,icon:ul(`marker-navigation-previous`,N.arrowUp,b(`previousMarkerIcon`,`Icon for goto previous marker.`)),group:`navigation`,order:2}})}};uE.ID=`editor.action.marker.prev`,uE.LABEL=b(`markerAction.previous.label`,`Go to Previous Problem (Error, Warning, Info)`);var dE=class extends cE{constructor(){super(!0,!0,{id:`editor.action.marker.nextInFiles`,label:b(`markerAction.nextInFiles.label`,`Go to Next Problem in Files (Error, Warning, Info)`),alias:`Go to Next Problem in Files (Error, Warning, Info)`,precondition:void 0,kbOpts:{kbExpr:x.focus,primary:66,weight:100},menuOpts:{menuId:C.MenubarGoMenu,title:b({key:`miGotoNextProblem`,comment:[`&& denotes a mnemonic`]},`Next &&Problem`),group:`6_problem_nav`,order:1}})}},fE=class extends cE{constructor(){super(!1,!0,{id:`editor.action.marker.prevInFiles`,label:b(`markerAction.previousInFiles.label`,`Go to Previous Problem in Files (Error, Warning, Info)`),alias:`Go to Previous Problem in Files (Error, Warning, Info)`,precondition:void 0,kbOpts:{kbExpr:x.focus,primary:1090,weight:100},menuOpts:{menuId:C.MenubarGoMenu,title:b({key:`miGotoPreviousProblem`,comment:[`&& denotes a mnemonic`]},`Previous &&Problem`),group:`6_problem_nav`,order:2}})}};D(sE.ID,sE,4),y(lE),y(uE),y(dE),y(fE);var pE=new w(`markersNavigationVisible`,!1);_(new(be.bindToContribution(sE.get))({id:`closeMarkersNavigation`,precondition:pE,handler:e=>e.close(),kbOpts:{weight:150,kbExpr:x.focus,primary:9,secondary:[1033]}}));var mE;(function(e){e.NoAutoFocus=`noAutoFocus`,e.FocusIfVisible=`focusIfVisible`,e.AutoFocusImmediately=`autoFocusImmediately`})(mE||={});var hE=class extends J{constructor(){super({id:Bm,label:b({key:`showOrFocusHover`,comment:[`Label for action that will trigger the showing/focusing of a hover in the editor.`,`If the hover is not visible, it will show the hover.`,`This allows for users to show the hover without using the mouse.`]},`Show or Focus Hover`),metadata:{description:T(`showOrFocusHoverDescription`,`Show or focus the editor hover which shows documentation, references, and other content for a symbol at the current cursor position.`),args:[{name:`args`,schema:{type:`object`,properties:{focus:{description:`Controls if and when the hover should take focus upon being triggered by this action.`,enum:[mE.NoAutoFocus,mE.FocusIfVisible,mE.AutoFocusImmediately],enumDescriptions:[b(`showOrFocusHover.focus.noAutoFocus`,`The hover will not automatically take focus.`),b(`showOrFocusHover.focus.focusIfVisible`,`The hover will take focus only if it is already visible.`),b(`showOrFocusHover.focus.autoFocusImmediately`,`The hover will automatically take focus when it appears.`)],default:mE.FocusIfVisible}}}}]},alias:`Show or Focus Hover`,precondition:void 0,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2087),weight:100}})}run(e,t,n){if(!t.hasModel())return;let i=lv.get(t);if(!i)return;let a=n?.focus,o=mE.FocusIfVisible;Object.values(mE).includes(a)?o=a:typeof a==`boolean`&&a&&(o=mE.AutoFocusImmediately);let s=e=>{let n=t.getPosition(),a=new r(n.lineNumber,n.column,n.lineNumber,n.column);i.showContentHover(a,1,1,e)},c=t.getOption(2)===2;i.isHoverVisible?o===mE.NoAutoFocus?s(c):i.focus():s(c||o===mE.AutoFocusImmediately)}},gE=class extends J{constructor(){super({id:Vm,label:b({key:`showDefinitionPreviewHover`,comment:[`Label for action that will trigger the showing of definition preview hover in the editor.`,`This allows for users to show the definition preview hover without using the mouse.`]},`Show Definition Preview Hover`),alias:`Show Definition Preview Hover`,precondition:void 0,metadata:{description:T(`showDefinitionPreviewHoverDescription`,`Show the definition preview hover in the editor.`)}})}run(e,t){let n=lv.get(t);if(!n)return;let i=t.getPosition();if(!i)return;let a=new r(i.lineNumber,i.column,i.lineNumber,i.column),o=FT.get(t);o&&o.startFindDefinitionFromCursor(i).then(()=>{n.showContentHover(a,1,1,!0)})}},_E=class extends J{constructor(){super({id:Hm,label:b({key:`scrollUpHover`,comment:[`Action that allows to scroll up in the hover widget with the up arrow when the hover widget is focused.`]},`Scroll Up Hover`),alias:`Scroll Up Hover`,precondition:x.hoverFocused,kbOpts:{kbExpr:x.hoverFocused,primary:16,weight:100},metadata:{description:T(`scrollUpHoverDescription`,`Scroll up the editor hover.`)}})}run(e,t){let n=lv.get(t);n&&n.scrollUp()}},vE=class extends J{constructor(){super({id:Um,label:b({key:`scrollDownHover`,comment:[`Action that allows to scroll down in the hover widget with the up arrow when the hover widget is focused.`]},`Scroll Down Hover`),alias:`Scroll Down Hover`,precondition:x.hoverFocused,kbOpts:{kbExpr:x.hoverFocused,primary:18,weight:100},metadata:{description:T(`scrollDownHoverDescription`,`Scroll down the editor hover.`)}})}run(e,t){let n=lv.get(t);n&&n.scrollDown()}},yE=class extends J{constructor(){super({id:Wm,label:b({key:`scrollLeftHover`,comment:[`Action that allows to scroll left in the hover widget with the left arrow when the hover widget is focused.`]},`Scroll Left Hover`),alias:`Scroll Left Hover`,precondition:x.hoverFocused,kbOpts:{kbExpr:x.hoverFocused,primary:15,weight:100},metadata:{description:T(`scrollLeftHoverDescription`,`Scroll left the editor hover.`)}})}run(e,t){let n=lv.get(t);n&&n.scrollLeft()}},bE=class extends J{constructor(){super({id:Gm,label:b({key:`scrollRightHover`,comment:[`Action that allows to scroll right in the hover widget with the right arrow when the hover widget is focused.`]},`Scroll Right Hover`),alias:`Scroll Right Hover`,precondition:x.hoverFocused,kbOpts:{kbExpr:x.hoverFocused,primary:17,weight:100},metadata:{description:T(`scrollRightHoverDescription`,`Scroll right the editor hover.`)}})}run(e,t){let n=lv.get(t);n&&n.scrollRight()}},xE=class extends J{constructor(){super({id:Km,label:b({key:`pageUpHover`,comment:[`Action that allows to page up in the hover widget with the page up command when the hover widget is focused.`]},`Page Up Hover`),alias:`Page Up Hover`,precondition:x.hoverFocused,kbOpts:{kbExpr:x.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:T(`pageUpHoverDescription`,`Page up the editor hover.`)}})}run(e,t){let n=lv.get(t);n&&n.pageUp()}},SE=class extends J{constructor(){super({id:qm,label:b({key:`pageDownHover`,comment:[`Action that allows to page down in the hover widget with the page down command when the hover widget is focused.`]},`Page Down Hover`),alias:`Page Down Hover`,precondition:x.hoverFocused,kbOpts:{kbExpr:x.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:T(`pageDownHoverDescription`,`Page down the editor hover.`)}})}run(e,t){let n=lv.get(t);n&&n.pageDown()}},CE=class extends J{constructor(){super({id:Jm,label:b({key:`goToTopHover`,comment:[`Action that allows to go to the top of the hover widget with the home command when the hover widget is focused.`]},`Go To Top Hover`),alias:`Go To Bottom Hover`,precondition:x.hoverFocused,kbOpts:{kbExpr:x.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:T(`goToTopHoverDescription`,`Go to the top of the editor hover.`)}})}run(e,t){let n=lv.get(t);n&&n.goToTop()}},wE=class extends J{constructor(){super({id:Ym,label:b({key:`goToBottomHover`,comment:[`Action that allows to go to the bottom in the hover widget with the end command when the hover widget is focused.`]},`Go To Bottom Hover`),alias:`Go To Bottom Hover`,precondition:x.hoverFocused,kbOpts:{kbExpr:x.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:T(`goToBottomHoverDescription`,`Go to the bottom of the editor hover.`)}})}run(e,t){let n=lv.get(t);n&&n.goToBottom()}},TE=class extends J{constructor(){super({id:Xm,label:Zm,alias:`Increase Hover Verbosity Level`,precondition:x.hoverVisible})}run(e,t,n){var r;(r=lv.get(t))==null||r.updateMarkdownHoverVerbosityLevel(fl.Increase,n?.index,n?.focus)}},EE=class extends J{constructor(){super({id:Qm,label:$m,alias:`Decrease Hover Verbosity Level`,precondition:x.hoverVisible})}run(e,t,n){var r;(r=lv.get(t))==null||r.updateMarkdownHoverVerbosityLevel(fl.Decrease,n?.index,n?.focus)}},DE=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},OE=function(e,t){return function(n,r){t(n,r,e)}},kE=K,AE=class{constructor(e,t,n){this.owner=e,this.range=t,this.marker=n}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},jE={type:1,filter:{include:Cf.QuickFix},triggerAction:wf.QuickFixHover},ME=class{constructor(e,t,n,r){this._editor=e,this._markerDecorationsService=t,this._openerService=n,this._languageFeaturesService=r,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1&&!e.supportsMarkerHover)return[];let n=this._editor.getModel(),i=e.range.startLineNumber,a=n.getLineMaxColumn(i),o=[];for(let s of t){let t=s.range.startLineNumber===i?s.range.startColumn:1,c=s.range.endLineNumber===i?s.range.endColumn:a,l=this._markerDecorationsService.getMarker(n.uri,s);if(!l)continue;let u=new r(e.range.startLineNumber,t,e.range.startLineNumber,c);o.push(new AE(this,u,l))}return o}renderHoverParts(e,t){if(!t.length)return U.None;let n=new V;t.forEach(t=>e.fragment.appendChild(this.renderMarkerHover(t,n)));let r=t.length===1?t[0]:t.sort((e,t)=>Ua.compare(e.marker.severity,t.marker.severity))[0];return this.renderMarkerStatusbar(e,r,n),n}renderMarkerHover(e,t){let n=kE(`div.hover-row`);n.tabIndex=0;let r=Y(n,kE(`div.marker.hover-contents`)),{source:i,message:a,code:o,relatedInformation:s}=e.marker;this._editor.applyFontInfo(r);let c=Y(r,kE(`span`));if(c.style.whiteSpace=`pre-wrap`,c.innerText=a,i||o)if(o&&typeof o!=`string`){let e=kE(`span`);if(i){let t=Y(e,kE(`span`));t.innerText=i}let n=Y(e,kE(`a.code-link`));n.setAttribute(`href`,o.target.toString()),t.add(z(n,`click`,e=>{this._openerService.open(o.target,{allowCommands:!0}),e.preventDefault(),e.stopPropagation()}));let a=Y(n,kE(`span`));a.innerText=o.value;let s=Y(r,e);s.style.opacity=`0.6`,s.style.paddingLeft=`6px`}else{let e=Y(r,kE(`span`));e.style.opacity=`0.6`,e.style.paddingLeft=`6px`,e.innerText=i&&o?`${i}(${o})`:i||`(${o})`}if(Pa(s))for(let{message:e,resource:n,startLineNumber:i,startColumn:a}of s){let o=Y(r,kE(`div`));o.style.marginTop=`8px`;let s=Y(o,kE(`a`));s.innerText=`${Re(n)}(${i}, ${a}): `,s.style.cursor=`pointer`,t.add(z(s,`click`,e=>{e.stopPropagation(),e.preventDefault(),this._openerService&&this._openerService.open(n,{fromUserGesture:!0,editorOptions:{selection:{startLineNumber:i,startColumn:a}}}).catch(v)}));let c=Y(o,kE(`span`));c.innerText=e,this._editor.applyFontInfo(c)}return n}renderMarkerStatusbar(e,t,n){if(t.marker.severity===Ua.Error||t.marker.severity===Ua.Warning||t.marker.severity===Ua.Info){let n=sE.get(this._editor);n&&e.statusBar.addAction({label:b(`view problem`,`View Problem`),commandId:lE.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(91)){let r=e.statusBar.append(kE(`div`));this.recentMarkerCodeActionsInfo&&(Zo.makeKey(this.recentMarkerCodeActionsInfo.marker)===Zo.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(r.textContent=b(`noQuickFixes`,`No quick fixes available`)):this.recentMarkerCodeActionsInfo=void 0);let i=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?U.None:ts(()=>r.textContent=b(`checkingForQuickFixes`,`Checking for quick fixes...`),200,n);r.textContent||=`\xA0`;let a=this.getCodeActions(t.marker);n.add(Hi(()=>a.cancel())),a.then(a=>{if(i.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:a.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){a.dispose(),r.textContent=b(`noQuickFixes`,`No quick fixes available`);return}r.style.display=`none`;let o=!1;n.add(Hi(()=>{o||a.dispose()})),e.statusBar.addAction({label:b(`quick fixes`,`Quick Fix...`),commandId:jf,run:t=>{o=!0;let n=Ap.get(this._editor),r=je(t);e.hide(),n?.showCodeActions(jE,a,{x:r.left,y:r.top,width:r.width,height:r.height})}})},v)}}getCodeActions(e){return lc(t=>zf(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new r(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),jE,ye.None,t))}};ME=DE([OE(1,Te),OE(2,hi),OE(3,g)],ME);var NE;(function(e){e.intro=b(`intro`,`Focus on the hover widget to cycle through the hover parts with the Tab key.`),e.increaseVerbosity=b(`increaseVerbosity`,`- The focused hover part verbosity level can be increased with the Increase Hover Verbosity command<keybinding:{0}>.`,Xm),e.decreaseVerbosity=b(`decreaseVerbosity`,`- The focused hover part verbosity level can be decreased with the Decrease Hover Verbosity command<keybinding:{0}>.`,Qm),e.hoverContent=b(`contentHover`,`The last focused hover content is the following.`)})(NE||={});var PE=class{dispose(){var e;(e=this._provider)==null||e.dispose()}},FE=class{dispose(){var e;(e=this._provider)==null||e.dispose()}},IE=class{dispose(){}};D(lv.ID,lv,2),y(hE),y(gE),y(_E),y(vE),y(yE),y(bE),y(xE),y(SE),y(CE),y(wE),y(TE),y(EE),Oh.register(Vh),Oh.register(ME),bc((e,t)=>{let n=e.getColor(Xr);n&&(t.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${n.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${n.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${n.transparent(.5)}; }`))}),jT.register(new PE),jT.register(new FE),jT.register(new IE);function LE(e,t){let n=0;for(let r=0;r<e.length;r++)e.charAt(r)===` `?n+=t:n++;return n}function RE(e,t,n){e=e<0?0:e;let r=``;if(!n){let n=Math.floor(e/t);e%=t;for(let e=0;e<n;e++)r+=` `}for(let t=0;t<e;t++)r+=` `;return r}function zE(e,t,n,r){if(e.getLineCount()===1&&e.getLineMaxColumn(1)===1)return[];let i=t.getLanguageConfiguration(e.getLanguageId()).indentRulesSupport;if(!i)return[];let a=new gi(e,i,t);for(r=Math.min(r,e.getLineCount());n<=r&&a.shouldIgnore(n);)n++;if(n>r-1)return[];let{tabSize:o,indentSize:s,insertSpaces:c}=e.getOptions(),l=(e,t)=>(t||=1,ci.shiftIndent(e,e.length+t,o,s,c)),u=(e,t)=>(t||=1,ci.unshiftIndent(e,e.length+t,o,s,c)),d=[],f=Bi(e.getLineContent(n)),p=f;a.shouldIncrease(n)?(p=l(p),f=l(f)):a.shouldIndentNextLine(n)&&(p=l(p)),n++;for(let t=n;t<=r;t++){if(BE(e,t))continue;let n=Bi(e.getLineContent(t)),r=p;a.shouldDecrease(t,r)&&(p=u(p),f=u(f)),n!==p&&d.push(pr.replaceMove(new O(t,1,t,n.length+1),ps(p,s,c))),!a.shouldIgnore(t)&&(a.shouldIncrease(t,r)?(f=l(f),p=f):p=a.shouldIndentNextLine(t,r)?l(p):f)}return d}function BE(e,t){return e.tokenization.isCheapToTokenize(t)?e.tokenization.getLineTokens(t).getStandardTokenType(0)===2:!1}var VE=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},HE=function(e,t){return function(n,r){t(n,r,e)}},UE=class e extends J{constructor(){super({id:e.ID,label:b(`indentationToSpaces`,`Convert Indentation to Spaces`),alias:`Convert Indentation to Spaces`,precondition:x.writable,metadata:{description:T(`indentationToSpacesDescription`,`Convert the tab indentation to spaces.`)}})}run(e,t){let n=t.getModel();if(!n)return;let r=n.getOptions(),i=t.getSelection();if(!i)return;let a=new nD(i,r.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[a]),t.pushUndoStop(),n.updateOptions({insertSpaces:!0})}};UE.ID=`editor.action.indentationToSpaces`;var WE=class e extends J{constructor(){super({id:e.ID,label:b(`indentationToTabs`,`Convert Indentation to Tabs`),alias:`Convert Indentation to Tabs`,precondition:x.writable,metadata:{description:T(`indentationToTabsDescription`,`Convert the spaces indentation to tabs.`)}})}run(e,t){let n=t.getModel();if(!n)return;let r=n.getOptions(),i=t.getSelection();if(!i)return;let a=new rD(i,r.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[a]),t.pushUndoStop(),n.updateOptions({insertSpaces:!1})}};WE.ID=`editor.action.indentationToTabs`;var GE=class extends J{constructor(e,t,n){super(n),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){let n=e.get(pa),r=e.get(qs),i=t.getModel();if(!i)return;let a=r.getCreationOptions(i.getLanguageId(),i.uri,i.isForSimpleWidget),o=i.getOptions(),s=[1,2,3,4,5,6,7,8].map(e=>({id:e.toString(),label:e.toString(),description:e===a.tabSize&&e===o.tabSize?b(`configuredTabSize`,`Configured Tab Size`):e===a.tabSize?b(`defaultTabSize`,`Default Tab Size`):e===o.tabSize?b(`currentTabSize`,`Current Tab Size`):void 0})),c=Math.min(i.getOptions().tabSize-1,7);setTimeout(()=>{n.pick(s,{placeHolder:b({key:`selectTabWidth`,comment:[`Tab corresponds to the tab key`]},`Select Tab Size for Current File`),activeItem:s[c]}).then(e=>{if(e&&i&&!i.isDisposed()){let t=parseInt(e.label,10);this.displaySizeOnly?i.updateOptions({tabSize:t}):i.updateOptions({tabSize:t,indentSize:t,insertSpaces:this.insertSpaces})}})},50)}},KE=class e extends GE{constructor(){super(!1,!1,{id:e.ID,label:b(`indentUsingTabs`,`Indent Using Tabs`),alias:`Indent Using Tabs`,precondition:void 0,metadata:{description:T(`indentUsingTabsDescription`,`Use indentation with tabs.`)}})}};KE.ID=`editor.action.indentUsingTabs`;var qE=class e extends GE{constructor(){super(!0,!1,{id:e.ID,label:b(`indentUsingSpaces`,`Indent Using Spaces`),alias:`Indent Using Spaces`,precondition:void 0,metadata:{description:T(`indentUsingSpacesDescription`,`Use indentation with spaces.`)}})}};qE.ID=`editor.action.indentUsingSpaces`;var JE=class e extends GE{constructor(){super(!0,!0,{id:e.ID,label:b(`changeTabDisplaySize`,`Change Tab Display Size`),alias:`Change Tab Display Size`,precondition:void 0,metadata:{description:T(`changeTabDisplaySizeDescription`,`Change the space size equivalent of the tab.`)}})}};JE.ID=`editor.action.changeTabDisplaySize`;var YE=class e extends J{constructor(){super({id:e.ID,label:b(`detectIndentation`,`Detect Indentation from Content`),alias:`Detect Indentation from Content`,precondition:void 0,metadata:{description:T(`detectIndentationDescription`,`Detect the indentation from content.`)}})}run(e,t){let n=e.get(qs),r=t.getModel();if(!r)return;let i=n.getCreationOptions(r.getLanguageId(),r.uri,r.isForSimpleWidget);r.detectIndentation(i.insertSpaces,i.tabSize)}};YE.ID=`editor.action.detectIndentation`;var XE=class extends J{constructor(){super({id:`editor.action.reindentlines`,label:b(`editor.reindentlines`,`Reindent Lines`),alias:`Reindent Lines`,precondition:x.writable,metadata:{description:T(`editor.reindentlinesDescription`,`Reindent the lines of the editor.`)}})}run(e,t){let n=e.get(Cc),r=t.getModel();if(!r)return;let i=zE(r,n,1,r.getLineCount());i.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,i),t.pushUndoStop())}},ZE=class extends J{constructor(){super({id:`editor.action.reindentselectedlines`,label:b(`editor.reindentselectedlines`,`Reindent Selected Lines`),alias:`Reindent Selected Lines`,precondition:x.writable,metadata:{description:T(`editor.reindentselectedlinesDescription`,`Reindent the selected lines of the editor.`)}})}run(e,t){let n=e.get(Cc),r=t.getModel();if(!r)return;let i=t.getSelections();if(i===null)return;let a=[];for(let e of i){let t=e.startLineNumber,i=e.endLineNumber;if(t!==i&&e.endColumn===1&&i--,t===1){if(t===i)continue}else t--;let o=zE(r,n,t,i);a.push(...o)}a.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,a),t.pushUndoStop())}},QE=class{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(let t of e)t.range&&typeof t.text==`string`&&this._edits.push(t)}getEditOperations(e,t){for(let e of this._edits)t.addEditOperation(r.lift(e.range),e.text);let n=!1;Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(n=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(n=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),n||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}},$E=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new V,this.callOnModel=new V,this.callOnDispose.add(e.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(e.onDidChangeModel(()=>this.update())),this.callOnDispose.add(e.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),!(this.editor.getOption(12)<4||this.editor.getOption(55))&&this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste(({range:e})=>{this.trigger(e)}))}trigger(e){let t=this.editor.getSelections();if(t===null||t.length>1)return;let n=this.editor.getModel();if(!n||eD(n,e)||!n.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;let i=this.editor.getOption(12),{tabSize:a,indentSize:o,insertSpaces:s}=n.getOptions(),c=[],l={shiftIndent:e=>ci.shiftIndent(e,e.length+1,a,o,s),unshiftIndent:e=>ci.unshiftIndent(e,e.length+1,a,o,s)},u=e.startLineNumber;for(;u<=e.endLineNumber;){if(this.shouldIgnoreLine(n,u)){u++;continue}break}if(u>e.endLineNumber)return;let d=n.getLineContent(u);if(!/\S/.test(d.substring(0,e.startColumn-1))){let e=Is(i,n,n.getLanguageId(),u,l,this._languageConfigurationService);if(e!==null){let t=Bi(d),i=LE(e,a);if(i!==LE(t,a)){let e=RE(i,a,s);c.push({range:new r(u,1,u,t.length+1),text:e}),d=e+d.substr(t.length)}else{let e=kt(n,u,this._languageConfigurationService);if(e===0||e===8)return}}}let f=u;for(;u<e.endLineNumber;){if(!/\S/.test(n.getLineContent(u+1))){u++;continue}break}if(u!==e.endLineNumber){let t=Is(i,{tokenization:{getLineTokens:e=>n.tokenization.getLineTokens(e),getLanguageId:()=>n.getLanguageId(),getLanguageIdAtPosition:(e,t)=>n.getLanguageIdAtPosition(e,t)},getLineContent:e=>e===f?d:n.getLineContent(e)},n.getLanguageId(),u+1,l,this._languageConfigurationService);if(t!==null){let i=LE(t,a),o=LE(Bi(n.getLineContent(u+1)),a);if(i!==o){let t=i-o;for(let i=u+1;i<=e.endLineNumber;i++){let e=Bi(n.getLineContent(i)),o=RE(LE(e,a)+t,a,s);o!==e&&c.push({range:new r(i,1,i,e.length+1),text:o})}}}}if(c.length>0){this.editor.pushUndoStop();let e=new QE(c,this.editor.getSelection());this.editor.executeCommand(`autoIndentOnPaste`,e),this.editor.pushUndoStop()}}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);let n=e.getLineFirstNonWhitespaceColumn(t);if(n===0)return!0;let r=e.tokenization.getLineTokens(t);if(r.getCount()>0){let e=r.findTokenIndexAtOffset(n);if(e>=0&&r.getStandardTokenType(e)===1)return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};$E.ID=`editor.contrib.autoIndentOnPaste`,$E=VE([HE(1,Cc)],$E);function eD(e,t){let n=t=>En(e,t)===2;return n(t.getStartPosition())||n(t.getEndPosition())}function tD(e,t,n,i){if(e.getLineCount()===1&&e.getLineMaxColumn(1)===1)return;let a=``;for(let e=0;e<n;e++)a+=` `;let o=new RegExp(a,`gi`);for(let n=1,s=e.getLineCount();n<=s;n++){let s=e.getLineFirstNonWhitespaceColumn(n);if(s===0&&(s=e.getLineMaxColumn(n)),s===1)continue;let c=new r(n,1,n,s),l=e.getValueInRange(c),u=i?l.replace(/\t/gi,a):l.replace(o,` `);t.addEditOperation(c,u)}}var nD=class{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),tD(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}},rD=class{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),tD(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}};D($E.ID,$E,2),y(UE),y(WE),y(KE),y(qE),y(JE),y(YE),y(XE),y(ZE),D(z_.ID,z_,1),Oh.register(W_);var iD=class{constructor(e,t,n){this._editRange=e,this._originalSelection=t,this._text=n}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){let n=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new O(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new O(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}},aD=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},oD=function(e,t){return function(n,r){t(n,r,e)}},sD,cD=sD=class{static get(e){return e.getContribution(sD.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){var n;(n=this.currentRequest)==null||n.cancel();let i=this.editor.getSelection(),a=this.editor.getModel();if(!a||!i)return;let o=i;if(o.startLineNumber!==o.endLineNumber)return;let s=new me(this.editor,5),c=a.uri;return this.editorWorkerService.canNavigateValueSet(c)?(this.currentRequest=lc(e=>this.editorWorkerService.navigateValueSet(c,o,t)),this.currentRequest.then(t=>{var n;if(!t||!t.range||!t.value||!s.validate(this.editor))return;let i=r.lift(t.range),a=t.range,c=t.value.length-(o.endColumn-o.startColumn);a={startLineNumber:a.startLineNumber,startColumn:a.startColumn,endLineNumber:a.endLineNumber,endColumn:a.startColumn+t.value.length},c>1&&(o=new O(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn+c-1));let l=new iD(i,o,t.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,l),this.editor.pushUndoStop(),this.decorations.set([{range:a,options:sD.DECORATION}]),(n=this.decorationRemover)==null||n.cancel(),this.decorationRemover=Ai(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(v)}).catch(v)):Promise.resolve(void 0)}};cD.ID=`editor.contrib.inPlaceReplaceController`,cD.DECORATION=k.register({description:`in-place-replace`,className:`valueSetReplacement`}),cD=sD=aD([oD(1,Di)],cD);var lD=class extends J{constructor(){super({id:`editor.action.inPlaceReplace.up`,label:b(`InPlaceReplaceAction.previous.label`,`Replace with Previous Value`),alias:`Replace with Previous Value`,precondition:x.writable,kbOpts:{kbExpr:x.editorTextFocus,primary:3159,weight:100}})}run(e,t){let n=cD.get(t);return n?n.run(this.id,!1):Promise.resolve(void 0)}},uD=class extends J{constructor(){super({id:`editor.action.inPlaceReplace.down`,label:b(`InPlaceReplaceAction.next.label`,`Replace with Next Value`),alias:`Replace with Next Value`,precondition:x.writable,kbOpts:{kbExpr:x.editorTextFocus,primary:3161,weight:100}})}run(e,t){let n=cD.get(t);return n?n.run(this.id,!0):Promise.resolve(void 0)}};D(cD.ID,cD,4),y(lD),y(uD),y(class extends J{constructor(){super({id:`expandLineSelection`,label:b(`expandLineSelection`,`Expand Line Selection`),alias:`Expand Line Selection`,precondition:void 0,kbOpts:{weight:0,kbExpr:x.textInputFocus,primary:2090}})}run(e,t,n){if(n||={},!t.hasModel())return;let r=t._getViewModel();r.model.pushStackElement(),r.setCursorStates(n.source,3,Vn.expandLineSelection(r,r.getCursorStates())),r.revealAllCursors(n.source,!0)}});var dD=class{constructor(e,t,n){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=n}getEditOperations(e,t){let n=fD(e,this._cursors,this._trimInRegexesAndStrings);for(let e=0,r=n.length;e<r;e++){let r=n[e];t.addEditOperation(r.range,r.text)}this._selectionId=t.trackSelection(this._selection)}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}};function fD(e,t,n){t.sort((e,t)=>e.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber);for(let e=t.length-2;e>=0;e--)t[e].lineNumber===t[e+1].lineNumber&&t.splice(e,1);let i=[],a=0,o=0,s=t.length;for(let c=1,l=e.getLineCount();c<=l;c++){let l=e.getLineContent(c),u=l.length+1,d=0;if(o<s&&t[o].lineNumber===c&&(d=t[o].column,o++,d===u)||l.length===0)continue;let f=Ee(l),p=0;if(f===-1)p=1;else if(f!==l.length-1)p=f+2;else continue;if(!n){if(!e.tokenization.hasAccurateTokensForLine(c))continue;let t=e.tokenization.getLineTokens(c),n=t.getStandardTokenType(t.findTokenIndexAtOffset(p));if(n===2||n===3)continue}p=Math.max(d,p),i[a++]=pr.delete(new r(c,p,c,u))}return i}var pD=class{constructor(e,t,n){this._selection=e,this._isCopyingDown=t,this._noop=n||!1,this._selectionDirection=0,this._selectionId=null,this._startLineNumberDelta=0,this._endLineNumberDelta=0}getEditOperations(e,t){let n=this._selection;this._startLineNumberDelta=0,this._endLineNumberDelta=0,n.startLineNumber<n.endLineNumber&&n.endColumn===1&&(this._endLineNumberDelta=1,n=n.setEndPosition(n.endLineNumber-1,e.getLineMaxColumn(n.endLineNumber-1)));let i=[];for(let t=n.startLineNumber;t<=n.endLineNumber;t++)i.push(e.getLineContent(t));let a=i.join(`
31
+ `);a===``&&this._isCopyingDown&&(this._startLineNumberDelta++,this._endLineNumberDelta++),this._noop?t.addEditOperation(new r(n.endLineNumber,e.getLineMaxColumn(n.endLineNumber),n.endLineNumber+1,1),n.endLineNumber===e.getLineCount()?``:`
32
+ `):this._isCopyingDown?t.addEditOperation(new r(n.startLineNumber,1,n.startLineNumber,1),a+`
33
+ `):t.addEditOperation(new r(n.endLineNumber,e.getLineMaxColumn(n.endLineNumber),n.endLineNumber,e.getLineMaxColumn(n.endLineNumber)),`
34
+ `+a),this._selectionId=t.trackSelection(n),this._selectionDirection=this._selection.getDirection()}computeCursorState(e,t){let n=t.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let e=n.startLineNumber,t=n.startColumn,r=n.endLineNumber,i=n.endColumn;this._startLineNumberDelta!==0&&(e+=this._startLineNumberDelta,t=1),this._endLineNumberDelta!==0&&(r+=this._endLineNumberDelta,i=1),n=O.createWithDirection(e,t,r,i,this._selectionDirection)}return n}},mD=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},hD=function(e,t){return function(n,r){t(n,r,e)}},gD=class{constructor(e,t,n,r){this._languageConfigurationService=r,this._selection=e,this._isMovingDown=t,this._autoIndent=n,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(e,t){let n=()=>e.getLanguageId(),i=(t,n)=>e.getLanguageIdAtPosition(t,n),a=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===a){this._selectionId=t.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=t.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let o=this._selection;o.startLineNumber<o.endLineNumber&&o.endColumn===1&&(this._moveEndPositionDown=!0,o=o.setEndPosition(o.endLineNumber-1,e.getLineMaxColumn(o.endLineNumber-1)));let{tabSize:s,indentSize:c,insertSpaces:l}=e.getOptions(),u=this.buildIndentConverter(s,c,l);if(o.startLineNumber===o.endLineNumber&&e.getLineMaxColumn(o.startLineNumber)===1){let n=o.startLineNumber,i=this._isMovingDown?n+1:n-1;e.getLineMaxColumn(i)===1?t.addEditOperation(new r(1,1,1,1),null):(t.addEditOperation(new r(n,1,n,1),e.getLineContent(i)),t.addEditOperation(new r(i,1,i,e.getLineMaxColumn(i)),null)),o=new O(i,1,i,1)}else{let a,c;if(this._isMovingDown){a=o.endLineNumber+1,c=e.getLineContent(a),t.addEditOperation(new r(a-1,e.getLineMaxColumn(a-1),a,e.getLineMaxColumn(a)),null);let d=c;if(this.shouldAutoIndent(e,o)){let f=this.matchEnterRule(e,u,s,a,o.startLineNumber-1);if(f!==null)d=RE(f+LE(Bi(e.getLineContent(a)),s),s,l)+this.trimStart(c);else{let t={tokenization:{getLineTokens:t=>t===o.startLineNumber?e.tokenization.getLineTokens(a):e.tokenization.getLineTokens(t),getLanguageId:n,getLanguageIdAtPosition:i},getLineContent:t=>t===o.startLineNumber?e.getLineContent(a):e.getLineContent(t)},r=Is(this._autoIndent,t,e.getLanguageIdAtPosition(a,1),o.startLineNumber,u,this._languageConfigurationService);if(r!==null){let t=Bi(e.getLineContent(a)),n=LE(r,s);n!==LE(t,s)&&(d=RE(n,s,l)+this.trimStart(c))}}t.addEditOperation(new r(o.startLineNumber,1,o.startLineNumber,1),d+`
35
+ `);let p=this.matchEnterRuleMovingDown(e,u,s,o.startLineNumber,a,d);if(p!==null)p!==0&&this.getIndentEditsOfMovingBlock(e,t,o,s,l,p);else{let r={tokenization:{getLineTokens:t=>t===o.startLineNumber?e.tokenization.getLineTokens(a):t>=o.startLineNumber+1&&t<=o.endLineNumber+1?e.tokenization.getLineTokens(t-1):e.tokenization.getLineTokens(t),getLanguageId:n,getLanguageIdAtPosition:i},getLineContent:t=>t===o.startLineNumber?d:t>=o.startLineNumber+1&&t<=o.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t)},c=Is(this._autoIndent,r,e.getLanguageIdAtPosition(a,1),o.startLineNumber+1,u,this._languageConfigurationService);if(c!==null){let n=Bi(e.getLineContent(o.startLineNumber)),r=LE(c,s),i=LE(n,s);if(r!==i){let n=r-i;this.getIndentEditsOfMovingBlock(e,t,o,s,l,n)}}}}else t.addEditOperation(new r(o.startLineNumber,1,o.startLineNumber,1),d+`
36
+ `)}else if(a=o.startLineNumber-1,c=e.getLineContent(a),t.addEditOperation(new r(a,1,a+1,1),null),t.addEditOperation(new r(o.endLineNumber,e.getLineMaxColumn(o.endLineNumber),o.endLineNumber,e.getLineMaxColumn(o.endLineNumber)),`
37
+ `+c),this.shouldAutoIndent(e,o)){let r={tokenization:{getLineTokens:t=>t===a?e.tokenization.getLineTokens(o.startLineNumber):e.tokenization.getLineTokens(t),getLanguageId:n,getLanguageIdAtPosition:i},getLineContent:t=>t===a?e.getLineContent(o.startLineNumber):e.getLineContent(t)},c=this.matchEnterRule(e,u,s,o.startLineNumber,o.startLineNumber-2);if(c!==null)c!==0&&this.getIndentEditsOfMovingBlock(e,t,o,s,l,c);else{let n=Is(this._autoIndent,r,e.getLanguageIdAtPosition(o.startLineNumber,1),a,u,this._languageConfigurationService);if(n!==null){let r=Bi(e.getLineContent(o.startLineNumber)),i=LE(n,s),a=LE(r,s);if(i!==a){let n=i-a;this.getIndentEditsOfMovingBlock(e,t,o,s,l,n)}}}}}this._selectionId=t.trackSelection(o)}buildIndentConverter(e,t,n){return{shiftIndent:r=>ci.shiftIndent(r,r.length+1,e,t,n),unshiftIndent:r=>ci.unshiftIndent(r,r.length+1,e,t,n)}}parseEnterResult(e,t,n,r,i){if(i){let a=i.indentation;i.indentAction===sl.None||i.indentAction===sl.Indent?a=i.indentation+i.appendText:i.indentAction===sl.IndentOutdent?a=i.indentation:i.indentAction===sl.Outdent&&(a=t.unshiftIndent(i.indentation)+i.appendText);let o=e.getLineContent(r);if(this.trimStart(o).indexOf(this.trimStart(a))>=0){let i=Bi(e.getLineContent(r)),o=Bi(a),s=kt(e,r,this._languageConfigurationService);return s!==null&&s&2&&(o=t.unshiftIndent(o)),LE(o,n)-LE(i,n)}}return null}matchEnterRuleMovingDown(e,t,n,i,a,o){if(Ee(o)>=0){let o=e.getLineMaxColumn(a),s=$r(this._autoIndent,e,new r(a,o,a,o),this._languageConfigurationService);return this.parseEnterResult(e,t,n,i,s)}else{let a=i-1;for(;a>=1&&!(Ee(e.getLineContent(a))>=0);)a--;if(a<1||i>e.getLineCount())return null;let o=e.getLineMaxColumn(a),s=$r(this._autoIndent,e,new r(a,o,a,o),this._languageConfigurationService);return this.parseEnterResult(e,t,n,i,s)}}matchEnterRule(e,t,n,i,a,o){let s=a;for(;s>=1;){let t;if(t=s===a&&o!==void 0?o:e.getLineContent(s),Ee(t)>=0)break;s--}if(s<1||i>e.getLineCount())return null;let c=e.getLineMaxColumn(s),l=$r(this._autoIndent,e,new r(s,c,s,c),this._languageConfigurationService);return this.parseEnterResult(e,t,n,i,l)}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,i,a,o){for(let s=n.startLineNumber;s<=n.endLineNumber;s++){let c=Bi(e.getLineContent(s)),l=RE(LE(c,i)+o,i,a);l!==c&&(t.addEditOperation(new r(s,1,s,c.length+1),l),s===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}};gD=mD([hD(3,Cc)],gD);var _D=class e{static getCollator(){return e._COLLATOR||=new Intl.Collator,e._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){let n=yD(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=vD(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}};_D._COLLATOR=null;function vD(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(_D.getCollator().compare),n===!0&&(o=o.reverse()),{startLineNumber:r,endLineNumber:i,before:a,after:o}}function yD(e,t,n){let i=vD(e,t,n);return i?pr.replace(new r(i.startLineNumber,1,i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),i.after.join(`
38
+ `)):null}var bD=class extends J{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)=>r.compareRangesUsingStarts(e.selection,t.selection));let i=n[0];for(let e=1;e<n.length;e++){let t=n[e];i.selection.endLineNumber===t.selection.startLineNumber&&(i.index<t.index?t.ignore=!0:(i.ignore=!0,i=t))}let a=[];for(let e of n)a.push(new pD(e.selection,this.down,e.ignore));t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}},xD=class extends bD{constructor(){super(!1,{id:`editor.action.copyLinesUpAction`,label:b(`lines.copyUp`,`Copy Line Up`),alias:`Copy Line Up`,precondition:x.writable,kbOpts:{kbExpr:x.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:C.MenubarSelectionMenu,group:`2_line`,title:b({key:`miCopyLinesUp`,comment:[`&& denotes a mnemonic`]},`&&Copy Line Up`),order:1}})}},SD=class extends bD{constructor(){super(!0,{id:`editor.action.copyLinesDownAction`,label:b(`lines.copyDown`,`Copy Line Down`),alias:`Copy Line Down`,precondition:x.writable,kbOpts:{kbExpr:x.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:C.MenubarSelectionMenu,group:`2_line`,title:b({key:`miCopyLinesDown`,comment:[`&& denotes a mnemonic`]},`Co&&py Line Down`),order:2}})}},CD=class extends J{constructor(){super({id:`editor.action.duplicateSelection`,label:b(`duplicateSelection`,`Duplicate Selection`),alias:`Duplicate Selection`,precondition:x.writable,menuOpts:{menuId:C.MenubarSelectionMenu,group:`2_line`,title:b({key:`miDuplicateSelection`,comment:[`&& denotes a mnemonic`]},`&&Duplicate Selection`),order:5}})}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 pD(e,!0));else{let t=new O(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn);r.push(new io(t,a.getValueInRange(e)))}t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop()}},wD=class extends J{constructor(e,t){super(t),this.down=e}run(e,t){let n=e.get(Cc),r=[],i=t.getSelections()||[],a=t.getOption(12);for(let e of i)r.push(new gD(e,this.down,a,n));t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop()}},TD=class extends wD{constructor(){super(!1,{id:`editor.action.moveLinesUpAction`,label:b(`lines.moveUp`,`Move Line Up`),alias:`Move Line Up`,precondition:x.writable,kbOpts:{kbExpr:x.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:C.MenubarSelectionMenu,group:`2_line`,title:b({key:`miMoveLinesUp`,comment:[`&& denotes a mnemonic`]},`Mo&&ve Line Up`),order:3}})}},ED=class extends wD{constructor(){super(!0,{id:`editor.action.moveLinesDownAction`,label:b(`lines.moveDown`,`Move Line Down`),alias:`Move Line Down`,precondition:x.writable,kbOpts:{kbExpr:x.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:C.MenubarSelectionMenu,group:`2_line`,title:b({key:`miMoveLinesDown`,comment:[`&& denotes a mnemonic`]},`Move &&Line Down`),order:4}})}},DD=class extends J{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].isEmpty()&&(r=[new O(1,1,n.getLineCount(),n.getLineMaxColumn(n.getLineCount()))]);for(let e of r)if(!_D.canRun(t.getModel(),e,this.descending))return;let i=[];for(let e=0,t=r.length;e<t;e++)i[e]=new _D(r[e],this.descending);t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}},OD=class extends DD{constructor(){super(!1,{id:`editor.action.sortLinesAscending`,label:b(`lines.sortAscending`,`Sort Lines Ascending`),alias:`Sort Lines Ascending`,precondition:x.writable})}},kD=class extends DD{constructor(){super(!0,{id:`editor.action.sortLinesDescending`,label:b(`lines.sortDescending`,`Sort Lines Descending`),alias:`Sort Lines Descending`,precondition:x.writable})}},AD=class extends J{constructor(){super({id:`editor.action.removeDuplicateLines`,label:b(`lines.deleteDuplicates`,`Delete Duplicate Lines`),alias:`Delete Duplicate Lines`,precondition:x.writable})}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].isEmpty()&&(s=[new O(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 O(e.startLineNumber,1,e.endLineNumber,n.getLineMaxColumn(e.endLineNumber)),c=e.startLineNumber-a,l=new O(c,1,c+o.length-1,o[o.length-1].length);r.push(pr.replace(s,o.join(`
39
+ `))),i.push(l),a+=e.endLineNumber-e.startLineNumber+1-o.length}t.pushUndoStop(),t.executeEdits(this.id,r,o?i:void 0),t.pushUndoStop()}},jD=class e extends J{constructor(){super({id:e.ID,label:b(`lines.trimTrailingWhitespace`,`Trim Trailing Whitespace`),alias:`Trim Trailing Whitespace`,precondition:x.writable,kbOpts:{kbExpr:x.editorTextFocus,primary:Mi(2089,2102),weight:100}})}run(e,t,n){let r=[];n.reason===`auto-save`&&(r=(t.getSelections()||[]).map(e=>new R(e.positionLineNumber,e.positionColumn)));let i=t.getSelection();if(i===null)return;let a=e.get(Va),o=t.getModel(),s=a.getValue(`files.trimTrailingWhitespaceInRegexAndStrings`,{overrideIdentifier:o?.getLanguageId(),resource:o?.uri}),c=new dD(i,r,s);t.pushUndoStop(),t.executeCommands(this.id,[c]),t.pushUndoStop()}};jD.ID=`editor.action.trimTrailingWhitespace`;var MD=class extends J{constructor(){super({id:`editor.action.deleteLines`,label:b(`lines.delete`,`Delete Line`),alias:`Delete Line`,precondition:x.writable,kbOpts:{kbExpr:x.textInputFocus,primary:3113,weight:100}})}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(pr.replace(new O(s,l,c,u),``)),o.push(new O(s-i,t.positionColumn,s-i,t.positionColumn)),i+=t.endLineNumber-t.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,a,o),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}},ND=class extends J{constructor(){super({id:`editor.action.indentLines`,label:b(`lines.indent`,`Indent Line`),alias:`Indent Line`,precondition:x.writable,kbOpts:{kbExpr:x.editorTextFocus,primary:2142,weight:100}})}run(e,t){let n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,Lt.indent(n.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}},PD=class extends J{constructor(){super({id:`editor.action.outdentLines`,label:b(`lines.outdent`,`Outdent Line`),alias:`Outdent Line`,precondition:x.writable,kbOpts:{kbExpr:x.editorTextFocus,primary:2140,weight:100}})}run(e,t){Wr.Outdent.runEditorCommand(e,t,null)}},FD=class extends J{constructor(){super({id:`editor.action.insertLineBefore`,label:b(`lines.insertBefore`,`Insert Line Above`),alias:`Insert Line Above`,precondition:x.writable,kbOpts:{kbExpr:x.editorTextFocus,primary:3075,weight:100}})}run(e,t){let n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,Lt.lineInsertBefore(n.cursorConfig,t.getModel(),t.getSelections())))}},ID=class extends J{constructor(){super({id:`editor.action.insertLineAfter`,label:b(`lines.insertAfter`,`Insert Line Below`),alias:`Insert Line Below`,precondition:x.writable,kbOpts:{kbExpr:x.editorTextFocus,primary:2051,weight:100}})}run(e,t){let n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,Lt.lineInsertAfter(n.cursorConfig,t.getModel(),t.getSelections())))}},LD=class extends J{run(e,t){if(!t.hasModel())return;let n=t.getSelection(),i=this._getRangesToDelete(t),a=[];for(let e=0,t=i.length-1;e<t;e++){let t=i[e],n=i[e+1];r.intersectRanges(t,n)===null?a.push(t):i[e+1]=r.plusRange(t,n)}a.push(i[i.length-1]);let o=this._getEndCursorState(n,a),s=a.map(e=>pr.replace(e,``));t.pushUndoStop(),t.executeEdits(this.id,s,o),t.pushUndoStop()}},RD=class extends LD{constructor(){super({id:`deleteAllLeft`,label:b(`lines.deleteAllLeft`,`Delete All Left`),alias:`Delete All Left`,precondition:x.writable,kbOpts:{kbExpr:x.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_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 O(e,t.startColumn,e,t.startColumn)}else a=new O(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,i=e.getModel();return i===null?[]:(n.sort(r.compareRangesUsingStarts),n=n.map(e=>{if(e.isEmpty())if(e.startColumn===1){let t=Math.max(1,e.startLineNumber-1);return new r(t,e.startLineNumber===1?1:i.getLineLength(t)+1,e.startLineNumber,1)}else return new r(e.startLineNumber,1,e.startLineNumber,e.startColumn);else return new r(e.startLineNumber,1,e.endLineNumber,e.endColumn)}),n)}},zD=class extends LD{constructor(){super({id:`deleteAllRight`,label:b(`lines.deleteAllRight`,`Delete All Right`),alias:`Delete All Right`,precondition:x.writable,kbOpts:{kbExpr:x.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let n=null,r=[];for(let i=0,a=t.length;i<a;i++){let a=t[i],o=new O(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 i=n.map(e=>{if(e.isEmpty()){let n=t.getLineMaxColumn(e.startLineNumber);return e.startColumn===n?new r(e.startLineNumber,e.startColumn,e.startLineNumber+1,1):new r(e.startLineNumber,e.startColumn,e.startLineNumber,n)}return e});return i.sort(r.compareRangesUsingStarts),i}},BD=class extends J{constructor(){super({id:`editor.action.joinLines`,label:b(`lines.joinLines`,`Join Lines`),alias:`Join Lines`,precondition:x.writable,kbOpts:{kbExpr:x.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(e,t){let n=t.getSelections();if(n===null)return;let i=t.getSelection();if(i===null)return;n.sort(r.compareRangesUsingStarts);let a=[],o=n.reduce((e,t)=>e.isEmpty()?e.endLineNumber===t.startLineNumber?(i.equalsSelection(e)&&(i=t),t):t.startLineNumber>e.endLineNumber+1?(a.push(e),t):new O(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(a.push(e),t):new O(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn));a.push(o);let s=t.getModel();if(s===null)return;let c=[],l=[],u=i,d=0;for(let e=0,t=a.length;e<t;e++){let t=a[e],n=t.startLineNumber,o=0,f,p,m=s.getLineLength(t.endLineNumber)-t.endColumn;if(t.isEmpty()||t.startLineNumber===t.endLineNumber){let e=t.getStartPosition();e.lineNumber<s.getLineCount()?(f=n+1,p=s.getLineMaxColumn(f)):(f=e.lineNumber,p=s.getLineMaxColumn(e.lineNumber))}else f=t.endLineNumber,p=s.getLineMaxColumn(f);let h=s.getLineContent(n);for(let e=n+1;e<=f;e++){let t=s.getLineContent(e),n=s.getLineFirstNonWhitespaceColumn(e);if(n>=1){let e=!0;h===``&&(e=!1),e&&(h.charAt(h.length-1)===` `||h.charAt(h.length-1)===` `)&&(e=!1,h=h.replace(/[\s\uFEFF\xA0]+$/g,` `));let r=t.substr(n-1);h+=(e?` `:``)+r,o=e?r.length+1:r.length}else o=0}let ee=new r(n,1,f,p);if(!ee.isEmpty()){let e;t.isEmpty()?(c.push(pr.replace(ee,h)),e=new O(ee.startLineNumber-d,h.length-o+1,n-d,h.length-o+1)):t.startLineNumber===t.endLineNumber?(c.push(pr.replace(ee,h)),e=new O(t.startLineNumber-d,t.startColumn,t.endLineNumber-d,t.endColumn)):(c.push(pr.replace(ee,h)),e=new O(t.startLineNumber-d,t.startColumn,t.startLineNumber-d,h.length-m)),r.intersectRanges(ee,i)===null?l.push(e):u=e}d+=ee.endLineNumber-ee.startLineNumber}l.unshift(u),t.pushUndoStop(),t.executeEdits(this.id,c,l),t.pushUndoStop()}},VD=class extends J{constructor(){super({id:`editor.action.transpose`,label:b(`editor.transpose`,`Transpose Characters around the Cursor`),alias:`Transpose Characters around the Cursor`,precondition:x.writable})}run(e,t){let n=t.getSelections();if(n===null)return;let i=t.getModel();if(i===null)return;let a=[];for(let e=0,t=n.length;e<t;e++){let t=n[e];if(!t.isEmpty())continue;let o=t.getStartPosition(),s=i.getLineMaxColumn(o.lineNumber);if(o.column>=s){if(o.lineNumber===i.getLineCount())continue;let e=new r(o.lineNumber,Math.max(1,o.column-1),o.lineNumber+1,1),t=i.getValueInRange(e).split(``).reverse().join(``);a.push(new ns(new O(o.lineNumber,Math.max(1,o.column-1),o.lineNumber+1,1),t))}else{let e=new r(o.lineNumber,Math.max(1,o.column-1),o.lineNumber,o.column+1),t=i.getValueInRange(e).split(``).reverse().join(``);a.push(new Hs(e,t,new O(o.lineNumber,o.column+1,o.lineNumber,o.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}},HD=class extends J{run(e,t){let n=t.getSelections();if(n===null)return;let i=t.getModel();if(i===null)return;let a=t.getOption(131),o=[];for(let e of n)if(e.isEmpty()){let n=e.getStartPosition(),s=t.getConfiguredWordAtPosition(n);if(!s)continue;let c=new r(n.lineNumber,s.startColumn,n.lineNumber,s.endColumn),l=i.getValueInRange(c);o.push(pr.replace(c,this._modifyText(l,a)))}else{let t=i.getValueInRange(e);o.push(pr.replace(e,this._modifyText(t,a)))}t.pushUndoStop(),t.executeEdits(this.id,o),t.pushUndoStop()}},UD=class extends HD{constructor(){super({id:`editor.action.transformToUppercase`,label:b(`editor.transformToUppercase`,`Transform to Uppercase`),alias:`Transform to Uppercase`,precondition:x.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}},WD=class extends HD{constructor(){super({id:`editor.action.transformToLowercase`,label:b(`editor.transformToLowercase`,`Transform to Lowercase`),alias:`Transform to Lowercase`,precondition:x.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}},GD=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}},KD=class e extends HD{constructor(){super({id:`editor.action.transformToTitlecase`,label:b(`editor.transformToTitlecase`,`Transform to Title Case`),alias:`Transform to Title Case`,precondition:x.writable})}_modifyText(t,n){let r=e.titleBoundary.get();return r?t.toLocaleLowerCase().replace(r,e=>e.toLocaleUpperCase()):t}};KD.titleBoundary=new GD(`(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}`,`gmu`);var qD=class e extends HD{constructor(){super({id:`editor.action.transformToSnakecase`,label:b(`editor.transformToSnakecase`,`Transform to Snake Case`),alias:`Transform to Snake Case`,precondition:x.writable})}_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()}};qD.caseBoundary=new GD(`(\\p{Ll})(\\p{Lu})`,`gmu`),qD.singleLetters=new GD(`(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})`,`gmu`);var JD=class e extends HD{constructor(){super({id:`editor.action.transformToCamelcase`,label:b(`editor.transformToCamelcase`,`Transform to Camel Case`),alias:`Transform to Camel Case`,precondition:x.writable})}_modifyText(t,n){let r=e.wordBoundary.get();if(!r)return t;let i=t.split(r);return i.shift()+i.map(e=>e.substring(0,1).toLocaleUpperCase()+e.substring(1)).join(``)}};JD.wordBoundary=new GD(`[_\\s-]`,`gm`);var YD=class e extends HD{constructor(){super({id:`editor.action.transformToPascalcase`,label:b(`editor.transformToPascalcase`,`Transform to Pascal Case`),alias:`Transform to Pascal Case`,precondition:x.writable})}_modifyText(t,n){let r=e.wordBoundary.get(),i=e.wordBoundaryToMaintain.get();return!r||!i?t:t.split(i).map(e=>e.split(r)).flat().map(e=>e.substring(0,1).toLocaleUpperCase()+e.substring(1)).join(``)}};YD.wordBoundary=new GD(`[_\\s-]`,`gm`),YD.wordBoundaryToMaintain=new GD(`(?<=\\.)`,`gm`);var XD=class e extends HD{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(e=>e.isSupported())}constructor(){super({id:`editor.action.transformToKebabcase`,label:b(`editor.transformToKebabcase`,`Transform to Kebab Case`),alias:`Transform to Kebab Case`,precondition:x.writable})}_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()}};XD.caseBoundary=new GD(`(\\p{Ll})(\\p{Lu})`,`gmu`),XD.singleLetters=new GD(`(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})`,`gmu`),XD.underscoreBoundary=new GD(`(\\S)(_)(\\S)`,`gm`),y(xD),y(SD),y(CD),y(TD),y(ED),y(OD),y(kD),y(AD),y(jD),y(MD),y(ND),y(PD),y(FD),y(ID),y(RD),y(zD),y(BD),y(VD),y(UD),y(WD),qD.caseBoundary.isSupported()&&qD.singleLetters.isSupported()&&y(qD),JD.wordBoundary.isSupported()&&y(JD),YD.wordBoundary.isSupported()&&y(YD),KD.titleBoundary.isSupported()&&y(KD),XD.isSupported()&&y(XD);var ZD=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},QD=function(e,t){return function(n,r){t(n,r,e)}},$D,eO=new w(`LinkedEditingInputVisible`,!1),tO=`linked-editing-decoration`,nO=$D=class extends U{static get(e){return e.getContribution($D.ID)}constructor(e,t,n,r,i){super(),this.languageConfigurationService=r,this._syncRangesToken=0,this._localToDispose=this._register(new V),this._editor=e,this._providers=n.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=eO.bindTo(t),this._debounceInformation=i.for(this._providers,`Linked Editing`,{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new V),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequestCts=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration(e=>{(e.hasChanged(70)||e.hasChanged(93))&&this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}reinitialize(e){let t=this._editor.getModel(),n=t!==null&&(this._editor.getOption(70)||this._editor.getOption(93))&&this._providers.has(t);if(n===this._enabled&&!e||(this._enabled=n,this.clearRanges(),this._localToDispose.clear(),!n||t===null))return;this._localToDispose.add(xc.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));let r=new _i(this._debounceInformation.get(t)),i=()=>{this._rangeUpdateTriggerPromise=r.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},a=new _i(0),o=e=>{this._rangeSyncTriggerPromise=a.trigger(()=>this._syncRanges(e))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{i()})),this._localToDispose.add(this._editor.onDidChangeModelContent(e=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){let t=this._currentDecorations.getRange(0);if(t&&e.changes.every(e=>t.intersectRanges(e.range))){o(this._syncRangesToken);return}}i()})),this._localToDispose.add({dispose:()=>{r.dispose(),a.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||this._currentDecorations.length===0)return;let t=this._editor.getModel(),n=this._currentDecorations.getRange(0);if(!n||n.startLineNumber!==n.endLineNumber)return this.clearRanges();let i=t.getValueInRange(n);if(this._currentWordPattern){let e=i.match(this._currentWordPattern);if((e?e[0].length:0)!==i.length)return this.clearRanges()}let a=[];for(let e=1,n=this._currentDecorations.length;e<n;e++){let n=this._currentDecorations.getRange(e);if(n)if(n.startLineNumber!==n.endLineNumber)a.push({range:n,text:i});else{let e=t.getValueInRange(n),o=i,s=n.startColumn,c=n.endColumn,l=sa(e,o);s+=l,e=e.substr(l),o=o.substr(l);let u=Ea(e,o);c-=u,e=e.substr(0,e.length-u),o=o.substr(0,o.length-u),(s!==c||o.length!==0)&&a.push({range:new r(n.startLineNumber,s,n.endLineNumber,c),text:o})}}if(a.length!==0)try{this._editor.popUndoStop(),this._ignoreChangeEvent=!0;let e=this._editor._getViewModel().getPrevEditOperationType();this._editor.executeEdits(`linkedEditing`,a),this._editor._getViewModel().setPrevEditOperationType(e)}finally{this._ignoreChangeEvent=!1}}dispose(){this.clearRanges(),super.dispose()}clearRanges(){this._visibleContextKey.set(!1),this._currentDecorations.clear(),this._currentRequestCts&&(this._currentRequestCts.cancel(),this._currentRequestCts=null,this._currentRequestPosition=null)}async updateRanges(e=!1){if(!this._editor.hasModel()){this.clearRanges();return}let t=this._editor.getPosition();if(!this._enabled&&!e||this._editor.getSelections().length>1){this.clearRanges();return}let n=this._editor.getModel(),i=n.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===i){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){let e=this._currentDecorations.getRange(0);if(e&&e.containsPosition(t))return}}this.clearRanges(),this._currentRequestPosition=t,this._currentRequestModelVersion=i;let a=this._currentRequestCts=new ec;try{let e=new Oa(!1),o=await iO(this._providers,n,t,a.token);if(this._debounceInformation.update(n,e.elapsed()),a!==this._currentRequestCts||(this._currentRequestCts=null,i!==n.getVersionId()))return;let s=[];o?.ranges&&(s=o.ranges),this._currentWordPattern=o?.wordPattern||this._languageWordPattern;let c=!1;for(let e=0,n=s.length;e<n;e++)if(r.containsPosition(s[e],t)){if(c=!0,e!==0){let t=s[e];s.splice(e,1),s.unshift(t)}break}if(!c){this.clearRanges();return}let l=s.map(e=>({range:e,options:$D.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(l),this._syncRangesToken++}catch(e){fr(e)||v(e),(this._currentRequestCts===a||!this._currentRequestCts)&&this.clearRanges()}}};nO.ID=`editor.contrib.linkedEditing`,nO.DECORATION=k.register({description:`linked-editing`,stickiness:0,className:tO}),nO=$D=ZD([QD(1,W),QD(2,g),QD(3,Cc),QD(4,wc)],nO);var rO=class extends J{constructor(){super({id:`editor.action.linkedEditing`,label:b(`linkedEditing.label`,`Start Linked Editing`),alias:`Start Linked Editing`,precondition:E.and(x.writable,x.hasRenameProvider),kbOpts:{kbExpr:x.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){let n=e.get(lo),[r,i]=Array.isArray(t)&&t||[void 0,void 0];return G.isUri(r)&&R.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))))},v):super.runCommand(e,t)}run(e,t){let n=nO.get(t);return n?Promise.resolve(n.updateRanges(!0)):Promise.resolve()}};_(new(be.bindToContribution(nO.get))({id:`cancelLinkedEditingInput`,precondition:eO,handler:e=>e.clearRanges(),kbOpts:{kbExpr:x.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function iO(e,t,n,r){return Vs(e.ordered(t).map(e=>async()=>{try{return await e.provideLinkedEditingRanges(t,n,r)}catch(e){Oe(e);return}}),e=>!!e&&Pa(e?.ranges))}q(`editor.linkedEditingBackground`,{dark:S.fromHex(`#f00`).transparent(.3),light:S.fromHex(`#f00`).transparent(.3),hcDark:S.fromHex(`#f00`).transparent(.3),hcLight:S.white},b(`editorLinkedEditingBackground`,`Background color when the editor auto renames on type.`)),te(`_executeLinkedEditingProvider`,(e,t,n)=>{let{linkedEditingRangeProvider:r}=e.get(g);return iO(r,t,n,H.None)}),D(nO.ID,nO,1),y(rO);var aO=class{constructor(e,t){this._link=e,this._provider=t}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(e){return this._link.url?this._link.url:typeof this._provider.resolveLink==`function`?Promise.resolve(this._provider.resolveLink(this._link,e)).then(t=>(this._link=t||this._link,this._link.url?this.resolve(e):Promise.reject(Error(`missing`)))):Promise.reject(Error(`missing`))}},oO=class e{constructor(t){this._disposables=new V;let n=[];for(let[r,i]of t){let t=r.links.map(e=>new aO(e,i));n=e._union(n,t),al(r)&&this._disposables.add(r)}this.links=n}dispose(){this._disposables.dispose(),this.links.length=0}static _union(e,t){let n=[],i,a,o,s;for(i=0,o=0,a=e.length,s=t.length;i<a&&o<s;){let a=e[i],s=t[o];if(r.areIntersectingOrTouching(a.range,s.range)){i++;continue}r.compareRangesUsingStarts(a.range,s.range)<0?(n.push(a),i++):(n.push(s),o++)}for(;i<a;i++)n.push(e[i]);for(;o<s;o++)n.push(t[o]);return n}};function sO(e,t,n){let r=[],i=e.ordered(t).reverse().map((e,i)=>Promise.resolve(e.provideLinks(t,n)).then(t=>{t&&(r[i]=[t,e])},Oe));return Promise.all(i).then(()=>{let e=new oO(ys(r));return n.isCancellationRequested?(e.dispose(),new oO([])):e})}M.registerCommand(`_executeLinkProvider`,async(e,...t)=>{let[n,r]=t;j(n instanceof G),typeof r!=`number`&&(r=0);let{linkProvider:i}=e.get(g),a=e.get(qs).getModel(n);if(!a)return[];let o=await sO(i,a,H.None);if(!o)return[];for(let e=0;e<Math.min(r,o.links.length);e++)await o.links[e].resolve(H.None);let s=o.links.slice(0);return o.dispose(),s});var cO=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},lO=function(e,t){return function(n,r){t(n,r,e)}},uO,dO=uO=class extends U{static get(e){return e.getContribution(uO.ID)}constructor(e,t,n,r,i){super(),this.editor=e,this.openerService=t,this.notificationService=n,this.languageFeaturesService=r,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=i.for(this.providers,`Links`,{min:1e3,max:4e3}),this.computeLinks=this._register(new Hn(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;let a=this._register(new Zh(e));this._register(a.onMouseMoveOrRelevantKeyDown(([e,t])=>{this._onEditorMouseMove(e,t)})),this._register(a.onExecute(e=>{this.onEditorMouseUp(e)})),this._register(a.onCancel(e=>{this.cleanUpActiveLinkDecoration()})),this._register(e.onDidChangeConfiguration(e=>{e.hasChanged(71)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(e.onDidChangeModelContent(e=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(e.onDidChangeModel(e=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(e.onDidChangeModelLanguage(e=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(e=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(71))return;let e=this.editor.getModel();if(!e.isTooLargeForSyncing()&&this.providers.has(e)){this.activeLinksList&&=(this.activeLinksList.dispose(),null),this.computePromise=lc(t=>sO(this.providers,e,t));try{let t=new Oa(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(e){v(e)}finally{this.computePromise=null}}}updateDecorations(e){let t=this.editor.getOption(78)===`altKey`,n=[],r=Object.keys(this.currentOccurrences);for(let e of r){let t=this.currentOccurrences[e];n.push(t.decorationId)}let i=[];if(e)for(let n of e)i.push(pO.decoration(n,t));this.editor.changeDecorations(t=>{let r=t.deltaDecorations(n,i);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let t=0,n=r.length;t<n;t++){let n=new pO(e[t],r[t]);this.currentOccurrences[n.decorationId]=n}})}_onEditorMouseMove(e,t){let n=this.editor.getOption(78)===`altKey`;if(this.isEnabled(e,t)){this.cleanUpActiveLinkDecoration();let t=this.getLinkOccurrence(e.target.position);t&&this.editor.changeDecorations(e=>{t.activate(e,n),this.activeLinkDecorationId=t.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){let e=this.editor.getOption(78)===`altKey`;if(this.activeLinkDecorationId){let t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations(n=>{t.deactivate(n,e)}),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;let t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,n=!1){if(!this.openerService)return;let{link:r}=e;r.resolve(H.None).then(e=>{if(typeof e==`string`&&this.editor.hasModel()){let t=this.editor.getModel().uri;if(t.scheme===Ls.file&&e.startsWith(`${Ls.file}:`)){let n=G.parse(e);if(n.scheme===Ls.file){let r=pn(n),i=null;r.startsWith(`/./`)||r.startsWith(`\\.\\`)?i=`.${r.substr(1)}`:(r.startsWith(`//./`)||r.startsWith(`\\\\.\\`))&&(i=`.${r.substr(2)}`),i&&(e=nn(t,i))}}}return this.openerService.open(e,{openToSide:t,fromUserGesture:n,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},e=>{let t=e instanceof Error?e.message:e;t===`invalid`?this.notificationService.warn(b(`invalid.url`,`Failed to open this link because it is not well-formed: {0}`,r.url.toString())):t===`missing`?this.notificationService.warn(b(`missing.url`,`Failed to open this link because its target is missing.`)):v(e)})}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;let t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(let e of t){let t=this.currentOccurrences[e.id];if(t)return t}return null}isEnabled(e,t){return!!(e.target.type===6&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey))}stop(){var e;this.computeLinks.cancel(),this.activeLinksList&&=((e=this.activeLinksList)==null||e.dispose(),null),this.computePromise&&=(this.computePromise.cancel(),null)}dispose(){super.dispose(),this.stop()}};dO.ID=`editor.linkDetector`,dO=uO=cO([lO(1,hi),lO(2,Za),lO(3,g),lO(4,wc)],dO);var fO={general:k.register({description:`detected-link`,stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:`detected-link`}),active:k.register({description:`detected-link-active`,stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:`detected-link-active`})},pO=class e{static decoration(t,n){return{range:t.range,options:e._getOptions(t,n,!1)}}static _getOptions(e,t,n){let r={...n?fO.active:fO.general};return r.hoverMessage=mO(e,t),r}constructor(e,t){this.link=e,this.decorationId=t}activate(t,n){t.changeDecorationOptions(this.decorationId,e._getOptions(this.link,n,!0))}deactivate(t,n){t.changeDecorationOptions(this.decorationId,e._getOptions(this.link,n,!1))}};function mO(e,t){let n=e.url&&/^command:/i.test(e.url.toString()),r=e.tooltip?e.tooltip:n?b(`links.navigate.executeCmd`,`Execute command`):b(`links.navigate.follow`,`Follow link`),i=t?ce?b(`links.navigate.kb.meta.mac`,`cmd + click`):b(`links.navigate.kb.meta`,`ctrl + click`):ce?b(`links.navigate.kb.alt.mac`,`option + click`):b(`links.navigate.kb.alt`,`alt + click`);if(e.url){let t=``;if(/^command:/i.test(e.url.toString())){let n=e.url.toString().match(/^command:([^?#]+)/);if(n){let e=n[1];t=b(`tooltip.explanation`,`Execute command {0}`,e)}}return new An(``,!0).appendLink(e.url.toString(!0).replace(/ /g,`%20`),r,t).appendMarkdown(` (${i})`)}else return new An().appendText(`${r} (${i})`)}var hO=class extends J{constructor(){super({id:`editor.action.openLink`,label:b(`label`,`Open Link`),alias:`Open Link`,precondition:void 0})}run(e,t){let n=dO.get(t);if(!n||!t.hasModel())return;let r=t.getSelections();for(let e of r){let t=n.getLinkOccurrence(e.getEndPosition());t&&n.openLinkOccurrence(t,!1)}}};D(dO.ID,dO,1),y(hO);var gO=class extends U{constructor(e){super(),this._editor=e,this._register(this._editor.onMouseDown(e=>{let t=this._editor.getOption(117);t>=0&&e.target.type===6&&e.target.position.column>=t&&this._editor.updateOptions({stopRenderingLineAfter:-1})}))}};gO.ID=`editor.contrib.longLinesHelper`,D(gO.ID,gO,2);var _O=q(`editor.wordHighlightBackground`,{dark:`#575757B8`,light:`#57575740`,hcDark:null,hcLight:null},b(`wordHighlight`,`Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations.`),!0);q(`editor.wordHighlightStrongBackground`,{dark:`#004972B8`,light:`#0e639c40`,hcDark:null,hcLight:null},b(`wordHighlightStrong`,`Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations.`),!0),q(`editor.wordHighlightTextBackground`,{light:_O,dark:_O,hcDark:_O,hcLight:_O},b(`wordHighlightText`,`Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations.`),!0);var vO=q(`editor.wordHighlightBorder`,{light:null,dark:null,hcDark:Ga,hcLight:Ga},b(`wordHighlightBorder`,`Border color of a symbol during read-access, like reading a variable.`));q(`editor.wordHighlightStrongBorder`,{light:null,dark:null,hcDark:Ga,hcLight:Ga},b(`wordHighlightStrongBorder`,`Border color of a symbol during write-access, like writing to a variable.`)),q(`editor.wordHighlightTextBorder`,{light:vO,dark:vO,hcDark:vO,hcLight:vO},b(`wordHighlightTextBorder`,`Border color of a textual occurrence for a symbol.`));var yO=q(`editorOverviewRuler.wordHighlightForeground`,{dark:`#A0A0A0CC`,light:`#A0A0A0CC`,hcDark:`#A0A0A0CC`,hcLight:`#A0A0A0CC`},b(`overviewRulerWordHighlightForeground`,`Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations.`),!0),bO=q(`editorOverviewRuler.wordHighlightStrongForeground`,{dark:`#C0A0C0CC`,light:`#C0A0C0CC`,hcDark:`#C0A0C0CC`,hcLight:`#C0A0C0CC`},b(`overviewRulerWordHighlightStrongForeground`,`Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations.`),!0),xO=q(`editorOverviewRuler.wordHighlightTextForeground`,{dark:Ta,light:Ta,hcDark:Ta,hcLight:Ta},b(`overviewRulerWordHighlightTextForeground`,`Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations.`),!0),SO=k.register({description:`word-highlight-strong`,stickiness:1,className:`wordHighlightStrong`,overviewRuler:{color:ca(bO),position:as.Center},minimap:{color:ca(Kn),position:1}}),CO=k.register({description:`word-highlight-text`,stickiness:1,className:`wordHighlightText`,overviewRuler:{color:ca(xO),position:as.Center},minimap:{color:ca(Kn),position:1}}),wO=k.register({description:`selection-highlight-overview`,stickiness:1,className:`selectionHighlight`,overviewRuler:{color:ca(Ta),position:as.Center},minimap:{color:ca(Kn),position:1}}),TO=k.register({description:`selection-highlight`,stickiness:1,className:`selectionHighlight`}),EO=k.register({description:`word-highlight`,stickiness:1,className:`wordHighlight`,overviewRuler:{color:ca(yO),position:as.Center},minimap:{color:ca(Kn),position:1}});function DO(e){return e===gt.Write?SO:e===gt.Text?CO:EO}function OO(e){return e?TO:wO}bc((e,t)=>{let n=e.getColor(ds);n&&t.addRule(`.monaco-editor .selectionHighlight { background-color: ${n.transparent(.5)}; }`)});var kO=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},AO=function(e,t){return function(n,r){t(n,r,e)}},jO;function MO(e,t){let n=t.filter(t=>!e.find(e=>e.equals(t)));if(n.length>=1){let e=n.map(e=>`line ${e.viewState.position.lineNumber} column ${e.viewState.position.column}`).join(`, `);wo(n.length===1?b(`cursorAdded`,`Cursor added: {0}`,e):b(`cursorsAdded`,`Cursors added: {0}`,e))}}var NO=class extends J{constructor(){super({id:`editor.action.insertCursorAbove`,label:b(`mutlicursor.insertAbove`,`Add Cursor Above`),alias:`Add Cursor Above`,precondition:void 0,kbOpts:{kbExpr:x.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:C.MenubarSelectionMenu,group:`3_multi`,title:b({key:`miInsertCursorAbove`,comment:[`&& denotes a mnemonic`]},`&&Add Cursor Above`),order:2}})}run(e,t,n){if(!t.hasModel())return;let r=!0;n&&n.logicalLine===!1&&(r=!1);let i=t._getViewModel();if(i.cursorConfig.readOnly)return;i.model.pushStackElement();let a=i.getCursorStates();i.setCursorStates(n.source,3,Vn.addCursorUp(i,a,r)),i.revealTopMostCursor(n.source),MO(a,i.getCursorStates())}},PO=class extends J{constructor(){super({id:`editor.action.insertCursorBelow`,label:b(`mutlicursor.insertBelow`,`Add Cursor Below`),alias:`Add Cursor Below`,precondition:void 0,kbOpts:{kbExpr:x.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:C.MenubarSelectionMenu,group:`3_multi`,title:b({key:`miInsertCursorBelow`,comment:[`&& denotes a mnemonic`]},`A&&dd Cursor Below`),order:3}})}run(e,t,n){if(!t.hasModel())return;let r=!0;n&&n.logicalLine===!1&&(r=!1);let i=t._getViewModel();if(i.cursorConfig.readOnly)return;i.model.pushStackElement();let a=i.getCursorStates();i.setCursorStates(n.source,3,Vn.addCursorDown(i,a,r)),i.revealBottomMostCursor(n.source),MO(a,i.getCursorStates())}},FO=class extends J{constructor(){super({id:`editor.action.insertCursorAtEndOfEachLineSelected`,label:b(`mutlicursor.insertAtEndOfEachLineSelected`,`Add Cursors to Line Ends`),alias:`Add Cursors to Line Ends`,precondition:void 0,kbOpts:{kbExpr:x.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:C.MenubarSelectionMenu,group:`3_multi`,title:b({key:`miInsertCursorAtEndOfEachLineSelected`,comment:[`&& denotes a mnemonic`]},`Add C&&ursors to Line Ends`),order:4}})}getCursorsForSelection(e,t,n){if(!e.isEmpty()){for(let r=e.startLineNumber;r<e.endLineNumber;r++){let e=t.getLineMaxColumn(r);n.push(new O(r,e,r,e))}e.endColumn>1&&n.push(new O(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;let n=t.getModel(),r=t.getSelections(),i=t._getViewModel(),a=i.getCursorStates(),o=[];r.forEach(e=>this.getCursorsForSelection(e,n,o)),o.length>0&&t.setSelections(o),MO(a,i.getCursorStates())}},IO=class extends J{constructor(){super({id:`editor.action.addCursorsToBottom`,label:b(`mutlicursor.addCursorsToBottom`,`Add Cursors To Bottom`),alias:`Add Cursors To Bottom`,precondition:void 0})}run(e,t){if(!t.hasModel())return;let n=t.getSelections(),r=t.getModel().getLineCount(),i=[];for(let e=n[0].startLineNumber;e<=r;e++)i.push(new O(e,n[0].startColumn,e,n[0].endColumn));let a=t._getViewModel(),o=a.getCursorStates();i.length>0&&t.setSelections(i),MO(o,a.getCursorStates())}},LO=class extends J{constructor(){super({id:`editor.action.addCursorsToTop`,label:b(`mutlicursor.addCursorsToTop`,`Add Cursors To Top`),alias:`Add Cursors To Top`,precondition:void 0})}run(e,t){if(!t.hasModel())return;let n=t.getSelections(),r=[];for(let e=n[0].startLineNumber;e>=1;e--)r.push(new O(e,n[0].startColumn,e,n[0].endColumn));let i=t._getViewModel(),a=i.getCursorStates();r.length>0&&t.setSelections(r),MO(a,i.getCursorStates())}},RO=class{constructor(e,t,n){this.selections=e,this.revealRange=t,this.revealScrollType=n}},zO=class e{static create(t,n){if(!t.hasModel())return null;let r=n.getState();if(!t.hasTextFocus()&&r.isRevealed&&r.searchString.length>0)return new e(t,n,!1,r.searchString,r.wholeWord,r.matchCase,null);let i=!1,a,o,s=t.getSelections();s.length===1&&s[0].isEmpty()?(i=!0,a=!0,o=!0):(a=r.wholeWord,o=r.matchCase);let c=t.getSelection(),l,u=null;if(c.isEmpty()){let e=t.getConfiguredWordAtPosition(c.getStartPosition());if(!e)return null;l=e.word,u=new O(c.startLineNumber,e.startColumn,c.startLineNumber,e.endColumn)}else l=t.getModel().getValueInRange(c).replace(/\r\n/g,`
40
+ `);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 RO(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 RO(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(131):null,!1);return n?new O(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 RO(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 RO(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(131):null,!1);return n?new O(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(131):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1,1073741824)}},BO=class e extends U{static get(t){return t.getContribution(e.ID)}constructor(e){super(),this._sessionDispose=this._register(new V),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){let t=zO.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 O(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(!XO(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(131):null,!1,1073741824):e.findMatches(n.searchString,!0,n.isRegex,n.matchCase,n.wholeWord?this._editor.getOption(131):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 O(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)))}}};BO.ID=`editor.contrib.multiCursorController`;var VO=class extends J{run(e,t){let n=BO.get(t);if(!n)return;let r=t._getViewModel();if(r){let i=r.getCursorStates(),a=Tb.get(t);if(a)this._run(n,a);else{let r=e.get(I).createInstance(Tb,t);this._run(n,r),r.dispose()}MO(i,r.getCursorStates())}}},HO=class extends VO{constructor(){super({id:`editor.action.addSelectionToNextFindMatch`,label:b(`addSelectionToNextFindMatch`,`Add Selection To Next Find Match`),alias:`Add Selection To Next Find Match`,precondition:void 0,kbOpts:{kbExpr:x.focus,primary:2082,weight:100},menuOpts:{menuId:C.MenubarSelectionMenu,group:`3_multi`,title:b({key:`miAddSelectionToNextFindMatch`,comment:[`&& denotes a mnemonic`]},`Add &&Next Occurrence`),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}},UO=class extends VO{constructor(){super({id:`editor.action.addSelectionToPreviousFindMatch`,label:b(`addSelectionToPreviousFindMatch`,`Add Selection To Previous Find Match`),alias:`Add Selection To Previous Find Match`,precondition:void 0,menuOpts:{menuId:C.MenubarSelectionMenu,group:`3_multi`,title:b({key:`miAddSelectionToPreviousFindMatch`,comment:[`&& denotes a mnemonic`]},`Add P&&revious Occurrence`),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}},WO=class extends VO{constructor(){super({id:`editor.action.moveSelectionToNextFindMatch`,label:b(`moveSelectionToNextFindMatch`,`Move Last Selection To Next Find Match`),alias:`Move Last Selection To Next Find Match`,precondition:void 0,kbOpts:{kbExpr:x.focus,primary:Mi(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}},GO=class extends VO{constructor(){super({id:`editor.action.moveSelectionToPreviousFindMatch`,label:b(`moveSelectionToPreviousFindMatch`,`Move Last Selection To Previous Find Match`),alias:`Move Last Selection To Previous Find Match`,precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}},KO=class extends VO{constructor(){super({id:`editor.action.selectHighlights`,label:b(`selectAllOccurrencesOfFindMatch`,`Select All Occurrences of Find Match`),alias:`Select All Occurrences of Find Match`,precondition:void 0,kbOpts:{kbExpr:x.focus,primary:3114,weight:100},menuOpts:{menuId:C.MenubarSelectionMenu,group:`3_multi`,title:b({key:`miSelectHighlights`,comment:[`&& denotes a mnemonic`]},`Select All &&Occurrences`),order:7}})}_run(e,t){e.selectAll(t)}},qO=class extends VO{constructor(){super({id:`editor.action.changeAll`,label:b(`changeAll.label`,`Change All Occurrences`),alias:`Change All Occurrences`,precondition:E.and(x.writable,x.editorTextFocus),kbOpts:{kbExpr:x.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:`1_modification`,order:1.2}})}_run(e,t){e.selectAll(t)}},JO=class{constructor(e,t,n,r,i){this._model=e,this._searchText=t,this._matchCase=n,this._wordSeparators=r,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,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(r.compareRangesUsingStarts)),this._cachedFindMatches}},YO=jO=class extends U{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(108),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new Hn(()=>this._update(),300)),this.state=null,this._register(e.onDidChangeConfiguration(t=>{this._isEnabled=e.getOption(108)})),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=Tb.get(e);n&&this._register(n.getState().onFindReplaceStateChange(e=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(jO._createState(this.state,this._isEnabled,this.editor))}static _createState(e,t,n){if(!t||!n.hasModel())return null;let r=n.getSelection();if(r.startLineNumber!==r.endLineNumber)return null;let i=BO.get(n);if(!i)return null;let a=Tb.get(n);if(!a)return null;let o=i.getSession(a);if(!o){let e=n.getSelections();if(e.length>1){let t=a.getState().matchCase;if(!XO(n.getModel(),e,t))return null}o=zO.create(n,a)}if(!o||o.currentMatch||/^[ \t]+$/.test(o.searchText)||o.searchText.length>200)return null;let s=a.getState(),c=s.matchCase;if(s.isRevealed){let e=s.searchString;c||(e=e.toLowerCase());let t=o.searchText;if(c||(t=t.toLowerCase()),e===t&&o.matchCase===s.matchCase&&o.wholeWord===s.wholeWord&&!s.isRegex)return null}return new JO(n.getModel(),o.searchText,o.matchCase,o.wholeWord?n.getOption(131):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(),i=this.editor.getSelections();i.sort(r.compareRangesUsingStarts);let a=[];for(let e=0,t=0,o=n.length,s=i.length;e<o;){let o=n[e];if(t>=s)a.push(o),e++;else{let n=r.compareRangesUsingStarts(o,i[t]);n<0?((i[t].isEmpty()||!r.areIntersecting(o,i[t]))&&a.push(o),e++):(n>0||e++,t++)}}let o=this.editor.getOption(81)!==`off`,s=this._languageFeaturesService.documentHighlightProvider.has(t)&&o,c=a.map(e=>({range:e,options:OO(s)}));this._decorations.set(c)}dispose(){this._setState(null),super.dispose()}};YO.ID=`editor.contrib.selectionHighlighter`,YO=jO=kO([AO(1,g)],YO);function XO(e,t,n){let r=ZO(e,t[0],!n);for(let i=1,a=t.length;i<a;i++){let a=t[i];if(a.isEmpty()||r!==ZO(e,a,!n))return!1}return!0}function ZO(e,t,n){let r=e.getValueInRange(t);return n?r.toLowerCase():r}var QO=class extends J{constructor(){super({id:`editor.action.focusNextCursor`,label:b(`mutlicursor.focusNextCursor`,`Focus Next Cursor`),metadata:{description:b(`mutlicursor.focusNextCursor.description`,`Focuses the next cursor`),args:[]},alias:`Focus Next Cursor`,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),MO(i,r.getCursorStates()))}},$O=class extends J{constructor(){super({id:`editor.action.focusPreviousCursor`,label:b(`mutlicursor.focusPreviousCursor`,`Focus Previous Cursor`),metadata:{description:b(`mutlicursor.focusPreviousCursor.description`,`Focuses the previous cursor`),args:[]},alias:`Focus Previous Cursor`,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),MO(i,r.getCursorStates()))}};D(BO.ID,BO,4),D(YO.ID,YO,1),y(NO),y(PO),y(FO),y(HO),y(UO),y(WO),y(GO),y(KO),y(qO),y(IO),y(LO),y(QO),y($O);var ek=`editor.action.inlineEdit.accept`,tk=`editor.action.inlineEdit.reject`,nk=`editor.action.inlineEdit.jumpTo`,rk=`editor.action.inlineEdit.jumpBack`,ik=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},ak=function(e,t){return function(n,r){t(n,r,e)}},ok=`inline-edit`,sk=class extends U{constructor(e,t,n){super(),this.editor=e,this.model=t,this.languageService=n,this.isDisposed=ti(this,!1),this.currentTextModel=St(this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Kr(this,e=>{if(this.isDisposed.read(e))return;let t=this.currentTextModel.read(e);if(t!==this.model.targetTextModel.read(e))return;let n=this.model.ghostText.read(e);if(!n)return;let r=this.model.range?.read(e);r&&r.startLineNumber===r.endLineNumber&&r.startColumn===r.endColumn&&(r=void 0);let i=(r?r.startLineNumber===r.endLineNumber:!0)&&n.parts.length===1&&n.parts[0].lines.length===1,a=n.parts.length===1&&n.parts[0].lines.every(e=>e.length===0),o=[],s=[];function c(e,t){if(s.length>0){let n=s[s.length-1];t&&n.decorations.push(new Zt(n.content.length+1,n.content.length+1+e[0].length,t,0)),n.content+=e[0],e=e.slice(1)}for(let n of e)s.push({content:n,decorations:t?[new Zt(1,n.length+1,t,0)]:[]})}let l=t.getLineContent(n.lineNumber),u,d=0;if(!a){for(let e of n.parts){let t=e.lines;r&&!i&&(c(t,ok),t=[]),u===void 0?(o.push({column:e.column,text:t[0],preview:e.preview}),t=t.slice(1)):c([l.substring(d,e.column-1)],void 0),t.length>0&&(c(t,ok),u===void 0&&e.column<=l.length&&(u=e.column)),d=e.column-1}u!==void 0&&c([l.substring(d)],void 0)}return{inlineTexts:o,additionalLines:s,hiddenRange:u===void 0?void 0:new CS(u,l.length+1),lineNumber:i||!r?n.lineNumber:r.endLineNumber-1,additionalReservedLineCount:this.model.minReservedLineCount.read(e),targetTextModel:t,range:r,isSingleLine:i,isPureRemove:a,backgroundColoring:this.model.backgroundColoring.read(e)}}),this.decorations=Kr(this,e=>{let t=this.uiState.read(e);if(!t)return[];let n=[];if(t.hiddenRange&&n.push({range:t.hiddenRange.toRange(t.lineNumber),options:{inlineClassName:`inline-edit-hidden`,description:`inline-edit-hidden`}}),t.range){let e=[];if(t.isSingleLine)e.push(t.range);else if(t.isPureRemove){let n=t.range.endLineNumber-t.range.startLineNumber;for(let i=0;i<n;i++){let n=t.range.startLineNumber+i,a=new r(n,t.targetTextModel.getLineFirstNonWhitespaceColumn(n),n,t.targetTextModel.getLineLastNonWhitespaceColumn(n));e.push(a)}}else{let n=t.range.endLineNumber-t.range.startLineNumber;for(let i=0;i<n;i++){let n=t.range.startLineNumber+i,a=new r(n,t.targetTextModel.getLineFirstNonWhitespaceColumn(n),n,t.targetTextModel.getLineLastNonWhitespaceColumn(n));e.push(a)}}let i=t.backgroundColoring?`inline-edit-remove backgroundColoring`:`inline-edit-remove`;for(let t of e)n.push({range:t,options:{inlineClassName:i,description:`inline-edit-remove`}})}for(let e of t.inlineTexts)n.push({range:r.fromPositions(new R(t.lineNumber,e.column)),options:{description:ok,after:{content:e.text,inlineClassName:e.preview?`inline-edit-decoration-preview`:`inline-edit-decoration`,cursorStops:fc.Left},showIfCollapsed:!0}});return n}),this.additionalLinesWidget=this._register(new jS(this.editor,this.languageService.languageIdCodec,Kr(e=>{let t=this.uiState.read(e);return t&&!t.isPureRemove?{lineNumber:t.lineNumber,additionalLines:t.additionalLines,minReservedLineCount:t.additionalReservedLineCount,targetTextModel:t.targetTextModel}:void 0}))),this._register(Hi(()=>{this.isDisposed.set(!0,void 0)})),this._register(wS(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};sk=ik([ak(2,Xa)],sk);var ck=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},lk=function(e,t){return function(n,r){t(n,r,e)}},uk,dk=class extends U{constructor(e,t,n){super(),this.editor=e,this.model=t,this.instantiationService=n,this.alwaysShowToolbar=St(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar===`always`),this.sessionPosition=void 0,this.position=Kr(this,e=>{let t=this.model.read(e)?.widget.model.ghostText.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 R(t.lineNumber,Math.min(n,this.sessionPosition?.column??2**53-1));return this.sessionPosition=r,r}),this._register(Dr((t,n)=>{if(!this.model.read(t)||!this.alwaysShowToolbar.read(t))return;let r=n.add(this.instantiationService.createInstance(fk,this.editor,!0,this.position));e.addContentWidget(r),n.add(Hi(()=>e.removeContentWidget(r)))}))}};dk=ck([lk(2,I)],dk);var fk=uk=class extends U{constructor(e,t,n,r,i,a){super(),this.editor=e,this.withBorder=t,this._position=n,this._contextKeyService=i,this._menuService=a,this.id=`InlineEditHintsContentWidget${uk.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=mn(`div.inlineEditHints`,{className:this.withBorder?`.withBorder`:``},[mn(`div@toolBar`)]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(C.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(r.createInstance(mk,this.nodes.toolBar,this.editor,C.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:e=>e.startsWith(`primary`)},actionViewItemProvider:(e,t)=>{if(e instanceof Kt)return r.createInstance(pk,e,void 0)},telemetrySource:`InlineEditToolbar`})),this._register(this.toolBar.onDidChangeDropdownVisibility(e=>{uk._dropDownVisible=e})),this._register(pe(e=>{this._position.read(e),this.editor.layoutContentWidget(this)})),this._register(pe(e=>{let t=[];for(let[e,n]of this.inlineCompletionsActionsMenus.getActions())for(let e of n)e instanceof Kt&&t.push(e);t.length>0&&t.unshift(new s),this.toolBar.setAdditionalSecondaryActions(t)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};fk._dropDownVisible=!1,fk.id=0,fk=uk=ck([lk(3,I),lk(4,W),lk(5,qe)],fk);var pk=class extends ll{updateLabel(){let e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){let t=mn(`div.keybinding`).root;this._register(new Or(t,vt,{disableTitle:!0,...at})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add(`inlineEditStatusBarItemLabel`)}}updateTooltip(){}},mk=class extends gn{constructor(e,t,n,r,i,a,o,s,c,l){super(e,{resetMenu:n,...r},i,a,o,s,c,l),this.editor=t,this.menuId=n,this.options2=r,this.menuService=i,this.contextKeyService=a,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this._store.add(this.editor.onDidChangeCursorPosition(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){let e=[],t=[];el(this.menu,this.options2?.menuOptions,{primary:e,secondary:t},this.options2?.toolbarOptions?.primaryGroup,this.options2?.toolbarOptions?.shouldInlineSubmenu,this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setAdditionalSecondaryActions(e){Ho(this.additionalActions,e,(e,t)=>e===t)||(this.additionalActions=e,this.updateToolbar())}};mk=ck([lk(4,qe),lk(5,W),lk(6,Ks),lk(7,$s),lk(8,Qr),lk(9,fn)],mk);var hk=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)}},_k,vk=class{constructor(e,t){this.widget=e,this.edit=t}dispose(){this.widget.dispose()}},yk=_k=class extends U{static get(e){return e.getContribution(_k.ID)}constructor(e,t,n,r,i,a){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=n,this.languageFeaturesService=r,this._commandService=i,this._configurationService=a,this._isVisibleContext=_k.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=_k.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=this._register(ui(this,void 0)),this._isAccepting=ti(this,!1),this._enabled=St(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=St(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily),this._backgroundColoring=St(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).backgroundColoring);let o=Qn(`InlineEditController.modelContentChangedSignal`,e.onDidChangeModelContent);this._register(pe(t=>{this._enabled.read(t)&&(o.read(t),!this._isAccepting.read(t)&&this.getInlineEdit(e,!0))}));let s=St(e.onDidChangeCursorPosition,()=>e.getPosition());this._register(pe(e=>{if(!this._enabled.read(e))return;let t=s.read(e);t&&this.checkCursorPosition(t)})),this._register(pe(t=>{let n=this._currentEdit.read(t);if(this._isCursorAtInlineEditContext.set(!1),!n){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);let r=e.getPosition();r&&this.checkCursorPosition(r)}));let c=Qn(`InlineEditController.editorBlurSignal`,e.onDidBlurEditorWidget);this._register(pe(async t=>{var n;this._enabled.read(t)&&(c.read(t),!(this._configurationService.getValue(`editor.experimentalInlineEdit.keepOnBlur`)||e.getOption(63).keepOnBlur)&&((n=this._currentRequestCts)==null||n.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));let l=Qn(`InlineEditController.editorFocusSignal`,e.onDidFocusEditorText);this._register(pe(t=>{this._enabled.read(t)&&(l.read(t),this.getInlineEdit(e,!0))}));let u=this._register(or());this._register(pe(e=>{let t=this._fontFamily.read(e);u.setStyle(t===``||t===`default`?``:`
41
+ .monaco-editor .inline-edit-decoration,
42
+ .monaco-editor .inline-edit-decoration-preview,
43
+ .monaco-editor .inline-edit {
44
+ font-family: ${t};
45
+ }`)})),this._register(new dk(this.editor,this._currentEdit,this.instantiationService))}checkCursorPosition(e){if(!this._currentEdit){this._isCursorAtInlineEditContext.set(!1);return}let t=this._currentEdit.get()?.edit;if(!t){this._isCursorAtInlineEditContext.set(!1);return}this._isCursorAtInlineEditContext.set(r.containsPosition(t.range,e))}validateInlineEdit(e,t){if(t.text.includes(`
46
+ `)&&t.range.startLineNumber!==t.range.endLineNumber&&t.range.startColumn!==t.range.endColumn){if(t.range.startColumn!==1)return!1;let n=t.range.endLineNumber;if(t.range.endColumn!==(e.getModel()?.getLineLength(n)??0)+1)return!1}return!0}async fetchInlineEdit(e,t){this._currentRequestCts&&this._currentRequestCts.dispose(!0);let n=e.getModel();if(!n)return;let r=n.getVersionId(),i=this.languageFeaturesService.inlineEditProvider.all(n);if(i.length===0)return;let a=i[0];this._currentRequestCts=new ec;let o=this._currentRequestCts.token,s=t?ot.Automatic:ot.Invoke;if(t&&await bk(50,o),o.isCancellationRequested||n.isDisposed()||n.getVersionId()!==r)return;let c=await a.provideInlineEdit(n,{triggerKind:s},o);if(c&&!(o.isCancellationRequested||n.isDisposed()||n.getVersionId()!==r)&&this.validateInlineEdit(e,c))return c}async getInlineEdit(e,t){this._isCursorAtInlineEditContext.set(!1),await this.clear();let n=await this.fetchInlineEdit(e,t);if(!n)return;let r=n.range.endLineNumber,i=n.range.endColumn,a=new gS(r,[new _S(i,n.text.endsWith(`
47
+ `)&&!(n.range.startLineNumber===n.range.endLineNumber&&n.range.startColumn===n.range.endColumn)?n.text.slice(0,-1):n.text,!1)]),o=this.instantiationService.createInstance(sk,this.editor,{ghostText:hn(a),minReservedLineCount:hn(0),targetTextModel:hn(this.editor.getModel()??void 0),range:hn(n.range),backgroundColoring:this._backgroundColoring});this._currentEdit.set(new vk(o,n),void 0)}async trigger(){await this.getInlineEdit(this.editor,!1)}async jumpBack(){this._jumpBackPosition&&(this.editor.setPosition(this._jumpBackPosition),this.editor.revealPositionInCenterIfOutsideViewport(this._jumpBackPosition))}async accept(){this._isAccepting.set(!0,void 0);let e=this._currentEdit.get()?.edit;if(!e)return;let t=e.text;e.text.startsWith(`
48
+ `)&&(t=e.text.substring(1)),this.editor.pushUndoStop(),this.editor.executeEdits(`acceptCurrent`,[pr.replace(r.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,Oe),this.freeEdit(e),u(e=>{this._currentEdit.set(void 0,e),this._isAccepting.set(!1,e)})}jumpToCurrent(){this._jumpBackPosition=this.editor.getSelection()?.getStartPosition();let e=this._currentEdit.get()?.edit;if(!e)return;let t=R.lift({lineNumber:e.range.startLineNumber,column:e.range.startColumn});this.editor.setPosition(t),this.editor.revealPositionInCenterIfOutsideViewport(t)}async clear(e=!0){let t=this._currentEdit.get()?.edit;t&&t?.rejected&&e&&await this._commandService.executeCommand(t.rejected.id,...t.rejected.arguments||[]).then(void 0,Oe),t&&this.freeEdit(t),this._currentEdit.set(void 0,void 0)}freeEdit(e){let t=this.editor.getModel();if(!t)return;let n=this.languageFeaturesService.inlineEditProvider.all(t);n.length!==0&&n[0].freeInlineEdit(e)}shouldShowHoverAt(e){let t=this._currentEdit.get();if(!t)return!1;let n=t.edit,i=t.widget.model;if(r.containsPosition(n.range,e.getStartPosition())||r.containsPosition(n.range,e.getEndPosition()))return!0;let a=i.ghostText.get();return a?a.parts.some(t=>e.containsPosition(new R(a.lineNumber,t.column))):!1}shouldShowHoverAtViewZone(e){return this._currentEdit.get()?.widget.ownsViewZone(e)??!1}};yk.ID=`editor.contrib.inlineEditController`,yk.inlineEditVisibleKey=`inlineEditVisible`,yk.inlineEditVisibleContext=new w(_k.inlineEditVisibleKey,!1),yk.cursorAtInlineEditKey=`cursorAtInlineEdit`,yk.cursorAtInlineEditContext=new w(_k.cursorAtInlineEditKey,!1),yk=_k=hk([gk(1,I),gk(2,W),gk(3,g),gk(4,Qr),gk(5,Va)],yk);function bk(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 xk=class extends J{constructor(){super({id:ek,label:`Accept Inline Edit`,alias:`Accept Inline Edit`,precondition:E.and(x.writable,yk.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:E.and(x.writable,yk.inlineEditVisibleContext,yk.cursorAtInlineEditContext)}],menuOpts:[{menuId:C.InlineEditToolbar,title:`Accept`,group:`primary`,order:1}]})}async run(e,t){await yk.get(t)?.accept()}},Sk=class extends J{constructor(){let e=E.and(x.writable,E.not(yk.inlineEditVisibleKey));super({id:`editor.action.inlineEdit.trigger`,label:`Trigger Inline Edit`,alias:`Trigger Inline Edit`,precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e}})}async run(e,t){yk.get(t)?.trigger()}},Ck=class extends J{constructor(){let e=E.and(x.writable,yk.inlineEditVisibleContext,E.not(yk.cursorAtInlineEditKey));super({id:nk,label:`Jump to Inline Edit`,alias:`Jump to Inline Edit`,precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:C.InlineEditToolbar,title:`Jump To Edit`,group:`primary`,order:3,when:e}]})}async run(e,t){yk.get(t)?.jumpToCurrent()}},wk=class extends J{constructor(){let e=E.and(x.writable,yk.cursorAtInlineEditContext);super({id:rk,label:`Jump Back from Inline Edit`,alias:`Jump Back from Inline Edit`,precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:C.InlineEditToolbar,title:`Jump Back`,group:`primary`,order:3,when:e}]})}async run(e,t){yk.get(t)?.jumpBack()}},Tk=class extends J{constructor(){let e=E.and(x.writable,yk.inlineEditVisibleContext);super({id:tk,label:`Reject Inline Edit`,alias:`Reject Inline Edit`,precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:C.InlineEditToolbar,title:`Reject`,group:`secondary`,order:2}]})}async run(e,t){await yk.get(t)?.clear()}},Ek=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},Dk=function(e,t){return function(n,r){t(n,r,e)}},Ok=class{constructor(e,t,n){this.owner=e,this.range=t,this.controller=n}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},kk=class{constructor(e,t,n){this._editor=e,this._instantiationService=t,this._telemetryService=n,this.hoverOrdinal=5}suggestHoverAnchor(e){let t=yk.get(this._editor);if(!t)return null;let n=e.target;if(n.type===8){let r=n.detail;if(t.shouldShowHoverAtViewZone(r.viewZoneId)){let t=n.range;return new Dh(1e3,this,t,e.event.posx,e.event.posy,!1)}}return n.type===7&&t.shouldShowHoverAt(n.range)||n.type===6&&n.detail.mightBeForeignElement&&t.shouldShowHoverAt(n.range)?new Dh(1e3,this,n.range,e.event.posx,e.event.posy,!1):null}computeSync(e,t){if(this._editor.getOption(63).showToolbar!==`onHover`)return[];let n=yk.get(this._editor);return n&&n.shouldShowHoverAt(e.range)?[new Ok(this,e.range,n)]:[]}renderHoverParts(e,t){let n=new V;this._telemetryService.publicLog2(`inlineEditHover.shown`);let r=this._instantiationService.createInstance(fk,this._editor,!1,hn(null));return e.fragment.appendChild(r.getDomNode()),n.add(r),n}};kk=Ek([Dk(1,I),Dk(2,fn)],kk),y(xk),y(Tk),y(Ck),y(wk),y(Sk),D(yk.ID,yk,3),Oh.register(kk);var Ak={Visible:new w(`parameterHintsVisible`,!1),MultipleSignatures:new w(`parameterHintsMultipleSignatures`,!1)};async function jk(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){Oe(e)}}M.registerCommand(`_executeSignatureHelpProvider`,async(e,...t)=>{let[n,r,i]=t;j(G.isUri(n)),j(R.isIPosition(r)),j(typeof i==`string`||!i);let a=e.get(g),o=await e.get(ss).createModelReference(n);try{let e=await jk(a.signatureHelpProvider,o.object.textEditorModel,R.lift(r),{triggerKind:Pt.Invoke,isRetrigger:!1,triggerCharacter:i},H.None);return e?(setTimeout(()=>e.dispose(),0),e.value):void 0}finally{o.dispose()}});var Mk;(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})(Mk||={});var Nk=class e extends U{constructor(t,n,r=e.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new B),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=Mk.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Ja),this.triggerChars=new ea,this.retriggerChars=new ea,this.triggerId=0,this.editor=t,this.providers=n,this.throttledDelayer=new _i(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=Mk.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(v)}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(86).cycle;if((e<2||n)&&!r){this.cancel();return}this.updateActiveSignature(n&&r?0:t+1)}previous(){if(this.state.type!==1)return;let e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,n=t===0,r=this.editor.getOption(86).cycle;if((e<2||n)&&!r){this.cancel();return}this.updateActiveSignature(n&&r?e-1:t-1)}updateActiveSignature(e){this.state.type===1&&(this.state=new Mk.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(Pk);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 Mk.Pending(lc(e=>jk(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 Mk.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=Mk.Default),v(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:Pt.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source===`mouse`?this.cancel():this.isTriggered&&this.trigger({triggerKind:Pt.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:Pt.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};Nk.DEFAULT_DELAY=120;function Pk(e,t){switch(t.triggerKind){case Pt.Invoke:return t;case Pt.ContentChange:return e;case Pt.TriggerCharacter:default:return t}}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)}},Lk,Rk=K,zk=ul(`parameter-hints-next`,N.chevronDown,b(`parameterHintsNextIcon`,`Icon for show next parameter hint.`)),Bk=ul(`parameter-hints-previous`,N.chevronUp,b(`parameterHintsPreviousIcon`,`Icon for show previous parameter hint.`)),Vk=Lk=class extends U{constructor(e,t,n,r,i,a){super(),this.editor=e,this.model=t,this.telemetryService=a,this.renderDisposeables=this._register(new V),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new Oo({editor:e},i,r)),this.keyVisible=Ak.Visible.bindTo(n),this.keyMultipleSignatures=Ak.MultipleSignatures.bindTo(n)}createParameterHintDOMNodes(){let e=Rk(`.editor-widget.parameter-hints-widget`),t=Y(e,Rk(`.phwrapper`));t.tabIndex=-1;let n=Y(t,Rk(`.controls`)),r=Y(n,Rk(`.button`+P.asCSSSelector(Bk))),i=Y(n,Rk(`.overloads`)),a=Y(n,Rk(`.button`+P.asCSSSelector(zk)));this._register(z(r,`click`,e=>{Ma.stop(e),this.previous()})),this._register(z(a,`click`,e=>{Ma.stop(e),this.next()}));let o=Rk(`.body`),s=new Ra(o,{alwaysConsumeMouseWheel:!0});this._register(s),t.appendChild(s.getDomNode());let c=Y(o,Rk(`.signature`)),l=Y(o,Rk(`.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(50);this.domNodes.element.style.fontSize=`${e.fontSize}px`,this.domNodes.element.style.lineHeight=`${e.lineHeight/e.fontSize}`};u(),this._register(xc.chain(this.editor.onDidChangeConfiguration.bind(this.editor),e=>e.filter(e=>e.hasChanged(50)))(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(()=>{var e;(e=this.domNodes)==null||e.element.classList.add(`visible`)},100),this.editor.layoutContentWidget(this))}hide(){var e;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,(e=this.domNodes)==null||e.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=Y(this.domNodes.signature,Rk(`.code`)),i=this.editor.getOption(50);r.style.fontSize=`${i.fontSize}px`,r.style.fontFamily=i.fontFamily;let a=n.parameters.length>0,o=n.activeParameter??e.activeParameter;if(a)this.renderParameters(r,n,o);else{let e=Y(r,Rk(`span`));e.textContent=n.label}let s=n.parameters[o];if(s?.documentation){let e=Rk(`span.documentation`);if(typeof s.documentation==`string`)e.textContent=s.documentation;else{let t=this.renderMarkdownDocs(s.documentation);e.appendChild(t.element)}Y(this.domNodes.docs,Rk(`p`,{},e))}if(n.documentation!==void 0)if(typeof n.documentation==`string`)Y(this.domNodes.docs,Rk(`p`,{},n.documentation));else{let e=this.renderMarkdownDocs(n.documentation);Y(this.domNodes.docs,e.element)}let c=this.hasDocs(n,s);if(this.domNodes.signature.classList.toggle(`has-docs`,c),this.domNodes.docs.classList.toggle(`empty`,!c),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,`0`)+`/`+e.signatures.length,s){let e=``,t=n.parameters[o];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&&(_n(b(`hint`,`{0}, hint`,e)),this.announcedLabel=e)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){let t=new Oa,n=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{var e;(e=this.domNodes)==null||e.scrollbar.scanDomNode()}}));n.element.classList.add(`markdown-docs`);let r=t.elapsed();return r>300&&this.telemetryService.publicLog2(`parameterHints.parseMarkdown`,{renderDuration:r}),n}hasDocs(e,t){return!!(t&&typeof t.documentation==`string`&&oi(t.documentation).length>0||t&&typeof t.documentation==`object`&&oi(t.documentation).value.length>0||e.documentation&&typeof e.documentation==`string`&&oi(e.documentation).length>0||e.documentation&&typeof e.documentation==`object`&&oi(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),Y(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|^)${bi(n.label)}(?=\\W|$)`,`g`);t.test(e.label);let r=t.lastIndex-n.label.length;return r>=0?[r,t.lastIndex]:[0,0]}else return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return Lk.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)}};Vk.ID=`editor.widget.parameterHintsWidget`,Vk=Lk=Fk([Ik(2,W),Ik(3,hi),Ik(4,Xa),Ik(5,fn)],Vk),q(`editorHoverWidget.highlightForeground`,{dark:m,light:m,hcDark:m,hcLight:m},b(`editorHoverWidgetHighlightForeground`,`Foreground color of the active item in the parameter hint.`));var Hk=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},Uk=function(e,t){return function(n,r){t(n,r,e)}},Wk,Gk=Wk=class extends U{static get(e){return e.getContribution(Wk.ID)}constructor(e,t,n){super(),this.editor=e,this.model=this._register(new Nk(e,n.signatureHelpProvider)),this._register(this.model.onChangedHints(e=>{var t;e?(this.widget.value.show(),this.widget.value.render(e)):(t=this.widget.rawValue)==null||t.hide()})),this.widget=new Qt(()=>this._register(t.createInstance(Vk,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){var e;(e=this.widget.rawValue)==null||e.previous()}next(){var e;(e=this.widget.rawValue)==null||e.next()}trigger(e){this.model.trigger(e,0)}};Gk.ID=`editor.controller.parameterHints`,Gk=Wk=Hk([Uk(1,I),Uk(2,g)],Gk);var Kk=class extends J{constructor(){super({id:`editor.action.triggerParameterHints`,label:b(`parameterHints.trigger.label`,`Trigger Parameter Hints`),alias:`Trigger Parameter Hints`,precondition:x.hasSignatureHelpProvider,kbOpts:{kbExpr:x.editorTextFocus,primary:3082,weight:100}})}run(e,t){Gk.get(t)?.trigger({triggerKind:Pt.Invoke})}};D(Gk.ID,Gk,2),y(Kk);var qk=175,Jk=be.bindToContribution(Gk.get);_(new Jk({id:`closeParameterHints`,precondition:Ak.Visible,handler:e=>e.cancel(),kbOpts:{weight:qk,kbExpr:x.focus,primary:9,secondary:[1033]}})),_(new Jk({id:`showPrevParameterHint`,precondition:E.and(Ak.Visible,Ak.MultipleSignatures),handler:e=>e.previous(),kbOpts:{weight:qk,kbExpr:x.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),_(new Jk({id:`showNextParameterHint`,precondition:E.and(Ak.Visible,Ak.MultipleSignatures),handler:e=>e.next(),kbOpts:{weight:qk,kbExpr:x.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var Yk=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},Xk=function(e,t){return function(n,r){t(n,r,e)}},Zk=new w(`renameInputVisible`,!1,b(`renameInputVisible`,`Whether the rename input widget is visible`));new w(`renameInputFocused`,!1,b(`renameInputFocused`,`Whether the rename input widget is focused`));var Qk=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 V,this._visibleContextKey=Zk.bindTo(i),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new Oa,this._inputWithButton=new eA,this._disposables.add(this._inputWithButton),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(50)&&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 $k(this._domNode,{fontInfo:this._editor.getOption(50),onFocusChange:e=>{this._inputWithButton.input.value=e,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._inputWithButton.onDidInputChange(()=>{var e;this._renameCandidateListView?.focusedCandidate!==void 0&&(this._isEditingRenameCandidate=!0),this._timeBeforeFirstInputFieldEdit??=this._beforeFirstInputFieldEditSW.elapsed(),this._renameCandidateProvidersCts?.token.isCancellationRequested===!1&&this._renameCandidateProvidersCts.cancel(),(e=this._renameCandidateListView)==null||e.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(Wo),n=e.getColor(xs);this._domNode.style.backgroundColor=String(e.getColor(Po)??``),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(_t)??``);let r=e.getColor(We);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(On)??``),this._inputWithButton.input.style.backgroundColor=String(e.getColor(On)??``),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;j(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(50);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=gr(this.getDomNode().ownerDocument.body),t=je(this._editor.getDomNode());this._nPxAvailableAbove=this._getTopForPosition()+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;let n=this._editor.getOption(67),{totalHeight:r}=tA.getLayoutInfo({lineHeight:n}),i=this._nPxAvailableBelow>r*6?[2,1]:[1,2];return{position:this._position,preference:i}}beforeRender(){let[e,t]=this._acceptKeybindings;return this._label.innerText=b({key:`label`,comment:[`placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"`]},`{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(this._trace(`invoking afterRender, position: `,e?`not null`:`null`),e===null){this.cancelInput(!0,`afterRender (because position is null)`);return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;j(this._renameCandidateListView),j(this._nPxAvailableAbove!==void 0),j(this._nPxAvailableBelow!==void 0);let t=re(this._inputWithButton.domNode),n=re(this._label),r;r=e===2?this._nPxAvailableBelow:this._nPxAvailableAbove,this._renameCandidateListView.layout({height:r-n-t,width:xo(this._inputWithButton.domNode)})}acceptInput(e){var t;this._trace(`invoking acceptInput`),(t=this._currentAcceptInput)==null||t.call(this,e)}cancelInput(e,t){var n;this._trace(`invoking cancelInput, caller: ${t}, _currentCancelInput: ${this._currentAcceptInput?`not undefined`:`undefined`}`),(n=this._currentCancelInput)==null||n.call(this,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 V;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(z(this._inputWithButton.button,`click`,()=>this._requestRenameCandidates(t,!0))),s.add(z(this._inputWithButton.button,Ds.KEY_DOWN,e=>{let n=new Qs(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 R(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(Hi(()=>{this._renameCts=void 0,i.dispose(!0)})),s.add(Hi(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),s.add(Hi(()=>this._candidates.clear()));let c=new ei;return c.p.finally(()=>{s.dispose(),this._hide()}),this._currentCancelInput=e=>{var t;return this._trace(`invoking _currentCancelInput`),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,(t=this._renameCandidateListView)==null||t.clearCandidates(),c.complete(e),!0},this._currentAcceptInput=e=>{this._trace(`invoking _currentAcceptInput`),j(this._renameCandidateListView!==void 0);let r=this._renameCandidateListView.nCandidates,i,a,o=this._renameCandidateListView.focusedCandidate;if(o===void 0?(this._trace(`using new name from inputField`),i=this._inputWithButton.input.value,a=this._isEditingRenameCandidate?{k:`userEditedRenameSuggestion`}:{k:`inputField`}):(this._trace(`using new name from renameSuggestion`),i=o,a={k:`renameSuggestion`}),i===t||i.trim().length===0){this.cancelInput(!0,`_currentAcceptInput (because newName === value || newName.trim().length === 0)`);return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),c.complete({newName:i,wantsPreview:n&&e,stats:{source:a,nRenameSuggestions:r,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},s.add(i.token.onCancellationRequested(()=>this.cancelInput(!0,`cts.token.onCancellationRequested`))),s.add(this._editor.onDidBlurEditorWidget(()=>this.cancelInput(!this._domNode?.ownerDocument.hasFocus(),`editor.onDidBlurEditorWidget`))),this._show(),c.p}_requestRenameCandidates(e,t){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),j(this._renameCts),this._inputWithButton.buttonState!==`stop`)){this._renameCandidateProvidersCts=new ec;let n=t?zr.Invoke:zr.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){j(this._editor.hasModel());let n=this._editor.getSelection(),i=0,a=t.length;return!r.isEmpty(n)&&!r.spansMultipleLines(n)&&r.containsRange(e,n)&&(i=Math.max(0,n.startColumn-e.startColumn),a=Math.min(e.endColumn,n.endColumn)-e.startColumn),{start:i,end:a}}_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 ro(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`&&mi(e.value)?e.value:[]);r(`received updateRenameCandidates results - total (unfiltered) ${a.length} candidates.`);let o=ia(a,e=>e.newSymbolName);r(`distinct candidates - ${o.length} candidates.`);let s=o.filter(({newSymbolName:e})=>e.trim().length>0&&e!==this._inputWithButton.input.value&&e!==t&&!this._candidates.has(e));if(r(`valid distinct candidates - ${a.length} candidates.`),s.forEach(e=>this._candidates.add(e.newSymbolName)),s.length<1){r(`returning early - no valid distinct candidates`);return}r(`setting candidates`),this._renameCandidateListView.setCandidates(s),r(`asking editor to re-layout`),this._editor.layoutContentWidget(this)}_hide(){this._trace(`invoked _hide`),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){let e=this._editor.getVisibleRanges(),t;return e.length>0?t=e[0].startLineNumber:(this._logService.warn(`RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty`),t=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(t)}_trace(...e){this._logService.trace(`RenameWidget`,...e)}};Qk=Yk([Xk(2,Io),Xk(3,$s),Xk(4,W),Xk(5,tn)],Qk);var $k=class e{constructor(t,n){this._disposables=new V,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._listWidget.onDidChangeFocus(e=>{e.elements.length===1&&n.onFocusChange(e.elements[0].newSymbolName)},this._disposables),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(Be({listInactiveFocusForeground:De,listInactiveFocusBackground:Ie}))}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`,wo(b(`renameSuggestionsReceivedAria`,`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}else if(e[0]===0)return this._listWidget.setFocus([]),!1;else{this._listWidget.focusPrevious();let e=this._listWidget.getFocus()[0];return this._listWidget.reveal(e),!0}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){let{totalHeight:e}=tA.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){return new So(`NewSymbolNameCandidates`,e,new class{getTemplateId(e){return`candidate`}getHeight(e){return t}},[new class{constructor(){this.templateId=`candidate`}renderTemplate(e){return new tA(e,n)}renderElement(e,t,n){n.populate(e)}disposeTemplate(e){e.dispose()}}],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}},eA=class{constructor(){this._onDidInputChange=new B,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new V}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`,b(`renameAriaLabel`,`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=b(`generateRenameSuggestionsButton`,`Generate new name suggestions`),this._buttonCancelHoverText=b(`cancelRenameSuggestionsButton`,`Cancel`),this._buttonHover=Ws().setupUpdatableHover(Ni(`element`),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(z(this.input,Ds.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(z(this.input,Ds.KEY_DOWN,e=>{let t=new Qs(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(z(this.input,Ds.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(z(this.input,Ds.FOCUS,()=>{this.domNode.style.outlineWidth=`1px`,this.domNode.style.outlineStyle=`solid`,this.domNode.style.outlineOffset=`-1px`,this.domNode.style.outlineColor=`var(--vscode-focusBorder)`})),this._disposables.add(z(this.input,Ds.BLUR,()=>{this.domNode.style.outline=`none`}))),this._domNode}get input(){return j(this._inputNode),this._inputNode}get button(){return j(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState=`sparkle`,this._sparkleIcon??=si(N.sparkle),Ki(this.button),this.button.appendChild(this._sparkleIcon),this.button.setAttribute(`aria-label`,`Generating new name suggestions`),(e=this._buttonHover)==null||e.update(this._buttonGenHoverText),this.input.focus()}setStopButton(){var e;this._buttonState=`stop`,this._stopIcon??=si(N.primitiveSquare),Ki(this.button),this.button.appendChild(this._stopIcon),this.button.setAttribute(`aria-label`,`Cancel generating new name suggestions`),(e=this._buttonHover)==null||e.update(this._buttonCancelHoverText),this.input.focus()}dispose(){this._disposables.dispose()}},tA=class e{constructor(t,n){this._domNode=document.createElement(`div`),this._domNode.className=`rename-box rename-candidate`,this._domNode.style.display=`flex`,this._domNode.style.columnGap=`5px`,this._domNode.style.alignItems=`center`,this._domNode.style.height=`${n.lineHeight}px`,this._domNode.style.padding=`${e._PADDING}px`;let 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=si(N.sparkle),this._icon.style.display=`none`,r.appendChild(this._icon),this._label=document.createElement(`div`),na(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(br.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(){}};tA._PADDING=2;var nA=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},rA=function(e,t){return function(n,r){t(n,r,e)}},iA,aA=class{constructor(e,t,n){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=n.ordered(e)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(e){let t=[];for(this._providerRenameIdx=0;this._providerRenameIdx<this._providers.length;this._providerRenameIdx++){let n=this._providers[this._providerRenameIdx];if(!n.resolveRenameLocation)break;let r=await n.resolveRenameLocation(this.model,this.position,e);if(r){if(r.rejectReason){t.push(r.rejectReason);continue}return r}}this._providerRenameIdx=0;let n=this.model.getWordAtPosition(this.position);return n?{range:new r(this.position.lineNumber,n.startColumn,this.position.lineNumber,n.endColumn),text:n.word,rejectReason:t.length>0?t.join(`
49
+ `):void 0}:{range:r.fromPositions(this.position),text:``,rejectReason:t.length>0?t.join(`
50
+ `):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(`
51
+ `)};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(b(`no result`,`No result.`)),r)}};async function oA(e,t,n,r){let i=new aA(t,n,e),a=await i.resolveRenameLocation(H.None);return a?.rejectReason?{edits:[],rejectReason:a.rejectReason}:i.provideRenameEdits(r,H.None)}var sA=iA=class{static get(e){return e.getContribution(iA.ID)}constructor(e,t,n,r,i,a,o,s,c){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._telemetryService=c,this._disposableStore=new V,this._cts=new ec,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Qk,this.editor,[`acceptRenameInput`,`acceptRenameInputWithPreview`]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var e,t;let n=this._logService.trace.bind(this._logService,`[rename]`);if(this._cts.dispose(!0),this._cts=new ec,!this.editor.hasModel()){n(`editor has no model`);return}let i=this.editor.getPosition(),a=new aA(this.editor.getModel(),i,this._languageFeaturesService.renameProvider);if(!a.hasProvider()){n(`skeleton has no provider`);return}let o=new Lc(this.editor,5,void 0,this._cts.token),s;try{n(`resolving rename location`);let e=a.resolveRenameLocation(o.token);this._progressService.showWhile(e,250),s=await e,n(`resolved rename location`)}catch(t){t instanceof ve?n(`resolve rename location cancelled`,JSON.stringify(t,null,` `)):(n(`resolve rename location failed`,t instanceof Error?t:JSON.stringify(t,null,` `)),(typeof t==`string`||yt(t))&&((e=Jd.get(this.editor))==null||e.showMessage(t||b(`resolveRenameLocationFailed`,`An unknown error occurred while resolving rename location`),i)));return}finally{o.dispose()}if(!s){n(`returning early - no loc`);return}if(s.rejectReason){n(`returning early - rejected with reason: ${s.rejectReason}`,s.rejectReason),(t=Jd.get(this.editor))==null||t.showMessage(s.rejectReason,i);return}if(o.token.isCancellationRequested){n(`returning early - cts1 cancelled`);return}let c=new Lc(this.editor,5,s.range,this._cts.token),l=this.editor.getModel(),u=this._languageFeaturesService.newSymbolNamesProvider.all(l),d=await Promise.all(u.map(async e=>[e,await e.supportsAutomaticNewSymbolNamesTriggerKind??!1])),f=(e,t)=>{let n=d.slice();return e===zr.Automatic&&(n=n.filter(([e,t])=>t)),n.map(([n])=>n.provideNewSymbolNames(l,s.range,e,t))};n(`creating rename input field and awaiting its result`);let p=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,`editor.rename.enablePreview`),m=await this._renameWidget.getInput(s.range,s.text,p,u.length>0?f:void 0,c);if(n(`received response from rename input field`),u.length>0&&this._reportTelemetry(u.length,l.getLanguageId(),m),typeof m==`boolean`){n(`returning early - rename input field response - ${m}`),m&&this.editor.focus(),c.dispose();return}this.editor.focus(),n(`requesting rename edits`);let h=ro(a.provideRenameEdits(m.newName,c.token),c.token).then(async e=>{if(!e){n(`returning early - no rename edits result`);return}if(!this.editor.hasModel()){n(`returning early - no model after rename edits are provided`);return}if(e.rejectReason){n(`returning early - rejected with reason: ${e.rejectReason}`),this._notificationService.info(e.rejectReason);return}this.editor.setSelection(r.fromPositions(this.editor.getSelection().getPosition())),n(`applying edits`),this._bulkEditService.apply(e,{editor:this.editor,showPreview:m.wantsPreview,label:b(`label`,`Renaming '{0}' to '{1}'`,s?.text,m.newName),code:`undoredo.rename`,quotableLabel:b(`quotableLabel`,`Renaming {0} to {1}`,s?.text,m.newName),respectAutoSaveConfig:!0}).then(e=>{n(`edits applied`),e.ariaSummary&&_n(b(`aria`,`Successfully renamed '{0}' to '{1}'. Summary: {2}`,s.text,m.newName,e.ariaSummary))}).catch(e=>{n(`error when applying edits ${JSON.stringify(e,null,` `)}`),this._notificationService.error(b(`rename.failedApply`,`Rename failed to apply edits`)),this._logService.error(e)})},e=>{n(`error when providing rename edits`,JSON.stringify(e,null,` `)),this._notificationService.error(b(`rename.failed`,`Rename failed to compute edits`)),this._logService.error(e)}).finally(()=>{c.dispose()});return n(`returning rename operation`),this._progressService.showWhile(h,250),h}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,`cancelRenameInput command`)}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(e,t,n){let r=typeof n==`boolean`?{kind:`cancelled`,languageId:t,nRenameSuggestionProviders:e}:{kind:`accepted`,languageId:t,nRenameSuggestionProviders:e,source:n.stats.source.k,nRenameSuggestions:n.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:n.stats.timeBeforeFirstInputFieldEdit,wantsPreview:n.wantsPreview,nRenameSuggestionsInvocations:n.stats.nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:n.stats.hadAutomaticRenameSuggestionsInvocation};this._telemetryService.publicLog2(`renameInvokedEvent`,r)}};sA.ID=`editor.contrib.renameController`,sA=iA=nA([rA(1,I),rA(2,Za),rA(3,ke),rA(4,Zc),rA(5,tn),rA(6,kr),rA(7,g),rA(8,fn)],sA);var cA=class extends J{constructor(){super({id:`editor.action.rename`,label:b(`rename.label`,`Rename Symbol`),alias:`Rename Symbol`,precondition:E.and(x.writable,x.hasRenameProvider),kbOpts:{kbExpr:x.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:`1_modification`,order:1.1}})}runCommand(e,t){let n=e.get(lo),[r,i]=Array.isArray(t)&&t||[void 0,void 0];return G.isUri(r)&&R.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))))},v):super.runCommand(e,t)}run(e,t){let n=e.get(tn),r=sA.get(t);return r?(n.trace(`[RenameAction] got controller, running...`),r.run()):(n.trace(`[RenameAction] returning early - controller missing`),Promise.resolve())}};D(sA.ID,sA,4),y(cA);var lA=be.bindToContribution(sA.get);_(new lA({id:`acceptRenameInput`,precondition:Zk,handler:e=>e.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:E.and(x.focus,E.not(`isComposing`)),primary:3}})),_(new lA({id:`acceptRenameInputWithPreview`,precondition:E.and(Zk,E.has(`config.editor.rename.enablePreview`)),handler:e=>e.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:E.and(x.focus,E.not(`isComposing`)),primary:2051}})),_(new lA({id:`cancelRenameInput`,precondition:Zk,handler:e=>e.cancelRenameInput(),kbOpts:{weight:199,kbExpr:x.focus,primary:9,secondary:[1033]}})),A(class extends jn{constructor(){super({id:`focusNextRenameSuggestion`,title:{...T(`focusNextRenameSuggestion`,`Focus Next Rename Suggestion`)},precondition:Zk,keybinding:[{primary:18,weight:199}]})}run(e){let t=e.get(lo).getFocusedCodeEditor();if(!t)return;let n=sA.get(t);n&&n.focusNextRenameSuggestion()}}),A(class extends jn{constructor(){super({id:`focusPreviousRenameSuggestion`,title:{...T(`focusPreviousRenameSuggestion`,`Focus Previous Rename Suggestion`)},precondition:Zk,keybinding:[{primary:16,weight:199}]})}run(e){let t=e.get(lo).getFocusedCodeEditor();if(!t)return;let n=sA.get(t);n&&n.focusPreviousRenameSuggestion()}}),te(`_executeDocumentRenameProvider`,function(e,t,n,...r){let[i]=r;j(typeof i==`string`);let{renameProvider:a}=e.get(g);return oA(a,t,n,i)}),te(`_executePrepareRename`,async function(e,t,n){let{renameProvider:r}=e.get(g),i=await new aA(t,n,r).resolveRenameLocation(H.None);if(i?.rejectReason)throw Error(i.rejectReason);return i}),wr.as(Aa.Configuration).registerConfiguration({id:`editor`,properties:{"editor.rename.enablePreview":{scope:5,description:b(`enablePreview`,`Enable/disable the ability to preview changes before renaming`),default:!0,type:`boolean`}}});var uA=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},dA=function(e,t){return function(n,r){t(n,r,e)}},fA=class extends U{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(73)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel(t=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(e.onDidChangeModelLanguage(t=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),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(73)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(e.onDidChangeConfiguration(t=>{this.options&&!t.hasChanged(73)||(this.options=this.createOptions(e.getOption(73)),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 Hn(()=>{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,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);return r.getLanguageId(i)===t.getLanguageId()&&a===1}));let n=Object.values(this.currentOccurrences).map(e=>e.decorationId),r=e.map(e=>pA(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()}};fA.ID=`editor.sectionHeaderDetector`,fA=uA([dA(1,Cc),dA(2,Di)],fA);function pA(e){return{range:e.range,options:k.createDynamic({description:`section-header`,stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:e.hasSeparatorLine?2:1,sectionHeaderText:e.text}})}}D(fA.ID,fA,1);function mA(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 hA(e){let t=new Uint8Array(e.buffer,e.byteOffset,e.length*4);return ml()||mA(t),Nc.wrap(t)}function gA(e){let t=new Uint32Array(_A(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 hA(t)}function _A(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 vA(e){return e&&!!e.data}function yA(e){return e&&Array.isArray(e.edits)}var bA=class{constructor(e,t,n){this.provider=e,this.tokens=t,this.error=n}};function xA(e,t){return e.has(t)}function SA(e,t){let n=e.orderedGroups(t);return n.length>0?n[0]:[]}async function CA(e,t,n,r,i){let a=SA(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||!vA(a)&&!yA(a))&&(a=null),new bA(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 wA(e,t){let n=e.orderedGroups(t);return n.length>0?n[0]:null}var TA=class{constructor(e,t){this.provider=e,this.tokens=t}};function EA(e,t){return e.has(t)}function DA(e,t){let n=e.orderedGroups(t);return n.length>0?n[0]:[]}async function OA(e,t,n,r){let i=DA(e,t),a=await Promise.all(i.map(async e=>{let i;try{i=await e.provideDocumentRangeSemanticTokens(t,n,r)}catch(e){Oe(e),i=null}return(!i||!vA(i))&&(i=null),new TA(e,i)}));for(let e of a)if(e.tokens)return e;return a.length>0?a[0]:null}M.registerCommand(`_provideDocumentSemanticTokensLegend`,async(e,...t)=>{let[n]=t;j(n instanceof G);let r=e.get(qs).getModel(n);if(!r)return;let{documentSemanticTokensProvider:i}=e.get(g),a=wA(i,r);return a?a[0].getLegend():e.get(Qr).executeCommand(`_provideDocumentRangeSemanticTokensLegend`,n)}),M.registerCommand(`_provideDocumentSemanticTokens`,async(e,...t)=>{let[n]=t;j(n instanceof G);let r=e.get(qs).getModel(n);if(!r)return;let{documentSemanticTokensProvider:i}=e.get(g);if(!xA(i,r))return e.get(Qr).executeCommand(`_provideDocumentRangeSemanticTokens`,n,r.getFullModelRange());let a=await CA(i,r,null,null,H.None);if(!a)return;let{provider:o,tokens:s}=a;if(!s||!vA(s))return;let c=gA({id:0,type:`full`,data:s.data});return s.resultId&&o.releaseDocumentSemanticTokens(s.resultId),c}),M.registerCommand(`_provideDocumentRangeSemanticTokensLegend`,async(e,...t)=>{let[n,i]=t;j(n instanceof G);let a=e.get(qs).getModel(n);if(!a)return;let{documentRangeSemanticTokensProvider:o}=e.get(g),s=DA(o,a);if(s.length===0)return;if(s.length===1)return s[0].getLegend();if(!i||!r.isIRange(i))return console.warn(`provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in`),s[0].getLegend();let c=await OA(o,a,r.lift(i),H.None);if(c)return c.provider.getLegend()}),M.registerCommand(`_provideDocumentRangeSemanticTokens`,async(e,...t)=>{let[n,i]=t;j(n instanceof G),j(r.isIRange(i));let a=e.get(qs).getModel(n);if(!a)return;let{documentRangeSemanticTokensProvider:o}=e.get(g),s=await OA(o,a,r.lift(i),H.None);if(!(!s||!s.tokens))return gA({id:0,type:`full`,data:s.tokens.data})});function kA(e,t,n){let r=n.getValue(`editor.semanticHighlighting`,{overrideIdentifier:e.getLanguageId(),resource:e.uri})?.enabled;return typeof r==`boolean`?r:t.getColorTheme().semanticHighlighting}var AA=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},jA=function(e,t){return function(n,r){t(n,r,e)}},MA,NA=class extends U{constructor(e,t,n,r,i,a){super(),this._watchers=Object.create(null);let o=t=>{this._watchers[t.uri.toString()]=new PA(t,e,n,i,a)},s=(e,t)=>{t.dispose(),delete this._watchers[e.uri.toString()]},c=()=>{for(let e of t.getModels()){let t=this._watchers[e.uri.toString()];kA(e,n,r)?t||o(e):t&&s(e,t)}};t.getModels().forEach(e=>{kA(e,n,r)&&o(e)}),this._register(t.onModelAdded(e=>{kA(e,n,r)&&o(e)})),this._register(t.onModelRemoved(e=>{let t=this._watchers[e.uri.toString()];t&&s(e,t)})),this._register(r.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.semanticHighlighting`)&&c()})),this._register(n.onDidColorThemeChange(c))}dispose(){for(let e of Object.values(this._watchers))e.dispose();super.dispose()}};NA=AA([jA(0,ta),jA(1,qs),jA(2,Io),jA(3,Va),jA(4,wc),jA(5,g)],NA);var PA=MA=class extends U{constructor(e,t,n,r,i){super(),this._semanticTokensStylingService=t,this._isDisposed=!1,this._model=e,this._provider=i.documentSemanticTokensProvider,this._debounceInformation=r.for(this._provider,`DocumentSemanticTokens`,{min:MA.REQUEST_MIN_DELAY,max:MA.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new Hn(()=>this._fetchDocumentSemanticTokensNow(),MA.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeAttached(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{this._currentDocumentResponse&&=(this._currentDocumentResponse.dispose(),null),this._currentDocumentRequestCancellationTokenSource&&=(this._currentDocumentRequestCancellationTokenSource.cancel(),null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)}));let a=()=>{jc(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(let t of this._provider.all(e))typeof t.onDidChange==`function`&&this._documentProvidersChangeListeners.push(t.onDidChange(()=>{if(this._currentDocumentRequestCancellationTokenSource){this._providersChangedDuringRequest=!0;return}this._fetchDocumentSemanticTokens.schedule(0)}))};a(),this._register(this._provider.onDidChange(()=>{a(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(n.onDidColorThemeChange(e=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&=(this._currentDocumentResponse.dispose(),null),this._currentDocumentRequestCancellationTokenSource&&=(this._currentDocumentRequestCancellationTokenSource.cancel(),null),jc(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!xA(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;let e=new ec,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,n=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,r=CA(this._provider,this._model,t,n,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;let i=[],a=this._model.onDidChangeContent(e=>{i.push(e)}),o=new Oa(!1);r.then(e=>{if(this._debounceInformation.update(this._model,o.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,a.dispose(),!e)this._setDocumentSemanticTokens(null,null,null,i);else{let{provider:t,tokens:n}=e,r=this._semanticTokensStylingService.getStyling(t);this._setDocumentSemanticTokens(t,n||null,r,i)}},e=>{e&&(fr(e)||typeof e.message==`string`&&e.message.indexOf(`busy`)!==-1)||v(e),this._currentDocumentRequestCancellationTokenSource=null,a.dispose(),(i.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,n,r,i){i=Math.min(i,n.length-r,e.length-t);for(let a=0;a<i;a++)n[r+a]=e[t+a]}_setDocumentSemanticTokens(e,t,n,r){let i=this._currentDocumentResponse,a=()=>{(r.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&=(this._currentDocumentResponse.dispose(),null),this._isDisposed){e&&t&&e.releaseDocumentSemanticTokens(t.resultId);return}if(!e||!n){this._model.tokenization.setSemanticTokens(null,!1);return}if(!t){this._model.tokenization.setSemanticTokens(null,!0),a();return}if(yA(t)){if(!i){this._model.tokenization.setSemanticTokens(null,!0);return}if(t.edits.length===0)t={resultId:t.resultId,data:i.data};else{let e=0;for(let n of t.edits)e+=(n.data?n.data.length:0)-n.deleteCount;let r=i.data,a=new Uint32Array(r.length+e),o=r.length,s=a.length;for(let e=t.edits.length-1;e>=0;e--){let c=t.edits[e];if(c.start>r.length){n.warnInvalidEditStart(i.resultId,t.resultId,e,c.start,r.length),this._model.tokenization.setSemanticTokens(null,!0);return}let l=o-(c.start+c.deleteCount);l>0&&(MA._copy(r,o-l,a,s-l,l),s-=l),c.data&&(MA._copy(c.data,0,a,s-c.data.length,c.data.length),s-=c.data.length),o=c.start}o>0&&MA._copy(r,0,a,0,o),t={resultId:t.resultId,data:a}}}if(vA(t)){this._currentDocumentResponse=new FA(e,t.resultId,t.data);let i=zo(t,n,this._model.getLanguageId());if(r.length>0)for(let e of r)for(let t of i)for(let n of e.changes)t.applyEdit(n.range,n.text);this._model.tokenization.setSemanticTokens(i,!0)}else this._model.tokenization.setSemanticTokens(null,!0);a()}};PA.REQUEST_MIN_DELAY=300,PA.REQUEST_MAX_DELAY=2e3,PA=MA=AA([jA(1,ta),jA(2,Io),jA(3,wc),jA(4,g)],PA);var FA=class{constructor(e,t,n){this.provider=e,this.resultId=t,this.data=n}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}};po(NA);var IA=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},LA=function(e,t){return function(n,r){t(n,r,e)}},RA=class extends U{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 Hn(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];let o=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{o()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),o()})),this._register(this._editor.onDidChangeModelContent(e=>{this._cancelAll(),o()})),this._register(this._provider.onDidChange(()=>{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()}_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(!kA(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!EA(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=lc(n=>Promise.resolve(OA(this._provider,e,t,n))),i=new Oa(!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,zo(o,s,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(r),()=>this._removeOutstandingRequest(r)),r}};RA.ID=`editor.contrib.viewportSemanticTokens`,RA=IA([LA(1,ta),LA(2,Io),LA(3,Va),LA(4,wc),LA(5,g)],RA),D(RA.ID,RA,1);var zA=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 i=t.getWordAtPosition(n);if(!i)return;let{word:a,startColumn:o}=i,s=n.column-o,c=s,l=s,u=0;for(;c>=0;c--){let e=a.charCodeAt(c);if(c!==s&&(e===95||e===45)||ur(e)&&Fe(u))break;u=e}for(c+=1;l<a.length;l++){let e=a.charCodeAt(l);if(Fe(e)&&ur(u)||e===95||e===45)break;u=e}c<l&&e.push({range:new r(n.lineNumber,o+c,n.lineNumber,o+l)})}_addWordRanges(e,t,n){let i=t.getWordAtPosition(n);i&&e.push({range:new r(n.lineNumber,i.startColumn,n.lineNumber,i.endColumn)})}_addWhitespaceLine(e,t,n){t.getLineLength(n.lineNumber)>0&&t.getLineFirstNonWhitespaceColumn(n.lineNumber)===0&&t.getLineLastNonWhitespaceColumn(n.lineNumber)===0&&e.push({range:new r(n.lineNumber,1,n.lineNumber,t.getLineMaxColumn(n.lineNumber))})}},BA=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},VA=function(e,t){return function(n,r){t(n,r,e)}},HA,UA=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}},WA=HA=class{static get(e){return e.getContribution(HA.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){var e;(e=this._selectionListener)==null||e.dispose()}async run(e){if(!this._editor.hasModel())return;let t=this._editor.getSelections(),n=this._editor.getModel();if(this._state||await JA(this._languageFeaturesService.selectionRangeProvider,n,t.map(e=>e.getPosition()),this._editor.getOption(113),H.None).then(e=>{var n;if(!(!Pa(e)||e.length!==t.length)&&!(!this._editor.hasModel()||!Ho(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 UA(0,e)),(n=this._selectionListener)==null||n.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{var e;this._ignoreSelection||((e=this._selectionListener)==null||e.dispose(),this._state=void 0)})}}),!this._state)return;this._state=this._state.map(t=>t.mov(e));let r=this._state.map(e=>O.fromPositions(e.ranges[e.index].getStartPosition(),e.ranges[e.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(r)}finally{this._ignoreSelection=!1}}};WA.ID=`editor.contrib.smartSelectController`,WA=HA=BA([VA(1,g)],WA);var GA=class extends J{constructor(e,t){super(t),this._forward=e}async run(e,t){let n=WA.get(t);n&&await n.run(this._forward)}},KA=class extends GA{constructor(){super(!0,{id:`editor.action.smartSelect.expand`,label:b(`smartSelect.expand`,`Expand Selection`),alias:`Expand Selection`,precondition:void 0,kbOpts:{kbExpr:x.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:C.MenubarSelectionMenu,group:`1_basic`,title:b({key:`miSmartSelectGrow`,comment:[`&& denotes a mnemonic`]},`&&Expand Selection`),order:2}})}};M.registerCommandAlias(`editor.action.smartSelect.grow`,`editor.action.smartSelect.expand`);var qA=class extends GA{constructor(){super(!1,{id:`editor.action.smartSelect.shrink`,label:b(`smartSelect.shrink`,`Shrink Selection`),alias:`Shrink Selection`,precondition:void 0,kbOpts:{kbExpr:x.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:C.MenubarSelectionMenu,group:`1_basic`,title:b({key:`miSmartSelectShrink`,comment:[`&& denotes a mnemonic`]},`&&Shrink Selection`),order:3}})}};D(WA.ID,WA,4),y(KA),y(qA);async function JA(e,t,n,i,a){let o=e.all(t).concat(new zA(i.selectSubwords));o.length===1&&o.unshift(new pw);let s=[],c=[];for(let e of o)s.push(Promise.resolve(e.provideSelectionRanges(t,n,a)).then(e=>{if(Pa(e)&&e.length===n.length)for(let t=0;t<n.length;t++){c[t]||(c[t]=[]);for(let i of e[t])r.isIRange(i.range)&&r.containsPosition(i.range,n[t])&&c[t].push(r.lift(i.range))}},Oe));return await Promise.all(s),c.map(e=>{if(e.length===0)return[];e.sort((e,t)=>R.isBefore(e.getStartPosition(),t.getStartPosition())?1:R.isBefore(t.getStartPosition(),e.getStartPosition())||R.isBefore(e.getEndPosition(),t.getEndPosition())?-1:+!!R.isBefore(t.getEndPosition(),e.getEndPosition()));let n=[],a;for(let t of e)(!a||r.containsRange(t,a)&&!r.equalsRange(t,a))&&(n.push(t),a=t);if(!i.selectLeadingAndTrailingWhitespace)return n;let o=[n[0]];for(let e=1;e<n.length;e++){let i=n[e-1],a=n[e];if(a.startLineNumber!==i.startLineNumber||a.endLineNumber!==i.endLineNumber){let e=new r(i.startLineNumber,t.getLineFirstNonWhitespaceColumn(i.startLineNumber),i.endLineNumber,t.getLineLastNonWhitespaceColumn(i.endLineNumber));e.containsRange(i)&&!e.equalsRange(i)&&a.containsRange(e)&&!a.equalsRange(e)&&o.push(e);let n=new r(i.startLineNumber,1,i.endLineNumber,t.getLineMaxColumn(i.endLineNumber));n.containsRange(i)&&!n.equalsRange(e)&&a.containsRange(n)&&!a.equalsRange(n)&&o.push(n)}o.push(a)}return o})}M.registerCommand(`_executeSelectionRangeProvider`,async function(e,...t){let[n,r]=t;j(G.isUri(n));let i=e.get(g).selectionRangeProvider,a=await e.get(ss).createModelReference(n);try{return JA(i,a.object.textEditorModel,r,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},H.None)}finally{a.dispose()}});var YA=Object.freeze({View:T(`view`,`View`),Help:T(`help`,`Help`),Test:T(`test`,`Test`),File:T(`file`,`File`),Preferences:T(`preferences`,`Preferences`),Developer:T({key:`developer`,comment:[`A developer on Code itself or someone diagnosing issues in Code`]},`Developer`)}),XA=class{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&&Ho(this.startLineNumbers,e.startLineNumbers)&&Ho(this.endLineNumbers,e.endLineNumbers)}},ZA=Wi(`stickyScrollViewLayer`,{createHTML:e=>e}),QA=`data-sticky-line-index`,$A=`data-sticky-is-line`,ej=`data-sticky-is-line-number`,tj=`data-sticky-is-folding-icon`,nj=class extends U{constructor(e){super(),this._editor=e,this._foldingIconStore=new V,this._rootDomNode=document.createElement(`div`),this._lineNumbersDomNode=document.createElement(`div`),this._linesDomNodeScrollable=document.createElement(`div`),this._linesDomNode=document.createElement(`div`),this._lineHeight=this._editor.getOption(67),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,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 ig),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);let t=()=>{this._linesDomNode.style.left=this._editor.getOption(115).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:`0px`};this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(115)&&t(),e.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))})),this._register(this._editor.onDidScrollChange(e=>{e.scrollLeftChanged&&t(),e.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{t(),this._updateWidgetWidth()})),this._register(this._foldingIconStore),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){if(n===void 0&&(!this._previousState&&!e||this._previousState&&this._previousState.equals(e)))return;let r=this._isWidgetHeightZero(e),i=r?void 0:e,a=r?0:this._findLineToRebuildWidgetFrom(e,n);this._renderRootNode(i,t,a),this._previousState=e}_isWidgetHeightZero(e){if(!e)return!0;let t=e.startLineNumbers.length*this._lineHeight+e.lastLineRelativePosition;if(t>0){this._lastLineRelativePosition=e.lastLineRelativePosition;let t=[...e.startLineNumbers];e.showEndForLine!==null&&(t[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]),this._lineNumbers=t}else this._lastLineRelativePosition=0,this._lineNumbers=[];return t===0}_findLineToRebuildWidgetFrom(e,t){if(!e||!this._previousState)return 0;if(t!==void 0)return t;let n=this._previousState,r=e.startLineNumbers.findIndex(e=>!n.startLineNumbers.includes(e));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`}_clearStickyLinesFromLine(e){this._foldingIconStore.clear();for(let t=e;t<this._renderedStickyLines.length;t++){let e=this._renderedStickyLines[t];e.lineNumberDomNode.remove(),e.lineDomNode.remove()}this._renderedStickyLines=this._renderedStickyLines.slice(0,e),this._rootDomNode.style.display=`none`}_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){if(this._clearStickyLinesFromLine(n),!e)return;for(let e of this._renderedStickyLines)this._updateTopAndZIndexOfStickyLine(e);let r=this._editor.getLayoutInfo(),i=this._lineNumbers.slice(n);for(let[e,a]of i.entries()){let i=this._renderChildNode(e+n,a,t,r);i&&(this._linesDomNode.appendChild(i.lineDomNode),this._lineNumbersDomNode.appendChild(i.lineNumberDomNode),this._renderedStickyLines.push(i))}t&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin));let a=this._lineNumbers.length*this._lineHeight+this._lastLineRelativePosition;this._rootDomNode.style.display=`block`,this._lineNumbersDomNode.style.height=`${a}px`,this._linesDomNodeScrollable.style.height=`${a}px`,this._rootDomNode.style.height=`${a}px`,this._rootDomNode.style.marginLeft=`0px`,this._minContentWidthInPx=Math.max(...this._renderedStickyLines.map(e=>e.scrollWidth))+r.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){this._editor.getOption(110)===`mouseover`&&(this._foldingIconStore.add(z(this._lineNumbersDomNode,Ds.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(z(this._lineNumbersDomNode,Ds.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(e,t,n,r){let i=this._editor._getViewModel();if(!i)return;let a=i.coordinatesConverter.convertModelPositionToViewPosition(new R(t,1)).lineNumber,o=i.getViewLineRenderingData(a),s=this._editor.getOption(68),c;try{c=Zt.filter(o.inlineDecorations,a,o.minColumn,o.maxColumn)}catch{c=[]}let l=new f(!0,!0,o.content,o.continuesWithWrappedLine,o.isBasicASCII,o.containsRTL,0,o.tokens,c,o.tabSize,o.startVisibleColumn,1,1,1,500,`none`,!0,!0,null),u=new wi(2e3),d=mo(l,u),p;p=ZA?ZA.createHTML(u.build()):u.build();let m=document.createElement(`span`);m.setAttribute(QA,String(e)),m.setAttribute($A,``),m.setAttribute(`role`,`listitem`),m.tabIndex=0,m.className=`sticky-line-content`,m.classList.add(`stickyLine${t}`),m.style.lineHeight=`${this._lineHeight}px`,m.innerHTML=p;let h=document.createElement(`span`);h.setAttribute(QA,String(e)),h.setAttribute(ej,``),h.className=`sticky-line-number`,h.style.lineHeight=`${this._lineHeight}px`;let ee=r.contentLeft;h.style.width=`${ee}px`;let te=document.createElement(`span`);s.renderType===1||s.renderType===3&&t%10==0?te.innerText=t.toString():s.renderType===2&&(te.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),te.className=`sticky-line-number-inner`,te.style.lineHeight=`${this._lineHeight}px`,te.style.width=`${r.lineNumbersWidth}px`,te.style.paddingLeft=`${r.lineNumbersLeft}px`,h.appendChild(te);let ne=this._renderFoldingIconForLine(n,t);ne&&h.appendChild(ne.domNode),this._editor.applyFontInfo(m),this._editor.applyFontInfo(te),h.style.lineHeight=`${this._lineHeight}px`,m.style.lineHeight=`${this._lineHeight}px`,h.style.height=`${this._lineHeight}px`,m.style.height=`${this._lineHeight}px`;let re=new rj(e,t,m,h,ne,d.characterMapping,m.scrollWidth);return this._updateTopAndZIndexOfStickyLine(re)}_updateTopAndZIndexOfStickyLine(e){let t=e.index,n=e.lineDomNode,r=e.lineNumberDomNode,i=t===this._lineNumbers.length-1;n.style.zIndex=i?`0`:`1`,r.style.zIndex=i?`0`:`1`;let a=`${t*this._lineHeight+this._lastLineRelativePosition+ +!!e.foldingIcon?.isCollapsed}px`,o=`${t*this._lineHeight}px`;return n.style.top=i?a:o,r.style.top=i?a:o,e}_renderFoldingIconForLine(e,t){let n=this._editor.getOption(110);if(!e||n===`never`)return;let r=e.regions,i=r.findRange(t),a=r.getStartLineNumber(i);if(t!==a)return;let o=r.isCollapsed(i),s=new ij(o,a,r.getEndLineNumber(i),this._lineHeight);return s.setVisible(this._isOnGlyphMargin?!0:o||n===`always`),s.domNode.setAttribute(tj,``),s}getId(){return`editor.contrib.stickyScrollWidget`}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOridinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e<this._renderedStickyLines.length&&this._renderedStickyLines[e].lineDomNode.focus()}getEditorPositionFromNode(e){if(!e||e.children.length>0)return null;let t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;let n=nr(t.characterMapping,e,0);return new R(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,QA);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,$A)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,tj)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){let n=e.getAttribute(t);if(n!==null)return n;e=e.parentElement}}},rj=class{constructor(e,t,n,r,i,a,o){this.index=e,this.lineNumber=t,this.lineDomNode=n,this.lineNumberDomNode=r,this.foldingIcon=i,this.characterMapping=a,this.scrollWidth=o}},ij=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=`${r}px`,this.domNode.style.height=`${r}px`,this.domNode.className=P.asClassName(e?px:fx)}setVisible(e){this.domNode.style.cursor=e?`pointer`:`default`,this.domNode.style.opacity=e?`1`:`0`}},aj=class{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}},oj=class{constructor(e,t,n){this.range=e,this.children=t,this.parent=n}},sj=class{constructor(e,t,n,r){this.uri=e,this.version=t,this.element=n,this.outlineProviderId=r}},cj=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},lj=function(e,t){return function(n,r){t(n,r,e)}},uj;(function(e){e.OUTLINE_MODEL=`outlineModel`,e.FOLDING_PROVIDER_MODEL=`foldingProviderModel`,e.INDENTATION_MODEL=`indentationModel`})(uj||={});var dj;(function(e){e[e.VALID=0]=`VALID`,e[e.INVALID=1]=`INVALID`,e[e.CANCELED=2]=`CANCELED`})(dj||={});var fj=class extends U{constructor(e,t,n,r){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new _i(300)),this._updateOperation=this._register(new V),this._editor.getOption(115).defaultModel){case uj.OUTLINE_MODEL:this._modelProviders.push(new mj(this._editor,r));case uj.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new _j(this._editor,t,r));case uj.INDENTATION_MODEL:this._modelProviders.push(new gj(this._editor,n));break}}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 dj.CANCELED:return this._updateOperation.clear(),null;case dj.VALID:return t.stickyModel}}return null}).catch(e=>(v(e),null))}};fj=cj([lj(2,I),lj(3,g)],fj);var pj=class extends U{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,dj.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};let t=lc(e=>this.createModelFromProvider(e));return{statusPromise:t.then(t=>this.isModelValid(t)?e.isCancellationRequested?dj.CANCELED:(this._stickyModel=this.createStickyModel(e,t),dj.VALID):this._invalid()).then(void 0,e=>(v(e),dj.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}},mj=class extends pj{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return fS.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 sj(i.uri,i.getVersionId(),n,r)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let n;if(Ge.first(e.children.values())instanceof dS){let r=Ge.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 aj(e.symbol.range.startLineNumber,e.symbol.range.endLineNumber),r=new aj(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 oj(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 oj(new aj(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 uS?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};mj=cj([lj(1,g)],mj);var hj=class extends pj{constructor(e){super(e),this._foldingLimitReporter=new jx(e)}createStickyModel(e,t){let n=this._fromFoldingRegions(t),r=this._editor.getModel();return new sj(r.uri,r.getVersionId(),n,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){let t=e.length,n=[],r=new oj(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 oj(new aj(e.getStartLineNumber(i),e.getEndLineNumber(i)+1),[],a);a.children.push(o),n.push(o)}return r}},gj=class extends hj{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new sx(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};gj=cj([lj(1,Cc)],gj);var _j=class extends hj{constructor(e,t,n){super(e),this._languageFeaturesService=n;let r=Ax.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());r.length>0&&(this.provider=this._register(new Sx(e.getModel(),r,t,this._foldingLimitReporter,void 0)))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(e){return this.provider?.compute(e)??null}};_j=cj([lj(2,g)],_j);var vj=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},yj=function(e,t){return function(n,r){t(n,r,e)}},bj=class{constructor(e,t,n){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=n}},xj=class extends U{constructor(e,t,n){super(),this._languageFeaturesService=t,this._languageConfigurationService=n,this._onDidChangeStickyScroll=this._register(new B),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new V),this._updateSoon=this._register(new Hn(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(115)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(115).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(Hi(()=>{var e;(e=this._stickyModelProvider)==null||e.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update())}getVersionId(){return this._model?.version}updateStickyModelProvider(){var e;(e=this._stickyModelProvider)==null||e.dispose(),this._stickyModelProvider=null;let t=this._editor;t.hasModel()&&(this._stickyModelProvider=new fj(t,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new ec,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)}updateIndex(e){return e===-1?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,n,r,i){if(t.children.length===0)return;let a=i,o=[];for(let e=0;e<t.children.length;e++){let n=t.children[e];n.range&&o.push(n.range.startLineNumber)}let s=this.updateIndex(Li(o,e.startLineNumber,(e,t)=>e-t)),c=this.updateIndex(Li(o,e.startLineNumber+r,(e,t)=>e-t));for(let o=s;o<=c;o++){let s=t.children[o];if(!s)return;if(s.range){let t=s.range.startLineNumber,i=s.range.endLineNumber;e.startLineNumber<=i+1&&t-1<=e.endLineNumber&&t!==a&&(a=t,n.push(new bj(t,i-1,r+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,s,n,r+1,t))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,s,n,r,i)}}getCandidateStickyLinesIntersecting(e){if(!this._model?.element)return[];let t=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,t,0,-1);let n=this._editor._getViewModel()?.getHiddenAreas();if(n)for(let e of n)t=t.filter(t=>!(t.startLineNumber>=e.startLineNumber&&t.endLineNumber<=e.endLineNumber+1));return t}};xj=vj([yj(1,g),yj(2,Cc)],xj);var Sj=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},Cj=function(e,t){return function(n,r){t(n,r,e)}},wj,Tj=wj=class extends U{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 V,this._foldingModel=null,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._showEndForLine=null,this._stickyScrollWidget=new nj(this._editor),this._stickyLineCandidateProvider=new xj(this._editor,n,i),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=new XA([],[],0),this._onDidResize(),this._readConfiguration();let s=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(e=>{this._readConfigurationChange(e)})),this._register(z(s,Ds.CONTEXT_MENU,async e=>{this._onContextMenu(rn(s),e)})),this._stickyScrollFocusedContextKey=x.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=x.stickyScrollVisible.bindTo(this._contextKeyService);let c=this._register(rt(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(z(s,Ds.MOUSE_DOWN,e=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(wj.ID)}_disposeFocusStickyScrollStore(){var e;this._stickyScrollFocusedContextKey.set(!1),(e=this._focusDisposableStore)==null||e.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown){this._onMouseDown=!1,this._editor.focus();return}this._stickyScrollFocusedContextKey.get()!==!0&&(this._focused=!0,this._focusDisposableStore=new V,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(r.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){let e=this._register(new V),t=this._register(new Zh(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 r(n.lineNumber,n.column,n.lineNumber,n.column+t.innerText.length),textElement:t}:null},i=this._stickyScrollWidget.getDomNode();this._register(Fc(i,Ds.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 R(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 R(n,1)}this._revealPosition(t)})),this._register(Fc(i,Ds.MOUSE_MOVE,e=>{if(e.shiftKey){let t=this._stickyScrollWidget.getLineIndexFromChildDomNode(e.target);if(t===null||this._showEndForLine!==null&&this._showEndForLine===t)return;this._showEndForLine=t,this._renderStickyScroll();return}this._showEndForLine!==null&&(this._showEndForLine=null,this._renderStickyScroll())})),this._register(z(i,Ds.MOUSE_LEAVE,e=>{this._showEndForLine!==null&&(this._showEndForLine=null,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 ec;e.add(Hi(()=>s.dispose(!0)));let c;c_(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new R(a.startLineNumber,a.startColumn+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(Hi(()=>{c.style.textDecoration=`none`}))):(e.clear(),c=n,c.style.textDecoration=`underline`,e.add(Hi(()=>{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(j_,e,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){let n=new fs(e,t);this._contextMenuService.showContextMenu({menuId:C.StickyScrollContext,getAnchor:()=>n})}_toggleFoldingRegionForLine(e){if(!this._foldingModel||e===null)return;let t=this._stickyScrollWidget.getRenderedStickyLine(e),n=t?.foldingIcon;if(!n)return;Gb(this._foldingModel,Number.MAX_VALUE,[e]),n.isCollapsed=!n.isCollapsed;let r=(n.isCollapsed?this._editor.getTopForLineNumber(n.foldingEndLine):this._editor.getTopForLineNumber(n.foldingStartLine))-this._editor.getOption(67)*t.index+1;this._editor.setScrollTop(r),this._renderStickyScroll(e)}_readConfiguration(){let e=this._editor.getOption(115);if(e.enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),this._enabled=!1;return}else e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(e=>{e.scrollTopChanged&&(this._showEndForLine=null,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=null,this._renderStickyScroll()})),this._enabled=!0);this._editor.getOption(68).renderType===2&&this._sessionStore.add(this._editor.onDidChangeCursorPosition(()=>{this._showEndForLine=null,this._renderStickyScroll(0)}))}_readConfigurationChange(e){(e.hasChanged(115)||e.hasChanged(73)||e.hasChanged(67)||e.hasChanged(110)||e.hasChanged(68))&&this._readConfiguration(),e.hasChanged(68)&&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(67);this._maxStickyLines=Math.round(e*.25)}async _renderStickyScroll(e){let t=this._editor.getModel();if(!t||t.isTooLargeForTokenization()){this._foldingModel=null,this._stickyScrollWidget.setState(void 0,null);return}let n=this._stickyLineCandidateProvider.getVersionId();if(n===void 0||n===t.getVersionId())if(this._foldingModel=await Ax.get(this._editor)?.getFoldingModel()??null,this._widgetState=this.findScrollWidgetState(),this._stickyScrollVisibleContextKey.set(this._widgetState.startLineNumbers.length!==0),!this._focused)this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e);else if(this._focusedStickyElementIndex===-1)this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{let t=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(t)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}findScrollWidgetState(){let e=this._editor.getOption(67),t=Math.min(this._maxStickyLines,this._editor.getOption(115).maxLineCount),n=this._editor.getScrollTop(),r=0,i=[],a=[],o=this._editor.getVisibleRanges();if(o.length!==0){let s=new aj(o[0].startLineNumber,o[o.length-1].endLineNumber),c=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(s);for(let o of c){let s=o.startLineNumber,c=o.endLineNumber,l=o.nestingDepth;if(c-s>0){let o=(l-1)*e,u=l*e,d=this._editor.getBottomForLineNumber(s)-n,f=this._editor.getTopForLineNumber(c)-n,p=this._editor.getBottomForLineNumber(c)-n;if(o>f&&o<=p){i.push(s),a.push(c+1),r=p-u;break}else u>d&&u<=p&&(i.push(s),a.push(c+1));if(i.length===t)break}}}return this._endLineNumbers=a,new XA(i,a,r,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};Tj.ID=`store.contrib.stickyScrollController`,Tj=wj=Sj([Cj(1,Ks),Cj(2,g),Cj(3,I),Cj(4,Cc),Cj(5,wc),Cj(6,W)],Tj);var Ej=class extends jn{constructor(){super({id:`editor.action.toggleStickyScroll`,title:{...T(`toggleEditorStickyScroll`,`Toggle Editor Sticky Scroll`),mnemonicTitle:b({key:`mitoggleStickyScroll`,comment:[`&& denotes a mnemonic`]},`&&Toggle Editor Sticky Scroll`)},metadata:{description:T(`toggleEditorStickyScroll.description`,`Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport`)},category:YA.View,toggled:{condition:E.equals(`config.editor.stickyScroll.enabled`,!0),title:b(`stickyScroll`,`Sticky Scroll`),mnemonicTitle:b({key:`miStickyScroll`,comment:[`&& denotes a mnemonic`]},`&&Sticky Scroll`)},menu:[{id:C.CommandPalette},{id:C.MenubarAppearanceMenu,group:`4_editor`,order:3},{id:C.StickyScrollContext}]})}async run(e){let t=e.get(Va),n=!t.getValue(`editor.stickyScroll.enabled`);return t.updateValue(`editor.stickyScroll.enabled`,n)}},Dj=100,Oj=class extends ar{constructor(){super({id:`editor.action.focusStickyScroll`,title:{...T(`focusStickyScroll`,`Focus on the editor sticky scroll`),mnemonicTitle:b({key:`mifocusStickyScroll`,comment:[`&& denotes a mnemonic`]},`&&Focus Sticky Scroll`)},precondition:E.and(E.has(`config.editor.stickyScroll.enabled`),x.stickyScrollVisible),menu:[{id:C.CommandPalette}]})}runEditorCommand(e,t){var n;(n=Tj.get(t))==null||n.focus()}},kj=class extends ar{constructor(){super({id:`editor.action.selectNextStickyScrollLine`,title:T(`selectNextStickyScrollLine.title`,`Select the next editor sticky scroll line`),precondition:x.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Dj,primary:18}})}runEditorCommand(e,t){var n;(n=Tj.get(t))==null||n.focusNext()}},Aj=class extends ar{constructor(){super({id:`editor.action.selectPreviousStickyScrollLine`,title:T(`selectPreviousStickyScrollLine.title`,`Select the previous sticky scroll line`),precondition:x.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Dj,primary:16}})}runEditorCommand(e,t){var n;(n=Tj.get(t))==null||n.focusPrevious()}},jj=class extends ar{constructor(){super({id:`editor.action.goToFocusedStickyScrollLine`,title:T(`goToFocusedStickyScrollLine.title`,`Go to the focused sticky scroll line`),precondition:x.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Dj,primary:3}})}runEditorCommand(e,t){var n;(n=Tj.get(t))==null||n.goToFocused()}},Mj=class extends ar{constructor(){super({id:`editor.action.selectEditor`,title:T(`selectEditor.title`,`Select Editor`),precondition:x.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Dj,primary:9}})}runEditorCommand(e,t){var n;(n=Tj.get(t))==null||n.selectEditor()}};D(Tj.ID,Tj,1),A(Ej),A(Oj),A(Aj),A(kj),A(jj),A(Mj);var Nj=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},Pj=function(e,t){return function(n,r){t(n,r,e)}},Fj=class{constructor(e,t,n,r,i,a){this.range=e,this.insertText=t,this.filterText=n,this.additionalTextEdits=r,this.command=i,this.completion=a}},Ij=class extends za{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),i=Ge.slice(t,n),a=Ge.slice(t,0,n),o=5;for(let t of Ge.concat(i,a)){if(t.score===Jn.Default)continue;let n=new r(t.editStart.lineNumber,t.editStart.column,t.editInsertEnd.lineNumber,t.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),i=t.completion.insertTextRules&&t.completion.insertTextRules&4?{snippet:t.completion.insertText}:t.completion.insertText;e.push(new Fj(n,i,t.filterTextLow??t.labelLow,t.completion.additionalTextEdits,t.completion.command,t)),o-->=0&&t.resolve(H.None)}return e}};Ij=Nj([Pj(5,rw)],Ij);var Lj=class extends U{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,i){if(n.selectedSuggestionInfo)return;let a;for(let t of this._editorService.listCodeEditors())if(t.getModel()===e){a=t;break}if(!a)return;let o=a.getOption(89);if(vC.isAllOff(o))return;e.tokenization.tokenizeIfCheap(t.lineNumber);let s=e.tokenization.getLineTokens(t.lineNumber),c=s.getStandardTokenType(s.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(vC.valueFor(o,c)!==`inline`)return;let l=e.getWordAtPosition(t),u;if(l?.word||(u=this._getTriggerCharacterInfo(e,t)),!l?.word&&!u||(l||=e.getWordUntilPosition(t),l.endColumn!==t.column))return;let d,f=e.getValueInRange(new r(t.lineNumber,1,t.lineNumber,t.column));if(!u&&this._lastResult?.canBeReused(e,t.lineNumber,l)){let e=new hw(f,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=e,this._lastResult.acquire(),d=this._lastResult}else{let n=await dC(this._languageFeatureService.completionProvider,e,t,new sC(void 0,Cw.createSuggestFilter(a).itemKind,u?.providers),u&&{triggerKind:1,triggerCharacter:u.ch},i),r;n.needsClipboard&&(r=await this._clipboardService.readText());let o=new gw(n.items,t.column,new hw(f,0),mw.None,a.getOption(118),a.getOption(112),{boostFullMatch:!1,firstMatchCanBeWeak:!1},r);d=new Ij(e,t.lineNumber,l,o,n,this._suggestMemoryService)}return this._lastResult=d,d}handleItemDidShow(e,t){t.completion.resolve(H.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){let n=e.getValueInRange(r.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),i=new Set;for(let t of this._languageFeatureService.completionProvider.all(e))t.triggerCharacters?.includes(n)&&i.add(t);if(i.size!==0)return{providers:i,ch:n}}};Lj=Nj([Pj(0,g),Pj(1,Tn),Pj(2,rw),Pj(3,lo)],Lj),po(Lj),y(class extends J{constructor(){super({id:`editor.action.forceRetokenize`,label:b(`forceRetokenize`,`Developer: Force Retokenize`),alias:`Developer: Force Retokenize`,precondition:void 0})}run(e,t){if(!t.hasModel())return;let n=t.getModel();n.tokenization.resetTokenization();let r=new Oa;n.tokenization.forceTokenization(n.getLineCount()),r.stop(),console.log(`tokenization took ${r.elapsed()}`)}});var Rj=class e extends jn{constructor(){super({id:e.ID,title:T({key:`toggle.tabMovesFocus`,comment:[`Turn on/off use of tab key for moving focus around VS Code`]},`Toggle Tab Key Moves Focus`),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},metadata:{description:T(`tabMovesFocusDescriptions`,`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=!Pe.getTabFocusMode();Pe.setTabFocusMode(e),_n(e?b(`toggle.tabMovesFocus.on`,`Pressing Tab will now move focus to the next focusable element`):b(`toggle.tabMovesFocus.off`,`Pressing Tab will now insert the tab character`))}};Rj.ID=`editor.action.toggleTabFocusMode`,A(Rj);var zj=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},Bj=function(e,t){return function(n,r){t(n,r,e)}},Vj=class extends U{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=Y(e,K(`a.monaco-link`,{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=n.hoverDelegate??Ni(`mouse`),this.setTooltip(t.title),this.el.setAttribute(`role`,`button`);let a=this._register(new qa(this.el,`click`)),o=this._register(new qa(this.el,`keypress`)),s=xc.chain(o.event,e=>e.map(e=>new Qs(e)).filter(e=>e.keyCode===3)),c=this._register(new qa(this.el,il.Tap)).event;this._register(Vi.addTarget(this.el));let l=xc.any(a.event,s,c);this._register(l(e=>{this.enabled&&(Ma.stop(e,!0),n?.opener?n.opener(this._link.href):i.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=e??``:!this.hover&&e?this.hover=this._register(this._hoverService.setupUpdatableHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};Vj=zj([Bj(3,Fi),Bj(4,hi)],Vj);var Hj=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},Uj=function(e,t){return function(n,r){t(n,r,e)}},Wj=26,Gj=class extends U{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(Kj))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{var t;this.hide(),(t=e.onClose)==null||t.call(e)}}),this._editor.setBanner(this.banner.element,Wj)}};Gj=Hj([Uj(1,I)],Gj);var Kj=class extends U{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(Oo,{}),this.element=K(`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=K(`span`);return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Ki(this.element)}show(e){Ki(this.element);let t=this.getAriaLabel(e);t&&this.element.setAttribute(`aria-label`,t);let n=Y(this.element,K(`div.icon-container`));n.setAttribute(`aria-hidden`,`true`),e.icon&&n.appendChild(K(`div${P.asCSSSelector(e.icon)}`));let r=Y(this.element,K(`div.message-container`));if(r.setAttribute(`aria-hidden`,`true`),r.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=Y(this.element,K(`div.message-actions-container`)),e.actions)for(let t of e.actions)this._register(this.instantiationService.createInstance(Vj,this.messageActionsContainer,{...t,tabIndex:-1},{}));let i=Y(this.element,K(`div.action-container`));this.actionBar=this._register(new Ic(i)),this.actionBar.push(this._register(new Bn(`banner.close`,`Close Banner`,P.asClassName(ae),!0,()=>{typeof e.onClose==`function`&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};Kj=Hj([Uj(0,I)],Kj);var 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=ul(`extensions-warning-message`,N.warning,b(`warningIcon`,`Icon shown with a warning message in the extensions editor.`)),Xj=class extends U{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:b(`unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters`,`This document contains many non-basic ASCII unicode characters`),command:new dM};else if(e.ambiguousCharacterCount>=t)n={message:b(`unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters`,`This document contains many ambiguous unicode characters`),command:new lM};else if(e.invisibleCharacterCount>=t)n={message:b(`unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters`,`This document contains many invisible unicode characters`),command:new uM};else throw Error(`Unreachable`);this._bannerController.show({id:`unicodeHighlightBanner`,message:n.message,icon:Yj,actions:[{label:n.command.shortLabel,href:`command:${n.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(r.createInstance(Gj,e)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=e.getOption(125),this._register(n.onDidChangeTrust(e=>{this._updateHighlighter()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(125)&&(this._options=e.getOption(125),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=Zj(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`?new Intl.NumberFormat().resolvedOptions().locale:e===`_vscode`?Vr:e)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new Qj(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new $j(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}};Xj.ID=`editor.contrib.unicodeHighlighter`,Xj=qj([Jj(1,Di),Jj(2,tc),Jj(3,I)],Xj);function Zj(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 Qj=class extends U{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 Hn(()=>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:oM.instance.getDecorationFromOptions(this._options)});this._decorations.set(n)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;let t=this._editor.getModel();return Gi(t,e)?{reason:aM(t.getValueInRange(e.range),this._options),inComment:Pc(t,e),inString:cl(t,e)}:null}};Qj=qj([Jj(3,Di)],Qj);var $j=class extends U{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 Hn(()=>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=In.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:oM.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 Gi(t,e)?{reason:aM(n,this._options),inComment:Pc(t,e),inString:cl(t,e)}:null}},eM=b(`unicodeHighlight.configureUnicodeHighlightOptions`,`Configure Unicode Highlight Options`),tM=class{constructor(e,t,n){this._editor=e,this._languageService=t,this._openerService=n,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];let n=this._editor.getModel(),r=this._editor.getContribution(Xj.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=rM(s),l;switch(t.reason.kind){case 0:l=Jc(t.reason.confusableWith)?b(`unicodeHighlight.characterIsAmbiguousASCII`,`The character {0} could be confused with the ASCII character {1}, which is more common in source code.`,c,rM(t.reason.confusableWith.codePointAt(0))):b(`unicodeHighlight.characterIsAmbiguous`,`The character {0} could be confused with the character {1}, which is more common in source code.`,c,rM(t.reason.confusableWith.codePointAt(0)));break;case 1:l=b(`unicodeHighlight.characterIsInvisible`,`The character {0} is invisible.`,c);break;case 2:l=b(`unicodeHighlight.characterIsNonBasicAscii`,`The character {0} is not a basic ASCII character.`,c);break}if(a.has(l))continue;a.add(l);let u={codePoint:s,reason:t.reason,inComment:t.inComment,inString:t.inString},d=b(`unicodeHighlight.adjustSettings`,`Adjust settings`),f=`command:${fM.ID}?${encodeURIComponent(JSON.stringify(u))}`,p=new An(``,!0).appendMarkdown(l).appendText(` `).appendLink(f,d,eM);i.push(new zh(this,e.range,[p],!1,o++))}return i}renderHoverParts(e,t){return Uh(e,t,this._editor,this._languageService,this._openerService)}};tM=qj([Jj(1,Xa),Jj(2,hi)],tM);function nM(e){return`U+${e.toString(16).padStart(4,`0`)}`}function rM(e){let t=`\`${nM(e)}\``;return yc.isInvisibleCharacter(e)||(t+=` "${`${iM(e)}`}"`),t}function iM(e){return e===96?"`` ` ``":"`"+String.fromCodePoint(e)+"`"}function aM(e,t){return In.computeUnicodeHighlightReason(e,t)}var oM=class{constructor(){this.map=new Map}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){let n=`${e}${t}`,r=this.map.get(n);return r||(r=k.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}};oM.instance=new oM;var sM=class extends J{constructor(){super({id:lM.ID,label:b(`action.unicodeHighlight.disableHighlightingInComments`,`Disable highlighting of characters in comments`),alias:`Disable highlighting of characters in comments`,precondition:void 0}),this.shortLabel=b(`unicodeHighlight.disableHighlightingInComments.shortLabel`,`Disable Highlight In Comments`)}async run(e,t,n){let r=e?.get(Va);r&&this.runAction(r)}async runAction(e){await e.updateValue(un.includeComments,!1,2)}},cM=class extends J{constructor(){super({id:lM.ID,label:b(`action.unicodeHighlight.disableHighlightingInStrings`,`Disable highlighting of characters in strings`),alias:`Disable highlighting of characters in strings`,precondition:void 0}),this.shortLabel=b(`unicodeHighlight.disableHighlightingInStrings.shortLabel`,`Disable Highlight In Strings`)}async run(e,t,n){let r=e?.get(Va);r&&this.runAction(r)}async runAction(e){await e.updateValue(un.includeStrings,!1,2)}},lM=class e extends J{constructor(){super({id:e.ID,label:b(`action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters`,`Disable highlighting of ambiguous characters`),alias:`Disable highlighting of ambiguous characters`,precondition:void 0}),this.shortLabel=b(`unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel`,`Disable Ambiguous Highlight`)}async run(e,t,n){let r=e?.get(Va);r&&this.runAction(r)}async runAction(e){await e.updateValue(un.ambiguousCharacters,!1,2)}};lM.ID=`editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters`;var uM=class e extends J{constructor(){super({id:e.ID,label:b(`action.unicodeHighlight.disableHighlightingOfInvisibleCharacters`,`Disable highlighting of invisible characters`),alias:`Disable highlighting of invisible characters`,precondition:void 0}),this.shortLabel=b(`unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel`,`Disable Invisible Highlight`)}async run(e,t,n){let r=e?.get(Va);r&&this.runAction(r)}async runAction(e){await e.updateValue(un.invisibleCharacters,!1,2)}};uM.ID=`editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters`;var dM=class e extends J{constructor(){super({id:e.ID,label:b(`action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters`,`Disable highlighting of non basic ASCII characters`),alias:`Disable highlighting of non basic ASCII characters`,precondition:void 0}),this.shortLabel=b(`unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel`,`Disable Non ASCII Highlight`)}async run(e,t,n){let r=e?.get(Va);r&&this.runAction(r)}async runAction(e){await e.updateValue(un.nonBasicASCII,!1,2)}};dM.ID=`editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters`;var fM=class e extends J{constructor(){super({id:e.ID,label:b(`action.unicodeHighlight.showExcludeOptions`,`Show Exclude Options`),alias:`Show Exclude Options`,precondition:void 0})}async run(e,t,n){let{codePoint:r,reason:i,inString:a,inComment:o}=n,s=String.fromCodePoint(r),c=e.get(pa),l=e.get(Va);function u(e){return yc.isInvisibleCharacter(e)?b(`unicodeHighlight.excludeInvisibleCharFromBeingHighlighted`,`Exclude {0} (invisible character) from being highlighted`,nM(e)):b(`unicodeHighlight.excludeCharFromBeingHighlighted`,`Exclude {0} from being highlighted`,`${nM(e)} "${s}"`)}let d=[];if(i.kind===0)for(let e of i.notAmbiguousInLocales)d.push({label:b(`unicodeHighlight.allowCommonCharactersInLanguage`,`Allow unicode characters that are more common in the language "{0}".`,e),run:async()=>{mM(l,[e])}});if(d.push({label:u(r),run:()=>pM(l,[r])}),o){let e=new sM;d.push({label:e.label,run:async()=>e.runAction(l)})}else if(a){let e=new cM;d.push({label:e.label,run:async()=>e.runAction(l)})}if(i.kind===0){let e=new lM;d.push({label:e.label,run:async()=>e.runAction(l)})}else if(i.kind===1){let e=new uM;d.push({label:e.label,run:async()=>e.runAction(l)})}else if(i.kind===2){let e=new dM;d.push({label:e.label,run:async()=>e.runAction(l)})}else hM(i);let f=await c.pick(d,{title:eM});f&&await f.run()}};fM.ID=`editor.action.unicodeHighlight.showExcludeOptions`;async function pM(e,t){let n=e.getValue(un.allowedCharacters),r;r=typeof n==`object`&&n?n:{};for(let e of t)r[String.fromCodePoint(e)]=!0;await e.updateValue(un.allowedCharacters,r,2)}async function mM(e,t){let n=e.inspect(un.allowedLocales).user?.value,r;r=typeof n==`object`&&n?Object.assign({},n):{};for(let e of t)r[e]=!0;await e.updateValue(un.allowedLocales,r,2)}function hM(e){throw Error(`Unexpected value: ${e}`)}y(lM),y(uM),y(dM),y(fM),D(Xj.ID,Xj,1),Oh.register(tM);var gM=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},_M=function(e,t){return function(n,r){t(n,r,e)}},vM=`ignoreUnusualLineTerminators`;function yM(e,t,n){e.setModelProperty(t.uri,vM,n)}function bM(e,t){return e.getModelProperty(t.uri,vM)}var xM=class extends U{constructor(e,t,n){super(),this._editor=e,this._dialogService=t,this._codeEditorService=n,this._isPresentingDialog=!1,this._config=this._editor.getOption(126),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(126)&&(this._config=this._editor.getOption(126),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()||bM(this._codeEditorService,e)===!0||this._editor.getOption(91))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:b(`unusualLineTerminators.title`,`Unusual Line Terminators`),message:b(`unusualLineTerminators.message`,`Detected unusual line terminators`),detail:b(`unusualLineTerminators.detail`,`The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).
52
+
53
+ It is recommended to remove them from the file. This can be configured via \`editor.unusualLineTerminators\`.`,Re(e.uri)),primaryButton:b({key:`unusualLineTerminators.fix`,comment:[`&& denotes a mnemonic`]},`&&Remove Unusual Line Terminators`),cancelButton:b(`unusualLineTerminators.ignore`,`Ignore`)})}finally{this._isPresentingDialog=!1}if(!t.confirmed){yM(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}};xM.ID=`editor.contrib.unusualLineTerminatorsDetector`,xM=gM([_M(1,Es),_M(2,lo)],xM),D(xM.ID,xM,1);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)}},wM,TM,EM=new w(`hasWordHighlights`,!1);function DM(e,t,n,r){return Vs(e.ordered(t).map(e=>()=>Promise.resolve(e.provideDocumentHighlights(t,n,r)).then(void 0,Oe)),Pa).then(e=>{if(e){let n=new hs;return n.set(t.uri,e),n}return new hs})}function OM(e,t,n,r,i,a){return Vs(e.ordered(t).map(e=>()=>{let r=a.filter(e=>Gs(e)).filter(t=>rc(e.selector,t.uri,t.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(e.provideMultiDocumentHighlights(t,n,r,i)).then(void 0,Oe)}),e=>e instanceof hs&&e.size>0)}var kM=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||=lc(e=>this._compute(this._model,this._selection,this._wordSeparators,e)),this._result}_getCurrentWordRange(e,t){let n=e.getWordAtPosition(t.getPosition());return n?new r(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):null}isValid(e,t,n){let r=t.startLineNumber,i=t.startColumn,a=t.endColumn,o=this._getCurrentWordRange(e,t),s=!!(this._wordRange&&this._wordRange.equalsRange(o));for(let e=0,t=n.length;!s&&e<t;e++){let t=n.getRange(e);t&&t.startLineNumber===r&&t.startColumn<=i&&t.endColumn>=a&&(s=!0)}return s}cancel(){this.result.cancel()}},AM=class extends kM{constructor(e,t,n,r){super(e,t,n),this._providers=r}_compute(e,t,n,r){return DM(this._providers,e,t.getPosition(),r).then(e=>e||new hs)}},jM=class extends kM{constructor(e,t,n,r,i){super(e,t,n),this._providers=r,this._otherModels=i}_compute(e,t,n,r){return OM(this._providers,e,t.getPosition(),n,r,this._otherModels).then(e=>e||new hs)}},MM=class extends kM{constructor(e,t,n,r,i){super(e,t,r),this._otherModels=i,this._selectionIsEmpty=t.isEmpty(),this._word=n}_compute(e,t,n,r){return Ai(250,r).then(()=>{let r=new hs,i;if(i=this._word?this._word:e.getWordAtPosition(t.getPosition()),!i)return new hs;let a=[e,...this._otherModels];for(let e of a){if(e.isDisposed())continue;let t=e.findMatches(i.word,!0,!1,!0,n,!1).map(e=>({range:e.range,kind:gt.Text}));t&&r.set(e.uri,t)}return r})}isValid(e,t,n){let r=t.isEmpty();return this._selectionIsEmpty===r?super.isValid(e,t,n):!1}};function NM(e,t,n,r,i){return e.has(t)?new AM(t,n,i,e):new MM(t,n,r,i,[])}function PM(e,t,n,r,i,a){return e.has(t)?new jM(t,n,i,e,a):new MM(t,n,r,i,a)}te(`_executeDocumentHighlights`,async(e,t,n)=>(await DM(e.get(g).documentHighlightProvider,t,n,H.None))?.get(t.uri));var FM=wM=class{constructor(e,t,n,r,i){this.toUnhook=new V,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new hs,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this.providers=t,this.multiDocumentProviders=n,this.codeEditorService=i,this._hasWordHighlights=EM.bindTo(r),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(81),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(e=>{this._ignorePositionChangeEvent||this.occurrencesHighlight!==`off`&&this._onPositionChanged(e)})),this.toUnhook.add(e.onDidFocusEditorText(e=>{this.occurrencesHighlight!==`off`&&(this.workerRequest||this._run())})),this.toUnhook.add(e.onDidChangeModelContent(e=>{this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(e=>{!e.newModelUrl&&e.oldModelUrl?this._stopSingular():wM.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(e=>{let t=this.editor.getOption(81);this.occurrencesHighlight!==t&&(this.occurrencesHighlight=t,this._stopAll())})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,wM.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!==`off`&&this._run()}_getSortedHighlights(){return this.decorations.getRanges().sort(r.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();r&&_n(`${this.editor.getModel().getLineContent(n.startLineNumber)}, ${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();r&&_n(`${this.editor.getModel().getLineContent(n.startLineNumber)}, ${t+1} of ${e.length} for '${r.word}'`)}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;let e=wM.storedDecorations.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),wM.storedDecorations.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(){let e=this.codeEditorService.listCodeEditors(),t=[];for(let n of e){if(!n.hasModel())continue;let e=wM.storedDecorations.get(n.getModel().uri);if(!e)continue;n.removeDecorations(e),t.push(n.getModel().uri);let r=IM.get(n);r?.wordHighlighter&&r.wordHighlighter.decorations.length>0&&(r.wordHighlighter.decorations.clear(),r.wordHighlighter.workerRequest=null,r.wordHighlighter._hasWordHighlights.set(!1))}for(let e of t)wM.storedDecorations.delete(e)}_stopSingular(){this._removeSingleDecorations(),this.editor.hasTextFocus()&&(this.editor.getModel()?.uri.scheme!==Ls.vscodeNotebookCell&&(wM.query?.modelInfo)?.model.uri.scheme!==Ls.vscodeNotebookCell?(wM.query=null,this._run()):wM.query?.modelInfo&&(wM.query.modelInfo=null)),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||=(this.workerRequestTokenId++,!0)}_stopAll(){this._removeAllDecorations(),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||=(this.workerRequestTokenId++,!0)}_onPositionChanged(e){if(this.occurrencesHighlight===`off`){this._stopAll();return}if(e.reason!==3&&this.editor.getModel()?.uri.scheme!==Ls.vscodeNotebookCell){this._stopAll();return}this._run()}_getWord(){let e=this.editor.getSelection(),t=e.startLineNumber,n=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:n})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===Ls.vscodeNotebookCell){let t=[],n=this.codeEditorService.listCodeEditors();for(let r of n){let n=r.getModel();n&&n!==e&&n.uri.scheme===Ls.vscodeNotebookCell&&t.push(n)}return t}let t=[],n=this.codeEditorService.listCodeEditors();for(let r of n){if(!$n(r))continue;let n=r.getModel();n&&e===n.modified&&t.push(n.modified)}if(t.length)return t;if(this.occurrencesHighlight===`singleFile`)return[];for(let r of n){let n=r.getModel();n&&n!==e&&t.push(n)}return t}_run(){var e;let t;if(this.editor.hasTextFocus()){let e=this.editor.getSelection();if(!e||e.startLineNumber!==e.endLineNumber){wM.query=null,this._stopAll();return}let n=e.startColumn,r=e.endColumn,i=this._getWord();if(!i||i.startColumn>n||i.endColumn<r){wM.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,e,this.decorations),wM.query={modelInfo:{model:this.model,selection:e},word:i}}else if(!wM.query)return;if(this.lastCursorPositionChangeTime=new Date().getTime(),t)this.workerRequestCompleted&&this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else{this._stopAll();let t=++this.workerRequestTokenId;this.workerRequestCompleted=!1;let n=this.getOtherModelsToHighlight(this.editor.getModel());if(!wM.query.modelInfo||wM.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(wM.query.modelInfo.model,wM.query.modelInfo.selection,wM.query.word,n),(e=this.workerRequest)==null||e.result.then(e=>{t===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=e||[],this._beginRenderDecorations())},v)}}computeWithModel(e,t,n,r){return r.length?PM(this.multiDocumentProviders,e,t,n,this.editor.getOption(131),r):NM(this.providers,e,t,n,this.editor.getOption(131))}_beginRenderDecorations(){let e=new Date().getTime(),t=this.lastCursorPositionChangeTime+250;e>=t?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},t-e)}renderDecorations(){var e,t;this.renderDecorationsTimer=-1;let n=this.codeEditorService.listCodeEditors();for(let r of n){let n=IM.get(r);if(!n)continue;let i=[],a=r.getModel()?.uri;if(a&&this.workerRequestValue.has(a)){let o=wM.storedDecorations.get(a),s=this.workerRequestValue.get(a);if(s)for(let e of s)e.range&&i.push({range:e.range,options:DO(e.kind)});let c=[];r.changeDecorations(e=>{c=e.deltaDecorations(o??[],i)}),wM.storedDecorations=wM.storedDecorations.set(a,c),i.length>0&&((e=n.wordHighlighter)==null||e.decorations.set(i),(t=n.wordHighlighter)==null||t._hasWordHighlights.set(!0))}}}dispose(){this._stopSingular(),this.toUnhook.dispose()}};FM.storedDecorations=new hs,FM.query=null,FM=wM=SM([CM(4,lo)],FM);var IM=TM=class extends U{static get(e){return e.getContribution(TM.ID)}constructor(e,t,n,r){super(),this._wordHighlighter=null;let i=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new FM(e,n.documentHighlightProvider,n.multiDocumentHighlightProvider,t,r))};this._register(e.onDidChangeModel(e=>{this._wordHighlighter&&=(this._wordHighlighter.dispose(),null),i()})),i()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){var e;(e=this._wordHighlighter)==null||e.moveNext()}moveBack(){var e;(e=this._wordHighlighter)==null||e.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&=(this._wordHighlighter.dispose(),null),super.dispose()}};IM.ID=`editor.contrib.wordHighlighter`,IM=TM=SM([CM(1,W),CM(2,g),CM(3,lo)],IM);var LM=class extends J{constructor(e,t){super(t),this._isNext=e}run(e,t){let n=IM.get(t);n&&(this._isNext?n.moveNext():n.moveBack())}},RM=class extends LM{constructor(){super(!0,{id:`editor.action.wordHighlight.next`,label:b(`wordHighlight.next.label`,`Go to Next Symbol Highlight`),alias:`Go to Next Symbol Highlight`,precondition:EM,kbOpts:{kbExpr:x.editorTextFocus,primary:65,weight:100}})}},zM=class extends LM{constructor(){super(!1,{id:`editor.action.wordHighlight.prev`,label:b(`wordHighlight.previous.label`,`Go to Previous Symbol Highlight`),alias:`Go to Previous Symbol Highlight`,precondition:EM,kbOpts:{kbExpr:x.editorTextFocus,primary:1089,weight:100}})}},BM=class extends J{constructor(){super({id:`editor.action.wordHighlight.trigger`,label:b(`wordHighlight.trigger.label`,`Trigger Symbol Highlight`),alias:`Trigger Symbol Highlight`,precondition:EM.toNegated(),kbOpts:{kbExpr:x.editorTextFocus,primary:0,weight:100}})}run(e,t,n){let r=IM.get(t);r&&r.restoreViewState(!0)}};D(IM.ID,IM,0),y(RM),y(zM),y(BM);var VM=class extends be{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,n){if(!t.hasModel())return;let r=so(t.getOption(131),t.getOption(130)),i=t.getModel(),a=t.getSelections().map(e=>{let t=new R(e.positionLineNumber,e.positionColumn),n=this._move(r,i,t,this._wordNavigationType);return this._moveTo(e,n,this._inSelectionMode)});if(i.pushStackElement(),t._getViewModel().setCursorStates(`moveWordCommand`,3,a.map(e=>ji.fromModelSelection(e))),a.length===1){let e=new R(a[0].positionLineNumber,a[0].positionColumn);t.revealPosition(e,0)}}_moveTo(e,t,n){return n?new O(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new O(t.lineNumber,t.column,t.lineNumber,t.column)}},HM=class extends VM{_move(e,t,n,r){return c.moveWordLeft(e,t,n,r)}},UM=class extends VM{_move(e,t,n,r){return c.moveWordRight(e,t,n,r)}},WM=class extends HM{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:`cursorWordStartLeft`,precondition:void 0})}},GM=class extends HM{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordEndLeft`,precondition:void 0})}},KM=class extends HM{constructor(){super({inSelectionMode:!1,wordNavigationType:1,id:`cursorWordLeft`,precondition:void 0,kbOpts:{kbExpr:E.and(x.textInputFocus,E.and(Rc,Fn)?.negate()),primary:2063,mac:{primary:527},weight:100}})}},qM=class extends HM{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:`cursorWordStartLeftSelect`,precondition:void 0})}},JM=class extends HM{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordEndLeftSelect`,precondition:void 0})}},YM=class extends HM{constructor(){super({inSelectionMode:!0,wordNavigationType:1,id:`cursorWordLeftSelect`,precondition:void 0,kbOpts:{kbExpr:E.and(x.textInputFocus,E.and(Rc,Fn)?.negate()),primary:3087,mac:{primary:1551},weight:100}})}},XM=class extends HM{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:`cursorWordAccessibilityLeft`,precondition:void 0})}_move(e,t,n,r){return super._move(so(h.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r)}},ZM=class extends HM{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:`cursorWordAccessibilityLeftSelect`,precondition:void 0})}_move(e,t,n,r){return super._move(so(h.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r)}},QM=class extends UM{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:`cursorWordStartRight`,precondition:void 0})}},$M=class extends UM{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordEndRight`,precondition:void 0,kbOpts:{kbExpr:E.and(x.textInputFocus,E.and(Rc,Fn)?.negate()),primary:2065,mac:{primary:529},weight:100}})}},eN=class extends UM{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordRight`,precondition:void 0})}},tN=class extends UM{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:`cursorWordStartRightSelect`,precondition:void 0})}},nN=class extends UM{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordEndRightSelect`,precondition:void 0,kbOpts:{kbExpr:E.and(x.textInputFocus,E.and(Rc,Fn)?.negate()),primary:3089,mac:{primary:1553},weight:100}})}},rN=class extends UM{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordRightSelect`,precondition:void 0})}},iN=class extends UM{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:`cursorWordAccessibilityRight`,precondition:void 0})}_move(e,t,n,r){return super._move(so(h.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r)}},aN=class extends UM{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:`cursorWordAccessibilityRightSelect`,precondition:void 0})}_move(e,t,n,r){return super._move(so(h.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r)}},oN=class extends be{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,n){let r=e.get(Cc);if(!t.hasModel())return;let i=so(t.getOption(131),t.getOption(130)),a=t.getModel(),o=t.getSelections(),s=t.getOption(6),c=t.getOption(11),l=r.getLanguageConfiguration(a.getLanguageId()).getAutoClosingPairs(),u=t._getViewModel(),d=o.map(e=>new ns(this._delete({wordSeparators:i,model:a,selection:e,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:s,autoClosingQuotes:c,autoClosingPairs:l,autoClosedCharacters:u.getCursorAutoClosedCharacters()},this._wordNavigationType),``));t.pushUndoStop(),t.executeCommands(this.id,d),t.pushUndoStop()}},sN=class extends oN{_delete(e,t){return c.deleteWordLeft(e,t)||new r(1,1,1,1)}},cN=class extends oN{_delete(e,t){let n=c.deleteWordRight(e,t);if(n)return n;let i=e.model.getLineCount(),a=e.model.getLineMaxColumn(i);return new r(i,a,i,a)}},lN=class extends sN{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:`deleteWordStartLeft`,precondition:x.writable})}},uN=class extends sN{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:`deleteWordEndLeft`,precondition:x.writable})}},dN=class extends sN{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:`deleteWordLeft`,precondition:x.writable,kbOpts:{kbExpr:x.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}},fN=class extends cN{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:`deleteWordStartRight`,precondition:x.writable})}},pN=class extends cN{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:`deleteWordEndRight`,precondition:x.writable})}},mN=class extends cN{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:`deleteWordRight`,precondition:x.writable,kbOpts:{kbExpr:x.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}},hN=class extends J{constructor(){super({id:`deleteInsideWord`,precondition:x.writable,label:b(`deleteInsideWord`,`Delete Word`),alias:`Delete Word`})}run(e,t,n){if(!t.hasModel())return;let r=so(t.getOption(131),t.getOption(130)),i=t.getModel(),a=t.getSelections().map(e=>new ns(c.deleteInsideWord(r,i,e),``));t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}};_(new WM),_(new GM),_(new KM),_(new qM),_(new JM),_(new YM),_(new QM),_(new $M),_(new eN),_(new tN),_(new nN),_(new rN),_(new XM),_(new ZM),_(new iN),_(new aN),_(new lN),_(new uN),_(new dN),_(new fN),_(new pN),_(new mN),y(hN);var gN=class extends oN{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:`deleteWordPartLeft`,precondition:x.writable,kbOpts:{kbExpr:x.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){return _a.deleteWordPartLeft(e)||new r(1,1,1,1)}},_N=class extends oN{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:`deleteWordPartRight`,precondition:x.writable,kbOpts:{kbExpr:x.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){let n=_a.deleteWordPartRight(e);if(n)return n;let i=e.model.getLineCount(),a=e.model.getLineMaxColumn(i);return new r(i,a,i,a)}},vN=class extends VM{_move(e,t,n,r){return _a.moveWordPartLeft(e,t,n)}},yN=class extends vN{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:`cursorWordPartLeft`,precondition:void 0,kbOpts:{kbExpr:x.textInputFocus,primary:0,mac:{primary:783},weight:100}})}};M.registerCommandAlias(`cursorWordPartStartLeft`,`cursorWordPartLeft`);var bN=class extends vN{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:`cursorWordPartLeftSelect`,precondition:void 0,kbOpts:{kbExpr:x.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}};M.registerCommandAlias(`cursorWordPartStartLeftSelect`,`cursorWordPartLeftSelect`);var xN=class extends VM{_move(e,t,n,r){return _a.moveWordPartRight(e,t,n)}},SN=class extends xN{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordPartRight`,precondition:void 0,kbOpts:{kbExpr:x.textInputFocus,primary:0,mac:{primary:785},weight:100}})}},CN=class extends xN{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordPartRightSelect`,precondition:void 0,kbOpts:{kbExpr:x.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}};_(new gN),_(new _N),_(new yN),_(new bN),_(new SN),_(new CN);var wN=class extends U{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){let e=Jd.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(92);t||=this.editor.isSimpleWidget?new An(b(`editor.simple.readonly`,`Cannot edit in read-only input`)):new An(b(`editor.readonly`,`Cannot edit in read-only editor`)),e.showMessage(t,this.editor.getPosition())}}};wN.ID=`editor.contrib.readOnlyMessageController`,D(wN.ID,wN,2);var TN=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},EN=function(e,t){return function(n,r){t(n,r,e)}},DN=class extends U{constructor(e,t,n){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=n,this._currentModel=ti(this,void 0);let r=Qn(`documentSymbolProvider.onDidChange`,this._languageFeaturesService.documentSymbolProvider.onDidChange),i=Qn(`_textModel.onDidChangeContent`,xc.debounce(e=>this._textModel.onDidChangeContent(e),()=>void 0,100));this._register(Dr(async(e,t)=>{r.read(e),i.read(e);let n=t.add(new Co),a=await this._outlineModelService.getOrCreate(this._textModel,n.token);t.isDisposed||this._currentModel.set(a,void 0)}))}getBreadcrumbItems(e,t){let n=this._currentModel.read(t);if(!n)return[];let r=n.asListOfDocumentSymbols().filter(t=>e.contains(t.range.startLineNumber)&&!e.contains(t.range.endLineNumber));return r.sort(eo(oc(e=>e.range.endLineNumber-e.range.startLineNumber,ks))),r.map(e=>({name:e.name,kind:e.kind,startLineNumber:e.range.startLineNumber}))}};DN=TN([EN(1,g),EN(2,pS)],DN),we.setBreadcrumbsSourceFactory((e,t)=>t.createInstance(DN,e));var ON=class extends U{constructor(e){super(),this.editor=e,this.widget=null,Wt&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){let e=!this.editor.getOption(91);!this.widget&&e?this.widget=new kN(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&=(this.widget.dispose(),null)}};ON.ID=`editor.contrib.iPadShowKeyboard`;var kN=class e extends U{constructor(e){super(),this.editor=e,this._domNode=document.createElement(`textarea`),this._domNode.className=`iPadShowKeyboard`,this._register(z(this._domNode,`touchstart`,e=>{this.editor.focus()})),this._register(z(this._domNode,`focus`,e=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return e.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};kN.ID=`editor.contrib.ShowKeyboardWidget`,D(ON.ID,ON,3);var AN=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},jN=function(e,t){return function(n,r){t(n,r,e)}},MN,NN=MN=class extends U{static get(e){return e.getContribution(MN.ID)}constructor(e,t,n){super(),this._editor=e,this._languageService=n,this._widget=null,this._register(this._editor.onDidChangeModel(e=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(e=>this.stop())),this._register(Tt.onDidChange(e=>this.stop())),this._register(this._editor.onKeyUp(e=>e.keyCode===9&&this.stop()))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new LN(this._editor,this._languageService))}stop(){this._widget&&=(this._widget.dispose(),null)}};NN.ID=`editor.contrib.inspectTokens`,NN=MN=AN([jN(1,Ve),jN(2,Xa)],NN);var PN=class extends J{constructor(){super({id:`editor.action.inspectTokens`,label:Lo.inspectTokensAction,alias:`Developer: Inspect Tokens`,precondition:void 0})}run(e,t){NN.get(t)?.launch()}};function FN(e){let t=``;for(let n=0,r=e.length;n<r;n++){let r=e.charCodeAt(n);switch(r){case 9:t+=`→`;break;case 32:t+=`·`;break;default:t+=String.fromCharCode(r)}}return t}function IN(e,t){let n=Tt.get(t);if(n)return n;let r=e.encodeLanguageId(t);return{getInitialState:()=>ht,tokenize:(e,n,r)=>Vt(t,r),tokenizeEncoded:(e,t,n)=>Wn(r,n)}}var LN=class e extends U{constructor(e,t){super(),this.allowEditorOverflow=!0,this._editor=e,this._languageService=t,this._model=this._editor.getModel(),this._domNode=document.createElement(`div`),this._domNode.className=`tokens-inspect-widget`,this._tokenizationSupport=IN(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(e=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return e._ID}_compute(e){let t=this._getTokensAtLine(e.lineNumber),n=0;for(let r=t.tokens1.length-1;r>=0;r--){let i=t.tokens1[r];if(e.column-1>=i.offset){n=r;break}}let r=0;for(let n=t.tokens2.length>>>1;n>=0;n--)if(e.column-1>=t.tokens2[n<<1]){r=n;break}let i=this._model.getLineContent(e.lineNumber),a=``;if(n<t.tokens1.length){let e=t.tokens1[n].offset,r=n+1<t.tokens1.length?t.tokens1[n+1].offset:i.length;a=i.substring(e,r)}vl(this._domNode,K(`h2.tm-token`,void 0,FN(a),K(`span.tm-token-length`,void 0,`${a.length} ${a.length===1?`char`:`chars`}`))),Y(this._domNode,K(`hr.tokens-inspect-separator`,{style:`clear:both`}));let o=(r<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(r<<1)+1]):null;Y(this._domNode,K(`table.tm-metadata-table`,void 0,K(`tbody`,void 0,K(`tr`,void 0,K(`td.tm-metadata-key`,void 0,`language`),K(`td.tm-metadata-value`,void 0,`${o?o.languageId:`-?-`}`)),K(`tr`,void 0,K(`td.tm-metadata-key`,void 0,`token type`),K(`td.tm-metadata-value`,void 0,`${o?this._tokenTypeToString(o.tokenType):`-?-`}`)),K(`tr`,void 0,K(`td.tm-metadata-key`,void 0,`font style`),K(`td.tm-metadata-value`,void 0,`${o?this._fontStyleToString(o.fontStyle):`-?-`}`)),K(`tr`,void 0,K(`td.tm-metadata-key`,void 0,`foreground`),K(`td.tm-metadata-value`,void 0,`${o?S.Format.CSS.formatHex(o.foreground):`-?-`}`)),K(`tr`,void 0,K(`td.tm-metadata-key`,void 0,`background`),K(`td.tm-metadata-value`,void 0,`${o?S.Format.CSS.formatHex(o.background):`-?-`}`))))),Y(this._domNode,K(`hr.tokens-inspect-separator`)),n<t.tokens1.length&&Y(this._domNode,K(`span.tm-token-type`,void 0,t.tokens1[n].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){let t=Tt.getColorMap(),n=He.getLanguageId(e),r=He.getTokenType(e),i=He.getFontStyle(e),a=He.getForeground(e),o=He.getBackground(e);return{languageId:this._languageService.languageIdCodec.decodeLanguageId(n),tokenType:r,fontStyle:i,foreground:t[a],background:t[o]}}_tokenTypeToString(e){switch(e){case 0:return`Other`;case 1:return`Comment`;case 2:return`String`;case 3:return`RegEx`;default:return`??`}}_fontStyleToString(e){let t=``;return e&1&&(t+=`italic `),e&2&&(t+=`bold `),e&4&&(t+=`underline `),e&8&&(t+=`strikethrough `),t.length===0&&(t=`---`),t}_getTokensAtLine(e){let t=this._getStateBeforeLine(e),n=this._tokenizationSupport.tokenize(this._model.getLineContent(e),!0,t),r=this._tokenizationSupport.tokenizeEncoded(this._model.getLineContent(e),!0,t);return{startState:t,tokens1:n.tokens,tokens2:r.tokens,endState:n.endState}}_getStateBeforeLine(e){let t=this._tokenizationSupport.getInitialState();for(let n=1;n<e;n++)t=this._tokenizationSupport.tokenize(this._model.getLineContent(n),!0,t).endState;return t}getDomNode(){return this._domNode}getPosition(){return{position:this._editor.getPosition(),preference:[2,1]}}};LN._ID=`editor.contrib.inspectTokensWidget`,D(NN.ID,NN,4),y(PN);var 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},zN=function(e,t){return function(n,r){t(n,r,e)}},BN,VN=BN=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=wr.as(Os.Quickaccess)}provide(e){let t=new V;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(BN.PREFIX.length));t&&t.prefix&&t.prefix!==BN.PREFIX&&this.quickInputService.quickAccess.show(t.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(e=>e.prefix!==BN.PREFIX),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().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:b(`helpPickAriaLabel`,`{0}, {1}`,r,t.description),description:t.description}})}};VN.PREFIX=`?`,VN=BN=RN([zN(0,pa),zN(1,$s)],VN),wr.as(Os.Quickaccess).registerQuickAccessProvider({ctor:VN,prefix:``,helpEntries:[{description:ua.helpQuickAccessActionLabel}]});var HN=class{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,n){let r=new V;e.canAcceptInBackground=!!this.options?.canAcceptInBackground,e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let i=r.add(new Ja);return i.value=this.doProvide(e,t,n),r.add(this.onDidActiveTextEditorControlChange(()=>{i.value=void 0,i.value=this.doProvide(e,t)})),r}doProvide(e,t,n){let r=new V,i=this.activeTextEditorControl;if(i&&this.canProvideWithTextEditor(i)){let a={editor:i},o=Ri(i);if(o){let e=i.saveViewState()??void 0;r.add(o.onDidChangeCursorPosition(()=>{e=i.saveViewState()??void 0})),a.restoreViewState=()=>{e&&i===this.activeTextEditorControl&&i.restoreViewState(e)},r.add(Xc(t.onCancellationRequested)(()=>a.restoreViewState?.call(a)))}r.add(Hi(()=>this.clearDecorations(i))),r.add(this.provideWithTextEditor(a,e,t,n))}else r.add(this.provideWithoutTextEditor(e,t));return r}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range,`code.jump`),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus();let n=e.getModel();n&&`getLineContent`in n&&wo(`${n.getLineContent(t.range.startLineNumber)}`)}getModel(e){return $n(e)?e.getModel()?.modified:e.getModel()}addDecorations(e,t){e.changeDecorations(e=>{let n=[];this.rangeHighlightDecorationId&&=(n.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),n.push(this.rangeHighlightDecorationId.rangeHighlightId),void 0);let r=[{range:t,options:{description:`quick-access-range-highlight`,className:`rangeHighlight`,isWholeLine:!0}},{range:t,options:{description:`quick-access-range-highlight-overview`,overviewRuler:{color:ca(Zi),position:as.Full}}}],[i,a]=e.deltaDecorations(n,r);this.rangeHighlightDecorationId={rangeHighlightId:i,overviewRulerDecorationId:a}})}clearDecorations(e){let t=this.rangeHighlightDecorationId;t&&(e.changeDecorations(e=>{e.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}},UN=class e extends HN{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){let t=b(`cannotRunGotoLine`,`Open a text editor first to go to a line.`);return e.items=[{label:t}],e.ariaLabel=t,U.None}provideWithTextEditor(t,n,r){let i=t.editor,a=new V;a.add(n.onDidAccept(e=>{let[r]=n.selectedItems;if(r){if(!this.isValidLineNumber(i,r.lineNumber))return;this.gotoLocation(t,{range:this.toRange(r.lineNumber,r.column),keyMods:n.keyMods,preserveFocus:e.inBackground}),e.inBackground||n.hide()}}));let o=()=>{let t=this.parsePosition(i,n.value.trim().substr(e.PREFIX.length)),r=this.getPickLabel(i,t.lineNumber,t.column);if(n.items=[{lineNumber:t.lineNumber,column:t.column,label:r}],n.ariaLabel=r,!this.isValidLineNumber(i,t.lineNumber)){this.clearDecorations(i);return}let a=this.toRange(t.lineNumber,t.column);i.revealRangeInCenter(a,0),this.addDecorations(i,a)};o(),a.add(n.onDidChangeValue(()=>o()));let s=Ri(i);return s&&s.getOptions().get(68).renderType===2&&(s.updateOptions({lineNumbers:`on`}),a.add(Hi(()=>s.updateOptions({lineNumbers:`relative`})))),a}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){let n=t.split(/,|:|#/).map(e=>parseInt(e,10)).filter(e=>!isNaN(e)),r=this.lineCount(e)+1;return{lineNumber:n[0]>0?n[0]:r+n[0],column:n[1]}}getPickLabel(e,t,n){if(this.isValidLineNumber(e,t))return this.isValidColumn(e,t,n)?b(`gotoLineColumnLabel`,`Go to line {0} and character {1}.`,t,n):b(`gotoLineLabel`,`Go to line {0}.`,t);let r=e.getPosition()||{lineNumber:1,column:1},i=this.lineCount(e);return i>1?b(`gotoLineLabelEmptyWithLimit`,`Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.`,r.lineNumber,r.column,i):b(`gotoLineLabelEmpty`,`Current Line: {0}, Character: {1}. Type a line number to navigate to.`,r.lineNumber,r.column)}isValidLineNumber(e,t){return!t||typeof t!=`number`?!1:t>0&&t<=this.lineCount(e)}isValidColumn(e,t,n){if(!n||typeof n!=`number`)return!1;let r=this.getModel(e);if(!r)return!1;let i={lineNumber:t,column:n};return r.validatePosition(i).equals(i)}lineCount(e){return this.getModel(e)?.getLineCount()??0}};UN.PREFIX=`:`;var WN=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},GN=function(e,t){return function(n,r){t(n,r,e)}},KN=class extends UN{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=xc.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};KN=WN([GN(0,lo)],KN);var qN=class e extends J{constructor(){super({id:e.ID,label:$i.gotoLineActionLabel,alias:`Go to Line/Column...`,precondition:void 0,kbOpts:{kbExpr:x.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(pa).quickAccess.show(KN.PREFIX)}};qN.ID=`editor.action.gotoLine`,y(qN),wr.as(Os.Quickaccess).registerQuickAccessProvider({ctor:KN,prefix:KN.PREFIX,helpEntries:[{description:$i.gotoLineActionLabel,commandId:qN.ID}]});var JN=[void 0,[]];function YN(e,t,n=0,r=0){let i=t;return i.values&&i.values.length>1?XN(e,i.values,n,r):ZN(e,t,n,r)}function XN(e,t,n,r){let i=0,a=[];for(let o of t){let[t,s]=ZN(e,o,n,r);if(typeof t!=`number`)return JN;i+=t,a.push(...s)}return[i,QN(a)]}function ZN(e,t,n,r){let i=lt(t.original,t.originalLowercase,n,e,e.toLowerCase(),r,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return i?[i[0],Nr(i)]:JN}Object.freeze({score:0});function QN(e){let t=e.sort((e,t)=>e.start-t.start),n=[],r;for(let e of t)!r||!$N(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 $N(e,t){return!(e.end<t.start||t.end<e.start)}function eP(e){return e.startsWith(`"`)&&e.endsWith(`"`)}var tP=` `;function nP(e){typeof e!=`string`&&(e=``);let t=e.toLowerCase(),{pathNormalized:n,normalized:r,normalizedLowercase:i}=rP(e),a=n.indexOf(ao)>=0,o=eP(e),s,c=e.split(tP);if(c.length>1)for(let e of c){let t=eP(e),{pathNormalized:n,normalized:r,normalizedLowercase:i}=rP(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 rP(e){let t;t=Sr?e.replace(/\//g,ao):e.replace(/\\/g,ao);let n=p(t).replace(/\s|"/g,``);return{pathNormalized:t,normalized:n,normalizedLowercase:n.toLowerCase()}}function iP(e){return nP(Array.isArray(e)?e.map(e=>e.original).join(tP):e.original)}var aP=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},oP=function(e,t){return function(n,r){t(n,r,e)}},sP,cP=sP=class extends HN{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,b(`cannotRunGotoSymbolWithoutEditor`,`To go to a symbol, first open a text editor with symbol information.`)),U.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):U.None}doProvideWithoutEditorSymbols(e,t,n,r){let i=new V;return this.provideLabelPick(n,b(`cannotRunGotoSymbolWithoutSymbolProvider`,`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 ei,r=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(r.dispose(),n.complete(!0))}));return t.add(Hi(()=>n.complete(!1))),n.p}doProvideWithEditorSymbols(e,t,n,i,a){let o=e.editor,s=new V;s.add(n.onDidAccept(t=>{var r;let[i]=n.selectedItems;i&&i.range&&(this.gotoLocation(e,{range:i.range.selection,keyMods:n.keyMods,preserveFocus:t.inBackground}),(r=a?.handleAccept)==null||r.call(a,i),t.inBackground||n.hide())})),s.add(n.onDidTriggerItemButton(({item:t})=>{t&&t.range&&(this.gotoLocation(e,{range:t.range.selection,keyMods:n.keyMods,forceSideBySide:!0}),n.hide())}));let c=this.getDocumentSymbols(t,i),l,u=async e=>{l?.dispose(!0),n.busy=!1,l=new ec(i),n.busy=!0;try{let a=nP(n.value.substr(sP.PREFIX.length).trim()),o=await this.doGetSymbolPicks(c,a,void 0,l.token,t);if(i.isCancellationRequested)return;if(o.length>0){if(n.items=o,e&&a.original.length===0){let t=Jr(o,t=>!!(t.type!==`separator`&&t.range&&r.containsPosition(t.range.decoration,e)));t&&(n.activeItems=[t])}}else a.original.length>0?this.provideLabelPick(n,b(`noMatchingSymbolResults`,`No matching editor symbols`)):this.provideLabelPick(n,b(`noSymbolResults`,`No editor symbols`))}finally{i.isCancellationRequested||(n.busy=!1)}};return s.add(n.onDidChangeValue(()=>u(void 0))),u(o.getSelection()?.getPosition()),s.add(n.onDidChangeActive(()=>{let[e]=n.activeItems;e&&e.range&&(o.revealRangeInCenter(e.range.selection,0),this.addDecorations(o,e.range.decoration))})),s}async doGetSymbolPicks(e,t,n,i,a){var o;let s=await e;if(i.isCancellationRequested)return[];let c=t.original.indexOf(sP.SCOPE_PREFIX)===0,l=+!!c,u,d;t.values&&t.values.length>1?(u=iP(t.values[0]),d=iP(t.values.slice(1))):u=t;let f,p=((o=this.options)?.openSideBySideDirection)?.call(o);p&&(f=[{iconClass:p===`right`?P.asClassName(N.splitHorizontal):P.asClassName(N.splitVertical),tooltip:p===`right`?b(`openToSide`,`Open to the Side`):b(`openToBottom`,`Open to the Bottom`)}]);let m=[];for(let e=0;e<s.length;e++){let i=s[e],o=ho(i.name),c=`$(${Ms.toIcon(i.kind).id}) ${o}`,p=c.length-o.length,h=i.containerName;n?.extraContainerLabel&&(h=h?`${n.extraContainerLabel} • ${h}`:n.extraContainerLabel);let ee,te,ne,re;if(t.original.length>l){let e=!1;if(u!==t&&([ee,te]=YN(c,{...t,values:void 0},l,p),typeof ee==`number`&&(e=!0)),typeof ee!=`number`&&([ee,te]=YN(c,u,l,p),typeof ee!=`number`))continue;if(!e&&d){if(h&&d.original.length>0&&([ne,re]=YN(h,d)),typeof ne!=`number`)continue;typeof ee==`number`&&(ee+=ne)}}let ie=i.tags&&i.tags.indexOf(1)>=0;m.push({index:e,kind:i.kind,score:ee,label:c,ariaLabel:ii(i.name,i.kind),description:h,highlights:ie?void 0:{label:te,description:re},range:{selection:r.collapseToStart(i.selectionRange),decoration:i.range},uri:a.uri,symbolName:o,strikethrough:ie,buttons:f})}let h=m.sort((e,t)=>c?this.compareByKindAndScore(e,t):this.compareByScore(e,t)),ee=[];if(c){let e,t,n=0;function r(){t&&typeof e==`number`&&n>0&&(t.label=rl(uP[e]||lP,n))}for(let i of h)e===i.kind?n++:(r(),e=i.kind,n=1,t={type:`separator`},ee.push(t)),ee.push(i);r()}else h.length>0&&(ee=[{label:b(`symbols`,`symbols ({0})`,m.length),type:`separator`},...h]);return ee}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=uP[e.kind]||lP,r=uP[t.kind]||lP,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()}};cP.PREFIX=`@`,cP.SCOPE_PREFIX=`:`,cP.PREFIX_BY_CATEGORY=`${sP.PREFIX}${sP.SCOPE_PREFIX}`,cP=sP=aP([oP(0,g),oP(1,pS)],cP);var lP=b(`property`,`properties ({0})`),uP={5:b(`method`,`methods ({0})`),11:b(`function`,`functions ({0})`),8:b(`_constructor`,`constructors ({0})`),12:b(`variable`,`variables ({0})`),4:b(`class`,`classes ({0})`),22:b(`struct`,`structs ({0})`),23:b(`event`,`events ({0})`),24:b(`operator`,`operators ({0})`),10:b(`interface`,`interfaces ({0})`),2:b(`namespace`,`namespaces ({0})`),3:b(`package`,`packages ({0})`),25:b(`typeParameter`,`type parameters ({0})`),1:b(`modules`,`modules ({0})`),6:b(`property`,`properties ({0})`),9:b(`enum`,`enumerations ({0})`),21:b(`enumMember`,`enumeration members ({0})`),14:b(`string`,`strings ({0})`),0:b(`file`,`files ({0})`),17:b(`array`,`arrays ({0})`),15:b(`number`,`numbers ({0})`),16:b(`boolean`,`booleans ({0})`),18:b(`object`,`objects ({0})`),19:b(`key`,`keys ({0})`),7:b(`field`,`fields ({0})`),13:b(`constant`,`constants ({0})`)},dP=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)}},pP=class extends cP{constructor(e,t,n){super(t,n),this.editorService=e,this.onDidActiveTextEditorControlChange=xc.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};pP=dP([fP(0,lo),fP(1,g),fP(2,pS)],pP);var mP=class e extends J{constructor(){super({id:e.ID,label:ka.quickOutlineActionLabel,alias:`Go to Symbol...`,precondition:x.hasDocumentSymbolProvider,kbOpts:{kbExpr:x.focus,primary:3117,weight:100},contextMenuOpts:{group:`navigation`,order:3}})}run(e){e.get(pa).quickAccess.show(cP.PREFIX,{itemActivation:Na.NONE})}};mP.ID=`editor.action.quickOutline`,y(mP),wr.as(Os.Quickaccess).registerQuickAccessProvider({ctor:pP,prefix:cP.PREFIX,helpEntries:[{description:ka.quickOutlineActionLabel,prefix:cP.PREFIX,commandId:mP.ID},{description:ka.quickOutlineByCategoryActionLabel,prefix:cP.PREFIX_BY_CATEGORY}]});function hP(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}var gP=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 hP(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 _P(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 vP;(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`})(vP||={});function yP(e){let t=e;return Array.isArray(t.items)}function bP(e){let t=e;return!!t.picks&&t.additionalPicks instanceof Promise}var xP=class extends U{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,n){let r=new V;e.canAcceptInBackground=!!this.options?.canAcceptInBackground,e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let i,a=r.add(new Ja),o=async()=>{let r=a.value=new V;i?.dispose(!0),e.busy=!1,i=new ec(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(yP(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=Rn(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 Ai(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;yP(t.picks)?(i=t.picks.items,a=t.picks.active):i=t.picks;let s,c;if(yP(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(bP(c))await u(c);else if(!(c instanceof Promise))l(c);else{e.busy=!0;try{let e=await c;if(o.isCancellationRequested)return;bP(e)?await u(e):l(e)}finally{o.isCancellationRequested||(e.busy=!1)}}};r.add(e.onDidChangeValue(()=>o())),o(),r.add(e.onDidAccept(t=>{var r;if(n?.handleAccept){t.inBackground||e.hide(),(r=n.handleAccept)==null||r.call(n,e.activeItems[0]);return}let[i]=e.selectedItems;typeof i?.accept==`function`&&(t.inBackground||e.hide(),i.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 vP.NO_ACTION:break;case vP.CLOSE_PICKER:e.hide();break;case vP.REFRESH_PICKER:o();break;case vP.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}},SP=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},CP=function(e,t){return function(n,r){t(n,r,e)}},wP,TP,EP=wP=class extends xP{constructor(e,t,n,r,i,a){super(wP.PREFIX,e),this.instantiationService=t,this.keybindingService=n,this.commandService=r,this.telemetryService=i,this.dialogService=a,this.commandsHistory=this._register(this.instantiationService.createInstance(DP)),this.options=e}async _getPicks(e,t,n,r){let i=await this.getCommandPicks(n);if(n.isCancellationRequested)return[];let a=Xc(()=>{let t=new gP;return t.updateDocuments(i.map(e=>({key:e.commandId,textChunks:[this.getTfIdfChunk(e)]}))),_P(t.calculateScores(e,n)).filter(e=>e.score>wP.TFIDF_THRESHOLD).slice(0,wP.TFIDF_MAX_RESULTS)}),o=[];for(let t of i){let r=wP.WORD_FILTER(e,t.label)??void 0,i=t.commandAlias?wP.WORD_FILTER(e,t.commandAlias)??void 0:void 0;if(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}return 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];e===0&&this.commandsHistory.peek(t.commandId)&&(c.push({type:`separator`,label:b(`recentlyUsed`,`recently used`)}),l=!0),u&&t.tfIdfScore!==void 0&&(c.push({type:`separator`,label:b(`suggested`,`similar commands`)}),u=!1),d&&t.tfIdfScore===void 0&&!this.commandsHistory.peek(t.commandId)&&this.options.suggestedCommandIds?.has(t.commandId)&&(c.push({type:`separator`,label:b(`commonlyUsed`,`commonly used`)}),l=!0,d=!1),l&&t.tfIdfScore===void 0&&!this.commandsHistory.peek(t.commandId)&&!this.options.suggestedCommandIds?.has(t.commandId)&&(c.push({type:`separator`,label:b(`morecCommands`,`other commands`)}),l=!1),c.push(this.toCommandPick(t,r))}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:b(`suggested`,`similar commands`)}),a})()}:c}toCommandPick(e,t){if(e.type===`separator`)return e;let n=this.keybindingService.lookupKeybinding(e.commandId),r=n?b(`commandPickAriaLabelWithKeybinding`,`{0}, {1}`,e.label,n.getAriaLabel()):e.label;return{...e,ariaLabel:r,detail:this.options.showAlias&&e.commandAlias!==e.label?e.commandAlias:void 0,keybinding:n,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){fr(t)||this.dialogService.error(b(`canNotRun`,`Command '{0}' resulted in an error`,e.label),$d(t))}}}}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}};EP.PREFIX=`>`,EP.TFIDF_THRESHOLD=.5,EP.TFIDF_MAX_RESULTS=5,EP.WORD_FILTER=Ot(tt,Fs,Hr),EP=wP=SP([CP(1,I),CP(2,$s),CP(3,Qr),CP(4,fn),CP(5,Es)],EP);var DP=TP=class extends U{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===wn.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration(`workbench.commandPalette.history`)||(this.configuredCommandsHistoryLength=TP.getConfiguredCommandHistoryLength(this.configurationService),TP.cache&&TP.cache.limit!==this.configuredCommandsHistoryLength&&(TP.cache.limit=this.configuredCommandsHistoryLength,TP.hasChanges=!0))}load(){let e=this.storageService.get(TP.PREF_KEY_CACHE,0),t;if(e)try{t=JSON.parse(e)}catch(e){this.logService.error(`[CommandsHistory] invalid data: ${e}`)}let n=TP.cache=new Pi(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))}TP.counter=this.storageService.getNumber(TP.PREF_KEY_COUNTER,0,TP.counter)}push(e){TP.cache&&(TP.cache.set(e,TP.counter++),TP.hasChanges=!0)}peek(e){return TP.cache?.peek(e)}saveState(){if(!TP.cache||!TP.hasChanges)return;let e={usesLRU:!0,entries:[]};TP.cache.forEach((t,n)=>e.entries.push({key:n,value:t})),this.storageService.store(TP.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(TP.PREF_KEY_COUNTER,TP.counter,0,0),TP.hasChanges=!1}static getConfiguredCommandHistoryLength(e){let t=e.getValue().workbench?.commandPalette?.history;return typeof t==`number`?t:TP.DEFAULT_COMMANDS_HISTORY_LENGTH}};DP.DEFAULT_COMMANDS_HISTORY_LENGTH=50,DP.PREF_KEY_CACHE=`commandPalette.mru.cache`,DP.PREF_KEY_COUNTER=`commandPalette.mru.counter`,DP.counter=1,DP.hasChanges=!1,DP=TP=SP([CP(0,Me),CP(1,Va),CP(2,tn)],DP);var OP=class extends EP{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:Gt(n.label)||n.id})}return t}},kP=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},AP=function(e,t){return function(n,r){t(n,r,e)}},jP=class extends OP{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[]}};jP=kP([AP(0,I),AP(1,lo),AP(2,$s),AP(3,Qr),AP(4,fn),AP(5,Es)],jP);var MP=class e extends J{constructor(){super({id:e.ID,label:Sc.quickCommandActionLabel,alias:`Command Palette`,precondition:void 0,kbOpts:{kbExpr:x.focus,primary:59,weight:100},contextMenuOpts:{group:`z_commands`,order:1}})}run(e){e.get(pa).quickAccess.show(jP.PREFIX)}};MP.ID=`editor.action.quickCommand`,y(MP),wr.as(Os.Quickaccess).registerQuickAccessProvider({ctor:jP,prefix:jP.PREFIX,helpEntries:[{description:Sc.quickCommandHelp,commandId:MP.ID}]});var NP=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},PP=function(e,t){return function(n,r){t(n,r,e)}},FP=class extends Qg{constructor(e,t,n,r,i,a,o){super(!0,e,t,n,r,i,a,o)}};FP=NP([PP(1,W),PP(2,lo),PP(3,Za),PP(4,I),PP(5,Me),PP(6,Va)],FP),D(Qg.ID,FP,4),y(class extends J{constructor(){super({id:`editor.action.toggleHighContrast`,label:ws.toggleHighContrast,alias:`Toggle High Contrast Theme`,precondition:void 0}),this._originalThemeName=null}run(e,t){let n=e.get(Ve),r=n.getColorTheme();Bc(r.type)?(n.setTheme(this._originalThemeName||(_e(r.type)?`vs-dark`:`vs`)),this._originalThemeName=null):(n.setTheme(_e(r.type)?mt:Bt),this._originalThemeName=r.themeName)}});export{sc as CancellationTokenSource,$o as Emitter,zs as KeyCode,to as KeyMod,Oi as MarkerSeverity,us as MarkerTag,Xs as Position,Ji as Range,No as Selection,_c as SelectionDirection,aa as Token,wa as Uri,bs as editor,Wa as languages};