var ub=Object.defineProperty;var gb=(r,e,t)=>e in r?ub(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var Te=(r,e,t)=>(gb(r,typeof e!="symbol"?e+"":e,t),t);import{m as Za,R as Z,I as Q,r as K,a as w,S as B,M as je,l as u,b as lt,E as L,c as _,K as fe,d as A,e as X,t as ue,O as qt,f as Lo,g as O,D as E,h as _e,i as b,P as H,j as rd,k as er,n as Io,o as pb,p as Ph,q as Se,s as Do,u as tf,v as fb,C as qu,w as ye,x as se,U as te,y as zt,z as V,A as Qe,B as q,F as To,T as mb,G as Ro,H as Xa,J as tr,L as Ge,N as R,Q as Qa,V as $e,W as Fi,X as it,Y as xe,Z as Ya,_ as D,$ as Y,a0 as ct,a1 as F,a2 as Ve,a3 as ko,a4 as Ja,a5 as nf,a6 as of,a7 as ee,a8 as tn,a9 as Ke,aa as rt,ab as sf,ac as M,ad as P,ae as rf,af as _b,ag as Wi,ah as G,ai as Le,aj as de,ak as Jd,al as cn,am as Hi,an as Vi,ao as at,ap as z,aq as af,ar as vb,as as He,at as Nt,au as Ah,av as Gt,aw as he,ax as ie,ay as Ce,az as Oh,aA as Fh,aB as ir,aC as x,aD as Cs,aE as Zt,aF as Wh,aG as lf,aH as re,aI as Bi,aJ as nr,aK as bb,aL as df,aM as cf,aN as Cb,aO as ec,aP as Mt,aQ as hf,aR as va,aS as ce,aT as co,aU as Ui,aV as uf,aW as jt,aX as Ss,aY as Sb,aZ as No,a_ as wb,a$ as J,b0 as Gu,b1 as ia,b2 as gf,b3 as Et,b4 as It,b5 as vt,b6 as pf,b7 as Ne,b8 as yb,b9 as Hh,ba as xb,bb as Jn,bc as Zu,bd as Lb,be as Ib,bf as qe,bg as ws,bh as fi,bi as li,bj as hn,bk as Mn,bl as un,bm as Db,bn as Rt,bo as Tb,bp as Kt,bq as ff,br as We,bs as Xu,bt as el,bu as Pt,bv as ys,bw as mf,bx as Rb,by as kb,bz as Vh,bA as tl,bB as xs,bC as Nb,bD as bt,bE as pe,bF as Mb,bG as Qu,bH as Bh,bI as Yu,bJ as Ci,bK as Eb,bL as Pb,bM as Xt,bN as _f,bO as vf,bP as bf,bQ as Uh,bR as Cf,bS as Qt,bT as Sf,bU as Ab,bV as Si,bW as Ls,bX as il,bY as Ob,bZ as Fb,b_ as wf,b$ as $h,c0 as zh,c1 as yf,c2 as Wb,c3 as Hb,c4 as ba,c5 as xf,c6 as Vb,c7 as Lf,c8 as If,c9 as nl,ca as Ct,cb as Bb,cc as Ub,cd as jh,ce as Is,cf as Df,cg as Ca,ch as Tf,ci as Pe,cj as Ju,ck as wr,cl as Mo,cm as yr,cn as Rf,co as Kh,cp as $b,cq as zb,cr as jb,cs as Kb,ct as qb,cu as Gb,cv as Sa,cw as Ie,cx as Zb,cy as eg,cz as Xb,cA as tg,cB as tc,cC as or,cD as ho,cE as ic,cF as ig,cG as nn,cH as ad,cI as is,cJ as kf,cK as Qb,cL as qh,cM as Yb,cN as Jb,cO as eC,cP as Gh,cQ as tC,cR as on,cS as Nf,cT as Mf,cU as ae,cV as nc,cW as iC,cX as oc,cY as ng,cZ as wa,c_ as nC,c$ as En,d0 as Zh,d1 as Ef,d2 as oC,d3 as Pf,d4 as sC,d5 as Af,d6 as rC,d7 as aC,d8 as lC,d9 as Of,da as Ff,db as Wf,dc as uo,dd as Yt,de as ni,df as dC,dg as cC,dh as Xh,di as og,dj as sg,dk as hC,dl as eo,dm as Hf,dn as uC,dp as gC,dq as pC,dr as fC,ds as to,dt as Vf,du as Bf,dv as mC,dw as ya,dx as _C,dy as vC,dz as bC,dA as CC,dB as SC,dC as ns,dD as wC,dE as yC,dF as Uf,dG as $f,dH as zf,dI as jf,dJ as xC,dK as rg,dL as xr,dM as LC,dN as sr,dO as Lr,dP as Kf,dQ as ag,dR as qf,dS as Ds,dT as rr,dU as xa,dV as dt,dW as IC,dX as DC,dY as TC,dZ as Gf,d_ as RC,d$ as kC,e0 as NC,e1 as MC,e2 as Uo,e3 as lg,e4 as EC,e5 as PC,e6 as Zf,e7 as be,e8 as AC,e9 as OC,ea as us,eb as FC,ec as WC,ed as HC,ee as VC,ef as dg,eg as cg,eh as hg,ei as ol,ej as na,ek as pt,el as BC,em as UC,en as Qh,eo as $C,ep as zC,eq as Xf,er as Qf,es as jC,et as KC,eu as qC,ev as GC,ew as ZC,ex as XC,ey as ug,ez as QC,eA as Yf,eB as La,eC as Ir,eD as Dr,eE as Tr,eF as mi,eG as Rr,eH as gg,eI as YC,eJ as pg,eK as JC,eL as ld,eM as fg,eN as eS,eO as tS,eP as iS,eQ as nS,eR as os,eS as oS,eT as sS,eU as Jf,eV as em,eW as rS,eX as sc,eY as tm,eZ as aS,e_ as lS,e$ as gs,f0 as im,f1 as go,f2 as mg,f3 as dS,f4 as nm,f5 as cS,f6 as hS,f7 as uS,f8 as _g,f9 as gS,fa as pS,fb as fS,fc as mS,fd as _S,fe as vS,ff as Yh,fg as Jh,fh as oa,fi as kr,fj as dd,fk as bS,fl as eu,fm as om,fn as CS,fo as SS,fp as ss,fq as sl,fr as wS,fs as rc,ft as yS,fu as wi,fv as xS,fw as LS,fx as IS,fy as DS,fz as TS,fA as RS,fB as tu,fC as sm,fD as kS,fE as vg,fF as bg,fG as NS,fH as MS,fI as ES,fJ as Cg,fK as cd,fL as PS,fM as AS,fN as OS,fO as hd,fP as rm,fQ as am,fR as lm,fS as dm,fT as cm,fU as di,fV as iu,fW as rl,fX as al,fY as Pn,fZ as ll,f_ as ar,f$ as FS,g0 as dl,g1 as Sg,g2 as ge,g3 as WS,g4 as hm,g5 as HS,g6 as VS,g7 as BS,g8 as US,g9 as $o,ga as lr,gb as $S,gc as um,gd as zS,ge as gm,gf as ac,gg as jS,gh as KS,gi as qS,gj as GS,gk as ZS,gl as lc,gm as XS,gn as QS,go as YS,gp as JS,gq as ew,gr as tw,gs as pm,gt as iw,gu as wg,gv as nw,gw as ow,gx as sw,gy as rw,gz as yg,gA as aw}from"./monaco.contribution.17037962789732.js";import{_ as k}from"./preload-helper.1703796278973.js";import{_ as lw}from"./_plugin-vue_export-helper.1703796278973.js";import{k as dw,p as cw,w as hw,m as uw,o as gw,x as pw}from"./vue.1703796278973.js";/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.36.1(6c56744c3419458f0dd48864520b759d1a3a1ca8) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var fw=Object.defineProperty,mw=Object.getOwnPropertyDescriptor,_w=Object.getOwnPropertyNames,vw=Object.prototype.hasOwnProperty,xg=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of _w(e))!vw.call(r,o)&&o!==t&&fw(r,o,{get:()=>e[o],enumerable:!(i=mw(e,o))||i.enumerable});return r},bw=(r,e,t)=>(xg(r,e,"default"),t&&xg(t,e,"default")),rs={};bw(rs,Za);var fm={},ud={},mm=class{constructor(r){Te(this,"_languageId");Te(this,"_loadingTriggered");Te(this,"_lazyLoadPromise");Te(this,"_lazyLoadPromiseResolve");Te(this,"_lazyLoadPromiseReject");this._languageId=r,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((e,t)=>{this._lazyLoadPromiseResolve=e,this._lazyLoadPromiseReject=t})}static getOrCreate(r){return ud[r]||(ud[r]=new mm(r)),ud[r]}load(){return this._loadingTriggered||(this._loadingTriggered=!0,fm[this._languageId].loader().then(r=>this._lazyLoadPromiseResolve(r),r=>this._lazyLoadPromiseReject(r))),this._lazyLoadPromise}};function N(r){const e=r.id;fm[e]=r,rs.languages.register(r);const t=mm.getOrCreate(e);rs.languages.registerTokensProviderFactory(e,{create:async()=>(await t.load()).language}),rs.languages.onLanguage(e,async()=>{const i=await t.load();rs.languages.setLanguageConfiguration(e,i.conf)})}N({id:"abap",extensions:[".abap"],aliases:["abap","ABAP"],loader:()=>k(()=>import("./abap.17037962789732.js"),[],import.meta.url)});N({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:()=>k(()=>import("./apex.17037962789732.js"),[],import.meta.url)});N({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:()=>k(()=>import("./azcli.17037962789732.js"),[],import.meta.url)});N({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:()=>k(()=>import("./bat.17037962789732.js"),[],import.meta.url)});N({id:"bicep",extensions:[".bicep"],aliases:["Bicep"],loader:()=>k(()=>import("./bicep.17037962789732.js"),[],import.meta.url)});N({id:"cameligo",extensions:[".mligo"],aliases:["Cameligo"],loader:()=>k(()=>import("./cameligo.17037962789732.js"),[],import.meta.url)});N({id:"clojure",extensions:[".clj",".cljs",".cljc",".edn"],aliases:["clojure","Clojure"],loader:()=>k(()=>import("./clojure.17037962789732.js"),[],import.meta.url)});N({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:()=>k(()=>import("./coffee.17037962789732.js"),[],import.meta.url)});N({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:()=>k(()=>import("./cpp.17037962789732.js"),[],import.meta.url)});N({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:()=>k(()=>import("./cpp.17037962789732.js"),[],import.meta.url)});N({id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],loader:()=>k(()=>import("./csharp.17037962789732.js"),[],import.meta.url)});N({id:"csp",extensions:[],aliases:["CSP","csp"],loader:()=>k(()=>import("./csp.17037962789732.js"),[],import.meta.url)});N({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:()=>k(()=>import("./css.17037962789732.js"),[],import.meta.url)});N({id:"cypher",extensions:[".cypher",".cyp"],aliases:["Cypher","OpenCypher"],loader:()=>k(()=>import("./cypher.17037962789732.js"),[],import.meta.url)});N({id:"dart",extensions:[".dart"],aliases:["Dart","dart"],mimetypes:["text/x-dart-source","text/x-dart"],loader:()=>k(()=>import("./dart.17037962789732.js"),[],import.meta.url)});N({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:()=>k(()=>import("./dockerfile.17037962789732.js"),[],import.meta.url)});N({id:"ecl",extensions:[".ecl"],aliases:["ECL","Ecl","ecl"],loader:()=>k(()=>import("./ecl.17037962789732.js"),[],import.meta.url)});N({id:"elixir",extensions:[".ex",".exs"],aliases:["Elixir","elixir","ex"],loader:()=>k(()=>import("./elixir.17037962789732.js"),[],import.meta.url)});N({id:"flow9",extensions:[".flow"],aliases:["Flow9","Flow","flow9","flow"],loader:()=>k(()=>import("./flow9.17037962789732.js"),[],import.meta.url)});N({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:()=>k(()=>import("./fsharp.17037962789732.js"),[],import.meta.url)});N({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>k(()=>import("./freemarker2.17037962789732.js"),["./freemarker2.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url).then(r=>r.TagAutoInterpolationDollar)});N({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>k(()=>import("./freemarker2.17037962789732.js"),["./freemarker2.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url).then(r=>r.TagAngleInterpolationDollar)});N({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>k(()=>import("./freemarker2.17037962789732.js"),["./freemarker2.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url).then(r=>r.TagBracketInterpolationDollar)});N({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>k(()=>import("./freemarker2.17037962789732.js"),["./freemarker2.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url).then(r=>r.TagAngleInterpolationBracket)});N({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>k(()=>import("./freemarker2.17037962789732.js"),["./freemarker2.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url).then(r=>r.TagBracketInterpolationBracket)});N({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>k(()=>import("./freemarker2.17037962789732.js"),["./freemarker2.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url).then(r=>r.TagAutoInterpolationDollar)});N({id:"freemarker2.tag-auto.interpolation-bracket",aliases:["FreeMarker2 (Auto/Bracket)","Apache FreeMarker2 (Auto/Bracket)"],loader:()=>k(()=>import("./freemarker2.17037962789732.js"),["./freemarker2.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url).then(r=>r.TagAutoInterpolationBracket)});N({id:"go",extensions:[".go"],aliases:["Go"],loader:()=>k(()=>import("./go.17037962789732.js"),[],import.meta.url)});N({id:"graphql",extensions:[".graphql",".gql"],aliases:["GraphQL","graphql","gql"],mimetypes:["application/graphql"],loader:()=>k(()=>import("./graphql.17037962789732.js"),[],import.meta.url)});N({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>k(()=>import("./handlebars.17037962789732.js"),["./handlebars.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url)});N({id:"hcl",extensions:[".tf",".tfvars",".hcl"],aliases:["Terraform","tf","HCL","hcl"],loader:()=>k(()=>import("./hcl.17037962789732.js"),[],import.meta.url)});N({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:()=>k(()=>import("./html.17037962789732.js"),["./html.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url)});N({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],loader:()=>k(()=>import("./ini.17037962789732.js"),[],import.meta.url)});N({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:()=>k(()=>import("./java.17037962789732.js"),[],import.meta.url)});N({id:"javascript",extensions:[".js",".es6",".jsx",".mjs",".cjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>k(()=>import("./javascript.17037962789732.js"),["./javascript.17037962789732.js","./typescript.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url)});N({id:"julia",extensions:[".jl"],aliases:["julia","Julia"],loader:()=>k(()=>import("./julia.17037962789732.js"),[],import.meta.url)});N({id:"kotlin",extensions:[".kt",".kts"],aliases:["Kotlin","kotlin"],mimetypes:["text/x-kotlin-source","text/x-kotlin"],loader:()=>k(()=>import("./kotlin.17037962789732.js"),[],import.meta.url)});N({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],loader:()=>k(()=>import("./less.17037962789732.js"),[],import.meta.url)});N({id:"lexon",extensions:[".lex"],aliases:["Lexon"],loader:()=>k(()=>import("./lexon.17037962789732.js"),[],import.meta.url)});N({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:()=>k(()=>import("./lua.17037962789732.js"),[],import.meta.url)});N({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>k(()=>import("./liquid.17037962789732.js"),["./liquid.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url)});N({id:"m3",extensions:[".m3",".i3",".mg",".ig"],aliases:["Modula-3","Modula3","modula3","m3"],loader:()=>k(()=>import("./m3.17037962789732.js"),[],import.meta.url)});N({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:()=>k(()=>import("./markdown.17037962789732.js"),[],import.meta.url)});N({id:"mips",extensions:[".s"],aliases:["MIPS","MIPS-V"],mimetypes:["text/x-mips","text/mips","text/plaintext"],loader:()=>k(()=>import("./mips.17037962789732.js"),[],import.meta.url)});N({id:"msdax",extensions:[".dax",".msdax"],aliases:["DAX","MSDAX"],loader:()=>k(()=>import("./msdax.17037962789732.js"),[],import.meta.url)});N({id:"mysql",extensions:[],aliases:["MySQL","mysql"],loader:()=>k(()=>import("./mysql.17037962789732.js"),[],import.meta.url)});N({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],loader:()=>k(()=>import("./objective-c.17037962789732.js"),[],import.meta.url)});N({id:"pascal",extensions:[".pas",".p",".pp"],aliases:["Pascal","pas"],mimetypes:["text/x-pascal-source","text/x-pascal"],loader:()=>k(()=>import("./pascal.17037962789732.js"),[],import.meta.url)});N({id:"pascaligo",extensions:[".ligo"],aliases:["Pascaligo","ligo"],loader:()=>k(()=>import("./pascaligo.17037962789732.js"),[],import.meta.url)});N({id:"perl",extensions:[".pl"],aliases:["Perl","pl"],loader:()=>k(()=>import("./perl.17037962789732.js"),[],import.meta.url)});N({id:"pgsql",extensions:[],aliases:["PostgreSQL","postgres","pg","postgre"],loader:()=>k(()=>import("./pgsql.17037962789732.js"),[],import.meta.url)});N({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:()=>k(()=>import("./php.17037962789732.js"),[],import.meta.url)});N({id:"pla",extensions:[".pla"],loader:()=>k(()=>import("./pla.17037962789732.js"),[],import.meta.url)});N({id:"postiats",extensions:[".dats",".sats",".hats"],aliases:["ATS","ATS/Postiats"],loader:()=>k(()=>import("./postiats.17037962789732.js"),[],import.meta.url)});N({id:"powerquery",extensions:[".pq",".pqm"],aliases:["PQ","M","Power Query","Power Query M"],loader:()=>k(()=>import("./powerquery.17037962789732.js"),[],import.meta.url)});N({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],loader:()=>k(()=>import("./powershell.17037962789732.js"),[],import.meta.url)});N({id:"proto",extensions:[".proto"],aliases:["protobuf","Protocol Buffers"],loader:()=>k(()=>import("./protobuf.17037962789732.js"),[],import.meta.url)});N({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:()=>k(()=>import("./pug.17037962789732.js"),[],import.meta.url)});N({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>k(()=>import("./python.17037962789732.js"),["./python.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url)});N({id:"qsharp",extensions:[".qs"],aliases:["Q#","qsharp"],loader:()=>k(()=>import("./qsharp.17037962789732.js"),[],import.meta.url)});N({id:"r",extensions:[".r",".rhistory",".rmd",".rprofile",".rt"],aliases:["R","r"],loader:()=>k(()=>import("./r.17037962789732.js"),[],import.meta.url)});N({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>k(()=>import("./razor.17037962789732.js"),["./razor.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url)});N({id:"redis",extensions:[".redis"],aliases:["redis"],loader:()=>k(()=>import("./redis.17037962789732.js"),[],import.meta.url)});N({id:"redshift",extensions:[],aliases:["Redshift","redshift"],loader:()=>k(()=>import("./redshift.17037962789732.js"),[],import.meta.url)});N({id:"restructuredtext",extensions:[".rst"],aliases:["reStructuredText","restructuredtext"],loader:()=>k(()=>import("./restructuredtext.17037962789732.js"),[],import.meta.url)});N({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile","Gemfile"],aliases:["Ruby","rb"],loader:()=>k(()=>import("./ruby.17037962789732.js"),[],import.meta.url)});N({id:"rust",extensions:[".rs",".rlib"],aliases:["Rust","rust"],loader:()=>k(()=>import("./rust.17037962789732.js"),[],import.meta.url)});N({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:()=>k(()=>import("./sb.17037962789732.js"),[],import.meta.url)});N({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:()=>k(()=>import("./scala.17037962789732.js"),[],import.meta.url)});N({id:"scheme",extensions:[".scm",".ss",".sch",".rkt"],aliases:["scheme","Scheme"],loader:()=>k(()=>import("./scheme.17037962789732.js"),[],import.meta.url)});N({id:"scss",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],loader:()=>k(()=>import("./scss.17037962789732.js"),[],import.meta.url)});N({id:"shell",extensions:[".sh",".bash"],aliases:["Shell","sh"],loader:()=>k(()=>import("./shell.17037962789732.js"),[],import.meta.url)});N({id:"sol",extensions:[".sol"],aliases:["sol","solidity","Solidity"],loader:()=>k(()=>import("./solidity.17037962789732.js"),[],import.meta.url)});N({id:"aes",extensions:[".aes"],aliases:["aes","sophia","Sophia"],loader:()=>k(()=>import("./sophia.17037962789732.js"),[],import.meta.url)});N({id:"sparql",extensions:[".rq"],aliases:["sparql","SPARQL"],loader:()=>k(()=>import("./sparql.17037962789732.js"),[],import.meta.url)});N({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:()=>k(()=>import("./sql.17037962789732.js"),[],import.meta.url)});N({id:"st",extensions:[".st",".iecst",".iecplc",".lc3lib"],aliases:["StructuredText","scl","stl"],loader:()=>k(()=>import("./st.17037962789732.js"),[],import.meta.url)});N({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],loader:()=>k(()=>import("./swift.17037962789732.js"),[],import.meta.url)});N({id:"systemverilog",extensions:[".sv",".svh"],aliases:["SV","sv","SystemVerilog","systemverilog"],loader:()=>k(()=>import("./systemverilog.17037962789732.js"),[],import.meta.url)});N({id:"verilog",extensions:[".v",".vh"],aliases:["V","v","Verilog","verilog"],loader:()=>k(()=>import("./systemverilog.17037962789732.js"),[],import.meta.url)});N({id:"tcl",extensions:[".tcl"],aliases:["tcl","Tcl","tcltk","TclTk","tcl/tk","Tcl/Tk"],loader:()=>k(()=>import("./tcl.17037962789732.js"),[],import.meta.url)});N({id:"twig",extensions:[".twig"],aliases:["Twig","twig"],mimetypes:["text/x-twig"],loader:()=>k(()=>import("./twig.17037962789732.js"),[],import.meta.url)});N({id:"typescript",extensions:[".ts",".tsx"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>k(()=>import("./typescript.17037962789732.js"),["./typescript.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url)});N({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],loader:()=>k(()=>import("./vb.17037962789732.js"),[],import.meta.url)});N({id:"xml",extensions:[".xml",".dtd",".ascx",".csproj",".config",".props",".targets",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xsl"],firstLine:"(\\<\\?xml.*)|(\\k(()=>import("./xml.17037962789732.js"),["./xml.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url)});N({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>k(()=>import("./yaml.17037962789732.js"),["./yaml.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url)});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.36.1(6c56744c3419458f0dd48864520b759d1a3a1ca8) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var Cw=Object.defineProperty,Sw=Object.getOwnPropertyDescriptor,ww=Object.getOwnPropertyNames,yw=Object.prototype.hasOwnProperty,Lg=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of ww(e))!yw.call(r,o)&&o!==t&&Cw(r,o,{get:()=>e[o],enumerable:!(i=Sw(e,o))||i.enumerable});return r},xw=(r,e,t)=>(Lg(r,e,"default"),t&&Lg(t,e,"default")),Eo={};xw(Eo,Za);var nu=class{constructor(e,t,i){Te(this,"_onDidChange",new Eo.Emitter);Te(this,"_options");Te(this,"_modeConfiguration");Te(this,"_languageId");this._languageId=e,this.setOptions(t),this.setModeConfiguration(i)}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)}},ou={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}},su={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},_m=new nu("css",ou,su),vm=new nu("scss",ou,su),bm=new nu("less",ou,su);Eo.languages.css={cssDefaults:_m,lessDefaults:bm,scssDefaults:vm};function ru(){return k(()=>import("./cssMode.17037962789732.js"),["./cssMode.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url)}Eo.languages.onLanguage("less",()=>{ru().then(r=>r.setupMode(bm))});Eo.languages.onLanguage("scss",()=>{ru().then(r=>r.setupMode(vm))});Eo.languages.onLanguage("css",()=>{ru().then(r=>r.setupMode(_m))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.36.1(6c56744c3419458f0dd48864520b759d1a3a1ca8) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var Lw=Object.defineProperty,Iw=Object.getOwnPropertyDescriptor,Dw=Object.getOwnPropertyNames,Tw=Object.prototype.hasOwnProperty,Ig=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Dw(e))!Tw.call(r,o)&&o!==t&&Lw(r,o,{get:()=>e[o],enumerable:!(i=Iw(e,o))||i.enumerable});return r},Rw=(r,e,t)=>(Ig(r,e,"default"),t&&Ig(t,e,"default")),cl={};Rw(cl,Za);var kw=class{constructor(e,t,i){Te(this,"_onDidChange",new cl.Emitter);Te(this,"_options");Te(this,"_modeConfiguration");Te(this,"_languageId");this._languageId=e,this.setOptions(t),this.setModeConfiguration(i)}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)}},Nw={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"},hl={format:Nw,suggest:{},data:{useDefaultDataProvider:!0}};function ul(r){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:r===ps,documentFormattingEdits:r===ps,documentRangeFormattingEdits:r===ps}}var ps="html",Dg="handlebars",Tg="razor",Cm=gl(ps,hl,ul(ps)),Mw=Cm.defaults,Sm=gl(Dg,hl,ul(Dg)),Ew=Sm.defaults,wm=gl(Tg,hl,ul(Tg)),Pw=wm.defaults;cl.languages.html={htmlDefaults:Mw,razorDefaults:Pw,handlebarDefaults:Ew,htmlLanguageService:Cm,handlebarLanguageService:Sm,razorLanguageService:wm,registerHTMLLanguageService:gl};function Aw(){return k(()=>import("./htmlMode.17037962789732.js"),["./htmlMode.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url)}function gl(r,e=hl,t=ul(r)){const i=new kw(r,e,t);let o;const n=cl.languages.onLanguage(r,async()=>{o=(await Aw()).setupMode(i)});return{defaults:i,dispose(){n.dispose(),o==null||o.dispose(),o=void 0}}}/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.36.1(6c56744c3419458f0dd48864520b759d1a3a1ca8) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var Ow=Object.defineProperty,Fw=Object.getOwnPropertyDescriptor,Ww=Object.getOwnPropertyNames,Hw=Object.prototype.hasOwnProperty,Rg=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ww(e))!Hw.call(r,o)&&o!==t&&Ow(r,o,{get:()=>e[o],enumerable:!(i=Fw(e,o))||i.enumerable});return r},Vw=(r,e,t)=>(Rg(r,e,"default"),t&&Rg(t,e,"default")),dr={};Vw(dr,Za);var Bw=class{constructor(r,e,t){Te(this,"_onDidChange",new dr.Emitter);Te(this,"_diagnosticsOptions");Te(this,"_modeConfiguration");Te(this,"_languageId");this._languageId=r,this.setDiagnosticsOptions(e),this.setModeConfiguration(t)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(r){this._diagnosticsOptions=r||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(r){this._modeConfiguration=r||Object.create(null),this._onDidChange.fire(this)}},Uw={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},$w={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},ym=new Bw("json",Uw,$w);dr.languages.json={jsonDefaults:ym};function zw(){return k(()=>import("./jsonMode.17037962789732.js"),["./jsonMode.17037962789732.js","./monaco.contribution.17037962789732.js","./preload-helper.1703796278973.js"],import.meta.url)}dr.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});dr.languages.onLanguage("json",()=>{zw().then(r=>r.setupMode(ym))});var jw=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Kw=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},pl=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};const fl=new Z("selectionAnchorSet",!1);let ci=class xm{static get(e){return e.getContribution(xm.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=fl.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(B.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new je().appendText(u("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),lt(u("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection(B.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};ci.ID="editor.contrib.selectionAnchorController";ci=jw([Kw(1,Q)],ci);class qw extends L{constructor(){super({id:"editor.action.setSelectionAnchor",label:u("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:_.editorTextFocus,primary:fe(2089,2080),weight:100}})}run(e,t){var i;return pl(this,void 0,void 0,function*(){(i=ci.get(t))===null||i===void 0||i.setSelectionAnchor()})}}class Gw extends L{constructor(){super({id:"editor.action.goToSelectionAnchor",label:u("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:fl})}run(e,t){var i;return pl(this,void 0,void 0,function*(){(i=ci.get(t))===null||i===void 0||i.goToSelectionAnchor()})}}class Zw extends L{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:u("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:fl,kbOpts:{kbExpr:_.editorTextFocus,primary:fe(2089,2089),weight:100}})}run(e,t){var i;return pl(this,void 0,void 0,function*(){(i=ci.get(t))===null||i===void 0||i.selectFromAnchorToCursor()})}}class Xw extends L{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:u("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:fl,kbOpts:{kbExpr:_.editorTextFocus,primary:9,weight:100}})}run(e,t){var i;return pl(this,void 0,void 0,function*(){(i=ci.get(t))===null||i===void 0||i.cancelSelectionAnchor()})}}K(ci.ID,ci,4);w(qw);w(Gw);w(Zw);w(Xw);const Qw=A("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hcDark:"#A0A0A0",hcLight:"#A0A0A0"},u("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class Yw extends L{constructor(){super({id:"editor.action.jumpToBracket",label:u("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:_.editorTextFocus,primary:3160,weight:100}})}run(e,t){var i;(i=kt.get(t))===null||i===void 0||i.jumpToBracket()}}class Jw extends L{constructor(){super({id:"editor.action.selectToBracket",label:u("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,description:{description:"Select to Bracket",args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){var o;let n=!0;i&&i.selectBrackets===!1&&(n=!1),(o=kt.get(t))===null||o===void 0||o.selectToBracket(n)}}class ey{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}class kt extends E{static get(e){return e.getContribution(kt.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new _e(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(68),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(68)&&(this._matchBrackets=this._editor.getOption(68),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;const e=this._editor.getModel(),t=this._editor.getSelections().map(i=>{const o=i.getStartPosition(),n=e.bracketPairs.matchBracket(o);let s=null;if(n)n[0].containsPosition(o)&&!n[1].containsPosition(o)?s=n[1].getStartPosition():n[1].containsPosition(o)&&(s=n[0].getStartPosition());else{const a=e.bracketPairs.findEnclosingBrackets(o);if(a)s=a[1].getStartPosition();else{const l=e.bracketPairs.findNextBracket(o);l&&l.range&&(s=l.range.getStartPosition())}}return s?new B(s.lineNumber,s.column,s.lineNumber,s.column):new B(o.lineNumber,o.column,o.lineNumber,o.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(o=>{const n=o.getStartPosition();let s=t.bracketPairs.matchBracket(n);if(!s&&(s=t.bracketPairs.findEnclosingBrackets(n),!s)){const c=t.bracketPairs.findNextBracket(n);c&&c.range&&(s=t.bracketPairs.matchBracket(c.range.getStartPosition()))}let a=null,l=null;if(s){s.sort(b.compareRangesUsingStarts);const[c,d]=s;if(a=e?c.getStartPosition():c.getEndPosition(),l=e?d.getEndPosition():d.getStartPosition(),d.containsPosition(n)){const h=a;a=l,l=h}}a&&l&&i.push(new B(a.lineNumber,a.column,l.lineNumber,l.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const o=i.brackets;o&&(e[t++]={range:o[0],options:i.options},e[t++]={range:o[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const t=this._editor.getModel(),i=t.getVersionId();let o=[];this._lastVersionId===i&&(o=this._lastBracketsData);const n=[];let s=0;for(let h=0,g=e.length;h1&&n.sort(H.compare);const a=[];let l=0,c=0;const d=o.length;for(let h=0,g=n.length;h0&&(t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop())}}w(oy);var sy=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};const gn="9_cutcopypaste",ry=Io||document.queryCommandSupported("cut"),Im=Io||document.queryCommandSupported("copy"),ay=typeof navigator.clipboard>"u"||pb?document.queryCommandSupported("paste"):!0;function au(r){return r.register(),r}const ly=ry?au(new Ph({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Io?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:O.MenubarEditMenu,group:"2_ccp",title:u({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:O.EditorContext,group:gn,title:u("actions.clipboard.cutLabel","Cut"),when:_.writable,order:1},{menuId:O.CommandPalette,group:"",title:u("actions.clipboard.cutLabel","Cut"),order:1},{menuId:O.SimpleEditorContext,group:gn,title:u("actions.clipboard.cutLabel","Cut"),when:_.writable,order:1}]})):void 0,dy=Im?au(new Ph({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Io?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:O.MenubarEditMenu,group:"2_ccp",title:u({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:O.EditorContext,group:gn,title:u("actions.clipboard.copyLabel","Copy"),order:2},{menuId:O.CommandPalette,group:"",title:u("actions.clipboard.copyLabel","Copy"),order:1},{menuId:O.SimpleEditorContext,group:gn,title:u("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;Lo.appendMenuItem(O.MenubarEditMenu,{submenu:O.MenubarCopy,title:{value:u("copy as","Copy As"),original:"Copy As"},group:"2_ccp",order:3});Lo.appendMenuItem(O.EditorContext,{submenu:O.EditorContextCopy,title:{value:u("copy as","Copy As"),original:"Copy As"},group:gn,order:3});Lo.appendMenuItem(O.EditorContext,{submenu:O.EditorContextShare,title:{value:u("share","Share"),original:"Share"},group:"11_share",order:-1});const gd=ay?au(new Ph({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Io?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:O.MenubarEditMenu,group:"2_ccp",title:u({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:O.EditorContext,group:gn,title:u("actions.clipboard.pasteLabel","Paste"),when:_.writable,order:4},{menuId:O.CommandPalette,group:"",title:u("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:O.SimpleEditorContext,group:gn,title:u("actions.clipboard.pasteLabel","Paste"),when:_.writable,order:4}]})):void 0;class cy extends L{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:u("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:_.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(34)&&t.getSelection().isEmpty()||(qu.forceCopyWithSyntaxHighlighting=!0,t.focus(),document.execCommand("copy"),qu.forceCopyWithSyntaxHighlighting=!1)}}function Dm(r,e){r&&(r.addImplementation(1e4,"code-editor",(t,i)=>{const o=t.get(Se).getFocusedCodeEditor();if(o&&o.hasTextFocus()){const n=o.getOption(34),s=o.getSelection();return s&&s.isEmpty()&&!n||document.execCommand(e),!0}return!1}),r.addImplementation(0,"generic-dom",(t,i)=>(document.execCommand(e),!0)))}Dm(ly,"cut");Dm(dy,"copy");gd&&(gd.addImplementation(1e4,"code-editor",(r,e)=>{const t=r.get(Se),i=r.get(Do),o=t.getFocusedCodeEditor();return o&&o.hasTextFocus()?!document.execCommand("paste")&&tf?(()=>sy(void 0,void 0,void 0,function*(){const s=yield i.readText();if(s!==""){const a=fb.INSTANCE.get(s);let l=!1,c=null,d=null;a&&(l=o.getOption(34)&&!!a.isFromEmptySelection,c=typeof a.multicursorText<"u"?a.multicursorText:null,d=a.mode),o.trigger("keyboard","paste",{text:s,pasteOnNewLine:l,multicursorText:c,mode:d})}}))():!0:!1}),gd.addImplementation(0,"generic-dom",(r,e)=>(document.execCommand("paste"),!0)));Im&&w(cy);var hy=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};class W{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+W.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(e){return new W(this.value+W.sep+e)}}W.sep=".";W.None=new W("@@none@@");W.Empty=new W("");W.QuickFix=new W("quickfix");W.Refactor=new W("refactor");W.RefactorExtract=W.Refactor.append("extract");W.RefactorInline=W.Refactor.append("inline");W.RefactorMove=W.Refactor.append("move");W.RefactorRewrite=W.Refactor.append("rewrite");W.Source=new W("source");W.SourceOrganizeImports=W.Source.append("organizeImports");W.SourceFixAll=W.Source.append("fixAll");W.SurroundWith=W.Refactor.append("surround");var Be;(function(r){r.Refactor="refactor",r.RefactorPreview="refactor preview",r.Lightbulb="lightbulb",r.Default="other (default)",r.SourceAction="source action",r.QuickFix="quick fix action",r.FixAll="fix all",r.OrganizeImports="organize imports",r.AutoFix="auto fix",r.QuickFixHover="quick fix hover window",r.OnSave="save participants",r.ProblemsView="problems view"})(Be||(Be={}));function uy(r,e){return!(r.include&&!r.include.intersects(e)||r.excludes&&r.excludes.some(t=>Tm(e,t,r.include))||!r.includeSourceActions&&W.Source.contains(e))}function gy(r,e){const t=e.kind?new W(e.kind):void 0;return!(r.include&&(!t||!r.include.contains(t))||r.excludes&&t&&r.excludes.some(i=>Tm(t,i,r.include))||!r.includeSourceActions&&t&&W.Source.contains(t)||r.onlyIncludePreferredActions&&!e.isPreferred)}function Tm(r,e,t){return!(!e.contains(r)||t&&e.contains(t))}class Ut{static fromUser(e,t){return!e||typeof e!="object"?new Ut(t.kind,t.apply,!1):new Ut(Ut.getKindFromUser(e,t.kind),Ut.getApplyFromUser(e,t.apply),Ut.getPreferredUser(e))}static getApplyFromUser(e,t){switch(typeof e.apply=="string"?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return typeof e.kind=="string"?new W(e.kind):t}static getPreferredUser(e){return typeof e.preferred=="boolean"?e.preferred:!1}constructor(e,t,i){this.kind=e,this.apply=t,this.preferred=i}}class py{constructor(e,t){this.action=e,this.provider=t}resolve(e){var t;return hy(this,void 0,void 0,function*(){if(!((t=this.provider)===null||t===void 0)&&t.resolveCodeAction&&!this.action.edit){let i;try{i=yield this.provider.resolveCodeAction(this.action,e)}catch(o){ye(o)}i&&(this.action.edit=i.edit)}return this})}}var Ia=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};const Rm="editor.action.codeAction",km="editor.action.refactor",fy="editor.action.refactor.preview",Nm="editor.action.sourceAction",lu="editor.action.organizeImports",du="editor.action.fixAll";class fs extends E{static codeActionsPreferredComparator(e,t){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:0}static codeActionsComparator({action:e},{action:t}){return Ge(e.diagnostics)?Ge(t.diagnostics)?fs.codeActionsPreferredComparator(e,t):-1:Ge(t.diagnostics)?1:fs.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(fs.codeActionsComparator),this.validActions=this.allActions.filter(({action:o})=>!o.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&W.QuickFix.contains(new W(e.kind))&&!!e.isPreferred)}}const kg={actions:[],documentation:void 0};function cu(r,e,t,i,o,n){var s;return Ia(this,void 0,void 0,function*(){const a=i.filter||{},l={only:(s=a.include)===null||s===void 0?void 0:s.value,trigger:i.type},c=new mb(e,n),d=my(r,e,a),h=new R,g=d.map(f=>Ia(this,void 0,void 0,function*(){try{o.report(f);const m=yield f.provideCodeActions(e,t,l,c.token);if(m&&h.add(m),c.token.isCancellationRequested)return kg;const v=((m==null?void 0:m.actions)||[]).filter(S=>S&&gy(a,S)),C=vy(f,v,a.include);return{actions:v.map(S=>new py(S,f)),documentation:C}}catch(m){if(Ro(m))throw m;return ye(m),kg}})),p=r.onDidChange(()=>{const f=r.all(e);Xa(f,d)||c.cancel()});try{const f=yield Promise.all(g),m=f.map(C=>C.actions).flat(),v=[...tr(f.map(C=>C.documentation)),..._y(r,e,i,m)];return new fs(m,v,h)}finally{p.dispose(),c.dispose()}})}function my(r,e,t){return r.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(o=>uy(t,new W(o))):!0)}function*_y(r,e,t,i){var o,n,s;if(e&&i.length)for(const a of r.all(e))a._getAdditionalMenuItems&&(yield*(o=a._getAdditionalMenuItems)===null||o===void 0?void 0:o.call(a,{trigger:t.type,only:(s=(n=t.filter)===null||n===void 0?void 0:n.include)===null||s===void 0?void 0:s.value},i.map(l=>l.action)))}function vy(r,e,t){if(!r.documentation)return;const i=r.documentation.map(o=>({kind:new W(o.kind),command:o.command}));if(t){let o;for(const n of i)n.kind.contains(t)&&(o?o.kind.contains(n.kind)&&(o=n):o=n);if(o)return o==null?void 0:o.command}for(const o of e)if(o.kind){for(const n of i)if(n.kind.contains(new W(o.kind)))return n.command}}var Da;(function(r){r.OnSave="onSave",r.FromProblemsView="fromProblemsView",r.FromCodeActions="fromCodeActions"})(Da||(Da={}));function by(r,e,t,i,o=q.None){var n;return Ia(this,void 0,void 0,function*(){const s=r.get(Qa),a=r.get($e),l=r.get(Fi),c=r.get(it);if(l.publicLog2("codeAction.applyCodeAction",{codeActionTitle:e.action.title,codeActionKind:e.action.kind,codeActionIsPreferred:!!e.action.isPreferred,reason:t}),yield e.resolve(o),!o.isCancellationRequested&&!(!((n=e.action.edit)===null||n===void 0)&&n.edits.length&&!(yield s.apply(e.action.edit,{editor:i==null?void 0:i.editor,label:e.action.title,quotableLabel:e.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:t!==Da.OnSave,showPreview:i==null?void 0:i.preview})).isApplied)&&e.action.command)try{yield a.executeCommand(e.action.command.id,...e.action.command.arguments||[])}catch(d){const h=Cy(d);c.error(typeof h=="string"?h:u("applyCodeActionFailed","An unknown error occurred while applying the code action"))}})}function Cy(r){return typeof r=="string"?r:r instanceof Error&&typeof r.message=="string"?r.message:void 0}se.registerCommand("_executeCodeActionProvider",function(r,e,t,i,o){return Ia(this,void 0,void 0,function*(){if(!(e instanceof te))throw zt();const{codeActionProvider:n}=r.get(V),s=r.get(Qe).getModel(e);if(!s)throw zt();const a=B.isISelection(t)?B.liftSelection(t):b.isIRange(t)?s.validateRange(t):void 0;if(!a)throw zt();const l=typeof i=="string"?new W(i):void 0,c=yield cu(n,s,a,{type:1,triggerAction:Be.Default,filter:{includeSourceActions:!0,include:l}},To.None,q.None),d=[],h=Math.min(c.validActions.length,typeof o=="number"?o:0);for(let g=0;gg.action)}finally{setTimeout(()=>c.dispose(),100)}})});var Sy=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},wy=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let Ta=class Mm{constructor(e){this.keybindingService=e}getResolver(){const e=new Ya(()=>this.keybindingService.getKeybindings().filter(t=>Mm.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===lu?i={kind:W.SourceOrganizeImports.value}:t.command===du&&(i={kind:W.SourceFixAll.value}),Object.assign({resolvedKeybinding:t.resolvedKeybinding},Ut.fromUser(i,{kind:W.None,apply:"never"}))}));return t=>{if(t.kind){const i=this.bestKeybindingForCodeAction(t,e.value);return i==null?void 0:i.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const i=new W(e.kind);return t.filter(o=>o.kind.contains(i)).filter(o=>o.preferred?e.isPreferred:!0).reduceRight((o,n)=>o?o.kind.contains(n.kind)?n:o:n,void 0)}};Ta.codeActionCommands=[km,Rm,Nm,lu,du];Ta=Sy([wy(0,xe)],Ta);A("symbolIcon.arrayForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.booleanForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},u("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.colorForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.constantForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},u("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},u("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},u("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},u("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},u("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.fileForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.folderForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},u("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},u("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.keyForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.keywordForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},u("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.moduleForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.namespaceForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.nullForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.numberForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.objectForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.operatorForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.packageForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.propertyForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.referenceForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.snippetForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.stringForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.structForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.textForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.typeParameterForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.unitForeground",{dark:D,light:D,hcDark:D,hcLight:D},u("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));A("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},u("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const Em=Object.freeze({kind:W.Empty,title:u("codeAction.widget.id.more","More Actions...")}),yy=Object.freeze([{kind:W.QuickFix,title:u("codeAction.widget.id.quickfix","Quick Fix...")},{kind:W.RefactorExtract,title:u("codeAction.widget.id.extract","Extract..."),icon:Y.wrench},{kind:W.RefactorInline,title:u("codeAction.widget.id.inline","Inline..."),icon:Y.wrench},{kind:W.RefactorRewrite,title:u("codeAction.widget.id.convert","Rewrite..."),icon:Y.wrench},{kind:W.RefactorMove,title:u("codeAction.widget.id.move","Move..."),icon:Y.wrench},{kind:W.SurroundWith,title:u("codeAction.widget.id.surround","Surround With..."),icon:Y.symbolSnippet},{kind:W.Source,title:u("codeAction.widget.id.source","Source Action..."),icon:Y.symbolFile},Em]);function xy(r,e,t){if(!e)return r.map(n=>({kind:"action",item:n,group:Em,disabled:!!n.action.disabled,label:n.action.disabled||n.action.title}));const i=yy.map(n=>({group:n,actions:[]}));for(const n of r){const s=n.action.kind?new W(n.action.kind):W.None;for(const a of i)if(a.group.kind.contains(s)){a.actions.push(n);break}}const o=[];for(const n of i)if(n.actions.length){o.push({kind:"header",group:n.group});for(const s of n.actions)o.push({kind:"action",item:s,group:n.group,label:s.action.title,disabled:!!s.action.disabled,keybinding:t(s.action)})}return o}var Ly=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Iy=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let Xe=class dc{static get(e){return e.getContribution(dc.ID)}constructor(e,t){this._messageWidget=new Ve,this._messageListeners=new R,this._editor=e,this._visible=dc.MESSAGE_VISIBLE.bindTo(t)}dispose(){this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){lt(e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._messageWidget.value=new Ng(this._editor,t,e),this._messageListeners.add(this._editor.onDidBlurEditorText(()=>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(new ko(()=>this.closeMessage(),3e3));let i;this._messageListeners.add(this._editor.onMouseMove(o=>{o.target.position&&(i?i.containsPosition(o.target.position)||this.closeMessage():i=new b(t.lineNumber-3,1,o.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(Ng.fadeOut(this._messageWidget.value))}};Xe.ID="editor.contrib.messageController";Xe.MESSAGE_VISIBLE=new Z("messageVisible",!1,u("messageVisible","Whether the editor is currently showing an inline message"));Xe=Ly([Iy(1,Q)],Xe);const Dy=ct.bindToContribution(Xe.get);F(new Dy({id:"leaveEditorMessage",precondition:Xe.MESSAGE_VISIBLE,handler:r=>r.closeMessage(),kbOpts:{weight:100+30,primary:9}}));let Ng=class{static fadeOut(e){const t=()=>{e.dispose(),clearTimeout(i),e.getDomNode().removeEventListener("animationend",t)},i=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}constructor(e,{lineNumber:t,column:i},o){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:i},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const n=document.createElement("div");n.classList.add("anchor","top"),this._domNode.appendChild(n);const s=document.createElement("div");s.classList.add("message"),s.textContent=o,this._domNode.appendChild(s);const a=document.createElement("div");a.classList.add("anchor","below"),this._domNode.appendChild(a),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle("below",e===2)}};K(Xe.ID,Xe,4);var Pm=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},cc=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};const Am="acceptSelectedCodeAction",Om="previewSelectedCodeAction";class Ty{get templateId(){return"header"}renderTemplate(e){e.classList.add("group-header");const t=document.createElement("span");return e.append(t),{container:e,text:t}}renderElement(e,t,i){var o,n;i.text.textContent=(n=(o=e.group)===null||o===void 0?void 0:o.title)!==null&&n!==void 0?n:""}disposeTemplate(e){}}let hc=class{get templateId(){return"action"}constructor(e,t){this._supportsPreview=e,this._keybindingService=t}renderTemplate(e){e.classList.add(this.templateId);const t=document.createElement("div");t.className="icon",e.append(t);const i=document.createElement("span");i.className="title",e.append(i);const o=new nf(e,of);return{container:e,icon:t,text:i,keybinding:o}}renderElement(e,t,i){var o,n,s;if(!((o=e.group)===null||o===void 0)&&o.icon?(i.icon.className=ee.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=tn(e.group.icon.color.id))):(i.icon.className=ee.asClassName(Y.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=Fm(e.label),e.keybinding?(i.keybinding.set(e.keybinding),rt(i.keybinding.element)):Ke(i.keybinding.element);const a=(n=this._keybindingService.lookupKeybinding(Am))===null||n===void 0?void 0:n.getLabel(),l=(s=this._keybindingService.lookupKeybinding(Om))===null||s===void 0?void 0:s.getLabel();if(i.container.classList.toggle("option-disabled",e.disabled),e.disabled?i.container.title=e.label:a&&l?this._supportsPreview?i.container.title=u({key:"label-preview",comment:['placeholders are keybindings, e.g "F2 to apply, Shift+F2 to preview"']},"{0} to apply, {1} to preview",a,l):i.container.title=u({key:"label",comment:['placeholder is a keybinding, e.g "F2 to apply"']},"{0} to apply",a):i.container.title="",e.description){const c=new sf(M(i.container,P("span.label-description")));c.element.classList.add("action-list-description"),c.set(e.description)}}disposeTemplate(e){}};hc=Pm([cc(1,xe)],hc);class Ry extends UIEvent{constructor(){super("acceptSelectedAction")}}class Mg extends UIEvent{constructor(){super("previewSelectedAction")}}let uc=class extends E{constructor(e,t,i,o,n,s){super(),this._delegate=o,this._contextViewService=n,this._keybindingService=s,this._actionLineHeight=24,this._headerLineHeight=26,this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const a={getHeight:l=>l.kind==="header"?this._headerLineHeight:this._actionLineHeight,getTemplateId:l=>l.kind};this._list=this._register(new rf(e,this.domNode,a,[new hc(t,this._keybindingService),new Ty],{keyboardSupport:!1,accessibilityProvider:{getAriaLabel:l=>{if(l.kind==="action"){let c=l.label?Fm(l==null?void 0:l.label):"";return l.disabled&&(c=u({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",c,l.disabled)),c}return null},getWidgetAriaLabel:()=>u({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:l=>l.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(_b),this._register(this._list.onMouseClick(l=>this.onListClick(l))),this._register(this._list.onMouseOver(l=>this.onListHover(l))),this._register(this._list.onDidChangeFocus(()=>this._list.domFocus())),this._register(this._list.onDidChangeSelection(l=>this.onListSelection(l))),this._allMenuItems=i,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._contextViewService.hideContextView()}layout(e){const t=this._allMenuItems.filter(c=>c.kind==="header").length,o=this._allMenuItems.length*this._actionLineHeight+t*this._headerLineHeight-t*this._actionLineHeight;this._list.layout(o);const n=this._allMenuItems.map((c,d)=>{const h=document.getElementById(this._list.getElementID(d));if(h){h.style.width="auto";const g=h.getBoundingClientRect().width;return h.style.width="",g}return 0}),s=Math.max(...n,e),a=.7,l=Math.min(o,document.body.clientHeight*a);return this._list.layout(l,s),this.domNode.style.height=`${l}px`,this._list.domFocus(),s}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(e){const t=this._list.getFocus();if(t.length===0)return;const i=t[0],o=this._list.element(i);if(!this.focusCondition(o))return;const n=e?new Mg:new Ry;this._list.setSelection([i],n)}onListSelection(e){if(!e.elements.length)return;const t=e.elements[0];t.item&&this.focusCondition(t)?this._delegate.onSelect(t.item,e.browserEvent instanceof Mg):this._list.setSelection([])}onListHover(e){this._list.setFocus(typeof e.index=="number"?[e.index]:[])}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};uc=Pm([cc(4,Ja),cc(5,xe)],uc);function Fm(r){return r.replace(/\r\n|\r|\n/g," ")}var ky=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},pd=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};const pn={Visible:new Z("codeActionMenuVisible",!1,u("codeActionMenuVisible","Whether the action widget list is visible"))},An=Wi("actionWidgetService");let fn=class extends E{get isVisible(){return pn.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new Ve)}show(e,t,i,o,n,s,a){const l=pn.Visible.bindTo(this._contextKeyService),c=this._instantiationService.createInstance(uc,e,t,i,o);this._contextViewService.showContextView({getAnchor:()=>n,render:d=>(l.set(!0),this._renderWidget(d,c,a??[])),onHide:d=>{l.reset(),this._onWidgetClosed(d)}},s,!1)}acceptSelected(e){var t;(t=this._list.value)===null||t===void 0||t.acceptSelected(e)}focusPrevious(){var e,t;(t=(e=this._list)===null||e===void 0?void 0:e.value)===null||t===void 0||t.focusPrevious()}focusNext(){var e,t;(t=(e=this._list)===null||e===void 0?void 0:e.value)===null||t===void 0||t.focusNext()}hide(){var e;(e=this._list.value)===null||e===void 0||e.hide(),this._list.clear()}_renderWidget(e,t,i){var o;const n=document.createElement("div");if(n.classList.add("action-widget"),e.appendChild(n),this._list.value=t,this._list.value)n.appendChild(this._list.value.domNode);else throw new Error("List has no value");const s=new R,a=document.createElement("div"),l=e.appendChild(a);l.classList.add("context-view-block"),s.add(de(l,at.MOUSE_DOWN,f=>f.stopPropagation()));const c=document.createElement("div"),d=e.appendChild(c);d.classList.add("context-view-pointerBlock"),s.add(de(d,at.POINTER_MOVE,()=>d.remove())),s.add(de(d,at.MOUSE_DOWN,()=>d.remove()));let h=0;if(i.length){const f=this._createActionBar(".action-widget-action-bar",i);f&&(n.appendChild(f.getContainer().parentElement),s.add(f),h=f.getContainer().offsetWidth)}const g=(o=this._list.value)===null||o===void 0?void 0:o.layout(h);n.style.width=`${g}px`;const p=s.add(Jd(e));return s.add(p.onDidBlur(()=>this.hide())),s}_createActionBar(e,t){if(!t.length)return;const i=P(e),o=new cn(i);return o.push(t,{icon:!1,label:!0}),o}_onWidgetClosed(e){var t;(t=this._list.value)===null||t===void 0||t.hide(e)}};fn=ky([pd(0,Ja),pd(1,Q),pd(2,G)],fn);Hi(An,fn,1);const cr=100+1e3;Le(class extends Vi{constructor(){super({id:"hideCodeActionWidget",title:{value:u("hideCodeActionWidget.title","Hide action widget"),original:"Hide action widget"},precondition:pn.Visible,keybinding:{weight:cr,primary:9,secondary:[1033]}})}run(r){r.get(An).hide()}});Le(class extends Vi{constructor(){super({id:"selectPrevCodeAction",title:{value:u("selectPrevCodeAction.title","Select previous action"),original:"Select previous action"},precondition:pn.Visible,keybinding:{weight:cr,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(r){const e=r.get(An);e instanceof fn&&e.focusPrevious()}});Le(class extends Vi{constructor(){super({id:"selectNextCodeAction",title:{value:u("selectNextCodeAction.title","Select next action"),original:"Select next action"},precondition:pn.Visible,keybinding:{weight:cr,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(r){const e=r.get(An);e instanceof fn&&e.focusNext()}});Le(class extends Vi{constructor(){super({id:Am,title:{value:u("acceptSelected.title","Accept selected action"),original:"Accept selected action"},precondition:pn.Visible,keybinding:{weight:cr,primary:3,secondary:[2132]}})}run(r){const e=r.get(An);e instanceof fn&&e.acceptSelected()}});Le(class extends Vi{constructor(){super({id:Om,title:{value:u("previewSelected.title","Preview selected action"),original:"Preview selected action"},precondition:pn.Visible,keybinding:{weight:cr,primary:2051}})}run(r){const e=r.get(An);e instanceof fn&&e.acceptSelected(!0)}});var Ny=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},My=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},io;(function(r){r.Hidden={type:0};class e{constructor(i,o,n,s){this.actions=i,this.trigger=o,this.editorPosition=n,this.widgetPosition=s,this.type=1}}r.Showing=e})(io||(io={}));let Ra=class Wm extends E{constructor(e,t,i,o){super(),this._editor=e,this._onClick=this._register(new z),this.onClick=this._onClick.event,this._state=io.Hidden,this._domNode=P("div.lightBulbWidget"),this._register(af.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(n=>{const s=this._editor.getModel();(this.state.type!==1||!s||this.state.editorPosition.lineNumber>=s.getLineCount())&&this.hide()})),this._register(vb(this._domNode,n=>{if(this.state.type!==1)return;this._editor.focus(),n.preventDefault();const{top:s,height:a}=Gt(this._domNode),l=this._editor.getOption(63);let c=Math.floor(l/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber{(n.buttons&1)===1&&this.hide()})),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(61)&&!this._editor.getOption(61).enabled&&this.hide()})),this._register(He.runAndSubscribe(o.onDidUpdateKeybindings,()=>{var n,s;this._preferredKbLabel=Nt((n=o.lookupKeybinding(i))===null||n===void 0?void 0:n.getLabel()),this._quickFixKbLabel=Nt((s=o.lookupKeybinding(t))===null||s===void 0?void 0:s.getLabel()),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,i){if(e.validActions.length<=0)return this.hide();const o=this._editor.getOptions();if(!o.get(61).enabled)return this.hide();const n=this._editor.getModel();if(!n)return this.hide();const{lineNumber:s,column:a}=n.validatePosition(i),l=n.getOptions().tabSize,c=o.get(47),d=n.getLineContent(s),h=Ah(d,l),g=c.spaceWidth*h>22,p=m=>m>2&&this._editor.getTopForLineNumber(m)===this._editor.getTopForLineNumber(m-1);let f=s;if(!g){if(s>1&&!p(s-1))f-=1;else if(!p(s+1))f+=1;else if(a*c.spaceWidth<22)return this.hide()}this.state=new io.Showing(e,t,i,{position:{lineNumber:f,column:1},preference:Wm._posPref}),this._editor.layoutContentWidget(this)}hide(){this.state!==io.Hidden&&(this.state=io.Hidden,this._editor.layoutContentWidget(this))}get state(){return this._state}set state(e){this._state=e,this._updateLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){if(this.state.type===1&&this.state.actions.hasAutoFix&&(this._domNode.classList.remove(...ee.asClassNameArray(Y.lightBulb)),this._domNode.classList.add(...ee.asClassNameArray(Y.lightbulbAutofix)),this._preferredKbLabel)){this.title=u("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel);return}this._domNode.classList.remove(...ee.asClassNameArray(Y.lightbulbAutofix)),this._domNode.classList.add(...ee.asClassNameArray(Y.lightBulb)),this._quickFixKbLabel?this.title=u("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):this.title=u("codeAction","Show Code Actions")}set title(e){this._domNode.title=e}};Ra._posPref=[0];Ra=Ny([My(3,xe)],Ra);var Ey=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Nr=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},fd=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})},Py=globalThis&&globalThis.__classPrivateFieldSet||function(r,e,t,i,o){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!o:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?o.call(r,t):o?o.value=t:e.set(r,t),t},Ay=globalThis&&globalThis.__classPrivateFieldGet||function(r,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(r):i?i.value:e.get(r)},sa;let gc=class extends E{constructor(e,t,i,o,n,s,a,l){super(),this._editor=e,this.delegate=o,this._configurationService=s,this._actionWidgetService=a,this._commandService=l,this._activeCodeActions=this._register(new Ve),sa.set(this,!1),this._showDisabled=!1,this._lightBulbWidget=new Ya(()=>{const c=this._register(n.createInstance(Ra,this._editor,t,i));return this._register(c.onClick(d=>this.showCodeActionList(d.actions,d,{includeDisabledActions:!1,fromLightbulb:!0}))),c}),this._resolver=n.createInstance(Ta),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){Py(this,sa,!0,"f"),super.dispose()}update(e){var t,i,o,n,s;return fd(this,void 0,void 0,function*(){if(e.type!==1){(t=this._lightBulbWidget.rawValue)===null||t===void 0||t.hide();return}let a;try{a=yield e.actions}catch(l){ie(l);return}if(!Ay(this,sa,"f"))if(this._lightBulbWidget.value.update(a,e.trigger,e.position),e.trigger.type===1){if(!((i=e.trigger.filter)===null||i===void 0)&&i.include){const c=this.tryGetValidActionToApply(e.trigger,a);if(c){try{this._lightBulbWidget.value.hide(),yield this.delegate.applyCodeAction(c,!1,!1)}finally{a.dispose()}return}if(e.trigger.context){const d=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,a);if(d&&d.action.disabled){(o=Xe.get(this._editor))===null||o===void 0||o.showMessage(d.action.disabled,e.trigger.context.position),a.dispose();return}}}const l=!!(!((n=e.trigger.filter)===null||n===void 0)&&n.include);if(e.trigger.context&&(!a.allActions.length||!l&&!a.validActions.length)){(s=Xe.get(this._editor))===null||s===void 0||s.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=a,a.dispose();return}this._activeCodeActions.value=a,this.showCodeActionList(a,this.toCoords(e.position),{includeDisabledActions:l,fromLightbulb:!1})}else this._actionWidgetService.isVisible?a.dispose():this._activeCodeActions.value=a})}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length&&(e.autoApply==="first"&&t.validActions.length===0||e.autoApply==="ifSingle"&&t.allActions.length===1))return t.allActions.find(({action:i})=>i.disabled)}tryGetValidActionToApply(e,t){if(t.validActions.length&&(e.autoApply==="first"&&t.validActions.length>0||e.autoApply==="ifSingle"&&t.validActions.length===1))return t.validActions[0]}showCodeActionList(e,t,i){return fd(this,void 0,void 0,function*(){const o=this._editor.getDomNode();if(!o)return;const n=i.includeDisabledActions&&(this._showDisabled||e.validActions.length===0)?e.allActions:e.validActions;if(!n.length)return;const s=H.isIPosition(t)?this.toCoords(t):t,a={onSelect:(l,c)=>fd(this,void 0,void 0,function*(){this.delegate.applyCodeAction(l,!0,c||!1),this._actionWidgetService.hide()}),onHide:()=>{var l;(l=this._editor)===null||l===void 0||l.focus()}};this._actionWidgetService.show("codeActionWidget",!0,xy(n,this._shouldShowHeaders(),this._resolver.getResolver()),a,s,o,this._getActionBarActions(e,t,i))})}toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(e),i=Gt(this._editor.getDomNode()),o=i.left+t.left,n=i.top+t.top+t.height;return{x:o,y:n}}_shouldShowHeaders(){var e;const t=(e=this._editor)===null||e===void 0?void 0:e.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:t==null?void 0:t.uri})}_getActionBarActions(e,t,i){if(i.fromLightbulb)return[];const o=e.documentation.map(n=>{var s;return{id:n.id,label:n.title,tooltip:(s=n.tooltip)!==null&&s!==void 0?s:"",class:void 0,enabled:!0,run:()=>{var a;return this._commandService.executeCommand(n.id,...(a=n.commandArguments)!==null&&a!==void 0?a:[])}}});return i.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&o.push(this._showDisabled?{id:"hideMoreActions",label:u("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:u("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),o}};sa=new WeakMap;gc=Ey([Nr(4,G),Nr(5,he),Nr(6,An),Nr(7,$e)],gc);var md=globalThis&&globalThis.__classPrivateFieldGet||function(r,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(r):i?i.value:e.get(r)},Oy=globalThis&&globalThis.__classPrivateFieldSet||function(r,e,t,i,o){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!o:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?o.call(r,t):o?o.value=t:e.set(r,t),t},Xn;const Hm=new Z("supportedCodeAction","");class Fy extends E{constructor(e,t,i,o=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=o,this._autoTriggerTimer=this._register(new ko),this._register(this._markerService.onMarkerChanged(n=>this._onMarkerChanges(n))),this._register(this._editor.onDidChangeCursorPosition(()=>this._onCursorChange()))}trigger(e){const t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);return this._createEventAndSignalChange(e,t)}_onMarkerChanges(e){const t=this._editor.getModel();t&&e.some(i=>Oh(i,t.uri))&&this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Be.Default})},this._delay)}_onCursorChange(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Be.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=this._editor.getSelection();if(i.isEmpty()&&e.type===2){const{lineNumber:o,column:n}=i.getPosition(),s=t.getLineContent(o);if(s.length===0)return;if(n===1){if(/\s/.test(s[0]))return}else if(n===t.getLineMaxColumn(o)){if(/\s/.test(s[s.length-1]))return}else if(/\s/.test(s[n-2])&&/\s/.test(s[n-1]))return}return i}_createEventAndSignalChange(e,t){const i=this._editor.getModel();if(!t||!i){this._signalChange(void 0);return}const o={trigger:e,selection:t,position:t.getStartPosition()};return this._signalChange(o),o}}var Yi;(function(r){r.Empty={type:0};class e{constructor(i,o,n,s){this.trigger=i,this.rangeOrSelection=o,this.position=n,this._cancellablePromise=s,this.type=1,this.actions=s.catch(a=>{if(Ro(a))return Wy;throw a})}cancel(){this._cancellablePromise.cancel()}}r.Triggered=e})(Yi||(Yi={}));const Wy={allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1};class Hy extends E{constructor(e,t,i,o,n){super(),this._editor=e,this._registry=t,this._markerService=i,this._progressService=n,this._codeActionOracle=this._register(new Ve),this._state=Yi.Empty,this._onDidChangeState=this._register(new z),this.onDidChangeState=this._onDidChangeState.event,Xn.set(this,!1),this._supportedCodeActions=Hm.bindTo(o),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._update()}dispose(){md(this,Xn,"f")||(Oy(this,Xn,!0,"f"),super.dispose(),this.setState(Yi.Empty,!0))}_update(){if(md(this,Xn,"f"))return;this._codeActionOracle.value=void 0,this.setState(Yi.Empty);const e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(86)){const t=[];for(const i of this._registry.all(e))Array.isArray(i.providedCodeActionKinds)&&t.push(...i.providedCodeActionKinds);this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new Fy(this._editor,this._markerService,i=>{var o;if(!i){this.setState(Yi.Empty);return}const n=Ce(s=>cu(this._registry,e,i.selection,i.trigger,To.None,s));i.trigger.type===1&&((o=this._progressService)===null||o===void 0||o.showWhile(n,250)),this.setState(new Yi.Triggered(i.trigger,i.selection,i.position,n))},void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:Be.Default})}else this._supportedCodeActions.reset()}trigger(e){var t;(t=this._codeActionOracle.value)===null||t===void 0||t.trigger(e)}setState(e,t){e!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=e,!t&&!md(this,Xn,"f")&&this._onDidChangeState.fire(e))}}Xn=new WeakMap;var Vy=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},zo=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},By=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};function hr(r){return x.regex(Hm.keys()[0],new RegExp("(\\s|^)"+Cs(r.value)+"\\b"))}function Vm(r,e,t,i){const o=Ut.fromUser(e,{kind:W.Refactor,apply:"never"});return On(r,typeof(e==null?void 0:e.kind)=="string"?o.preferred?u("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",e.kind):u("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",e.kind):o.preferred?u("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):u("editor.action.refactor.noneMessage","No refactorings available"),{include:W.Refactor.contains(o.kind)?o.kind:W.None,onlyIncludePreferredActions:o.preferred},o.apply,t,i)}const ml={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:u("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:u("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[u("args.schema.apply.first","Always apply the first returned code action."),u("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),u("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:u("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};let mn=class Bm extends E{static get(e){return e.getContribution(Bm.ID)}constructor(e,t,i,o,n,s){super(),this._instantiationService=n,this._editor=e,this._model=this._register(new Hy(this._editor,s.codeActionProvider,t,i,o)),this._register(this._model.onDidChangeState(a=>this.update(a))),this._ui=new Ya(()=>this._register(n.createInstance(gc,e,Po.Id,ur.Id,{applyCodeAction:(a,l,c)=>By(this,void 0,void 0,function*(){try{yield this._applyCodeAction(a,c)}finally{l&&this._trigger({type:2,triggerAction:Be.QuickFix,filter:{}})}})})))}update(e){this._ui.value.update(e)}showCodeActions(e,t,i){return this._ui.value.showCodeActionList(t,i,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,i,o,n){var s;if(!this._editor.hasModel())return;(s=Xe.get(this._editor))===null||s===void 0||s.closeMessage();const a=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:i,autoApply:o,context:{notAvailableMessage:e,position:a},preview:n})}_trigger(e){return this._model.trigger(e)}_applyCodeAction(e,t){return this._instantiationService.invokeFunction(by,e,Da.FromCodeActions,{preview:t,editor:this._editor})}};mn.ID="editor.contrib.codeActionController";mn=Vy([zo(1,Fh),zo(2,Q),zo(3,ir),zo(4,G),zo(5,V)],mn);function On(r,e,t,i,o=!1,n=Be.Default){if(r.hasModel()){const s=mn.get(r);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i,o)}}class Po extends L{constructor(){super({id:Po.Id,label:u("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:x.and(_.writable,_.hasCodeActionsProvider),kbOpts:{kbExpr:_.editorTextFocus,primary:2132,weight:100}})}run(e,t){return On(t,u("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,!1,Be.QuickFix)}}Po.Id="editor.action.quickFix";class Uy extends ct{constructor(){super({id:Rm,precondition:x.and(_.writable,_.hasCodeActionsProvider),description:{description:"Trigger a code action",args:[{name:"args",schema:ml}]}})}runEditorCommand(e,t,i){const o=Ut.fromUser(i,{kind:W.Empty,apply:"ifSingle"});return On(t,typeof(i==null?void 0:i.kind)=="string"?o.preferred?u("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):u("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):o.preferred?u("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):u("editor.action.codeAction.noneMessage","No code actions available"),{include:o.kind,includeSourceActions:!0,onlyIncludePreferredActions:o.preferred},o.apply)}}class $y extends L{constructor(){super({id:km,label:u("refactor.label","Refactor..."),alias:"Refactor...",precondition:x.and(_.writable,_.hasCodeActionsProvider),kbOpts:{kbExpr:_.editorTextFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:x.and(_.writable,hr(W.Refactor))},description:{description:"Refactor...",args:[{name:"args",schema:ml}]}})}run(e,t,i){return Vm(t,i,!1,Be.Refactor)}}class zy extends L{constructor(){super({id:fy,label:u("refactor.preview.label","Refactor with Preview..."),alias:"Refactor Preview...",precondition:x.and(_.writable,_.hasCodeActionsProvider),description:{description:"Refactor Preview...",args:[{name:"args",schema:ml}]}})}run(e,t,i){return Vm(t,i,!0,Be.RefactorPreview)}}class jy extends L{constructor(){super({id:Nm,label:u("source.label","Source Action..."),alias:"Source Action...",precondition:x.and(_.writable,_.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:x.and(_.writable,hr(W.Source))},description:{description:"Source Action...",args:[{name:"args",schema:ml}]}})}run(e,t,i){const o=Ut.fromUser(i,{kind:W.Source,apply:"never"});return On(t,typeof(i==null?void 0:i.kind)=="string"?o.preferred?u("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):u("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):o.preferred?u("editor.action.source.noneMessage.preferred","No preferred source actions available"):u("editor.action.source.noneMessage","No source actions available"),{include:W.Source.contains(o.kind)?o.kind:W.None,includeSourceActions:!0,onlyIncludePreferredActions:o.preferred},o.apply,void 0,Be.SourceAction)}}class Ky extends L{constructor(){super({id:lu,label:u("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:x.and(_.writable,hr(W.SourceOrganizeImports)),kbOpts:{kbExpr:_.editorTextFocus,primary:1581,weight:100}})}run(e,t){return On(t,u("editor.action.organize.noneMessage","No organize imports action available"),{include:W.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",void 0,Be.OrganizeImports)}}class qy extends L{constructor(){super({id:du,label:u("fixAll.label","Fix All"),alias:"Fix All",precondition:x.and(_.writable,hr(W.SourceFixAll))})}run(e,t){return On(t,u("fixAll.noneMessage","No fix all action available"),{include:W.SourceFixAll,includeSourceActions:!0},"ifSingle",void 0,Be.FixAll)}}class ur extends L{constructor(){super({id:ur.Id,label:u("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:x.and(_.writable,hr(W.QuickFix)),kbOpts:{kbExpr:_.editorTextFocus,primary:1620,mac:{primary:2644},weight:100}})}run(e,t){return On(t,u("editor.action.autoFix.noneMessage","No auto fixes available"),{include:W.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",void 0,Be.AutoFix)}}ur.Id="editor.action.autoFix";K(mn.ID,mn,3);w(Po);w($y);w(zy);w(jy);w(Ky);w(ur);w(qy);F(new Uy);Zt.as(Wh.Configuration).registerConfiguration(Object.assign(Object.assign({},lf),{properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:u("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}}));var Eg=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};class pc{constructor(){this.lenses=[],this._disposables=new R}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const i of e.lenses)this.lenses.push({symbol:i,provider:t})}}function Um(r,e,t){return Eg(this,void 0,void 0,function*(){const i=r.ordered(e),o=new Map,n=new pc,s=i.map((a,l)=>Eg(this,void 0,void 0,function*(){o.set(a,l);try{const c=yield Promise.resolve(a.provideCodeLenses(e,t));c&&n.add(c,a)}catch(c){ye(c)}}));return yield Promise.all(s),n.lenses=n.lenses.sort((a,l)=>a.symbol.range.startLineNumberl.symbol.range.startLineNumber?1:o.get(a.provider)o.get(l.provider)?1:a.symbol.range.startColumnl.symbol.range.startColumn?1:0),n})}se.registerCommand("_executeCodeLensProvider",function(r,...e){let[t,i]=e;re(te.isUri(t)),re(typeof i=="number"||!i);const{codeLensProvider:o}=r.get(V),n=r.get(Qe).getModel(t);if(!n)throw zt();const s=[],a=new R;return Um(o,n,q.None).then(l=>{a.add(l);const c=[];for(const d of l.lenses)i==null||Boolean(d.symbol.command)?s.push(d.symbol):i-- >0&&d.provider.resolveCodeLens&&c.push(Promise.resolve(d.provider.resolveCodeLens(n,d.symbol,q.None)).then(h=>s.push(h||d.symbol)));return Promise.all(c)}).then(()=>s).finally(()=>{setTimeout(()=>a.dispose(),100)})});var Gy=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Zy=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};const $m=Wi("ICodeLensCache");class Pg{constructor(e,t){this.lineCount=e,this.data=t}}let fc=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new nr(20,.75);const t="codelens/cache";bb(()=>e.remove(t,1));const i="codelens/cache2",o=e.get(i,1,"{}");this._deserialize(o),df(e.onWillSaveState)(n=>{n.reason===cf.SHUTDOWN&&e.store(i,this._serialize(),1,1)})}put(e,t){const i=t.lenses.map(s=>{var a;return{range:s.symbol.range,command:s.symbol.command&&{id:"",title:(a=s.symbol.command)===null||a===void 0?void 0:a.title}}}),o=new pc;o.add({lenses:i,dispose:()=>{}},this._fakeProvider);const n=new Pg(e.getLineCount(),o);this._cache.set(e.uri.toString(),n)}get(e){const 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(){const e=Object.create(null);for(const[t,i]of this._cache){const o=new Set;for(const n of i.data.lenses)o.add(n.symbol.range.startLineNumber);e[t]={lineCount:i.lineCount,lines:[...o.values()]}}return JSON.stringify(e)}_deserialize(e){try{const t=JSON.parse(e);for(const i in t){const o=t[i],n=[];for(const a of o.lines)n.push({range:new b(a,1,a,11)});const s=new pc;s.add({lenses:n,dispose(){}},this._fakeProvider),this._cache.set(i,new Pg(o.lineCount,s))}}catch{}}};fc=Gy([Zy(0,Bi)],fc);Hi($m,fc,1);class Xy{constructor(e,t,i){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(e){this._lastHeight===void 0?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class _l{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${_l._idPool++}`,this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(e,t){this._commands.clear();const i=[];let o=!1;for(let n=0;n{c.symbol.command&&l.push(c.symbol),i.addDecoration({range:c.symbol.range,options:Ag},h=>this._decorationIds[d]=h),a?a=b.plusRange(a,c.symbol.range):a=b.lift(c.symbol.range)}),this._viewZone=new Xy(a.startLineNumber-1,n,s),this._viewZoneId=o.addZone(this._viewZone),l.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(l,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new _l(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],t==null||t.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((e,t)=>{const i=this._editor.getModel().getDecorationRange(e),o=this._data[t].symbol;return!!(i&&b.isEmpty(o.range)===i.isEmpty())})}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach((i,o)=>{t.addDecoration({range:i.symbol.range,options:Ag},n=>this._decorationIds[o]=n)})}updateHeight(e,t){this._viewZone.heightInPx=e,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(e){if(!this._viewZone.isVisible())return null;for(let t=0;t=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},jo=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},Yy=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};let po=class{constructor(e,t,i,o,n,s){this._editor=e,this._languageFeaturesService=t,this._commandService=o,this._notificationService=n,this._codeLensCache=s,this._disposables=new R,this._localToDispose=new R,this._lenses=[],this._oldCodeLensModels=new R,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new _e(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(a=>{(a.hasChanged(47)||a.hasChanged(16)||a.hasChanged(15))&&this._updateLensStyle(),a.hasChanged(14)&&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===void 0||e.dispose()}_getLayoutInfo(){const e=Math.max(1.3,this._editor.getOption(63)/this._editor.getOption(49));let t=this._editor.getOption(16);return(!t||t<5)&&(t=this._editor.getOption(49)*.9|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),i=this._editor.getOption(15),o=this._editor.getOption(47),{style:n}=this._editor.getContainerDomNode();n.setProperty("--vscode-editorCodeLens-lineHeight",`${e}px`),n.setProperty("--vscode-editorCodeLens-fontSize",`${t}px`),n.setProperty("--vscode-editorCodeLens-fontFeatureSettings",o.fontFeatureSettings),i&&(n.setProperty("--vscode-editorCodeLens-fontFamily",i),n.setProperty("--vscode-editorCodeLens-fontFamilyDefault",hf.fontFamily)),this._editor.changeViewZones(s=>{for(const a of this._lenses)a.updateHeight(e,s)})}_localDispose(){var e,t,i;(e=this._getCodeLensModelPromise)===null||e===void 0||e.cancel(),this._getCodeLensModelPromise=void 0,(t=this._resolveCodeLensesPromise)===null||t===void 0||t.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),(i=this._currentCodeLensModel)===null||i===void 0||i.dispose()}_onModelChange(){this._localDispose();const e=this._editor.getModel();if(!e||!this._editor.getOption(14))return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e)){t&&this._localToDispose.add(va(()=>{const o=this._codeLensCache.get(e);t===o&&(this._codeLensCache.delete(e),this._onModelChange())},30*1e3));return}for(const o of this._languageFeaturesService.codeLensProvider.all(e))if(typeof o.onDidChange=="function"){const n=o.onDidChange(()=>i.schedule());this._localToDispose.add(n)}const i=new _e(()=>{var o;const n=Date.now();(o=this._getCodeLensModelPromise)===null||o===void 0||o.cancel(),this._getCodeLensModelPromise=Ce(s=>Um(this._languageFeaturesService.codeLensProvider,e,s)),this._getCodeLensModelPromise.then(s=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=s,this._codeLensCache.put(e,s);const a=this._provideCodeLensDebounce.update(e,Date.now()-n);i.delay=a,this._renderCodeLensSymbols(s),this._resolveCodeLensesInViewportSoon()},ie)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(ce(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._editor.changeDecorations(o=>{this._editor.changeViewZones(n=>{const s=[];let a=-1;this._lenses.forEach(c=>{!c.isValid()||a===c.getLineNumber()?s.push(c):(c.update(n),a=c.getLineNumber())});const l=new _d;s.forEach(c=>{c.dispose(l,n),this._lenses.splice(this._lenses.indexOf(c),1)}),l.commit(o)})}),i.schedule()})),this._localToDispose.add(this._editor.onDidFocusEditorWidget(()=>{i.schedule()})),this._localToDispose.add(this._editor.onDidScrollChange(o=>{o.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(ce(()=>{if(this._editor.getModel()){const o=co.capture(this._editor);this._editor.changeDecorations(n=>{this._editor.changeViewZones(s=>{this._disposeAllLenses(n,s)})}),o.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(o=>{if(o.target.type!==9)return;let n=o.target.element;if((n==null?void 0:n.tagName)==="SPAN"&&(n=n.parentElement),(n==null?void 0:n.tagName)==="A")for(const s of this._lenses){const a=s.getCommand(n);if(a){this._commandService.executeCommand(a.id,...a.arguments||[]).catch(l=>this._notificationService.error(l));break}}})),i.schedule()}_disposeAllLenses(e,t){const i=new _d;for(const o of this._lenses)o.dispose(i,t);e&&i.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;const t=this._editor.getModel().getLineCount(),i=[];let o;for(const a of e.lenses){const l=a.symbol.range.startLineNumber;l<1||l>t||(o&&o[o.length-1].symbol.range.startLineNumber===l?o.push(a):(o=[a],i.push(o)))}if(!i.length&&!this._lenses.length)return;const n=co.capture(this._editor),s=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(l=>{const c=new _d;let d=0,h=0;for(;hthis._resolveCodeLensesInViewportSoon())),d++,h++)}for(;dthis._resolveCodeLensesInViewportSoon())),h++;c.commit(a)})}),n.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var e;(e=this._resolveCodeLensesPromise)===null||e===void 0||e.cancel(),this._resolveCodeLensesPromise=void 0;const t=this._editor.getModel();if(!t)return;const i=[],o=[];if(this._lenses.forEach(a=>{const l=a.computeIfNecessary(t);l&&(i.push(l),o.push(a))}),i.length===0)return;const n=Date.now(),s=Ce(a=>{const l=i.map((c,d)=>{const h=new Array(c.length),g=c.map((p,f)=>!p.symbol.command&&typeof p.provider.resolveCodeLens=="function"?Promise.resolve(p.provider.resolveCodeLens(t,p.symbol,a)).then(m=>{h[f]=m},ye):(h[f]=p.symbol,Promise.resolve(void 0)));return Promise.all(g).then(()=>{!a.isCancellationRequested&&!o[d].isDisposed()&&o[d].updateCommands(h)})});return Promise.all(l)});this._resolveCodeLensesPromise=s,this._resolveCodeLensesPromise.then(()=>{const a=this._resolveCodeLensesDebounce.update(t,Date.now()-n);this._resolveCodeLensesScheduler.delay=a,this._currentCodeLensModel&&this._codeLensCache.put(t,this._currentCodeLensModel),this._oldCodeLensModels.clear(),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},a=>{ie(a),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}getModel(){return this._currentCodeLensModel}};po.ID="css.editor.codeLens";po=Qy([jo(1,V),jo(2,Mt),jo(3,$e),jo(4,it),jo(5,$m)],po);K(po.ID,po,1);w(class extends L{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:_.hasCodeLensProvider,label:u("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}run(e,t){return Yy(this,void 0,void 0,function*(){if(!t.hasModel())return;const i=e.get(Ui),o=e.get($e),n=e.get(it),s=t.getSelection().positionLineNumber,a=t.getContribution(po.ID);if(!a)return;const l=a.getModel();if(!l)return;const c=[];for(const h of l.lenses)h.symbol.command&&h.symbol.range.startLineNumber===s&&c.push({label:h.symbol.command.title,command:h.symbol.command});if(c.length===0)return;const d=yield i.pick(c,{canPickMany:!1});if(d){if(l.isDisposed)return yield o.executeCommand(this.id);try{yield o.executeCommand(d.command.id,...d.command.arguments||[])}catch(h){n.error(h)}}})}});function Jy(r,e,t){const i=[],n=r.ordered(e).reverse().map(s=>Promise.resolve(s.provideDocumentColors(e,t)).then(a=>{if(Array.isArray(a))for(const l of a)i.push({colorInfo:l,provider:s})}));return Promise.all(n).then(()=>i)}function Fg(r,e,t,i){return Promise.resolve(t.provideColorPresentations(r,e,i))}se.registerCommand("_executeDocumentColorProvider",function(r,...e){const[t]=e;if(!(t instanceof te))throw zt();const{colorProvider:i}=r.get(V),o=r.get(Qe).getModel(t);if(!o)throw zt();const n=[],a=i.ordered(o).reverse().map(l=>Promise.resolve(l.provideDocumentColors(o,q.None)).then(c=>{if(Array.isArray(c))for(const d of c)n.push({range:d.range,color:[d.color.red,d.color.green,d.color.blue,d.color.alpha]})}));return Promise.all(a).then(()=>n)});se.registerCommand("_executeColorPresentationProvider",function(r,...e){const[t,i]=e,{uri:o,range:n}=i;if(!(o instanceof te)||!Array.isArray(t)||t.length!==4||!b.isIRange(n))throw zt();const[s,a,l,c]=t,{colorProvider:d}=r.get(V),h=r.get(Qe).getModel(o);if(!h)throw zt();const g={range:n,color:{red:s,green:a,blue:l,alpha:c}},p=[],m=d.ordered(h).reverse().map(v=>Promise.resolve(v.provideColorPresentations(h,g,q.None)).then(C=>{Array.isArray(C)&&p.push(...C)}));return Promise.all(m).then(()=>p)});var e0=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},vd=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},t0=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};const zm=Object.create({});let _n=class jm extends E{constructor(e,t,i,o){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new R),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new uf(this._editor),this._decoratorLimitReporter=new i0,this._colorDecorationClassRefs=this._register(new R),this._debounceInformation=o.for(i.colorProvider,"Document Colors",{min:jm.RECOMPUTE_TIME}),this._register(e.onDidChangeModel(()=>{this._isEnabled=this.isEnabled(),this.onModelChanged()})),this._register(e.onDidChangeModelLanguage(()=>this.onModelChanged())),this._register(i.colorProvider.onDidChange(()=>this.onModelChanged())),this._register(e.onDidChangeConfiguration(n=>{const s=this._isEnabled;this._isEnabled=this.isEnabled(),(s!==this._isEnabled||n.hasChanged(18))&&(this._isEnabled?this.onModelChanged():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isEnabled=this.isEnabled(),this.onModelChanged()}isEnabled(){const e=this._editor.getModel();if(!e)return!1;const t=e.getLanguageId(),i=this._configurationService.getValue(t);if(i&&typeof i=="object"){const o=i.colorDecorators;if(o&&o.enable!==void 0&&!o.enable)return o.enable}return this._editor.getOption(17)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}onModelChanged(){if(this.stop(),!this._isEnabled)return;const e=this._editor.getModel();!e||!this._languageFeaturesService.colorProvider.has(e)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new ko,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}beginCompute(){this._computePromise=Ce(e=>t0(this,void 0,void 0,function*(){const t=this._editor.getModel();if(!t)return Promise.resolve([]);const i=new jt(!1),o=yield Jy(this._languageFeaturesService.colorProvider,t,e);return this._debounceInformation.update(t,i.elapsed()),o})),this._computePromise.then(e=>{this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null},ie)}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){const t=e.map(i=>({range:{startLineNumber:i.colorInfo.range.startLineNumber,startColumn:i.colorInfo.range.startColumn,endLineNumber:i.colorInfo.range.endLineNumber,endColumn:i.colorInfo.range.endColumn},options:X.EMPTY}));this._editor.changeDecorations(i=>{this._decorationsIds=i.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((o,n)=>this._colorDatas.set(o,e[n]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();const t=[],i=this._editor.getOption(18);for(let n=0;nthis._colorDatas.has(o.id));return i.length===0?null:this._colorDatas.get(i[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}};_n.ID="editor.contrib.colorDetector";_n.RECOMPUTE_TIME=1e3;_n=e0([vd(1,he),vd(2,V),vd(3,Mt)],_n);class i0{constructor(){this._onDidChange=new z,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}K(_n.ID,_n,1);class n0{get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(e,t,i){this.presentationIndex=i,this._onColorFlushed=new z,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new z,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new z,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let i=-1;for(let o=0;o{this.backgroundColor=s.getColor(Gu)||J.white})),this._register(de(this.pickedColorNode,at.CLICK,()=>this.model.selectNextColorPresentation())),this._register(de(n,at.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=J.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)}onDidChangeColor(e){this.pickedColorNode.style.backgroundColor=J.Format.CSS.format(e)||"",this.pickedColorNode.classList.toggle("light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this.pickedColorNode.textContent=this.model.presentation?this.model.presentation.label:"",this.pickedColorNode.prepend(Dt(".codicon.codicon-color-mode"))}}class s0 extends E{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this.domNode=Dt(".colorpicker-body"),M(e,this.domNode),this.saturationBox=new r0(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 a0(this.domNode,this.model),this._register(this.opacityStrip),this._register(this.opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this.opacityStrip.onColorFlushed(this.flushColor,this)),this.hueStrip=new l0(this.domNode,this.model),this._register(this.hueStrip),this._register(this.hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this.hueStrip.onColorFlushed(this.flushColor,this))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){const i=this.model.color.hsva;this.model.color=new J(new ia(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new J(new ia(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new J(new ia(i===360?0:i,t.s,t.v,t.a))}layout(){this.saturationBox.layout(),this.opacityStrip.layout(),this.hueStrip.layout()}}class r0 extends E{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new z,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new z,this.onColorFlushed=this._onColorFlushed.event,this.domNode=Dt(".saturation-wrap"),M(e,this.domNode),this.canvas=document.createElement("canvas"),this.canvas.className="saturation-box",M(this.domNode,this.canvas),this.selection=Dt(".saturation-selection"),M(this.domNode,this.selection),this.layout(),this._register(de(this.domNode,at.POINTER_DOWN,o=>this.onPointerDown(o))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;this.monitor=this._register(new gf);const t=Gt(this.domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,o=>this.onDidChangePosition(o.pageX-t.left,o.pageY-t.top),()=>null);const i=de(document,at.POINTER_UP,()=>{this._onColorFlushed.fire(),i.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(e,t){const i=Math.max(0,Math.min(1,e/this.width)),o=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(i,o),this._onDidChange.fire({s:i,v:o})}layout(){this.width=this.domNode.offsetWidth,this.height=this.domNode.offsetHeight,this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio,this.paint();const e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){const e=this.model.color.hsva,t=new J(new ia(e.h,1,1,1)),i=this.canvas.getContext("2d"),o=i.createLinearGradient(0,0,this.canvas.width,0);o.addColorStop(0,"rgba(255, 255, 255, 1)"),o.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),o.addColorStop(1,"rgba(255, 255, 255, 0)");const n=i.createLinearGradient(0,0,0,this.canvas.height);n.addColorStop(0,"rgba(0, 0, 0, 0)"),n.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this.canvas.width,this.canvas.height),i.fillStyle=J.Format.CSS.format(t),i.fill(),i.fillStyle=o,i.fill(),i.fillStyle=n,i.fill()}paintSelection(e,t){this.selection.style.left=`${e*this.width}px`,this.selection.style.top=`${this.height-t*this.height}px`}onDidChangeColor(){this.monitor&&this.monitor.isMonitoring()||this.paint()}}class Km extends E{constructor(e,t){super(),this.model=t,this._onDidChange=new z,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new z,this.onColorFlushed=this._onColorFlushed.event,this.domNode=M(e,Dt(".strip")),this.overlay=M(this.domNode,Dt(".overlay")),this.slider=M(this.domNode,Dt(".slider")),this.slider.style.top="0px",this._register(de(this.domNode,at.POINTER_DOWN,i=>this.onPointerDown(i))),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const e=this.getValue(this.model.color);this.updateSliderPosition(e)}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=this._register(new gf),i=Gt(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,n=>this.onDidChangeTop(n.pageY-i.top),()=>null);const o=de(document,at.POINTER_UP,()=>{this._onColorFlushed.fire(),o.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(e){const 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`}}class a0 extends Km{constructor(e,t){super(e,t),this.domNode.classList.add("opacity-strip"),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){const{r:t,g:i,b:o}=e.rgba,n=new J(new Ss(t,i,o,1)),s=new J(new Ss(t,i,o,0));this.overlay.style.background=`linear-gradient(to bottom, ${n} 0%, ${s} 100%)`}getValue(e){return e.hsva.a}}class l0 extends Km{constructor(e,t){super(e,t),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class d0 extends No{constructor(e,t,i,o){super(),this.model=t,this.pixelRatio=i,this._register(wb.onDidChange(()=>this.layout()));const n=Dt(".colorpicker-widget");e.appendChild(n);const s=new o0(n,this.model,o);this.body=new s0(n,this.model,this.pixelRatio),this._register(s),this._register(this.body)}layout(){this.body.layout()}}var c0=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},h0=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},Wg=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};class u0{constructor(e,t,i,o){this.owner=e,this.range=t,this.model=i,this.provider=o,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let mc=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=1}computeSync(e,t){return[]}computeAsync(e,t,i){return It.fromPromise(this._computeAsync(e,t,i))}_computeAsync(e,t,i){return Wg(this,void 0,void 0,function*(){if(!this._editor.hasModel())return[];const o=_n.get(this._editor);if(!o)return[];for(const n of t){if(!o.isColorDecoration(n))continue;const s=o.getColorData(n.range.getStartPosition());if(s)return[yield this._createColorHover(this._editor.getModel(),s.colorInfo,s.provider)]}return[]})}_createColorHover(e,t,i){return Wg(this,void 0,void 0,function*(){const o=e.getValueInRange(t.range),{red:n,green:s,blue:a,alpha:l}=t.color,c=new Ss(Math.round(n*255),Math.round(s*255),Math.round(a*255),l),d=new J(c),h=yield Fg(e,t,i,q.None),g=new n0(d,[],0);return g.colorPresentations=h||[],g.guessColorPresentation(d,o),new u0(this,b.lift(t.range),g,i)})}renderHoverParts(e,t){if(t.length===0||!this._editor.hasModel())return E.None;const i=new R,o=t[0],n=this._editor.getModel(),s=o.model,a=i.add(new d0(e.fragment,s,this._editor.getOption(136),this._themeService));e.setColorPicker(a);let l=new b(o.range.startLineNumber,o.range.startColumn,o.range.endLineNumber,o.range.endColumn);const c=()=>{let h,g;if(s.presentation.textEdit){h=[s.presentation.textEdit],g=new b(s.presentation.textEdit.range.startLineNumber,s.presentation.textEdit.range.startColumn,s.presentation.textEdit.range.endLineNumber,s.presentation.textEdit.range.endColumn);const p=this._editor.getModel()._setTrackedRange(null,g,3);this._editor.pushUndoStop(),this._editor.executeEdits("colorpicker",h),g=this._editor.getModel()._getTrackedRange(p)||g}else h=[{range:l,text:s.presentation.label,forceMoveMarkers:!1}],g=l.setEndPosition(l.endLineNumber,l.startColumn+s.presentation.label.length),this._editor.pushUndoStop(),this._editor.executeEdits("colorpicker",h);s.presentation.additionalTextEdits&&(h=[...s.presentation.additionalTextEdits],this._editor.executeEdits("colorpicker",h),e.hide()),this._editor.pushUndoStop(),l=g},d=h=>Fg(n,{range:l,color:{red:h.rgba.r/255,green:h.rgba.g/255,blue:h.rgba.b/255,alpha:h.rgba.a}},o.provider,q.None).then(g=>{s.colorPresentations=g||[]});return i.add(s.onColorFlushed(h=>{d(h).then(c)})),i.add(s.onDidChangeColor(d)),i}};mc=c0([h0(1,Et)],mc);function _c(r,e){return!!r[e]}class bd{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=_c(e.event,t.triggerModifier),this.hasSideBySideModifier=_c(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class Hg{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=_c(e,t.triggerModifier)}}class Mr{constructor(e,t,i,o){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=o}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}}function Vg(r){return r==="altKey"?vt?new Mr(57,"metaKey",6,"altKey"):new Mr(5,"ctrlKey",6,"altKey"):vt?new Mr(6,"altKey",57,"metaKey"):new Mr(6,"altKey",5,"ctrlKey")}class vl extends E{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new z),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new z),this.onExecute=this._onExecute.event,this._onCancel=this._register(new z),this.onCancel=this._onCancel.event,this._editor=e,this._alwaysFireExecuteOnMouseUp=t,this._opts=Vg(this._editor.getOption(74)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(i=>{if(i.hasChanged(74)){const o=Vg(this._editor.getOption(74));if(this._opts.equals(o))return;this._opts=o,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(i=>this._onEditorMouseMove(new bd(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new bd(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new bd(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new Hg(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new Hg(i,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(i=>this._onDidChangeCursorSelection(i))),this._register(this._editor.onDidChangeModel(i=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(i=>{(i.scrollTopChanged||i.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=e.target.position?e.target.position.lineNumber:0}_onEditorMouseUp(e){const t=e.target.position?e.target.position.lineNumber:0;(this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t||this._alwaysFireExecuteOnMouseUp)&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}var g0=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Jt=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let Di=class extends yb{constructor(e,t,i,o,n,s,a,l,c,d,h,g){super(e,Object.assign(Object.assign({},i.getRawOptions()),{overflowWidgetsDomNode:i.getOverflowWidgetsDomNode()}),{},o,n,s,a,l,c,d,h,g),this._parentEditor=i,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(i.onDidChangeConfiguration(p=>this._onParentConfigurationChanged(p)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){Hh(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};Di=g0([Jt(3,G),Jt(4,Se),Jt(5,$e),Jt(6,Q),Jt(7,Et),Jt(8,it),Jt(9,pf),Jt(10,Ne),Jt(11,V)],Di);const Bg=new J(new Ss(0,122,204)),p0={showArrow:!0,showFrame:!0,className:"",frameColor:Bg,arrowColor:Bg,keepEditorSelection:!1},f0="vs.editor.contrib.zoneWidget";class m0{constructor(e,t,i,o,n,s){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=o,this._onDomNodeTop=n,this._onComputedHeight=s}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class _0{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class bl{constructor(e){this._editor=e,this._ruleName=bl._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),Zu(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(){Zu(this._ruleName),Lb(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px; margin-left: -${this._height}px; `)}show(e){e.column===1&&(e={lineNumber:e.lineNumber,column:2}),this._decorations.set([{range:b.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}bl._IdGenerator=new Ib(".arrow-decoration-");class v0{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new R,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=xb(t),Hh(this.options,p0,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange(i=>{const o=this._getWidth(i);this.domNode.style.width=o+"px",this.domNode.style.left=this._getLeft(i)+"px",this._onWidth(o)}))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._viewZone=null}),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new bl(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){const e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow&&this.options.arrowColor){const 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){const i=e-this._decoratingElementsHeight();this.container.style.height=`${i}px`;const o=this.editor.getLayoutInfo();this._doLayout(i,this._getWidth(o))}(t=this._resizeSash)===null||t===void 0||t.layout()}get position(){const e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){const i=b.isIRange(e)?b.lift(e):b.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:X.EMPTY}])}hide(){var e;this._viewZone&&(this.editor.changeViewZones(t=>{this._viewZone&&t.removeZone(this._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),(e=this._arrow)===null||e===void 0||e.hide()}_decoratingElementsHeight(){const e=this.editor.getOption(63);let t=0;if(this.options.showArrow){const i=Math.round(e/3);t+=2*i}if(this.options.showFrame){const i=Math.round(e/9);t+=2*i}return t}_showImpl(e,t){const i=e.getStartPosition(),o=this.editor.getLayoutInfo(),n=this._getWidth(o);this.domNode.style.width=`${n}px`,this.domNode.style.left=this._getLeft(o)+"px";const s=document.createElement("div");s.style.overflow="hidden";const a=this.editor.getOption(63),l=Math.max(12,this.editor.getLayoutInfo().height/a*.8);t=Math.min(t,l);let c=0,d=0;if(this._arrow&&this.options.showArrow&&(c=Math.round(a/3),this._arrow.height=c,this._arrow.show(i)),this.options.showFrame&&(d=Math.round(a/9)),this.editor.changeViewZones(p=>{this._viewZone&&p.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new m0(s,i.lineNumber,i.column,t,f=>this._onViewZoneTop(f),f=>this._onViewZoneHeight(f)),this._viewZone.id=p.addZone(this._viewZone),this._overlayWidget=new _0(f0+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const p=this.options.frameWidth?this.options.frameWidth:d;this.container.style.borderTopWidth=p+"px",this.container.style.borderBottomWidth=p+"px"}const h=t*a-this._decoratingElementsHeight();this.container&&(this.container.style.top=c+"px",this.container.style.height=h+"px",this.container.style.overflow="hidden"),this._doLayout(h,n),this.options.keepEditorSelection||this.editor.setSelection(e);const g=this.editor.getModel();if(g){const p=g.validateRange(new b(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(p,p.endLineNumber===g.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 Jn(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){const i=(t.currentY-e.startY)/this.editor.getOption(63),o=i<0?Math.ceil(i):Math.floor(i),n=e.heightInLines+o;n>5&&n<35&&this._relayout(n)}}))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}}var qm=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Gm=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};const Zm=Wi("IPeekViewService");Hi(Zm,class{constructor(){this._widgets=new Map}addExclusiveWidget(r,e){const t=this._widgets.get(r);t&&(t.listener.dispose(),t.widget.dispose());const i=()=>{const o=this._widgets.get(r);o&&o.widget===e&&(o.listener.dispose(),this._widgets.delete(r))};this._widgets.set(r,{widget:e,listener:e.onDidClose(i)})}},1);var Ue;(function(r){r.inPeekEditor=new Z("inReferenceSearchEditor",!0,u("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),r.notInPeekEditor=r.inPeekEditor.toNegated()})(Ue||(Ue={}));let Ts=class{constructor(e,t){e instanceof Di&&Ue.inPeekEditor.bindTo(t)}dispose(){}};Ts.ID="editor.contrib.referenceController";Ts=qm([Gm(1,Q)],Ts);K(Ts.ID,Ts,0);function b0(r){const e=r.get(Se).getFocusedCodeEditor();return e instanceof Di?e.getParentEditor():e}const C0={headerBackgroundColor:J.white,primaryHeadingColor:J.fromHex("#333333"),secondaryHeadingColor:J.fromHex("#6c6c6cb3")};let ka=class extends v0{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new z,this.onDidClose=this._onDidClose.event,Hh(this.options,C0,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(e){const 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();const 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=P(".head"),this._bodyElement=P(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=P(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),Mn(this._titleElement,"click",n=>this._onTitleClick(n))),M(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=P("span.filename"),this._secondaryHeading=P("span.dirname"),this._metaHeading=P("span.meta"),M(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=P(".peekview-actions");M(this._headElement,i);const o=this._getActionBarOptions();this._actionbarWidget=new cn(i,o),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new un("peekview.close",u("label.close","Close"),ee.asClassName(Y.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:Db.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:Rt(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,rt(this._metaHeading)):Ke(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0){this.dispose();return}const i=Math.ceil(this.editor.getOption(63)*1.2),o=Math.round(e-(i+2));this._doLayoutHead(i,t),this._doLayoutBody(o,t)}_doLayoutHead(e,t){this._headElement&&(this._headElement.style.height=`${e}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(e,t){this._bodyElement&&(this._bodyElement.style.height=`${e}px`)}};ka=qm([Gm(2,G)],ka);const S0=A("peekViewTitle.background",{dark:qe(ws,.1),light:qe(ws,.1),hcDark:null,hcLight:null},u("peekViewTitleBackground","Background color of the peek view title area.")),Xm=A("peekViewTitleLabel.foreground",{dark:J.white,light:J.black,hcDark:J.white,hcLight:fi},u("peekViewTitleForeground","Color of the peek view title.")),Qm=A("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},u("peekViewTitleInfoForeground","Color of the peek view title info.")),w0=A("peekView.border",{dark:ws,light:ws,hcDark:li,hcLight:li},u("peekViewBorder","Color of the peek view borders and arrow.")),y0=A("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:J.black,hcLight:J.white},u("peekViewResultsBackground","Background color of the peek view result list."));A("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:J.white,hcLight:fi},u("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));A("peekViewResult.fileForeground",{dark:J.white,light:"#1E1E1E",hcDark:J.white,hcLight:fi},u("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));A("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},u("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));A("peekViewResult.selectionForeground",{dark:J.white,light:"#6C6C6C",hcDark:J.white,hcLight:fi},u("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const _i=A("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:J.black,hcLight:J.white},u("peekViewEditorBackground","Background color of the peek view editor."));A("peekViewEditorGutter.background",{dark:_i,light:_i,hcDark:_i,hcLight:_i},u("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));A("peekViewEditorStickyScroll.background",{dark:_i,light:_i,hcDark:_i,hcLight:_i},u("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));A("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},u("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));A("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},u("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));A("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:hn,hcLight:hn},u("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));var x0=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};class Ti{constructor(e,t,i,o){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=o,this.id=Tb.nextId()}get uri(){return this.link.uri}get range(){var e,t;return(t=(e=this._range)!==null&&e!==void 0?e:this.link.targetSelectionRange)!==null&&t!==void 0?t:this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){var e;const t=(e=this.parent.getPreview(this))===null||e===void 0?void 0:e.preview(this.range);return t?u({key:"aria.oneReference.preview",comment:["Placeholders are: 0: filename, 1:line number, 2: column number, 3: preview snippet of source code"]},"symbol in {0} on line {1} at column {2}, {3}",Kt(this.uri),this.range.startLineNumber,this.range.startColumn,t.value):u("aria.oneReference","symbol in {0} on line {1} at column {2}",Kt(this.uri),this.range.startLineNumber,this.range.startColumn)}}class L0{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){const i=this._modelReference.object.textEditorModel;if(!i)return;const{startLineNumber:o,startColumn:n,endLineNumber:s,endColumn:a}=e,l=i.getWordUntilPosition({lineNumber:o,column:n-t}),c=new b(o,l.startColumn,o,n),d=new b(s,a,s,1073741824),h=i.getValueInRange(c).replace(/^\s+/,""),g=i.getValueInRange(e),p=i.getValueInRange(d).replace(/\s+$/,"");return{value:h+g+p,highlight:{start:h.length,end:h.length+g.length}}}}class Rs{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new ff}dispose(){We(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?u("aria.fileReferences.1","1 symbol in {0}, full path {1}",Kt(this.uri),this.uri.fsPath):u("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,Kt(this.uri),this.uri.fsPath)}resolve(e){return x0(this,void 0,void 0,function*(){if(this._previews.size!==0)return this;for(const t of this.children)if(!this._previews.has(t.uri))try{const i=yield e.createModelReference(t.uri);this._previews.set(t.uri,new L0(i))}catch(i){ie(i)}return this})}}class Ze{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new z,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(Ze._compareReferences);let o;for(const n of e)if((!o||!Xu.isEqual(o.uri,n.uri,!0))&&(o=new Rs(this,n.uri),this.groups.push(o)),o.children.length===0||Ze._compareReferences(n,o.children[o.children.length-1])!==0){const s=new Ti(i===n,o,n,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(s),o.children.push(s)}}dispose(){We(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new Ze(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?u("aria.result.0","No results found"):this.references.length===1?u("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?u("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):u("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){const{parent:i}=e;let o=i.children.indexOf(e);const n=i.children.length,s=i.parent.groups.length;return s===1||t&&o+10?(t?o=(o+1)%n:o=(o+n-1)%n,i.children[o]):(o=i.parent.groups.indexOf(i),t?(o=(o+1)%s,i.parent.groups[o].children[0]):(o=(o+s-1)%s,i.parent.groups[o].children[i.parent.groups[o].children.length-1]))}nearestReference(e,t){const i=this.references.map((o,n)=>({idx:n,prefixLen:el(o.uri.toString(),e.toString()),offsetDist:Math.abs(o.range.startLineNumber-t.lineNumber)*100+Math.abs(o.range.startColumn-t.column)})).sort((o,n)=>o.prefixLen>n.prefixLen?-1:o.prefixLenn.offsetDist?1:0)[0];if(i)return this.references[i.idx]}referenceAt(e,t){for(const i of this.references)if(i.uri.toString()===e.toString()&&b.containsPosition(i.range,t))return i}firstReference(){for(const e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return Xu.compare(e.uri,t.uri)||b.compareRangesUsingStarts(e.range,t.range)}}var Cl=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Sl=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let vc=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof Ze||e instanceof Rs}getChildren(e){if(e instanceof Ze)return e.groups;if(e instanceof Rs)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};vc=Cl([Sl(0,Pt)],vc);class I0{getHeight(){return 23}getTemplateId(e){return e instanceof Rs?ks.id:gr.id}}let bc=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof Ti){const i=(t=e.parent.getPreview(e))===null||t===void 0?void 0:t.preview(e.range);if(i)return i.value}return Kt(e.uri)}};bc=Cl([Sl(0,xe)],bc);class D0{getId(e){return e instanceof Ti?e.id:e.uri}}let Cc=class extends E{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new mf(i,{supportHighlights:!0})),this.badge=new Rb(M(i,P(".count")),{},kb),e.appendChild(i)}set(e,t){const i=Vh(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(i,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const o=e.children.length;this.badge.setCount(o),o>1?this.badge.setTitleFormat(u("referencesCount","{0} references",o)):this.badge.setTitleFormat(u("referenceCount","{0} reference",o))}};Cc=Cl([Sl(1,ys)],Cc);let ks=class Ym{constructor(e){this._instantiationService=e,this.templateId=Ym.id}renderTemplate(e){return this._instantiationService.createInstance(Cc,e)}renderElement(e,t,i){i.set(e.element,tl(e.filterData))}disposeTemplate(e){e.dispose()}};ks.id="FileReferencesRenderer";ks=Cl([Sl(0,G)],ks);class T0{constructor(e){this.label=new sf(e)}set(e,t){var i;const o=(i=e.parent.getPreview(e))===null||i===void 0?void 0:i.preview(e.range);if(!o||!o.value)this.label.set(`${Kt(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:n,highlight:s}=o;t&&!xs.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(n,tl(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(n,[s]))}}}class gr{constructor(){this.templateId=gr.id}renderTemplate(e){return new T0(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(){}}gr.id="OneReferenceRenderer";class R0{getWidgetAriaLabel(){return u("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var k0=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},ei=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},Ug=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};class wl{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new R,this._callOnModelChange=new R,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const e=this._editor.getModel();if(e){for(const t of this._model.references)if(t.uri.toString()===e.uri.toString()){this._addDecorations(t.parent);return}}}_addDecorations(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const t=[],i=[];for(let o=0,n=e.children.length;o{const n=o.deltaDecorations([],t);for(let s=0;s{n.equals(9)&&(this._keybindingService.dispatchEvent(n,n.target),n.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(M0,"ReferencesWidget",this._treeContainer,new I0,[this._instantiationService.createInstance(ks),this._instantiationService.createInstance(gr)],this._instantiationService.createInstance(vc),i),this._splitView.addView({onDidChange:He.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:n=>{this._preview.layout({height:this._dim.height,width:n})}},Yu.Distribute),this._splitView.addView({onDidChange:He.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:n=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${n}px`,this._tree.layout(this._dim.height,n)}},Yu.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));const o=(n,s)=>{n instanceof Ti&&(s==="show"&&this._revealReference(n,!1),this._onDidSelectReference.fire({element:n,kind:s,source:"tree"}))};this._tree.onDidOpen(n=>{n.sideBySide?o(n.element,"side"):n.editorOptions.pinned?o(n.element,"goto"):o(n.element,"show")}),Ke(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new pe(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=u("noResults","No results"),rt(this._messageContainer),Promise.resolve(void 0)):(Ke(this._messageContainer),this._decorationsManager=new wl(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=>{const{event:t,target:i}=e;if(t.detail!==2)return;const o=this._getFocusedReference();o&&this._onDidSelectReference.fire({element:{uri:o.uri,range:i.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),rt(this._treeContainer),rt(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(){const[e]=this._tree.getFocus();if(e instanceof Ti)return e;if(e instanceof Rs&&e.children.length>0)return e.children[0]}revealReference(e){return Ug(this,void 0,void 0,function*(){yield this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:"goto",source:"tree"})})}_revealReference(e,t){return Ug(this,void 0,void 0,function*(){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme!==Ci.inMemory?this.setTitle(Eb(e.uri),this._uriLabel.getUriLabel(Vh(e.uri))):this.setTitle(u("peekView.alternateTitle","References"));const i=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent?this._tree.reveal(e):(t&&this._tree.reveal(e.parent),yield this._tree.expand(e.parent),this._tree.reveal(e));const o=yield i;if(!this._model){o.dispose();return}We(this._previewModelReference);const n=o.object;if(n){const s=this._preview.getModel()===n.textEditorModel?0:1,a=b.lift(e.range).collapseToStart();this._previewModelReference=o,this._preview.setModel(n.textEditorModel),this._preview.setSelection(a),this._preview.revealRangeInCenter(a,s)}else this._preview.setModel(this._previewNotAvailableMessage),o.dispose()})}};Sc=k0([ei(3,Et),ei(4,Pt),ei(5,G),ei(6,Zm),ei(7,ys),ei(8,Nb),ei(9,xe),ei(10,bt),ei(11,Ne)],Sc);var E0=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Bn=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},$g=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};const Fn=new Z("referenceSearchVisible",!1,u("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let Ri=class wc{static get(e){return e.getContribution(wc.ID)}constructor(e,t,i,o,n,s,a,l){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=o,this._notificationService=n,this._instantiationService=s,this._storageService=a,this._configurationService=l,this._disposables=new R,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=Fn.bindTo(i)}dispose(){var e,t;this._referenceSearchVisible.reset(),this._disposables.dispose(),(e=this._widget)===null||e===void 0||e.dispose(),(t=this._model)===null||t===void 0||t.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,i){let o;if(this._widget&&(o=this._widget.position),this.closeWidget(),o&&e.containsPosition(o))return;this._peekMode=i,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));const n="peekViewLayout",s=N0.fromJSON(this._storageService.get(n,0,"{}"));this._widget=this._instantiationService.createInstance(Sc,this._editor,this._defaultTreeKeyboardSupport,s),this._widget.setTitle(u("labelLoading","Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose(()=>{t.cancel(),this._widget&&(this._storageService.store(n,JSON.stringify(this._widget.layoutData),0,1),this._widget=void 0),this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(l=>{const{element:c,kind:d}=l;if(c)switch(d){case"open":(l.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(c,!1,!1);break;case"side":this.openReference(c,!0,!1);break;case"goto":i?this._gotoReference(c,!0):this.openReference(c,!1,!0);break}}));const a=++this._requestIdPool;t.then(l=>{var c;if(a!==this._requestIdPool||!this._widget){l.dispose();return}return(c=this._model)===null||c===void 0||c.dispose(),this._model=l,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(u("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const d=this._editor.getModel().uri,h=new H(e.startLineNumber,e.startColumn),g=this._model.nearestReference(d,h);if(g)return this._widget.setSelection(g).then(()=>{this._widget&&this._editor.getOption(82)==="editor"&&this._widget.focusOnPreviewEditor()})}})},l=>{this._notificationService.error(l)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}goToNextOrPreviousReference(e){return $g(this,void 0,void 0,function*(){if(!this._editor.hasModel()||!this._model||!this._widget)return;const t=this._widget.position;if(!t)return;const i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;const o=this._model.nextOrPreviousReference(i,e),n=this._editor.hasTextFocus(),s=this._widget.isPreviewEditorFocused();yield this._widget.setSelection(o),yield this._gotoReference(o,!1),n?this._editor.focus():this._widget&&s&&this._widget.focusOnPreviewEditor()})}revealReference(e){return $g(this,void 0,void 0,function*(){!this._editor.hasModel()||!this._model||!this._widget||(yield this._widget.revealReference(e))})}closeWidget(e=!0){var t,i;(t=this._widget)===null||t===void 0||t.dispose(),(i=this._model)===null||i===void 0||i.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 i;(i=this._widget)===null||i===void 0||i.hide(),this._ignoreModelChangeEvent=!0;const o=b.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:o,selectionSource:"code.jump",pinned:t}},this._editor).then(n=>{var s;if(this._ignoreModelChangeEvent=!1,!n||!this._widget){this.closeWidget();return}if(this._editor===n)this._widget.show(o),this._widget.focusOnReferenceTree();else{const a=wc.get(n),l=this._model.clone();this.closeWidget(),n.focus(),a==null||a.toggleWidget(o,Ce(c=>Promise.resolve(l)),(s=this._peekMode)!==null&&s!==void 0?s:!1)}},n=>{this._ignoreModelChangeEvent=!1,ie(n)})}openReference(e,t,i){t||this.closeWidget();const{uri:o,range:n}=e;this._editorService.openCodeEditor({resource:o,options:{selection:n,selectionSource:"code.jump",pinned:i}},this._editor,t)}};Ri.ID="editor.contrib.referencesController";Ri=E0([Bn(2,Q),Bn(3,Se),Bn(4,it),Bn(5,G),Bn(6,Bi),Bn(7,he)],Ri);function Wn(r,e){const t=b0(r);if(!t)return;const i=Ri.get(t);i&&e(i)}Xt.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:fe(2089,60),when:x.or(Fn,Ue.inPeekEditor),handler(r){Wn(r,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Xt.registerCommandAndKeybindingRule({id:"goToNextReference",weight:100-10,primary:62,secondary:[70],when:x.or(Fn,Ue.inPeekEditor),handler(r){Wn(r,e=>{e.goToNextOrPreviousReference(!0)})}});Xt.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:100-10,primary:1086,secondary:[1094],when:x.or(Fn,Ue.inPeekEditor),handler(r){Wn(r,e=>{e.goToNextOrPreviousReference(!1)})}});se.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");se.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");se.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");se.registerCommand("closeReferenceSearch",r=>Wn(r,e=>e.closeWidget()));Xt.registerKeybindingRule({id:"closeReferenceSearch",weight:100-101,primary:9,secondary:[1033],when:x.and(Ue.inPeekEditor,x.not("config.editor.stablePeek"))});Xt.registerKeybindingRule({id:"closeReferenceSearch",weight:200+50,primary:9,secondary:[1033],when:x.and(Fn,x.not("config.editor.stablePeek"))});Xt.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:x.and(Fn,_f,vf.negate(),bf.negate()),handler(r){var e;const i=(e=r.get(Uh).lastFocusedList)===null||e===void 0?void 0:e.getFocus();Array.isArray(i)&&i[0]instanceof Ti&&Wn(r,o=>o.revealReference(i[0]))}});Xt.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:x.and(Fn,_f,vf.negate(),bf.negate()),handler(r){var e;const i=(e=r.get(Uh).lastFocusedList)===null||e===void 0?void 0:e.getFocus();Array.isArray(i)&&i[0]instanceof Ti&&Wn(r,o=>o.openReference(i[0],!0,!0))}});se.registerCommand("openReference",r=>{var e;const i=(e=r.get(Uh).lastFocusedList)===null||e===void 0?void 0:e.getFocus();Array.isArray(i)&&i[0]instanceof Ti&&Wn(r,o=>o.openReference(i[0],!1,!0))});var Jm=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},as=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};const hu=new Z("hasSymbols",!1,u("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),yl=Wi("ISymbolNavigationService");let yc=class{constructor(e,t,i,o){this._editorService=t,this._notificationService=i,this._keybindingService=o,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=hu.bindTo(e)}reset(){var e,t;this._ctxHasSymbols.reset(),(e=this._currentState)===null||e===void 0||e.dispose(),(t=this._currentMessage)===null||t===void 0||t.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(e){const 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();const i=new xc(this._editorService),o=i.onDidChange(n=>{if(this._ignoreEditorChange)return;const s=this._editorService.getActiveCodeEditor();if(!s)return;const a=s.getModel(),l=s.getPosition();if(!a||!l)return;let c=!1,d=!1;for(const h of t.references)if(Oh(h.uri,a.uri))c=!0,d=d||b.containsPosition(h.range,l);else if(c)break;(!c||!d)&&this.reset()});this._currentState=Cf(i,o)}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:b.collapseToStart(t.range),selectionRevealType:3}},e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){var e;(e=this._currentMessage)===null||e===void 0||e.dispose();const t=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),i=t?u("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,t.getLabel()):u("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(i)}};yc=Jm([as(0,Q),as(1,Se),as(2,it),as(3,xe)],yc);Hi(yl,yc,1);F(new class extends ct{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:hu,kbOpts:{weight:100,primary:70}})}runEditorCommand(r,e){return r.get(yl).revealNext(e)}});Xt.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:hu,primary:9,handler(r){r.get(yl).reset()}});let xc=class{constructor(e){this._listener=new Map,this._disposables=new R,this._onDidChange=new z,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),We(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,Cf(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===void 0||t.dispose(),this._listener.delete(e)}};xc=Jm([as(0,Se)],xc);var uu=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};function pr(r,e,t,i){return uu(this,void 0,void 0,function*(){const n=t.ordered(r).map(a=>Promise.resolve(i(a,r,e)).then(void 0,l=>{ye(l)})),s=yield Promise.all(n);return tr(s.flat())})}function xl(r,e,t,i){return pr(e,t,r,(o,n,s)=>o.provideDefinition(n,s,i))}function e_(r,e,t,i){return pr(e,t,r,(o,n,s)=>o.provideDeclaration(n,s,i))}function t_(r,e,t,i){return pr(e,t,r,(o,n,s)=>o.provideImplementation(n,s,i))}function i_(r,e,t,i){return pr(e,t,r,(o,n,s)=>o.provideTypeDefinition(n,s,i))}function Ll(r,e,t,i,o){return pr(e,t,r,(n,s,a)=>uu(this,void 0,void 0,function*(){const l=yield n.provideReferences(s,a,{includeDeclaration:!0},o);if(!i||!l||l.length!==2)return l;const c=yield n.provideReferences(s,a,{includeDeclaration:!1},o);return c&&c.length===1?c:l}))}function fr(r){return uu(this,void 0,void 0,function*(){const e=yield r(),t=new Ze(e,""),i=t.references.map(o=>o.link);return t.dispose(),i})}Qt("_executeDefinitionProvider",(r,e,t)=>{const i=r.get(V),o=xl(i.definitionProvider,e,t,q.None);return fr(()=>o)});Qt("_executeTypeDefinitionProvider",(r,e,t)=>{const i=r.get(V),o=i_(i.typeDefinitionProvider,e,t,q.None);return fr(()=>o)});Qt("_executeDeclarationProvider",(r,e,t)=>{const i=r.get(V),o=e_(i.declarationProvider,e,t,q.None);return fr(()=>o)});Qt("_executeReferenceProvider",(r,e,t)=>{const i=r.get(V),o=Ll(i.referenceProvider,e,t,!1,q.None);return fr(()=>o)});Qt("_executeImplementationProvider",(r,e,t)=>{const i=r.get(V),o=t_(i.implementationProvider,e,t,q.None);return fr(()=>o)});var mt=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})},Cd,Sd,wd,yd,xd,Ld,Id,Dd;Lo.appendMenuItem(O.EditorContext,{submenu:O.EditorContextPeek,title:u("peek.submenu","Peek"),group:"navigation",order:100});class fo{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof fo||H.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}class ke extends Ab{static all(){return ke._allSymbolNavigationCommands.values()}static _patchConfig(e){const t=Object.assign(Object.assign({},e),{f1:!0});if(t.menu)for(const i of Si.wrap(t.menu))(i.id===O.EditorContext||i.id===O.EditorContextPeek)&&(i.when=x.and(e.precondition,i.when));return t}constructor(e,t){super(ke._patchConfig(t)),this.configuration=e,ke._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,o){if(!t.hasModel())return Promise.resolve(void 0);const n=e.get(it),s=e.get(Se),a=e.get(ir),l=e.get(yl),c=e.get(V),d=e.get(G),h=t.getModel(),g=t.getPosition(),p=fo.is(i)?i:new fo(h,g),f=new Ls(t,5),m=il(this._getLocationModel(c,p.model,p.position,f.token),f.token).then(v=>mt(this,void 0,void 0,function*(){var C;if(!v||f.token.isCancellationRequested)return;lt(v.ariaMessage);let S;if(v.referenceAt(h.uri,g)){const I=this._getAlternativeCommand(t);!ke._activeAlternativeCommands.has(I)&&ke._allSymbolNavigationCommands.has(I)&&(S=ke._allSymbolNavigationCommands.get(I))}const y=v.references.length;if(y===0){if(!this.configuration.muteMessage){const I=h.getWordAtPosition(g);(C=Xe.get(t))===null||C===void 0||C.showMessage(this._getNoResultFoundMessage(I),g)}}else if(y===1&&S)ke._activeAlternativeCommands.add(this.desc.id),d.invokeFunction(I=>S.runEditorCommand(I,t,i,o).finally(()=>{ke._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(s,l,t,v,o)}),v=>{n.error(v)}).finally(()=>{f.dispose()});return a.showWhile(m,250),m}_onResult(e,t,i,o,n){return mt(this,void 0,void 0,function*(){const s=this._getGoToPreference(i);if(!(i instanceof Di)&&(this.configuration.openInPeek||s==="peek"&&o.references.length>1))this._openInPeek(i,o,n);else{const a=o.firstReference(),l=o.references.length>1&&s==="gotoAndPeek",c=yield this._openReference(i,e,a,this.configuration.openToSide,!l);l&&c?this._openInPeek(c,o,n):o.dispose(),s==="goto"&&t.put(a)}})}_openReference(e,t,i,o,n){return mt(this,void 0,void 0,function*(){let s;if(Ob(i)&&(s=i.targetSelectionRange),s||(s=i.range),!s)return;const a=yield t.openCodeEditor({resource:i.uri,options:{selection:b.collapseToStart(s),selectionRevealType:3,selectionSource:"code.jump"}},e,o);if(a){if(n){const l=a.getModel(),c=a.createDecorationsCollection([{range:s,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{a.getModel()===l&&c.clear()},350)}return a}})}_openInPeek(e,t,i){const o=Ri.get(e);o&&e.hasModel()?o.toggleWidget(i??e.getSelection(),Ce(n=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}}ke._allSymbolNavigationCommands=new Map;ke._activeAlternativeCommands=new Set;class mr extends ke{_getLocationModel(e,t,i,o){return mt(this,void 0,void 0,function*(){return new Ze(yield xl(e.definitionProvider,t,i,o),u("def.title","Definitions"))})}_getNoResultFoundMessage(e){return e&&e.word?u("noResultWord","No definition found for '{0}'",e.word):u("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(55).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(55).multipleDefinitions}}const n_=tf&&!Fb()?2118:70;Le((Cd=class Lc extends mr{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Lc.id,title:{value:u("actions.goToDecl.label","Go to Definition"),original:"Go to Definition",mnemonicTitle:u({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:x.and(_.hasDefinitionProvider,_.isInWalkThroughSnippet.toNegated()),keybinding:{when:_.editorTextFocus,primary:n_,weight:100},menu:[{id:O.EditorContext,group:"navigation",order:1.1},{id:O.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),se.registerCommandAlias("editor.action.goToDeclaration",Lc.id)}},Cd.id="editor.action.revealDefinition",Cd));Le((Sd=class Ic extends mr{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:Ic.id,title:{value:u("actions.goToDeclToSide.label","Open Definition to the Side"),original:"Open Definition to the Side"},precondition:x.and(_.hasDefinitionProvider,_.isInWalkThroughSnippet.toNegated()),keybinding:{when:_.editorTextFocus,primary:fe(2089,n_),weight:100}}),se.registerCommandAlias("editor.action.openDeclarationToTheSide",Ic.id)}},Sd.id="editor.action.revealDefinitionAside",Sd));Le((wd=class Dc extends mr{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Dc.id,title:{value:u("actions.previewDecl.label","Peek Definition"),original:"Peek Definition"},precondition:x.and(_.hasDefinitionProvider,Ue.notInPeekEditor,_.isInWalkThroughSnippet.toNegated()),keybinding:{when:_.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:O.EditorContextPeek,group:"peek",order:2}}),se.registerCommandAlias("editor.action.previewDeclaration",Dc.id)}},wd.id="editor.action.peekDefinition",wd));class o_ extends ke{_getLocationModel(e,t,i,o){return mt(this,void 0,void 0,function*(){return new Ze(yield e_(e.declarationProvider,t,i,o),u("decl.title","Declarations"))})}_getNoResultFoundMessage(e){return e&&e.word?u("decl.noResultWord","No declaration found for '{0}'",e.word):u("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(55).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(55).multipleDeclarations}}Le((yd=class s_ extends o_{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:s_.id,title:{value:u("actions.goToDeclaration.label","Go to Declaration"),original:"Go to Declaration",mnemonicTitle:u({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:x.and(_.hasDeclarationProvider,_.isInWalkThroughSnippet.toNegated()),menu:[{id:O.EditorContext,group:"navigation",order:1.3},{id:O.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?u("decl.noResultWord","No declaration found for '{0}'",e.word):u("decl.generic.noResults","No declaration found")}},yd.id="editor.action.revealDeclaration",yd));Le(class extends o_{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:{value:u("actions.peekDecl.label","Peek Declaration"),original:"Peek Declaration"},precondition:x.and(_.hasDeclarationProvider,Ue.notInPeekEditor,_.isInWalkThroughSnippet.toNegated()),menu:{id:O.EditorContextPeek,group:"peek",order:3}})}});class r_ extends ke{_getLocationModel(e,t,i,o){return mt(this,void 0,void 0,function*(){return new Ze(yield i_(e.typeDefinitionProvider,t,i,o),u("typedef.title","Type Definitions"))})}_getNoResultFoundMessage(e){return e&&e.word?u("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):u("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(55).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(55).multipleTypeDefinitions}}Le((xd=class a_ extends r_{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:a_.ID,title:{value:u("actions.goToTypeDefinition.label","Go to Type Definition"),original:"Go to Type Definition",mnemonicTitle:u({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:x.and(_.hasTypeDefinitionProvider,_.isInWalkThroughSnippet.toNegated()),keybinding:{when:_.editorTextFocus,primary:0,weight:100},menu:[{id:O.EditorContext,group:"navigation",order:1.4},{id:O.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},xd.ID="editor.action.goToTypeDefinition",xd));Le((Ld=class l_ extends r_{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:l_.ID,title:{value:u("actions.peekTypeDefinition.label","Peek Type Definition"),original:"Peek Type Definition"},precondition:x.and(_.hasTypeDefinitionProvider,Ue.notInPeekEditor,_.isInWalkThroughSnippet.toNegated()),menu:{id:O.EditorContextPeek,group:"peek",order:4}})}},Ld.ID="editor.action.peekTypeDefinition",Ld));class d_ extends ke{_getLocationModel(e,t,i,o){return mt(this,void 0,void 0,function*(){return new Ze(yield t_(e.implementationProvider,t,i,o),u("impl.title","Implementations"))})}_getNoResultFoundMessage(e){return e&&e.word?u("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):u("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(55).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(55).multipleImplementations}}Le((Id=class c_ extends d_{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:c_.ID,title:{value:u("actions.goToImplementation.label","Go to Implementations"),original:"Go to Implementations",mnemonicTitle:u({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:x.and(_.hasImplementationProvider,_.isInWalkThroughSnippet.toNegated()),keybinding:{when:_.editorTextFocus,primary:2118,weight:100},menu:[{id:O.EditorContext,group:"navigation",order:1.45},{id:O.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},Id.ID="editor.action.goToImplementation",Id));Le((Dd=class h_ extends d_{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:h_.ID,title:{value:u("actions.peekImplementation.label","Peek Implementations"),original:"Peek Implementations"},precondition:x.and(_.hasImplementationProvider,Ue.notInPeekEditor,_.isInWalkThroughSnippet.toNegated()),keybinding:{when:_.editorTextFocus,primary:3142,weight:100},menu:{id:O.EditorContextPeek,group:"peek",order:5}})}},Dd.ID="editor.action.peekImplementation",Dd));class u_ extends ke{_getNoResultFoundMessage(e){return e?u("references.no","No references found for '{0}'",e.word):u("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(55).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(55).multipleReferences}}Le(class extends u_{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{value:u("goToReferences.label","Go to References"),original:"Go to References",mnemonicTitle:u({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:x.and(_.hasReferenceProvider,Ue.notInPeekEditor,_.isInWalkThroughSnippet.toNegated()),keybinding:{when:_.editorTextFocus,primary:1094,weight:100},menu:[{id:O.EditorContext,group:"navigation",order:1.45},{id:O.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}_getLocationModel(e,t,i,o){return mt(this,void 0,void 0,function*(){return new Ze(yield Ll(e.referenceProvider,t,i,!0,o),u("ref.title","References"))})}});Le(class extends u_{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:{value:u("references.action.label","Peek References"),original:"Peek References"},precondition:x.and(_.hasReferenceProvider,Ue.notInPeekEditor,_.isInWalkThroughSnippet.toNegated()),menu:{id:O.EditorContextPeek,group:"peek",order:6}})}_getLocationModel(e,t,i,o){return mt(this,void 0,void 0,function*(){return new Ze(yield Ll(e.referenceProvider,t,i,!1,o),u("ref.title","References"))})}});class P0 extends ke{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:{value:u("label.generic","Go to Any Symbol"),original:"Go to Any Symbol"},precondition:x.and(Ue.notInPeekEditor,_.isInWalkThroughSnippet.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}_getLocationModel(e,t,i,o){return mt(this,void 0,void 0,function*(){return new Ze(this._references,u("generic.title","Locations"))})}_getNoResultFoundMessage(e){return e&&u("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){var t;return(t=this._gotoMultipleBehaviour)!==null&&t!==void 0?t:e.getOption(55).multipleReferences}_getAlternativeCommand(){return""}}se.registerCommand({id:"editor.action.goToLocations",description:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:te},{name:"position",description:"The position at which to start",constraint:H.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:(r,e,t,i,o,n,s)=>mt(void 0,void 0,void 0,function*(){re(te.isUri(e)),re(H.isIPosition(t)),re(Array.isArray(i)),re(typeof o>"u"||typeof o=="string"),re(typeof s>"u"||typeof s=="boolean");const a=r.get(Se),l=yield a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(Sf(l))return l.setPosition(t),l.revealPositionInCenterIfOutsideViewport(t,0),l.invokeWithinContext(c=>{const d=new class extends P0{_getNoResultFoundMessage(h){return n||super._getNoResultFoundMessage(h)}}({muteMessage:!Boolean(n),openInPeek:Boolean(s),openToSide:!1},i,o);c.get(G).invokeFunction(d.run.bind(d),l)})})});se.registerCommand({id:"editor.action.peekLocations",description:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:te},{name:"position",description:"The position at which to start",constraint:H.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"}]},handler:(r,e,t,i,o)=>mt(void 0,void 0,void 0,function*(){r.get($e).executeCommand("editor.action.goToLocations",e,t,i,o,void 0,!0)})});se.registerCommand({id:"editor.action.findReferences",handler:(r,e,t)=>{re(te.isUri(e)),re(H.isIPosition(t));const i=r.get(V),o=r.get(Se);return o.openCodeEditor({resource:e},o.getFocusedCodeEditor()).then(n=>{if(!Sf(n)||!n.hasModel())return;const s=Ri.get(n);if(!s)return;const a=Ce(c=>Ll(i.referenceProvider,n.getModel(),H.lift(t),!1,c).then(d=>new Ze(d,u("ref.title","References")))),l=new b(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(s.toggleWidget(l,a,!1))})}});se.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var A0=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Td=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},zg=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};let vn=class ra{constructor(e,t,i,o){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=o,this.toUnhook=new R,this.toUnhookForKeyboard=new R,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const n=new vl(e);this.toUnhook.add(n),this.toUnhook.add(n.onMouseMoveOrRelevantKeyDown(([s,a])=>{this.startFindDefinitionFromMouse(s,Nt(a))})),this.toUnhook.add(n.onExecute(s=>{this.isEnabled(s)&&this.gotoDefinition(s.target.position,s.hasSideBySideModifier).catch(a=>{ie(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(n.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(ra.ID)}startFindDefinitionFromCursor(e){return zg(this,void 0,void 0,function*(){yield this.startFindDefinition(e),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(t=>{t&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))})}startFindDefinitionFromMouse(e,t){if(e.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}const i=e.target.position;this.startFindDefinition(i)}startFindDefinition(e){var t;return zg(this,void 0,void 0,function*(){this.toUnhookForKeyboard.clear();const i=e?(t=this.editor.getModel())===null||t===void 0?void 0:t.getWordAtPosition(e):null;if(!i){this.currentWordAtPosition=null,this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===i.startColumn&&this.currentWordAtPosition.endColumn===i.endColumn&&this.currentWordAtPosition.word===i.word)return;this.currentWordAtPosition=i;const o=new wf(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=Ce(a=>this.findDefinition(e,a));let n;try{n=yield this.previousPromise}catch(a){ie(a);return}if(!n||!n.length||!o.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?b.lift(n[0].originSelectionRange):new b(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:l}of n)l&&(a=b.plusRange(a,l));this.addDecoration(a,new je().appendText(u("multipleResults","Click to show {0} definitions.",n.length)))}else{const a=n[0];if(!a.uri)return;this.textModelResolverService.createModelReference(a.uri).then(l=>{if(!l.object||!l.object.textEditorModel){l.dispose();return}const{object:{textEditorModel:c}}=l,{startLineNumber:d}=a.range;if(d<1||d>c.getLineCount()){l.dispose();return}const h=this.getPreviewValue(c,d,a),g=this.languageService.guessLanguageIdByFilepathOrFirstLine(c.uri);this.addDecoration(s,h?new je().appendCodeblock(g||"",h):void 0),l.dispose()})}})}getPreviewValue(e,t,i){let o=i.range;return o.endLineNumber-o.startLineNumber>=ra.MAX_SOURCE_PREVIEW_LINES&&(o=this.getPreviewRangeBasedOnIndentation(e,t)),this.stripIndentationFromPreviewRange(e,t,o)}stripIndentationFromPreviewRange(e,t,i){let n=e.getLineFirstNonWhitespaceColumn(t);for(let a=t+1;a{const o=!t&&this.editor.getOption(83)&&!this.isInPeekEditor(i);return new mr({openToSide:t,openInPeek:o,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(Q);return Ue.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};vn.ID="editor.contrib.gotodefinitionatposition";vn.MAX_SOURCE_PREVIEW_LINES=8;vn=A0([Td(1,Pt),Td(2,bt),Td(3,V)],vn);K(vn.ID,vn,2);const Er=P;class g_ extends E{constructor(){super(),this.containerDomNode=document.createElement("div"),this.containerDomNode.className="monaco-hover",this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute("role","tooltip"),this.contentsDomNode=document.createElement("div"),this.contentsDomNode.className="monaco-hover-content",this.scrollbar=this._register(new zh(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}}class gu extends E{static render(e,t,i){return new gu(e,t,i)}constructor(e,t,i){super(),this.actionContainer=M(e,Er("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=M(this.actionContainer,Er("a.action")),this.action.setAttribute("role","button"),t.iconClass&&M(this.action,Er(`span.icon.${t.iconClass}`));const o=M(this.action,Er("span"));o.textContent=i?`${t.label} (${i})`:t.label,this._register(de(this.actionContainer,at.CLICK,n=>{n.stopPropagation(),n.preventDefault(),t.run(this.actionContainer)})),this._register(de(this.actionContainer,at.KEY_DOWN,n=>{const s=new yf(n);(s.equals(3)||s.equals(10))&&(n.stopPropagation(),n.preventDefault(),t.run(this.actionContainer))})),this.setEnabled(!0)}setEnabled(e){e?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}var O0=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})},F0=globalThis&&globalThis.__asyncValues||function(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof __values=="function"?__values(r):r[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(n){t[n]=r[n]&&function(s){return new Promise(function(a,l){s=r[n](s),o(a,l,s.done,s.value)})}}function o(n,s,a,l){Promise.resolve(l).then(function(c){n({value:c,done:a})},s)}};let W0=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class p_ extends E{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new z),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new _e(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new _e(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new _e(()=>this._triggerLoadingMessage(),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(57).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=Wb(e=>this._computer.computeAsync(e)),O0(this,void 0,void 0,function*(){var e,t,i,o;try{try{for(var n=!0,s=F0(this._asyncIterable),a;a=yield s.next(),e=a.done,!e;){o=a.value,n=!1;try{const l=o;l&&(this._result.push(l),this._fireResult())}finally{n=!0}}}catch(l){t={error:l}}finally{try{!n&&!e&&(i=s.return)&&(yield i.call(s))}finally{if(t)throw t.error}}this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0)}catch(l){ie(l)}})):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;const e=this._state===0,t=this._state===4;this._onResult.fire(new W0(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(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}class Rd{constructor(e,t,i,o){this.priority=e,this.range=t,this.initialMousePosX=i,this.initialMousePosY=o,this.type=1}equals(e){return e.type===1&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return e.type===1&&t.lineNumber===this.range.startLineNumber}}class aa{constructor(e,t,i,o,n,s){this.priority=e,this.owner=t,this.range=i,this.initialMousePosX=o,this.initialMousePosY=n,this.supportsMarkerHover=s,this.type=2}equals(e){return e.type===2&&this.owner===e.owner}canAdoptVisibleHover(e,t){return e.type===2&&this.owner===e.owner}}const Hn=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};class gt{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};const e=this.pos;let t=0,i=this.value.charCodeAt(e),o;if(o=gt._table[i],typeof o=="number")return this.pos+=1,{type:o,pos:e,len:1};if(gt.isDigitCharacter(i)){o=8;do t+=1,i=this.value.charCodeAt(e+t);while(gt.isDigitCharacter(i));return this.pos+=t,{type:o,pos:e,len:t}}if(gt.isVariableCharacter(i)){o=9;do i=this.value.charCodeAt(e+ ++t);while(gt.isVariableCharacter(i)||gt.isDigitCharacter(i));return this.pos+=t,{type:o,pos:e,len:t}}o=10;do t+=1,i=this.value.charCodeAt(e+t);while(!isNaN(i)&&typeof gt._table[i]>"u"&&!gt.isDigitCharacter(i)&&!gt.isVariableCharacter(i));return this.pos+=t,{type:o,pos:e,len:t}}}gt._table={[36]:0,[58]:1,[44]:2,[123]:3,[125]:4,[92]:5,[47]:6,[124]:7,[43]:11,[45]:12,[63]:13};class Ao{constructor(){this._children=[]}appendChild(e){return e instanceof Ee&&this._children[this._children.length-1]instanceof Ee?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){const{parent:i}=e,o=i.children.indexOf(e),n=i.children.slice(0);n.splice(o,1,...t),i._children=n,function s(a,l){for(const c of a)c.parent=l,s(c.children,c)}(t,i)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof _r)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}class Ee extends Ao{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new Ee(this.value)}}class f_ extends Ao{}class st extends f_{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.indext.index?1:0}constructor(e){super(),this.index=e}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof Oo?this._children[0]:void 0}clone(){const e=new st(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class Oo extends Ao{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Ee&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new Oo;return this.options.forEach(e.appendChild,e),e}}class pu extends Ao{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){const t=this;let i=!1,o=e.replace(this.regexp,function(){return i=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!i&&this._children.some(n=>n instanceof wt&&Boolean(n.elseValue))&&(o=this._replace([])),o}_replace(e){let t="";for(const i of this._children)if(i instanceof wt){let o=e[i.index]||"";o=i.resolve(o),t+=o}else t+=i.toString();return t}toString(){return""}clone(){const e=new pu;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map(t=>t.clone()),e}}class wt extends Ao{constructor(e,t,i,o){super(),this.index=e,this.shorthandName=t,this.ifValue=i,this.elseValue=o}resolve(e){return this.shorthandName==="upcase"?e?e.toLocaleUpperCase():"":this.shorthandName==="downcase"?e?e.toLocaleLowerCase():"":this.shorthandName==="capitalize"?e?e[0].toLocaleUpperCase()+e.substr(1):"":this.shorthandName==="pascalcase"?e?this._toPascalCase(e):"":this.shorthandName==="camelcase"?e?this._toCamelCase(e):"":Boolean(e)&&typeof this.ifValue=="string"?this.ifValue:!Boolean(e)&&typeof this.elseValue=="string"?this.elseValue:e||""}_toPascalCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(i=>i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map((i,o)=>o===0?i.charAt(0).toLowerCase()+i.substr(1):i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}clone(){return new wt(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class Ns extends f_{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),t!==void 0?(this._children=[new Ee(t)],!0):!1}clone(){const e=new Ns(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function jg(r,e){const t=[...r];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class _r extends Ao{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof st&&(e.push(i),t=!t||t.indexo===e?(i=!0,!1):(t+=o.len(),!0)),i?t:-1}fullLen(e){let t=0;return jg([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof st&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof Ns&&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(){const e=new _r;return this._children=this.children.map(t=>t.clone()),e}walk(e){jg(this.children,e)}}class ki{constructor(){this._scanner=new gt,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,i){const o=new _r;return this.parseFragment(e,o),this.ensureFinalTabstop(o,i??!1,t??!1),o}parseFragment(e,t){const i=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););const o=new Map,n=[];t.walk(l=>(l instanceof st&&(l.isFinalTabstop?o.set(0,void 0):!o.has(l.index)&&l.children.length>0?o.set(l.index,l.children):n.push(l)),!0));const s=(l,c)=>{const d=o.get(l.index);if(!d)return;const h=new st(l.index);h.transform=l.transform;for(const g of d){const p=g.clone();h.appendChild(p),p instanceof st&&o.has(p.index)&&!c.has(p.index)&&(c.add(p.index),s(p,c),c.delete(p.index))}t.replace(l,[h])},a=new Set;for(const l of n)s(l,a);return t.children.slice(i)}ensureFinalTabstop(e,t,i){(t||i&&e.placeholders.length>0)&&(e.placeholders.find(n=>n.index===0)||e.appendChild(new st(0)))}_accept(e,t){if(e===void 0||this._token.type===e){const i=t?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),i}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){const t=this._token;for(;this._token.type!==e;){if(this._token.type===14)return!1;if(this._token.type===5){const o=this._scanner.next();if(o.type!==0&&o.type!==4&&o.type!==5)return!1}this._token=this._scanner.next()}const i=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return(t=this._accept(5,!0))?(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new Ee(t)),!0):!1}_parseTabstopOrVariableName(e){let t;const i=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new st(Number(t)):new Ns(t)),!0):this._backTo(i)}_parseComplexPlaceholder(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(i);const n=new st(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(n),!0;if(!this._parse(n))return e.appendChild(new Ee("${"+t+":")),n.children.forEach(e.appendChild,e),!0}else if(n.index>0&&this._accept(7)){const s=new Oo;for(;;){if(this._parseChoiceElement(s)){if(this._accept(2))continue;if(this._accept(7)&&(n.appendChild(s),this._accept(4)))return e.appendChild(n),!0}return this._backTo(i),!1}}else return this._accept(6)?this._parseTransform(n)?(e.appendChild(n),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(n),!0):this._backTo(i)}_parseChoiceElement(e){const t=this._token,i=[];for(;!(this._token.type===2||this._token.type===7);){let o;if((o=this._accept(5,!0))?o=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||o:o=this._accept(void 0,!0),!o)return this._backTo(t),!1;i.push(o)}return i.length===0?(this._backTo(t),!1):(e.appendChild(new Ee(i.join(""))),!0)}_parseComplexVariable(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(i);const n=new Ns(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(n),!0;if(!this._parse(n))return e.appendChild(new Ee("${"+t+":")),n.children.forEach(e.appendChild,e),!0}else return this._accept(6)?this._parseTransform(n)?(e.appendChild(n),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(n),!0):this._backTo(i)}_parseTransform(e){const t=new pu;let i="",o="";for(;!this._accept(6);){let n;if(n=this._accept(5,!0)){n=this._accept(6,!0)||n,i+=n;continue}if(this._token.type!==14){i+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let n;if(n=this._accept(5,!0)){n=this._accept(5,!0)||this._accept(6,!0)||n,t.appendChild(new Ee(n));continue}if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);){if(this._token.type!==14){o+=this._accept(void 0,!0);continue}return!1}try{t.regexp=new RegExp(i,o)}catch{return!1}return e.transform=t,!0}_parseFormatString(e){const t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);const o=this._accept(8,!0);if(o)if(i){if(this._accept(4))return e.appendChild(new wt(Number(o))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new wt(Number(o))),!0;else return this._backTo(t),!1;if(this._accept(6)){const n=this._accept(9,!0);return!n||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new wt(Number(o),n)),!0)}else if(this._accept(11)){const n=this._until(4);if(n)return e.appendChild(new wt(Number(o),void 0,n,void 0)),!0}else if(this._accept(12)){const n=this._until(4);if(n)return e.appendChild(new wt(Number(o),void 0,void 0,n)),!0}else if(this._accept(13)){const n=this._until(1);if(n){const s=this._until(4);if(s)return e.appendChild(new wt(Number(o),void 0,n,s)),!0}}else{const n=this._until(4);if(n)return e.appendChild(new wt(Number(o),void 0,void 0,n)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new Ee(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}const H0=u("defaultLabel","input"),V0=u("label.preserveCaseToggle","Preserve Case");class B0 extends xf{constructor(e){super({icon:Y.preserveCase,title:V0+e.appendTitle,isChecked:e.isChecked,inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class U0 extends No{constructor(e,t,i,o){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new z),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new z),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new z),this._onInput=this._register(new z),this._onKeyUp=this._register(new z),this._onPreserveCaseKeyDown=this._register(new z),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=o.placeholder||"",this.validation=o.validation,this.label=o.label||H0;const n=o.appendPreserveCaseLabel||"",s=o.history||[],a=!!o.flexibleHeight,l=!!o.flexibleWidth,c=o.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new Hb(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:s,showHistoryHint:o.showHistoryHint,flexibleHeight:a,flexibleWidth:l,flexibleMaxHeight:c,inputBoxStyles:o.inputBoxStyles})),this.preserveCase=this._register(new B0(Object.assign({appendTitle:n,isChecked:!1},o.toggleStyles))),this._register(this.preserveCase.onChange(g=>{this._onDidOptionChange.fire(g),!g&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(g=>{this._onPreserveCaseKeyDown.fire(g)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const d=[this.preserveCase.domNode];this.onkeydown(this.domNode,g=>{if(g.equals(15)||g.equals(17)||g.equals(9)){const p=d.indexOf(document.activeElement);if(p>=0){let f=-1;g.equals(17)?f=(p+1)%d.length:g.equals(15)&&(p===0?f=d.length-1:f=p-1),g.equals(9)?(d[p].blur(),this.inputBox.focus()):f>=0&&d[f].focus(),ba.stop(g,!0)}}});const h=document.createElement("div");h.className="controls",h.style.display=this._showOptionButtons?"block":"none",h.appendChild(this.preserveCase.domNode),this.domNode.appendChild(h),e==null||e.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,g=>this._onKeyDown.fire(g)),this.onkeyup(this.inputBox.inputElement,g=>this._onKeyUp.fire(g)),this.oninput(this.inputBox.inputElement,g=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,g=>this._onMouseDown.fire(g))}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===void 0||e.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}var m_=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},__=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};const fu=new Z("suggestWidgetVisible",!1,u("suggestWidgetVisible","Whether suggestion are visible")),mu="historyNavigationWidgetFocus",v_="historyNavigationForwardsEnabled",b_="historyNavigationBackwardsEnabled";let si;const Pr=[];function C_(r,e){if(Pr.includes(e))throw new Error("Cannot register the same widget multiple times");Pr.push(e);const t=new R,i=new Z(mu,!1).bindTo(r),o=new Z(v_,!0).bindTo(r),n=new Z(b_,!0).bindTo(r),s=()=>{i.set(!0),si=e},a=()=>{i.set(!1),si===e&&(si=void 0)};return e.element===document.activeElement&&s(),t.add(e.onDidFocus(()=>s())),t.add(e.onDidBlur(()=>a())),t.add(ce(()=>{Pr.splice(Pr.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:o,historyNavigationBackwardsEnablement:n,dispose(){t.dispose()}}}let Tc=class extends Vb{constructor(e,t,i,o){super(e,t,i);const n=this._register(o.createScoped(this.inputBox.element));this._register(C_(n,this.inputBox))}};Tc=m_([__(3,Q)],Tc);let Rc=class extends U0{constructor(e,t,i,o,n=!1){super(e,t,n,i);const s=this._register(o.createScoped(this.inputBox.element));this._register(C_(s,this.inputBox))}};Rc=m_([__(3,Q)],Rc);Xt.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:x.and(x.has(mu),x.equals(b_,!0),fu.isEqualTo(!1)),primary:16,secondary:[528],handler:r=>{si==null||si.showPreviousValue()}});Xt.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:x.and(x.has(mu),x.equals(v_,!0),fu.isEqualTo(!1)),primary:18,secondary:[530],handler:r=>{si==null||si.showNextValue()}});var ms=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};const $={Visible:fu,HasFocusedSuggestion:new Z("suggestWidgetHasFocusedSuggestion",!1,u("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new Z("suggestWidgetDetailsVisible",!1,u("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new Z("suggestWidgetMultipleSuggestions",!1,u("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new Z("suggestionMakesTextEdit",!0,u("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new Z("acceptSuggestionOnEnter",!0,u("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new Z("suggestionHasInsertAndReplaceRange",!1,u("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new Z("suggestionInsertMode",void 0,{type:"string",description:u("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new Z("suggestionCanResolve",!1,u("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},yi=new O("suggestWidgetStatusBar");class $0{constructor(e,t,i,o){this.position=e,this.completion=t,this.container=i,this.provider=o,this.isInvalid=!1,this.score=xs.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,b.isIRange(t.range)?(this.editStart=new H(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new H(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new H(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||b.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new H(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new H(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new H(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||b.spansMultipleLines(t.range.insert)||b.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),typeof o.resolveCompletionItem!="function"&&(this._resolveCache=Promise.resolve(),this._isResolved=!0)}get isResolved(){return!!this._isResolved}resolve(e){return ms(this,void 0,void 0,function*(){if(!this._resolveCache){const t=e.onCancellationRequested(()=>{this._resolveCache=void 0,this._isResolved=!1});this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(i=>{Object.assign(this.completion,i),this._isResolved=!0,t.dispose()},i=>{Ro(i)&&(this._resolveCache=void 0,this._isResolved=!1)})}return this._resolveCache})}}class Ms{constructor(e=2,t=new Set,i=new Set,o=new Map,n=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=i,this.providerItemsToReuse=o,this.showDeprecated=n}}Ms.default=new Ms;let z0;function j0(){return z0}class K0{constructor(e,t,i,o){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=o}}function _u(r,e,t,i=Ms.default,o={triggerKind:0},n=q.None){return ms(this,void 0,void 0,function*(){const s=new jt(!0);t=t.clone();const a=e.getWordAtPosition(t),l=a?new b(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):b.fromPositions(t),c={replace:l,insert:l.setEndPosition(t.lineNumber,t.column)},d=[],h=new R,g=[];let p=!1;const f=(v,C,S)=>{var y,I,T;let j=!1;if(!C)return j;for(const U of C.suggestions)if(!i.kindFilter.has(U.kind)){if(!i.showDeprecated&&(!((y=U==null?void 0:U.tags)===null||y===void 0)&&y.includes(1)))continue;U.range||(U.range=c),U.sortText||(U.sortText=typeof U.label=="string"?U.label:U.label.label),!p&&U.insertTextRules&&U.insertTextRules&4&&(p=ki.guessNeedsClipboard(U.insertText)),d.push(new $0(t,U,C,v)),j=!0}return If(C)&&h.add(C),g.push({providerName:(I=v._debugDisplayName)!==null&&I!==void 0?I:"unknown_provider",elapsedProvider:(T=C.duration)!==null&&T!==void 0?T:-1,elapsedOverall:S.elapsed()}),j},m=(()=>ms(this,void 0,void 0,function*(){}))();for(const v of r.orderedGroups(e)){let C=!1;if(yield Promise.all(v.map(S=>ms(this,void 0,void 0,function*(){if(i.providerItemsToReuse.has(S)){const y=i.providerItemsToReuse.get(S);y.forEach(I=>d.push(I)),C=C||y.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(S)))try{const y=new jt(!0),I=yield S.provideCompletionItems(e,t,o,n);C=f(S,I,y)||C}catch(y){ye(y)}}))),C||n.isCancellationRequested)break}return yield m,n.isCancellationRequested?(h.dispose(),Promise.reject(new Lf)):new K0(d.sort(Z0(i.snippetSortOrder)),p,{entries:g,elapsed:s.elapsed()},h)})}function vu(r,e){if(r.sortTextLow&&e.sortTextLow){if(r.sortTextLowe.sortTextLow)return 1}return r.textLabele.textLabel?1:r.completion.kind-e.completion.kind}function q0(r,e){if(r.completion.kind!==e.completion.kind){if(r.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return vu(r,e)}function G0(r,e){if(r.completion.kind!==e.completion.kind){if(r.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return vu(r,e)}const Il=new Map;Il.set(0,q0);Il.set(2,G0);Il.set(1,vu);function Z0(r){return Il.get(r)}se.registerCommand("_executeCompletionItemProvider",(r,...e)=>ms(void 0,void 0,void 0,function*(){const[t,i,o,n]=e;re(te.isUri(t)),re(H.isIPosition(i)),re(typeof o=="string"||!o),re(typeof n=="number"||!n);const{completionProvider:s}=r.get(V),a=yield r.get(Pt).createModelReference(t);try{const l={incomplete:!1,suggestions:[]},c=[],d=yield _u(s,a.object.textEditorModel,H.lift(i),void 0,{triggerCharacter:o??void 0,triggerKind:o?1:0});for(const h of d.items)c.length<(n??0)&&c.push(h.resolve(q.None)),l.incomplete=l.incomplete||h.container.incomplete,l.suggestions.push(h.completion);try{return yield Promise.all(c),l}finally{setTimeout(()=>d.disposable.dispose(),100)}}finally{a.dispose()}}));function X0(r,e){var t;(t=r.getContribution("editor.contrib.suggestController"))===null||t===void 0||t.triggerSuggest(new Set().add(e),void 0,!0)}class no{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}}}var bu=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Na=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};const Kg=P;let Ma=class kc extends E{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._widget=this._register(this._instantiationService.createInstance(sn,this._editor)),this._currentResult=null,this._participants=[];for(const o of Hn.getAll())this._participants.push(this._instantiationService.createInstance(o,this._editor));this._participants.sort((o,n)=>o.hoverOrdinal-n.hoverOrdinal),this._computer=new Ea(this._editor,this._participants),this._hoverOperation=this._register(new p_(this._editor,this._computer)),this._register(this._hoverOperation.onResult(o=>{if(!this._computer.anchor)return;const n=o.hasLoadingMessage?this._addLoadingMessage(o.value):o.value;this._withResult(new S_(this._computer.anchor,n,o.isComplete))})),this._register(Mn(this._widget.getDomNode(),"keydown",o=>{o.equals(9)&&this.hide()})),this._register(nl.onDidChange(()=>{this._widget.position&&this._currentResult&&(this._widget.clear(),this._setCurrentResult(this._currentResult))}))}maybeShowAt(e){const t=[];for(const o of this._participants)if(o.suggestHoverAnchor){const n=o.suggestHoverAnchor(e);n&&t.push(n)}const i=e.target;if(i.type===6&&t.push(new Rd(0,i.range,e.event.posx,e.event.posy)),i.type===7){const o=this._editor.getOption(47).typicalHalfwidthCharacterWidth/2;!i.detail.isAfterLines&&typeof i.detail.horizontalDistanceToText=="number"&&i.detail.horizontalDistanceToTextn.priority-o.priority),this._startShowingOrUpdateHover(t[0],0,0,!1,e))}startShowingAtRange(e,t,i,o){this._startShowingOrUpdateHover(new Rd(0,e,void 0,void 0),t,i,o,null)}_startShowingOrUpdateHover(e,t,i,o,n){return!this._widget.position||!this._currentResult?e?(this._startHoverOperationIfNecessary(e,t,i,o,!1),!0):!1:this._editor.getOption(57).sticky&&n&&this._widget.isMouseGettingCloser(n.event.posx,n.event.posy)?(e&&this._startHoverOperationIfNecessary(e,t,i,o,!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,i,o,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,i,o,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(e,t,i,o,n){this._computer.anchor&&this._computer.anchor.equals(e)||(this._hoverOperation.cancel(),this._computer.anchor=e,this._computer.shouldFocus=o,this._computer.source=i,this._computer.insistOnKeepingHoverVisible=n,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())}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}isColorPickerVisible(){return this._widget.isColorPickerVisible}isVisibleFromKeyboard(){return this._widget.isVisibleFromKeyboard}containsNode(e){return this._widget.getDomNode().contains(e)}_addLoadingMessage(e){if(this._computer.anchor){for(const t of this._participants)if(t.createLoadingMessage){const i=t.createLoadingMessage(this._computer.anchor);if(i)return e.slice(0).concat([i])}}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){const{showAtPosition:i,showAtSecondaryPosition:o,highlightRange:n}=kc.computeHoverRanges(this._editor,e.range,t),s=new R,a=s.add(new Nc(this._keybindingService)),l=document.createDocumentFragment();let c=null;const d={fragment:l,statusBar:a,setColorPicker:g=>c=g,onContentsChanged:()=>this._widget.onContentsChanged(),hide:()=>this.hide()};for(const g of this._participants){const p=t.filter(f=>f.owner===g);p.length>0&&s.add(g.renderHoverParts(d,p))}const h=t.some(g=>g.isBeforeContent);if(a.hasContent&&l.appendChild(a.hoverElement),l.hasChildNodes()){if(n){const g=this._editor.createDecorationsCollection();g.set([{range:n,options:kc._DECORATION_OPTIONS}]),s.add(ce(()=>{g.clear()}))}this._widget.showAt(l,new Y0(c,i,o,this._editor.getOption(57).above,this._computer.shouldFocus,this._computer.source,h,e.initialMousePosX,e.initialMousePosY,s))}else s.dispose()}static computeHoverRanges(e,t,i){let o=1;if(e.hasModel()){const c=e._getViewModel(),d=c.coordinatesConverter,h=d.convertModelRangeToViewRange(t),g=new H(h.startLineNumber,c.getLineMinColumn(h.startLineNumber));o=d.convertViewPositionToModelPosition(g).column}const n=t.startLineNumber;let s=t.startColumn,a=i[0].range,l=null;for(const c of i)a=b.plusRange(a,c.range),c.range.startLineNumber===n&&c.range.endLineNumber===n&&(s=Math.max(Math.min(s,c.range.startColumn),o)),c.forceShowAtRange&&(l=c.range);return{showAtPosition:l?l.getStartPosition():new H(n,t.startColumn),showAtSecondaryPosition:l?l.getStartPosition():new H(n,s),highlightRange:a}}};Ma._DECORATION_OPTIONS=X.register({description:"content-hover-highlight",className:"hoverHighlight"});Ma=bu([Na(1,G),Na(2,xe)],Ma);class S_{constructor(e,t,i){this.anchor=e,this.messages=t,this.isComplete=i}filter(e){const t=this.messages.filter(i=>i.isValidForHoverAnchor(e));return t.length===this.messages.length?this:new Q0(this,this.anchor,t,this.isComplete)}}class Q0 extends S_{constructor(e,t,i,o){super(t,i,o),this.original=e}filter(e){return this.original.filter(e)}}class Y0{constructor(e,t,i,o,n,s,a,l,c,d){this.colorPicker=e,this.showAtPosition=t,this.showAtSecondaryPosition=i,this.preferAbove=o,this.stoleFocus=n,this.source=s,this.isBeforeContent=a,this.initialMousePosX=l,this.initialMousePosY=c,this.disposables=d,this.closestMouseDistance=void 0}}let sn=class w_ extends E{get position(){var e,t;return(t=(e=this._visibleData)===null||e===void 0?void 0:e.showAtPosition)!==null&&t!==void 0?t:null}get isColorPickerVisible(){var e;return Boolean((e=this._visibleData)===null||e===void 0?void 0:e.colorPicker)}get isVisibleFromKeyboard(){var e;return((e=this._visibleData)===null||e===void 0?void 0:e.source)===1}constructor(e,t){super(),this._editor=e,this._contextKeyService=t,this.allowEditorOverflow=!0,this._hoverVisibleKey=_.hoverVisible.bindTo(this._contextKeyService),this._hover=this._register(new g_),this._visibleData=null,this._register(this._editor.onDidLayoutChange(()=>this._layout())),this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(47)&&this._updateFont()})),this._setVisibleData(null),this._layout(),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),this._visibleData&&this._visibleData.disposables.dispose(),super.dispose()}getId(){return w_.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){if(!this._visibleData)return null;let e=this._visibleData.preferAbove;!e&&this._contextKeyService.getContextKeyValue($.Visible.key)&&(e=!0);const t=this._visibleData.isBeforeContent?3:void 0;return{position:this._visibleData.showAtPosition,secondaryPosition:this._visibleData.showAtSecondaryPosition,preference:e?[1,2]:[2,1],positionAffinity:t}}isMouseGettingCloser(e,t){if(!this._visibleData)return!1;if(typeof this._visibleData.initialMousePosX>"u"||typeof this._visibleData.initialMousePosY>"u")return this._visibleData.initialMousePosX=e,this._visibleData.initialMousePosY=t,!1;const i=Gt(this.getDomNode());typeof this._visibleData.closestMouseDistance>"u"&&(this._visibleData.closestMouseDistance=qg(this._visibleData.initialMousePosX,this._visibleData.initialMousePosY,i.left,i.top,i.width,i.height));const o=qg(e,t,i.left,i.top,i.width,i.height);return o>this._visibleData.closestMouseDistance+4?!1:(this._visibleData.closestMouseDistance=Math.min(this._visibleData.closestMouseDistance,o),!0)}_setVisibleData(e){this._visibleData&&this._visibleData.disposables.dispose(),this._visibleData=e,this._hoverVisibleKey.set(!!this._visibleData),this._hover.containerDomNode.classList.toggle("hidden",!this._visibleData)}_layout(){const e=Math.max(this._editor.getLayoutInfo().height/4,250),{fontSize:t,lineHeight:i}=this._editor.getOption(47);this._hover.contentsDomNode.style.fontSize=`${t}px`,this._hover.contentsDomNode.style.lineHeight=`${i/t}`,this._hover.contentsDomNode.style.maxHeight=`${e}px`,this._hover.contentsDomNode.style.maxWidth=`${Math.max(this._editor.getLayoutInfo().width*.66,500)}px`}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(t=>this._editor.applyFontInfo(t))}showAt(e,t){var i;this._setVisibleData(t),this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._hover.contentsDomNode.style.paddingBottom="",this._updateFont(),this.onContentsChanged(),this._editor.render(),this.onContentsChanged(),t.stoleFocus&&this._hover.containerDomNode.focus(),(i=t.colorPicker)===null||i===void 0||i.layout()}hide(){if(this._visibleData){const e=this._visibleData.stoleFocus;this._setVisibleData(null),this._editor.layoutContentWidget(this),e&&this._editor.focus()}}onContentsChanged(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged();const e=this._hover.scrollbar.getScrollDimensions();if(e.scrollWidth>e.width){const i=`${this._hover.scrollbar.options.horizontalScrollbarSize}px`;this._hover.contentsDomNode.style.paddingBottom!==i&&(this._hover.contentsDomNode.style.paddingBottom=i,this._editor.layoutContentWidget(this),this._hover.onContentsChanged())}}clear(){this._hover.contentsDomNode.textContent=""}};sn.ID="editor.contrib.contentHoverWidget";sn=bu([Na(1,Q)],sn);let Nc=class extends E{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this._hasContent=!1,this.hoverElement=Kg("div.hover-row.status-bar"),this.actionsElement=M(this.hoverElement,Kg("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;return this._hasContent=!0,this._register(gu.render(this.actionsElement,e,i))}append(e){const t=M(this.actionsElement,e);return this._hasContent=!0,t}};Nc=bu([Na(0,xe)],Nc);class Ea{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[];const i=e.getModel(),o=t.range.startLineNumber;if(o>i.getLineCount())return[];const n=i.getLineMaxColumn(o);return e.getLineDecorations(o).filter(s=>{if(s.options.isWholeLine)return!0;const a=s.range.startLineNumber===o?s.range.startColumn:1,l=s.range.endLineNumber===o?s.range.endColumn:n;if(s.options.showIfCollapsed){if(a>t.range.startColumn+1||t.range.endColumn-1>l)return!1}else if(a>t.range.startColumn||t.range.endColumn>l)return!1;return!0})}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return It.EMPTY;const i=Ea._getLineDecorations(this._editor,t);return It.merge(this._participants.map(o=>o.computeAsync?o.computeAsync(t,i,e):It.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=Ea._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return tr(t)}}function qg(r,e,t,i,o,n){const s=t+o/2,a=i+n/2,l=Math.max(Math.abs(r-s)-o/2,0),c=Math.max(Math.abs(e-a)-n/2,0);return Math.sqrt(l*l+c*c)}var J0=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Gg=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},y_=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})},kd;let hi=class x_{constructor(e,t,i){this._options=e,this._languageService=t,this._openerService=i,this._onDidRenderAsync=new z,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(e,t,i){if(!e)return{element:document.createElement("span"),dispose:()=>{}};const o=new R;return{element:o.add(Bb(e,Object.assign(Object.assign({},this._getRenderOptions(e,o)),t),i)).element,dispose:()=>o.dispose()}}_getRenderOptions(e,t){return{codeBlockRenderer:(i,o)=>y_(this,void 0,void 0,function*(){var n,s,a;let l;i?l=this._languageService.getLanguageIdByLanguageName(i):this._options.editor&&(l=(n=this._options.editor.getModel())===null||n===void 0?void 0:n.getLanguageId()),l||(l=Bh);const c=yield Ub(this._languageService,o,l),d=document.createElement("span");if(d.innerHTML=(a=(s=x_._ttpTokenizer)===null||s===void 0?void 0:s.createHTML(c))!==null&&a!==void 0?a:c,this._options.editor){const h=this._options.editor.getOption(47);jh(d,h)}else this._options.codeBlockFontFamily&&(d.style.fontFamily=this._options.codeBlockFontFamily);return this._options.codeBlockFontSize!==void 0&&(d.style.fontSize=this._options.codeBlockFontSize),d}),asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:i=>ex(this._openerService,i,e.isTrusted),disposables:t}}}};hi._ttpTokenizer=(kd=window.trustedTypes)===null||kd===void 0?void 0:kd.createPolicy("tokenizeToString",{createHTML(r){return r}});hi=J0([Gg(1,bt),Gg(2,Ct)],hi);function ex(r,e,t){return y_(this,void 0,void 0,function*(){try{return yield r.open(e,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:tx(t)})}catch(i){return ie(i),!1}})}function tx(r){return r===!0?!0:r&&Array.isArray(r.enabledCommands)?r.enabledCommands:!1}const Zg=P;class ro extends E{constructor(e,t,i){super(),this._renderDisposeables=this._register(new R),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new g_),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new hi({editor:this._editor},t,i)),this._computer=new ix(this._editor),this._hoverOperation=this._register(new p_(this._editor,this._computer)),this._register(this._hoverOperation.onResult(o=>{this._withResult(o.value)})),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(o=>{o.hasChanged(47)&&this._updateFont()})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return ro.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(t=>this._editor.applyFontInfo(t))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}startShowingAt(e){this._computer.lineNumber!==e&&(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=e,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();const i=document.createDocumentFragment();for(const o of t){const n=Zg("div.hover-row.markdown-hover"),s=M(n,Zg("div.hover-contents")),a=this._renderDisposeables.add(this._markdownRenderer.render(o.value));s.appendChild(a.element),i.appendChild(n)}this._updateContents(i),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));const t=this._editor.getLayoutInfo(),i=this._editor.getTopForLineNumber(e),o=this._editor.getScrollTop(),n=this._editor.getOption(63),s=this._hover.containerDomNode.clientHeight,a=i-o-(s-n)/2;this._hover.containerDomNode.style.left=`${t.glyphMarginLeft+t.glyphMarginWidth}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(a),0)}px`}}ro.ID="editor.contrib.modesGlyphHoverWidget";class ix{get lineNumber(){return this._lineNumber}set lineNumber(e){this._lineNumber=e}constructor(e){this._editor=e,this._lineNumber=-1}computeSync(){const e=o=>({value:o}),t=this._editor.getLineDecorations(this._lineNumber),i=[];if(!t)return i;for(const o of t){if(!o.options.glyphMarginClassName)continue;const n=o.options.glyphMarginHoverMessage;!n||Is(n)||i.push(...Df(n).map(e))}return i}}var nx=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};class ox{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}function sx(r,e,t,i,o){return nx(this,void 0,void 0,function*(){try{const n=yield Promise.resolve(r.provideHover(t,i,o));if(n&&ax(n))return new ox(r,n,e)}catch(n){ye(n)}})}function Cu(r,e,t,i){const n=r.ordered(e).map((s,a)=>sx(s,a,e,t,i));return It.fromPromises(n).coalesce()}function rx(r,e,t,i){return Cu(r,e,t,i).map(o=>o.hover).toPromise()}Qt("_executeHoverProvider",(r,e,t)=>{const i=r.get(V);return rx(i.hoverProvider,e,t,q.None)});function ax(r){const e=typeof r.range<"u",t=typeof r.contents<"u"&&r.contents&&r.contents.length>0;return e&&t}var lx=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Ar=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};const Xg=P;class Lt{constructor(e,t,i,o,n){this.owner=e,this.range=t,this.contents=i,this.isBeforeContent=o,this.ordinal=n}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let Pa=class{constructor(e,t,i,o,n){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=o,this._languageFeaturesService=n,this.hoverOrdinal=2}createLoadingMessage(e){return new Lt(this,e.range,[new je().appendText(u("modesContentHover.loading","Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),o=e.range.startLineNumber,n=i.getLineMaxColumn(o),s=[];let a=1e3;const l=i.getLineLength(o),c=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),d=this._editor.getOption(111),h=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:c});let g=!1;d>=0&&l>d&&e.range.startColumn>=d&&(g=!0,s.push(new Lt(this,e.range,[{value:u("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,a++))),!g&&typeof h=="number"&&l>=h&&s.push(new Lt(this,e.range,[{value:u("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,a++));let p=!1;for(const f of t){const m=f.range.startLineNumber===o?f.range.startColumn:1,v=f.range.endLineNumber===o?f.range.endColumn:n,C=f.options.hoverMessage;if(!C||Is(C))continue;f.options.beforeContentClassName&&(p=!0);const S=new b(e.range.startLineNumber,m,e.range.startLineNumber,v);s.push(new Lt(this,S,Df(C),p,a++))}return s}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return It.EMPTY;const o=this._editor.getModel();if(!this._languageFeaturesService.hoverProvider.has(o))return It.EMPTY;const n=new H(e.range.startLineNumber,e.range.startColumn);return Cu(this._languageFeaturesService.hoverProvider,o,n,i).filter(s=>!Is(s.hover.contents)).map(s=>{const a=s.hover.range?b.lift(s.hover.range):e.range;return new Lt(this,a,s.hover.contents,!1,s.ordinal)})}renderHoverParts(e,t){return L_(e,t,this._editor,this._languageService,this._openerService)}};Pa=lx([Ar(1,bt),Ar(2,Ct),Ar(3,he),Ar(4,V)],Pa);function L_(r,e,t,i,o){e.sort((s,a)=>s.ordinal-a.ordinal);const n=new R;for(const s of e)for(const a of s.contents){if(Is(a))continue;const l=Xg("div.hover-row.markdown-hover"),c=M(l,Xg("div.hover-contents")),d=n.add(new hi({editor:t},i,o));n.add(d.onDidRenderAsync(()=>{c.className="hover-contents code-hover-contents",r.onContentsChanged()}));const h=n.add(d.render(a));c.appendChild(h.element),r.fragment.appendChild(l)}return n}var I_=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Aa=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};class Qg{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let Mc=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new z,this.onDidChange=this._onDidChange.event,this._dispoables=new R,this._markers=[],this._nextIdx=-1,te.isUri(e)?this._resourceFilter=a=>a.toString()===e.toString():e&&(this._resourceFilter=e);const o=this._configService.getValue("problems.sortOrder"),n=(a,l)=>{let c=Ju(a.resource.toString(),l.resource.toString());return c===0&&(o==="position"?c=b.compareRangesUsingStarts(a,l)||Pe.compare(a.severity,l.severity):c=Pe.compare(a.severity,l.severity)||b.compareRangesUsingStarts(a,l)),c},s=()=>{this._markers=this._markerService.read({resource:te.isUri(e)?e:void 0,severities:Pe.Error|Pe.Warning|Pe.Info}),typeof e=="function"&&(this._markers=this._markers.filter(a=>this._resourceFilter(a.resource))),this._markers.sort(n)};s(),this._dispoables.add(t.onMarkerChanged(a=>{(!this._resourceFilter||a.some(l=>this._resourceFilter(l)))&&(s(),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(){const e=this._markers[this._nextIdx];return e&&new Qg(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,i){let o=!1,n=this._markers.findIndex(s=>s.resource.toString()===e.uri.toString());n<0&&(n=Ca(this._markers,{resource:e.uri},(s,a)=>Ju(s.resource.toString(),a.resource.toString())),n<0&&(n=~n));for(let s=n;so.resource.toString()===e.toString());if(!(i<0)){for(;i=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Un=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};class cx{constructor(e,t,i,o,n){this._openerService=o,this._labelService=n,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new R,this._editor=t;const s=document.createElement("div");s.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),s.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),s.appendChild(this._relatedBlock),this._disposables.add(Mn(this._relatedBlock,"click",a=>{a.preventDefault();const l=this._relatedDiagnostics.get(a.target);l&&i(l)})),this._scrollable=new Gb(s,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(a=>{s.style.left=`-${a.scrollLeft}px`,s.style.top=`-${a.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){We(this._disposables)}update(e){const{source:t,message:i,relatedInformation:o,code:n}=e;let s=((t==null?void 0:t.length)||0)+2;n&&(typeof n=="string"?s+=n.length:s+=n.value.length);const a=Sa(i);this._lines=a.length,this._longestLineLength=0;for(const g of a)this._longestLineLength=Math.max(g.length+s,this._longestLineLength);Rt(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let l=this._messageBlock;for(const g of a)l=document.createElement("div"),l.innerText=g,g===""&&(l.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(l);if(t||n){const g=document.createElement("span");if(g.classList.add("details"),l.appendChild(g),t){const p=document.createElement("span");p.innerText=t,p.classList.add("source"),g.appendChild(p)}if(n)if(typeof n=="string"){const p=document.createElement("span");p.innerText=`(${n})`,p.classList.add("code"),g.appendChild(p)}else{this._codeLink=P("a.code-link"),this._codeLink.setAttribute("href",`${n.target.toString()}`),this._codeLink.onclick=f=>{this._openerService.open(n.target,{allowCommands:!0}),f.preventDefault(),f.stopPropagation()};const p=M(this._codeLink,P("span"));p.innerText=n.value,g.appendChild(this._codeLink)}}if(Rt(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),Ge(o)){const g=this._relatedBlock.appendChild(document.createElement("div"));g.style.paddingTop=`${Math.floor(this._editor.getOption(63)*.66)}px`,this._lines+=1;for(const p of o){const f=document.createElement("div"),m=document.createElement("a");m.classList.add("filename"),m.innerText=`${this._labelService.getUriBasenameLabel(p.resource)}(${p.startLineNumber}, ${p.startColumn}): `,m.title=this._labelService.getUriLabel(p.resource),this._relatedDiagnostics.set(m,p);const v=document.createElement("span");v.innerText=p.message,f.appendChild(m),f.appendChild(v),this._lines+=1,g.appendChild(f)}}const c=this._editor.getOption(47),d=Math.ceil(c.typicalFullwidthCharacterWidth*this._longestLineLength*.75),h=c.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:d,scrollHeight:h})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case Pe.Error:t=u("Error","Error");break;case Pe.Warning:t=u("Warning","Warning");break;case Pe.Info:t=u("Info","Info");break;case Pe.Hint:t=u("Hint","Hint");break}let i=u("marker aria","{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn);const o=this._editor.getModel();return o&&e.startLineNumber<=o.getLineCount()&&e.startLineNumber>=1&&(i=`${o.getLineContent(e.startLineNumber)}, ${i}`),i}}let mo=class T_ extends ka{constructor(e,t,i,o,n,s,a){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},n),this._themeService=t,this._openerService=i,this._menuService=o,this._contextKeyService=s,this._labelService=a,this._callOnDispose=new R,this._onDidSelectRelatedInformation=new z,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Pe.Warning,this._backgroundColor=J.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(px);let t=Ac,i=hx;this._severity===Pe.Warning?(t=la,i=ux):this._severity===Pe.Info&&(t=Oc,i=gx);const o=e.getColor(t),n=e.getColor(i);this.style({arrowColor:o,frameColor:o,headerBackgroundColor:n,primaryHeadingColor:e.getColor(Xm),secondaryHeadingColor:e.getColor(Qm)})}_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(o=>this.editor.focus()));const t=[],i=this._menuService.createMenu(T_.TitleMenu,this._contextKeyService);Rf(i,void 0,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0}),i.dispose()}_fillTitleIcon(e){this._icon=M(e,P(""))}_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 cx(this._container,this.editor,t=>this._onDidSelectRelatedInformation.fire(t),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,i){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());const o=b.lift(e),n=this.editor.getPosition(),s=n&&o.containsPosition(n)?n:o.getStartPosition();super.show(s,this.computeRequiredHeight());const a=this.editor.getModel();if(a){const l=i>1?u("problems","{0} of {1} problems",t,i):u("change","{0} of {1} problem",t,i);this.setTitle(Kt(a.uri),l)}this._icon.className=`codicon ${Pc.className(Pe.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(s,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()}};mo.TitleMenu=new O("gotoErrorTitleMenu");mo=dx([Un(1,Et),Un(2,Ct),Un(3,Mo),Un(4,G),Un(5,Q),Un(6,ys)],mo);const Yg=Kh(zb,$b),Jg=Kh(Kb,jb),ep=Kh(ws,qb),Ac=A("editorMarkerNavigationError.background",{dark:Yg,light:Yg,hcDark:li,hcLight:li},u("editorMarkerNavigationError","Editor marker navigation widget error color.")),hx=A("editorMarkerNavigationError.headerBackground",{dark:qe(Ac,.1),light:qe(Ac,.1),hcDark:null,hcLight:null},u("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),la=A("editorMarkerNavigationWarning.background",{dark:Jg,light:Jg,hcDark:li,hcLight:li},u("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),ux=A("editorMarkerNavigationWarning.headerBackground",{dark:qe(la,.1),light:qe(la,.1),hcDark:"#0C141F",hcLight:qe(la,.2)},u("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),Oc=A("editorMarkerNavigationInfo.background",{dark:ep,light:ep,hcDark:li,hcLight:li},u("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),gx=A("editorMarkerNavigationInfo.headerBackground",{dark:qe(Oc,.1),light:qe(Oc,.1),hcDark:null,hcLight:null},u("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),px=A("editorMarkerNavigation.background",{dark:yr,light:yr,hcDark:yr,hcLight:yr},u("editorMarkerNavigationBackground","Editor marker navigation widget background."));var fx=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Or=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},R_=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};let Ni=class da{static get(e){return e.getContribution(da.ID)}constructor(e,t,i,o,n){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=o,this._instantiationService=n,this._sessionDispoables=new R,this._editor=e,this._widgetVisible=k_.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(mo,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(i=>{var o,n,s;(!(!((o=this._model)===null||o===void 0)&&o.selected)||!b.containsPosition((n=this._model)===null||n===void 0?void 0:n.selected.marker,i.position))&&((s=this._model)===null||s===void 0||s.resetIndex())})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;const i=this._model.find(this._editor.getModel().uri,this._widget.position);i?this._widget.updateMarker(i.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(i=>{this._editorService.openCodeEditor({resource:i.resource,options:{pinned:!0,revealIfOpened:!0,selection:b.lift(i).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(this._editor.hasModel()){const t=this._getOrCreateModel(this._editor.getModel().uri);t.resetIndex(),t.move(!0,this._editor.getModel(),new H(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}nagivate(e,t){var i,o;return R_(this,void 0,void 0,function*(){if(this._editor.hasModel()){const n=this._getOrCreateModel(t?void 0:this._editor.getModel().uri);if(n.move(e,this._editor.getModel(),this._editor.getPosition()),!n.selected)return;if(n.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const s=yield this._editorService.openCodeEditor({resource:n.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:n.selected.marker}},this._editor);s&&((i=da.get(s))===null||i===void 0||i.close(),(o=da.get(s))===null||o===void 0||o.nagivate(e,t))}else this._widget.showAtMarker(n.selected.marker,n.selected.index,n.selected.total)}})}};Ni.ID="editor.contrib.markerController";Ni=fx([Or(1,D_),Or(2,Q),Or(3,Se),Or(4,G)],Ni);class Dl extends L{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}run(e,t){var i;return R_(this,void 0,void 0,function*(){t.hasModel()&&((i=Ni.get(t))===null||i===void 0||i.nagivate(this._next,this._multiFile))})}}class xi extends Dl{constructor(){super(!0,!1,{id:xi.ID,label:xi.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:_.focus,primary:578,weight:100},menuOpts:{menuId:mo.TitleMenu,title:xi.LABEL,icon:Ie("marker-navigation-next",Y.arrowDown,u("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}}xi.ID="editor.action.marker.next";xi.LABEL=u("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");class rn extends Dl{constructor(){super(!1,!1,{id:rn.ID,label:rn.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:_.focus,primary:1602,weight:100},menuOpts:{menuId:mo.TitleMenu,title:rn.LABEL,icon:Ie("marker-navigation-previous",Y.arrowUp,u("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}}rn.ID="editor.action.marker.prev";rn.LABEL=u("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");class mx extends Dl{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:u("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:_.focus,primary:66,weight:100},menuOpts:{menuId:O.MenubarGoMenu,title:u({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class _x extends Dl{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:u("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:_.focus,primary:1090,weight:100},menuOpts:{menuId:O.MenubarGoMenu,title:u({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}K(Ni.ID,Ni,4);w(xi);w(rn);w(mx);w(_x);const k_=new Z("markersNavigationVisible",!1),vx=ct.bindToContribution(Ni.get);F(new vx({id:"closeMarkersNavigation",precondition:k_,handler:r=>r.close(),kbOpts:{weight:100+50,kbExpr:_.focus,primary:9,secondary:[1033]}}));var bx=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Nd=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};const ut=P;class Cx{constructor(e,t,i){this.owner=e,this.range=t,this.marker=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}const tp={type:1,filter:{include:W.QuickFix},triggerAction:Be.QuickFixHover};let Fc=class{constructor(e,t,i,o){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=o,this.hoverOrdinal=5,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1&&!e.supportsMarkerHover)return[];const i=this._editor.getModel(),o=e.range.startLineNumber,n=i.getLineMaxColumn(o),s=[];for(const a of t){const l=a.range.startLineNumber===o?a.range.startColumn:1,c=a.range.endLineNumber===o?a.range.endColumn:n,d=this._markerDecorationsService.getMarker(i.uri,a);if(!d)continue;const h=new b(e.range.startLineNumber,l,e.range.startLineNumber,c);s.push(new Cx(this,h,d))}return s}renderHoverParts(e,t){if(!t.length)return E.None;const i=new R;t.forEach(n=>e.fragment.appendChild(this.renderMarkerHover(n,i)));const o=t.length===1?t[0]:t.sort((n,s)=>Pe.compare(n.marker.severity,s.marker.severity))[0];return this.renderMarkerStatusbar(e,o,i),i}renderMarkerHover(e,t){const i=ut("div.hover-row"),o=M(i,ut("div.marker.hover-contents")),{source:n,message:s,code:a,relatedInformation:l}=e.marker;this._editor.applyFontInfo(o);const c=M(o,ut("span"));if(c.style.whiteSpace="pre-wrap",c.innerText=s,n||a)if(a&&typeof a!="string"){const d=ut("span");if(n){const f=M(d,ut("span"));f.innerText=n}const h=M(d,ut("a.code-link"));h.setAttribute("href",a.target.toString()),t.add(de(h,"click",f=>{this._openerService.open(a.target,{allowCommands:!0}),f.preventDefault(),f.stopPropagation()}));const g=M(h,ut("span"));g.innerText=a.value;const p=M(o,d);p.style.opacity="0.6",p.style.paddingLeft="6px"}else{const d=M(o,ut("span"));d.style.opacity="0.6",d.style.paddingLeft="6px",d.innerText=n&&a?`${n}(${a})`:n||`(${a})`}if(Ge(l))for(const{message:d,resource:h,startLineNumber:g,startColumn:p}of l){const f=M(o,ut("div"));f.style.marginTop="8px";const m=M(f,ut("a"));m.innerText=`${Kt(h)}(${g}, ${p}): `,m.style.cursor="pointer",t.add(de(m,"click",C=>{C.stopPropagation(),C.preventDefault(),this._openerService&&this._openerService.open(h,{fromUserGesture:!0,editorOptions:{selection:{startLineNumber:g,startColumn:p}}}).catch(ie)}));const v=M(f,ut("span"));v.innerText=d,this._editor.applyFontInfo(v)}return i}renderMarkerStatusbar(e,t,i){if((t.marker.severity===Pe.Error||t.marker.severity===Pe.Warning||t.marker.severity===Pe.Info)&&e.statusBar.addAction({label:u("view problem","View Problem"),commandId:xi.ID,run:()=>{var o;e.hide(),(o=Ni.get(this._editor))===null||o===void 0||o.showAtMarker(t.marker),this._editor.focus()}}),!this._editor.getOption(86)){const o=e.statusBar.append(ut("div"));this.recentMarkerCodeActionsInfo&&(eg.makeKey(this.recentMarkerCodeActionsInfo.marker)===eg.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(o.textContent=u("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const n=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?E.None:i.add(va(()=>o.textContent=u("checkingForQuickFixes","Checking for quick fixes..."),200));o.textContent||(o.textContent=String.fromCharCode(160));const s=this.getCodeActions(t.marker);i.add(ce(()=>s.cancel())),s.then(a=>{if(n.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:a.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){a.dispose(),o.textContent=u("noQuickFixes","No quick fixes available");return}o.style.display="none";let l=!1;i.add(ce(()=>{l||a.dispose()})),e.statusBar.addAction({label:u("quick fixes","Quick Fix..."),commandId:Po.Id,run:c=>{l=!0;const d=mn.get(this._editor),h=Gt(c);e.hide(),d==null||d.showCodeActions(tp,a,{x:h.left+6,y:h.top+h.height+6,width:h.width,height:h.height})}})},ie)}}getCodeActions(e){return Ce(t=>cu(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new b(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),tp,To.None,t))}};Fc=bx([Nd(1,Zb),Nd(2,Ct),Nd(3,V)],Fc);const N_="editor.action.inlineSuggest.commit",M_="editor.action.inlineSuggest.showPrevious",E_="editor.action.inlineSuggest.showNext";var Sx=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};class wx extends E{constructor(e,t,i={orientation:0}){super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new Xb),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=new R,this.options=i,this.lookupKeybindings=typeof this.options.getKeyBinding=="function",this.toggleMenuAction=this._register(new Es(()=>{var o;return(o=this.toggleMenuActionViewItem)===null||o===void 0?void 0:o.show()},i.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",e.appendChild(this.element),this.actionBar=this._register(new cn(this.element,{orientation:i.orientation,ariaLabel:i.ariaLabel,actionRunner:i.actionRunner,allowContextMenu:i.allowContextMenu,actionViewItemProvider:(o,n)=>{var s;if(o.id===Es.ID)return this.toggleMenuActionViewItem=new tg(o,o.menuActions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:ee.asClassNameArray((s=i.moreIcon)!==null&&s!==void 0?s:Y.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(i.actionViewItemProvider){const a=i.actionViewItemProvider(o,n);if(a)return a}if(o instanceof tc){const a=new tg(o,o.actions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:o.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement});return a.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(a),this.disposables.add(this._onDidChangeDropdownVisibility.add(a.onDidChangeVisibility)),a}}}))}set actionRunner(e){this.actionBar.actionRunner=e}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(e){return this.actionBar.getAction(e)}setActions(e,t){this.clear();const i=e?e.slice(0):[];this.hasSecondaryActions=!!(t&&t.length>0),this.hasSecondaryActions&&t&&(this.toggleMenuAction.menuActions=t.slice(0),i.push(this.toggleMenuAction)),i.forEach(o=>{this.actionBar.push(o,{icon:!0,label:!1,keybinding:this.getKeybindingLabel(o)})})}getKeybindingLabel(e){var t,i;const o=this.lookupKeybindings?(i=(t=this.options).getKeyBinding)===null||i===void 0?void 0:i.call(t,e):void 0;return Nt(o==null?void 0:o.getLabel())}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),super.dispose()}}class Es extends un{constructor(e,t){t=t||u("moreActions","More Actions..."),super(Es.ID,t,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=e}run(){return Sx(this,void 0,void 0,function*(){this.toggleDropdownMenu()})}get menuActions(){return this._menuActions}set menuActions(e){this._menuActions=e}}Es.ID="toolbar.toggle.more";var yx=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Ko=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let Wc=class extends wx{constructor(e,t,i,o,n,s,a){super(e,n,Object.assign(Object.assign({getKeyBinding:l=>{var c;return(c=s.lookupKeybinding(l.id))!==null&&c!==void 0?c:void 0}},t),{allowContextMenu:!0})),this._options=t,this._menuService=i,this._contextKeyService=o,this._contextMenuService=n,this._sessionDisposables=this._store.add(new R),t!=null&&t.telemetrySource&&this._store.add(this.actionBar.onDidRun(l=>a.publicLog2("workbenchActionExecuted",{id:l.action.id,from:t.telemetrySource})))}setActions(e,t=[],i){var o,n,s;this._sessionDisposables.clear();const a=e.slice(),l=t.slice(),c=[];let d=0;const h=[];let g=!1;if(((o=this._options)===null||o===void 0?void 0:o.hiddenItemStrategy)!==-1)for(let p=0;p=this._options.maxNumberOfItems&&(a[f]=void 0,h[f]=m)}}ig(a),ig(h),super.setActions(a,nn.join(h,l)),c.length>0&&this._sessionDisposables.add(de(this.getElement(),"contextmenu",p=>{var f,m,v,C;const S=this.getItemAction(p.target);if(!S)return;p.preventDefault(),p.stopPropagation();let y=!1;if(d===1&&((f=this._options)===null||f===void 0?void 0:f.hiddenItemStrategy)===0){y=!0;for(let j=0;jthis._menuService.resetHiddenStates(i)}))),this._contextMenuService.showContextMenu({getAnchor:()=>p,getActions:()=>T,menuId:(v=this._options)===null||v===void 0?void 0:v.contextMenu,menuActionOptions:Object.assign({renderShortTitle:!0},(C=this._options)===null||C===void 0?void 0:C.menuOptions),contextKeyService:this._contextKeyService})}))}};Wc=yx([Ko(2,Mo),Ko(3,Q),Ko(4,or),Ko(5,xe),Ko(6,Fi)],Wc);var P_=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},$t=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};const xx=Ie("inline-suggestion-hints-next",Y.chevronRight,u("parameterHintsNextIcon","Icon for show next parameter hint.")),Lx=Ie("inline-suggestion-hints-previous",Y.chevronLeft,u("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let bn=class Hc extends E{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const o=new un(e,t,i,!0,()=>this._commandService.executeCommand(e)),n=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let s=t;return n&&(s=u({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",t,n.getLabel())),o.tooltip=s,o}constructor(e,t,i,o,n,s,a){super(),this.editor=e,this.withBorder=t,this._commandService=i,this.keybindingService=n,this._contextKeyService=s,this._menuService=a,this.id=`InlineSuggestionHintsContentWidget${Hc.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=is("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[is("div",{style:{display:"flex"}},[is("div@actionBar",{className:"custom-actions"}),is("div@toolBar")])]),this.position=null,this.previousAction=this.createCommandAction(M_,u("previous","Previous"),ee.asClassName(Lx)),this.availableSuggestionCountAction=new un("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(E_,u("next","Next"),ee.asClassName(xx)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(O.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new _e(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new _e(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100));const l=this._register(new cn(this.nodes.actionBar));l.push(this.previousAction,{icon:!0,label:!1}),l.push(this.availableSuggestionCountAction),l.push(this.nextAction,{icon:!0,label:!1}),this.toolBar=this._register(o.createInstance(Vc,this.nodes.toolBar,O.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:c=>c.startsWith("primary")},actionViewItemProvider:(c,d)=>c instanceof ho?o.createInstance(Ix,c,void 0):void 0,telemetrySource:"InlineSuggestionToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(c=>{Hc._dropDownVisible=c}))}update(e,t,i,o){this.position=e,i!==void 0&&i>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule(),i!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${t+1}/${i}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),this.editor.layoutContentWidget(this);const n=o.map(s=>({class:void 0,id:s.id,enabled:!0,tooltip:s.tooltip||"",label:s.title,run:a=>this._commandService.executeCommand(s.id)}));for(const[s,a]of this.inlineCompletionsActionsMenus.getActions())for(const l of a)l instanceof ho&&n.push(l);n.length>0&&n.unshift(new nn),this.toolBar.setAdditionalSecondaryActions(n)}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this.position,preference:[1,2],positionAffinity:3}}};bn._dropDownVisible=!1;bn.id=0;bn=P_([$t(2,$e),$t(3,G),$t(4,xe),$t(5,Q),$t(6,Mo)],bn);let Ix=class extends kf{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=is("div.keybinding").root;new nf(t,of,Object.assign({disableTitle:!0},Qb)).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}},Vc=class extends Wc{constructor(e,t,i,o,n,s,a,l){super(e,Object.assign({resetMenu:t},i),o,n,s,a,l),this.menuId=t,this.options2=i,this.menuService=o,this.contextKeyService=n,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var e,t,i,o,n,s,a;const l=[],c=[];Rf(this.menu,(e=this.options2)===null||e===void 0?void 0:e.menuOptions,{primary:l,secondary:c},(i=(t=this.options2)===null||t===void 0?void 0:t.toolbarOptions)===null||i===void 0?void 0:i.primaryGroup,(n=(o=this.options2)===null||o===void 0?void 0:o.toolbarOptions)===null||n===void 0?void 0:n.shouldInlineSubmenu,(a=(s=this.options2)===null||s===void 0?void 0:s.toolbarOptions)===null||a===void 0?void 0:a.useSeparatorsInPrimaryActions),c.push(...this.additionalActions),this.setActions(l,c)}setAdditionalSecondaryActions(e){this.additionalActions=e,this.updateToolbar()}};Vc=P_([$t(3,Mo),$t(4,Q),$t(5,or),$t(6,xe),$t(7,Fi)],Vc);var Dx=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Fr=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let Mi=class A_{static get(e){return e.getContribution(A_.ID)}constructor(e,t,i,o,n){this._editor=e,this._instantiationService=t,this._openerService=i,this._languageService=o,this._toUnhook=new R,this._isMouseDown=!1,this._hoverClicked=!1,this._contentWidget=null,this._glyphWidget=null,this._hookEvents(),this._didChangeConfigurationHandler=this._editor.onDidChangeConfiguration(s=>{s.hasChanged(57)&&(this._unhookEvents(),this._hookEvents())})}_hookEvents(){const e=()=>this._hideWidgets(),t=this._editor.getOption(57);this._isHoverEnabled=t.enabled,this._isHoverSticky=t.sticky,this._isHoverEnabled?(this._toUnhook.add(this._editor.onMouseDown(i=>this._onEditorMouseDown(i))),this._toUnhook.add(this._editor.onMouseUp(i=>this._onEditorMouseUp(i))),this._toUnhook.add(this._editor.onMouseMove(i=>this._onEditorMouseMove(i))),this._toUnhook.add(this._editor.onKeyDown(i=>this._onKeyDown(i)))):(this._toUnhook.add(this._editor.onMouseMove(i=>this._onEditorMouseMove(i))),this._toUnhook.add(this._editor.onKeyDown(i=>this._onKeyDown(i)))),this._toUnhook.add(this._editor.onMouseLeave(i=>this._onEditorMouseLeave(i))),this._toUnhook.add(this._editor.onDidChangeModel(e)),this._toUnhook.add(this._editor.onDidScrollChange(i=>this._onEditorScrollChanged(i)))}_unhookEvents(){this._toUnhook.clear()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._isMouseDown=!0;const t=e.target;if(t.type===9&&t.detail===sn.ID){this._hoverClicked=!0;return}t.type===12&&t.detail===ro.ID||(t.type!==12&&(this._hoverClicked=!1),this._hideWidgets())}_onEditorMouseUp(e){this._isMouseDown=!1}_onEditorMouseLeave(e){var t;const i=e.event.browserEvent.relatedTarget;!((t=this._contentWidget)===null||t===void 0)&&t.containsNode(i)||this._hideWidgets()}_onEditorMouseMove(e){var t,i,o,n,s,a;const l=e.target;if(this._isMouseDown&&this._hoverClicked||this._isHoverSticky&&l.type===9&&l.detail===sn.ID||this._isHoverSticky&&!(!((i=(t=e.event.browserEvent.view)===null||t===void 0?void 0:t.getSelection())===null||i===void 0)&&i.isCollapsed)||!this._isHoverSticky&&l.type===9&&l.detail===sn.ID&&(!((o=this._contentWidget)===null||o===void 0)&&o.isColorPickerVisible())||this._isHoverSticky&&l.type===12&&l.detail===ro.ID||this._isHoverSticky&&(!((n=this._contentWidget)===null||n===void 0)&&n.isVisibleFromKeyboard()))return;if(!this._isHoverEnabled){this._hideWidgets();return}if(this._getOrCreateContentWidget().maybeShowAt(e)){(s=this._glyphWidget)===null||s===void 0||s.hide();return}if(l.type===2&&l.position){(a=this._contentWidget)===null||a===void 0||a.hide(),this._glyphWidget||(this._glyphWidget=new ro(this._editor,this._languageService,this._openerService)),this._glyphWidget.startShowingAt(l.position.lineNumber);return}this._hideWidgets()}_onKeyDown(e){e.keyCode!==5&&e.keyCode!==6&&e.keyCode!==57&&e.keyCode!==4&&this._hideWidgets()}_hideWidgets(){var e,t,i;this._isMouseDown&&this._hoverClicked&&(!((e=this._contentWidget)===null||e===void 0)&&e.isColorPickerVisible())||bn.dropDownVisible||(this._hoverClicked=!1,(t=this._glyphWidget)===null||t===void 0||t.hide(),(i=this._contentWidget)===null||i===void 0||i.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(Ma,this._editor)),this._contentWidget}isColorPickerVisible(){var e;return((e=this._contentWidget)===null||e===void 0?void 0:e.isColorPickerVisible())||!1}showContentHover(e,t,i,o){this._getOrCreateContentWidget().startShowingAtRange(e,t,i,o)}dispose(){var e,t;this._unhookEvents(),this._toUnhook.dispose(),this._didChangeConfigurationHandler.dispose(),(e=this._glyphWidget)===null||e===void 0||e.dispose(),(t=this._contentWidget)===null||t===void 0||t.dispose()}};Mi.ID="editor.contrib.hover";Mi=Dx([Fr(1,G),Fr(2,Ct),Fr(3,bt),Fr(4,Q)],Mi);class Tx extends L{constructor(){super({id:"editor.action.showHover",label:u({key:"showHover",comment:["Label for action that will trigger the showing of a hover in the editor.","This allows for users to show the hover without using the mouse."]},"Show Hover"),alias:"Show Hover",precondition:void 0,kbOpts:{kbExpr:_.editorTextFocus,primary:fe(2089,2087),weight:100}})}run(e,t){if(!t.hasModel())return;const i=Mi.get(t);if(!i)return;const o=t.getPosition(),n=new b(o.lineNumber,o.column,o.lineNumber,o.column),s=t.getOption(2)===2;i.showContentHover(n,1,1,s)}}class Rx extends L{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:u({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})}run(e,t){const i=Mi.get(t);if(!i)return;const o=t.getPosition();if(!o)return;const n=new b(o.lineNumber,o.column,o.lineNumber,o.column),s=vn.get(t);if(!s)return;s.startFindDefinitionFromCursor(o).then(()=>{i.showContentHover(n,1,1,!0)})}}K(Mi.ID,Mi,2);w(Tx);w(Rx);Hn.register(Pa);Hn.register(Fc);qh((r,e)=>{const t=r.getColor(Yb);t&&(e.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${t.transparent(.5)}; }`))});class Bc extends E{constructor(e){super(),this._editor=e,this._register(e.onMouseDown(t=>this.onMouseDown(t)))}dispose(){super.dispose()}onMouseDown(e){const t=e.target;if(t.type!==6||!t.detail.injectedText||t.detail.injectedText.options.attachedData!==zm||!t.range)return;const i=this._editor.getContribution(Mi.ID);if(i&&!i.isColorPickerVisible()){const o=new b(t.range.startLineNumber,t.range.startColumn+1,t.range.endLineNumber,t.range.endColumn+1);i.showContentHover(o,1,0,!1)}}}Bc.ID="editor.contrib.colorContribution";K(Bc.ID,Bc,2);Hn.register(mc);const Tl=function(){if(typeof crypto=="object"&&typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let r;typeof crypto=="object"&&typeof crypto.getRandomValues=="function"?r=crypto.getRandomValues.bind(crypto):r=function(i){for(let o=0;oO_(this,void 0,void 0,function*(){return r}),asFile:()=>{},value:typeof r=="string"?r:void 0}}function kx(r,e,t){return{id:Tl(),asString:()=>O_(this,void 0,void 0,function*(){return""}),asFile:()=>({name:r,uri:e,data:t}),value:void 0}}class F_{constructor(){this._entries=new Map}get size(){return this._entries.size}has(e){return this._entries.has(this.toKey(e))}get(e){var t;return(t=this._entries.get(this.toKey(e)))===null||t===void 0?void 0:t[0]}append(e,t){const i=this._entries.get(e);i?i.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))}*entries(){for(const[e,t]of this._entries.entries())for(const i of t)yield[e,i]}values(){return Array.from(this._entries.values()).flat()}forEach(e){for(const[t,i]of this.entries())e(i,t)}toKey(e){return e.toLowerCase()}}const Rl=Object.freeze({create:r=>Jb(r.map(e=>e.toString())).join(`\r `),split:r=>r.split(`\r `),parse:r=>Rl.split(r).filter(e=>!e.startsWith("#"))}),Oa={EDITORS:"CodeEditors",FILES:"CodeFiles"};function Nx(r){var e;const t=[];if(r.dataTransfer&&r.dataTransfer.types.length>0){const n=r.dataTransfer.getData(Oa.EDITORS);if(n)try{t.push(...eC(n))}catch{}else try{const l=r.dataTransfer.getData(Gh.RESOURCES);t.push(...Mx(l))}catch{}if(!((e=r.dataTransfer)===null||e===void 0)&&e.files)for(let l=0;l0){const{selection:o,uri:n}=tC(te.parse(i));e.push({resource:n,options:{selection:o}})}}return e}class Ex{constructor(){this._contributions=new Map}getAll(){return this._contributions.values()}}const W_={DragAndDropContribution:"workbench.contributions.dragAndDrop"};Zt.add(W_.DragAndDropContribution,new Ex);var Px=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};function Uc(r){const e=new F_;for(const t of r.items){const i=t.type;if(t.kind==="string"){const o=new Promise(n=>t.getAsString(n));e.append(i,Su(o))}else if(t.kind==="file"){const o=t.getAsFile();o&&e.append(i,Ax(o))}}return e}function Ax(r){const e=r.path?te.parse(r.path):void 0;return kx(r.name,e,()=>Px(this,void 0,void 0,function*(){return new Uint8Array(yield r.arrayBuffer())}))}const Ox=Object.freeze([Oa.EDITORS,Oa.FILES,Gh.RESOURCES]);function Fx(r,e,t=!1){var i;if(e.dataTransfer&&(t||!r.has(on.uriList))){const o=Nx(e).filter(n=>n.resource).map(n=>n.resource.toString());for(const n of(i=e.dataTransfer)===null||i===void 0?void 0:i.items){const s=n.getAsFile();s&&o.push(s.path?te.file(s.path).toString():s.name)}o.length&&r.replace(on.uriList,Su(Rl.create(o)))}for(const o of Ox)r.delete(o)}var Wx=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},qo=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},Wr=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};const Md="application/vnd.code.copyMetadata";let Ps=class extends E{constructor(e,t,i,o,n,s){super(),this._bulkEditService=t,this._clipboardService=i,this._configurationService=o,this._languageFeaturesService=n,this._progressService=s,this._editor=e;const a=e.getContainerDomNode();this._register(de(a,"copy",l=>this.handleCopy(l))),this._register(de(a,"cut",l=>this.handleCopy(l))),this._register(de(a,"paste",l=>this.handlePaste(l),!0))}arePasteActionsEnabled(e){return this._configurationService.getValue("editor.experimental.pasteActions.enabled",{resource:e.uri})?!0:e.uri.scheme===Ci.vscodeNotebookCell}handleCopy(e){var t;if(!e.clipboardData||!this._editor.hasTextFocus())return;const i=this._editor.getModel(),o=this._editor.getSelections();if(!i||!(o!=null&&o.length)||!this.arePasteActionsEnabled(i))return;const n=[...o],s=o[0],a=s.isEmpty();if(a){if(!this._editor.getOption(34))return;n[0]=new b(s.startLineNumber,0,s.startLineNumber,i.getLineLength(s.startLineNumber))}const l=this._languageFeaturesService.documentPasteEditProvider.ordered(i).filter(g=>!!g.prepareDocumentPaste);if(!l.length){this.setCopyMetadata(e.clipboardData,{wasFromEmptySelection:a});return}const c=Uc(e.clipboardData),d=Tl();this.setCopyMetadata(e.clipboardData,{id:d,wasFromEmptySelection:a});const h=Ce(g=>Wr(this,void 0,void 0,function*(){const p=yield Promise.all(l.map(f=>f.prepareDocumentPaste(i,n,c,g)));for(const f of p)f==null||f.forEach((m,v)=>{c.replace(v,m)});return c}));(t=this._currentClipboardItem)===null||t===void 0||t.dataTransferPromise.cancel(),this._currentClipboardItem={handle:d,dataTransferPromise:h}}setCopyMetadata(e,t){e.setData(Md,JSON.stringify(t))}handlePaste(e){var t,i,o,n;return Wr(this,void 0,void 0,function*(){if(!e.clipboardData||!this._editor.hasTextFocus())return;const s=this._editor.getSelections();if(!(s!=null&&s.length)||!this._editor.hasModel())return;const a=this._editor.getModel();if(!this.arePasteActionsEnabled(a))return;let l;const c=(t=e.clipboardData)===null||t===void 0?void 0:t.getData(Md);c&&typeof c=="string"&&(l=JSON.parse(c));const d=this._languageFeaturesService.documentPasteEditProvider.ordered(a);if(!d.length)return;e.preventDefault(),e.stopImmediatePropagation();const h=new Ls(this._editor,3);try{const g=Uc(e.clipboardData);if(l!=null&&l.id&&((i=this._currentClipboardItem)===null||i===void 0?void 0:i.handle)===l.id){const f=yield this._currentClipboardItem.dataTransferPromise;if(h.token.isCancellationRequested)return;f.forEach((m,v)=>{g.replace(v,m)})}if(!g.has(on.uriList)){const f=yield this._clipboardService.readResources();if(h.token.isCancellationRequested)return;f.length&&g.append(on.uriList,Su(Rl.create(f)))}g.delete(Md);const p=yield this._progressService.withProgress({location:15,delay:750,title:u("pasteProgressTitle","Running paste handlers..."),cancellable:!0},()=>this.getProviderPasteEdit(d,g,a,s,h.token),()=>h.cancel());if(h.token.isCancellationRequested)return;if(p){const f=typeof p.insertText=="string"?ki.escape(p.insertText):p.insertText.snippet,m={edits:[new Mf(a.uri,{range:B.liftSelection(this._editor.getSelection()),text:f,insertAsSnippet:!0}),...(n=(o=p.additionalEdit)===null||o===void 0?void 0:o.edits)!==null&&n!==void 0?n:[]]};yield this._bulkEditService.apply(m,{editor:this._editor});return}yield this.applyDefaultPasteHandler(g,l,h.token)}finally{h.dispose()}})}getProviderPasteEdit(e,t,i,o,n){return il((()=>Wr(this,void 0,void 0,function*(){for(const s of e){if(n.isCancellationRequested)return;if(!Hx(s,t))continue;const a=yield s.provideDocumentPasteEdits(i,o,t,n);if(a)return a}}))(),n)}applyDefaultPasteHandler(e,t,i){var o;return Wr(this,void 0,void 0,function*(){const n=(o=e.get(on.text))!==null&&o!==void 0?o:e.get("text");if(!n)return;const s=yield n.asString();i.isCancellationRequested||this._editor.trigger("keyboard","paste",{text:s,pasteOnNewLine:t==null?void 0:t.wasFromEmptySelection,multicursorText:null})})}};Ps.ID="editor.contrib.copyPasteActionController";Ps=Wx([qo(1,Qa),qo(2,Do),qo(3,he),qo(4,V),qo(5,Nf)],Ps);function Hx(r,e){return r.pasteMimeTypes.some(t=>t.toLowerCase()===Gh.FILES.toLowerCase()?[...e.values()].some(i=>i.asFile()):e.has(t))}K(Ps.ID,Ps,0);Zt.as(Wh.Configuration).registerConfiguration(Object.assign(Object.assign({},lf),{properties:{"editor.experimental.pasteActions.enabled":{type:"boolean",scope:5,description:u("pasteActions","Enable/disable running edits from extensions on paste."),default:!1}}}));class vi{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;const o=t.length,n=e.length;if(i+o>n)return!1;for(let s=0;s=65&&a<=90&&a+32===l)&&!(l>=65&&l<=90&&l+32===a))return!1}return!0}_createOperationsForBlockComment(e,t,i,o,n,s){const a=e.startLineNumber,l=e.startColumn,c=e.endLineNumber,d=e.endColumn,h=n.getLineContent(a),g=n.getLineContent(c);let p=h.lastIndexOf(t,l-1+t.length),f=g.indexOf(i,d-1-i.length);if(p!==-1&&f!==-1)if(a===c)h.substring(p+t.length,f).indexOf(i)>=0&&(p=-1,f=-1);else{const v=h.substring(p+t.length),C=g.substring(0,f);(v.indexOf(i)>=0||C.indexOf(i)>=0)&&(p=-1,f=-1)}let m;p!==-1&&f!==-1?(o&&p+t.length0&&g.charCodeAt(f-1)===32&&(i=" "+i,f-=1),m=vi._createRemoveBlockCommentOperations(new b(a,p+t.length+1,c,f+1),t,i)):(m=vi._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=m.length===1?i:null);for(const v of m)s.addTrackedEditOperation(v.range,v.text)}static _createRemoveBlockCommentOperations(e,t,i){const o=[];return b.isEmpty(e)?o.push(ae.delete(new b(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(o.push(ae.delete(new b(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),o.push(ae.delete(new b(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),o}static _createAddBlockCommentOperations(e,t,i,o){const n=[];return b.isEmpty(e)?n.push(ae.replace(new b(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(n.push(ae.insert(new H(e.startLineNumber,e.startColumn),t+(o?" ":""))),n.push(ae.insert(new H(e.endLineNumber,e.endColumn),(o?" ":"")+i))),n}getEditOperations(e,t){const i=this._selection.startLineNumber,o=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);const n=e.getLanguageIdAtPosition(i,o),s=this.languageConfigurationService.getLanguageConfiguration(n).comments;!s||!s.blockCommentStartToken||!s.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,s.blockCommentStartToken,s.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(i.length===2){const o=i[0],n=i[1];return new B(o.range.endLineNumber,o.range.endColumn,n.range.startLineNumber,n.range.startColumn)}else{const o=i[0].range,n=this._usedEndToken?-this._usedEndToken.length-1:0;return new B(o.endLineNumber,o.endColumn+n,o.endLineNumber,o.endColumn+n)}}}class ti{constructor(e,t,i,o,n,s,a){this.languageConfigurationService=e,this._selection=t,this._tabSize=i,this._type=o,this._insertSpace=n,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=s,this._ignoreFirstLine=a||!1}static _gatherPreflightCommentStrings(e,t,i,o){e.tokenization.tokenizeIfCheap(t);const n=e.getLanguageIdAtPosition(t,1),s=o.getLanguageConfiguration(n).comments,a=s?s.lineCommentToken:null;if(!a)return null;const l=[];for(let c=0,d=i-t+1;cn?t[l].commentStrOffset=s-1:t[l].commentStrOffset=s}}}class wu extends L{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(Ne);if(!t.hasModel())return;const o=t.getModel(),n=[],s=o.getOptions(),a=t.getOption(20),l=t.getSelections().map((d,h)=>({selection:d,index:h,ignoreFirstLine:!1}));l.sort((d,h)=>b.compareRangesUsingStarts(d.selection,h.selection));let c=l[0];for(let d=1;d=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},$n=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let _o=class H_{static get(e){return e.getContribution(H_.ID)}constructor(e,t,i,o,n,s,a){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=o,this._keybindingService=n,this._menuService=s,this._configurationService=a,this._toDispose=new R,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(l=>this._onContextMenu(l))),this._toDispose.add(this._editor.onMouseWheel(l=>{if(this._contextMenuIsBeingShownCount>0){const c=this._contextViewService.getContextViewElement(),d=l.srcElement;d.shadowRoot&&iC(c)===d.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(l=>{this._editor.getOption(21)&&l.keyCode===58&&(l.preventDefault(),l.stopPropagation(),this.showContextMenu())}))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(21)){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({x:e.event.posx-1,width:2,y:e.event.posy-1,height:2});if(e.target.type!==6&&e.target.type!==7&&e.target.type!==1)return;if(this._editor.focus(),e.target.position){let i=!1;for(const o of this._editor.getSelections())if(o.containsPosition(e.target.position)){i=!0;break}i||this._editor.setPosition(e.target.position)}let t=null;e.target.type!==1&&(t={x:e.event.posx-1,width:2,y:e.event.posy-1,height:2}),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(21)||!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.isSimpleWidget?O.SimpleEditorContext:O.EditorContext);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const i=[],o=this._menuService.createMenu(t,this._contextKeyService),n=o.getActions({arg:e.uri});o.dispose();for(const s of n){const[,a]=s;let l=0;for(const c of a)if(c instanceof ic){const d=this._getMenuActions(e,c.item.submenu);d.length>0&&(i.push(new tc(c.id,c.label,d)),l++)}else i.push(c),l++;l&&i.push(new nn)}return i.length&&i.pop(),i}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;const i=this._editor.getOption(57);if(this._editor.updateOptions({hover:{enabled:!1}}),!t){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const n=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),s=Gt(this._editor.getDomNode()),a=s.left+n.left,l=s.top+n.top+n.height;t={x:a,y:l}}const o=this._editor.getOption(121)&&!oc;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:o?this._editor.getDomNode():void 0,getAnchor:()=>t,getActions:()=>e,getActionViewItem:n=>{const s=this._keybindingFor(n);if(s)return new ng(n,n,{label:!0,keybinding:s.getLabel(),isMenu:!0});const a=n;return typeof a.getActionViewItem=="function"?a.getActionViewItem():new ng(n,n,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:n=>this._keybindingFor(n),onHide:n=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:i})}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel())return;const t=this._editor.getOption(69);let i=0;const o=c=>({id:`menu-action-${++i}`,label:c.label,tooltip:"",class:void 0,enabled:typeof c.enabled>"u"?!0:c.enabled,checked:c.checked,run:c.run}),n=(c,d)=>new tc(`menu-action-${++i}`,c,d,void 0),s=(c,d,h,g,p)=>{if(!d)return o({label:c,enabled:d,run:()=>{}});const f=v=>()=>{this._configurationService.updateValue(h,v)},m=[];for(const v of p)m.push(o({label:v.label,checked:g===v.value,run:f(v.value)}));return n(c,m)},a=[];a.push(o({label:u("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),a.push(new nn),a.push(o({label:u("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),a.push(s(u("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:u("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:u("context.minimap.size.fill","Fill"),value:"fill"},{label:u("context.minimap.size.fit","Fit"),value:"fit"}])),a.push(s(u("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:u("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:u("context.minimap.slider.always","Always"),value:"always"}]));const l=this._editor.getOption(121)&&!oc;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:l?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>a,onHide:c=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};_o.ID="editor.contrib.contextmenu";_o=zx([$n(1,or),$n(2,Ja),$n(3,Q),$n(4,xe),$n(5,Mo),$n(6,he)],_o);class jx extends L{constructor(){super({id:"editor.action.showContextMenu",label:u("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:_.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=_o.get(t))===null||i===void 0||i.showContextMenu()}}K(_o.ID,_o,2);w(jx);class Ed{constructor(e){this.selections=e}equals(e){const t=this.selections.length,i=e.selections.length;if(t!==i)return!1;for(let o=0;o{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeModelContent(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo||!t.oldSelections||t.oldModelVersionId!==t.modelVersionId)return;const i=new Ed(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new Pd(i,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}cursorUndo(){!this._editor.hasModel()||this._undoStack.length===0||(this._redoStack.push(new Pd(new Ed(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 Pd(new Ed(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}}Cn.ID="editor.contrib.cursorUndoRedoController";class Kx extends L{constructor(){super({id:"cursorUndo",label:u("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:_.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var o;(o=Cn.get(t))===null||o===void 0||o.cursorUndo()}}class qx extends L{constructor(){super({id:"cursorRedo",label:u("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var o;(o=Cn.get(t))===null||o===void 0||o.cursorRedo()}}K(Cn.ID,Cn,0);w(Kx);w(qx);class Gx{constructor(e,t,i){this.selection=e,this.targetPosition=t,this.copy=i,this.targetSelection=null}getEditOperations(e,t){const i=e.getValueInRange(this.selection);if(this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new b(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new B(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 B(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.lineNumberthis._onEditorMouseDown(t))),this._register(this._editor.onMouseUp(t=>this._onEditorMouseUp(t))),this._register(this._editor.onMouseDrag(t=>this._onEditorMouseDrag(t))),this._register(this._editor.onMouseDrop(t=>this._onEditorMouseDrop(t))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(t=>this.onEditorKeyDown(t))),this._register(this._editor.onKeyUp(t=>this.onEditorKeyUp(t))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(e){!this._editor.getOption(32)||this._editor.getOption(19)||(zn(e)&&(this._modifierPressed=!0),this._mouseDown&&zn(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(32)||this._editor.getOption(19)||(zn(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===ri.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){const t=e.target;if(this._dragSelection===null){const o=(this._editor.getSelections()||[]).filter(n=>t.position&&n.containsPosition(t.position));if(o.length===1)this._dragSelection=o[0];else return}zn(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){const t=new H(e.target.position.lineNumber,e.target.position.column);if(this._dragSelection===null){let i=null;if(e.event.shiftKey){const o=this._editor.getSelection();if(o){const{selectionStartLineNumber:n,selectionStartColumn:s}=o;i=[new B(n,s,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(o=>o.containsPosition(t)?new B(t.lineNumber,t.column,t.lineNumber,t.column):o);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(zn(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(ri.ID,new Gx(this._dragSelection,t,zn(e.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(e){this._dndDecorationIds.set([{range:new b(e.lineNumber,e.column,e.lineNumber,e.column),options:ri._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return e.type===6||e.type===7}_hitMargin(e){return e.type===2||e.type===3||e.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}ri.ID="editor.contrib.dragAndDrop";ri.TRIGGER_KEY_VALUE=vt?6:5;ri._DECORATION_OPTIONS=X.register({description:"dnd-target",className:"dnd-target"});K(ri.ID,ri,2);var V_=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},ls=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},ca=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};let As=class extends E{constructor(e,t,i,o,n){super(),this._bulkEditService=t,this._languageFeaturesService=i,this._progressService=o,this._register(e.onDropIntoEditor(s=>this.onDropIntoEditor(e,s.position,s.event))),this._languageFeaturesService.documentOnDropEditProvider.register("*",new $c(n))}onDropIntoEditor(e,t,i){var o,n;return ca(this,void 0,void 0,function*(){if(!i.dataTransfer||!e.hasModel())return;const s=e.getModel(),a=s.getVersionId(),l=yield this.extractDataTransferData(i);if(l.size===0||e.getModel().getVersionId()!==a)return;const c=new Ls(e,1);try{const d=this._languageFeaturesService.documentOnDropEditProvider.ordered(s),h=yield this._progressService.withProgress({location:15,delay:750,title:u("dropProgressTitle","Running drop handlers..."),cancellable:!0},()=>il((()=>ca(this,void 0,void 0,function*(){for(const g of d){const p=yield g.provideDocumentOnDropEdits(s,t,l,c.token);if(c.token.isCancellationRequested)return;if(p)return p}}))(),c.token),()=>{c.cancel()});if(c.token.isCancellationRequested||e.getModel().getVersionId()!==a)return;if(h){const g=typeof h.insertText=="string"?ki.escape(h.insertText):h.insertText.snippet,p={edits:[new Mf(s.uri,{range:new b(t.lineNumber,t.column,t.lineNumber,t.column),text:g,insertAsSnippet:!0}),...(n=(o=h.additionalEdit)===null||o===void 0?void 0:o.edits)!==null&&n!==void 0?n:[]]};yield this._bulkEditService.apply(p,{editor:e});return}}finally{c.dispose()}})}extractDataTransferData(e){return ca(this,void 0,void 0,function*(){if(!e.dataTransfer)return new F_;const t=Uc(e.dataTransfer);return Fx(t,e),t})}};As.ID="editor.contrib.dropIntoEditorController";As=V_([ls(1,Qa),ls(2,V),ls(3,Nf),ls(4,wa)],As);let $c=class{constructor(e){this._workspaceContextService=e}provideDocumentOnDropEdits(e,t,i,o){var n;return ca(this,void 0,void 0,function*(){const s=i.get(on.uriList);if(s){const l=yield s.asString(),c=this.getUriListInsertText(l);if(c)return{insertText:c}}const a=(n=i.get("text"))!==null&&n!==void 0?n:i.get(on.text);if(a)return{insertText:yield a.asString()}})}getUriListInsertText(e){const t=[];for(const i of Rl.parse(e))try{t.push(te.parse(i))}catch{}if(t.length)return t.map(i=>{const o=this._workspaceContextService.getWorkspaceFolder(i);if(o){const n=nC(o.uri,i);if(n)return n}return i.fsPath}).join(" ")}};$c=V_([ls(0,wa)],$c);K(As.ID,As,2);class Re{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){const e=this._findScopeDecorationIds.map(t=>this._editor.getModel().getDecorationRange(t)).filter(t=>!!t);if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){const t=this._decorations.indexOf(e);return t>=0?t+1:1}getDecorationRangeAt(e){const t=e{if(this._highlightedDecorationId!==null&&(o.changeDecorationOptions(this._highlightedDecorationId,Re._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,o.changeDecorationOptions(this._highlightedDecorationId,Re._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(o.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),t!==null){let n=this._editor.getModel().getDecorationRange(t);if(n.startLineNumber!==n.endLineNumber&&n.endColumn===1){const s=n.endLineNumber-1,a=this._editor.getModel().getLineMaxColumn(s);n=new b(n.startLineNumber,n.startColumn,s,a)}this._rangeHighlightDecorationId=o.addDecoration(n,Re._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let o=Re._FIND_MATCH_DECORATION;const n=[];if(e.length>1e3){o=Re._FIND_MATCH_NO_OVERVIEW_DECORATION;const a=this._editor.getModel().getLineCount(),c=this._editor.getLayoutInfo().height/a,d=Math.max(2,Math.ceil(3/c));let h=e[0].range.startLineNumber,g=e[0].range.endLineNumber;for(let p=1,f=e.length;p=m.startLineNumber?m.endLineNumber>g&&(g=m.endLineNumber):(n.push({range:new b(h,1,g,1),options:Re._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),h=m.startLineNumber,g=m.endLineNumber)}n.push({range:new b(h,1,g,1),options:Re._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const s=new Array(e.length);for(let a=0,l=e.length;ai.removeDecoration(a)),this._findScopeDecorationIds=[]),t!=null&&t.length&&(this._findScopeDecorationIds=t.map(a=>i.addDecoration(a,Re._FIND_SCOPE_DECORATION)))})}matchBeforePosition(e){if(this._decorations.length===0)return null;for(let t=this._decorations.length-1;t>=0;t--){const i=this._decorations[t],o=this._editor.getModel().getDecorationRange(i);if(!(!o||o.endLineNumber>e.lineNumber)){if(o.endLineNumbere.column))return o}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(this._decorations.length===0)return null;for(let t=0,i=this._decorations.length;te.lineNumber)return n;if(!(n.startColumn0){const i=[];for(let s=0;sb.compareRangesUsingStarts(s.range,a.range));const o=[];let n=i[0];for(let s=1;s0?e[0].toUpperCase()+e.substr(1):r[0][0].toUpperCase()!==r[0][0]&&e.length>0?e[0].toLowerCase()+e.substr(1):e}else return e}function ip(r,e,t){return r[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&r[0].split(t).length===e.split(t).length}function np(r,e,t){const i=e.split(t),o=r[0].split(t);let n="";return i.forEach((s,a)=>{n+=B_([o[a]],s)+t}),n.slice(0,-1)}class op{constructor(e){this.staticValue=e,this.kind=0}}class Xx{constructor(e){this.pieces=e,this.kind=1}}class vo{static fromStaticValue(e){return new vo([an.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new op(""):e.length===1&&e[0].staticValue!==null?this._state=new op(e[0].staticValue):this._state=new Xx(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?B_(e,this._state.staticValue):this._state.staticValue;let i="";for(let o=0,n=this._state.pieces.length;o0){const l=[],c=s.caseOps.length;let d=0;for(let h=0,g=a.length;h=c){l.push(a.slice(h));break}switch(s.caseOps[d]){case"U":l.push(a[h].toUpperCase());break;case"u":l.push(a[h].toUpperCase()),d++;break;case"L":l.push(a[h].toLowerCase());break;case"l":l.push(a[h].toLowerCase()),d++;break;default:l.push(a[h])}}a=l.join("")}i+=a}return i}static _substitute(e,t){if(t===null)return"";if(e===0)return t[0];let i="";for(;e>0;){if(e=o)break;const s=r.charCodeAt(i);switch(s){case 92:t.emitUnchanged(i-1),t.emitStatic("\\",i+1);break;case 110:t.emitUnchanged(i-1),t.emitStatic(` `,i+1);break;case 116:t.emitUnchanged(i-1),t.emitStatic(" ",i+1);break;case 117:case 85:case 108:case 76:t.emitUnchanged(i-1),t.emitStatic("",i+1),e.push(String.fromCharCode(s));break}continue}if(n===36){if(i++,i>=o)break;const s=r.charCodeAt(i);if(s===36){t.emitUnchanged(i-1),t.emitStatic("$",i+1);continue}if(s===48||s===38){t.emitUnchanged(i-1),t.emitMatchIndex(0,i+1,e),e.length=0;continue}if(49<=s&&s<=57){let a=s-48;if(i+1this.research(!1),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(i=>{(i.reason===3||i.reason===5||i.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(i=>{this._ignoreModelContentChanged||(i.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(i=>this._onStateChanged(i))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,We(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)},Jx)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;typeof t<"u"?t!==null&&(Array.isArray(t)?i=t:i=[t]):i=this._decorations.getFindScopes(),i!==null&&(i=i.map(a=>{if(a.startLineNumber!==a.endLineNumber){let l=a.endLineNumber;return a.endColumn===1&&(l=l-1),new b(a.startLineNumber,1,l,this._editor.getModel().getLineMaxColumn(l))}return a}));const o=this._findMatches(i,!1,bi);this._decorations.set(o,i);const n=this._editor.getSelection();let s=this._decorations.getCurrentMatchesPosition(n);if(s===0&&o.length>0){const a=Pf(o.map(l=>l.range),l=>b.compareRangesUsingStarts(l,n)>=0);s=a>0?a-1+1:s}this._state.changeMatchInfo(s,this._decorations.getCount(),void 0),e&&this._editor.getOption(38).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){const t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:o}=e;const n=this._editor.getModel();return t||o===1?(i===1?i=n.getLineCount():i--,o=n.getLineMaxColumn(i)):o--,new H(i,o)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const d=this._decorations.matchAfterPosition(e);d&&this._setCurrentFindMatch(d);return}if(this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:o}=e;const n=this._editor.getModel();return t||o===n.getLineMaxColumn(i)?(i===n.getLineCount()?i=1:i++,o=1):o++,new H(i,o)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()_s._getSearchRange(this._editor.getModel(),n));return this._editor.getModel().findMatches(this._state.searchString,o,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(124):null,t,i)}replaceAll(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();e===null&&this._state.matchesCount>=bi?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new sC(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(124):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let h="mu";i.ignoreCase&&(h+="i"),i.global&&(h+="g"),i=new RegExp(i.source,h)}const o=this._editor.getModel(),n=o.getValue(1),s=o.getFullModelRange(),a=this._getReplacePattern();let l;const c=this._state.preserveCase;a.hasReplacementPatterns||c?l=n.replace(i,function(){return a.buildReplaceString(arguments,c)}):l=n.replace(i,a.buildReplaceString(null,c));const d=new Af(s,l,this._editor.getSelection());this._executeEditorCommand("replaceAll",d)}_regularReplaceAll(e){const t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),o=[];for(let s=0,a=i.length;ss.range),o);this._executeEditorCommand("replaceAll",n)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let i=this._findMatches(e,!1,1073741824).map(n=>new B(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn));const o=this._editor.getSelection();for(let n=0,s=i.length;nthis._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const o={inputActiveOptionBorder:tn(Of),inputActiveOptionForeground:tn(Ff),inputActiveOptionBackground:tn(Wf)};this.caseSensitive=this._register(new rC(Object.assign({appendTitle:this._keybindingLabelFor(ne.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase},o))),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new aC(Object.assign({appendTitle:this._keybindingLabelFor(ne.ToggleWholeWordCommand),isChecked:this._state.wholeWord},o))),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new lC(Object.assign({appendTitle:this._keybindingLabelFor(ne.ToggleRegexCommand),isChecked:this._state.isRegex},o))),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(n=>{let s=!1;n.isRegex&&(this.regex.checked=this._state.isRegex,s=!0),n.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,s=!0),n.matchCase&&(this.caseSensitive.checked=this._state.matchCase,s=!0),!this._state.isRevealed&&s&&this._revealTemporarily()})),this._register(de(this._domNode,at.MOUSE_LEAVE,n=>this._onMouseLeave())),this._register(de(this._domNode,"mouseover",n=>this._onMouseOver()))}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return Nl.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")}}Nl.ID="editor.contrib.findOptionsWidget";function zr(r,e){return r===1?!0:r===2?!1:e}class eL extends E{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return zr(this._isRegexOverride,this._isRegex)}get wholeWord(){return zr(this._wholeWordOverride,this._wholeWord)}get matchCase(){return zr(this._matchCaseOverride,this._matchCase)}get preserveCase(){return zr(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new z),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(e,t,i){const o={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let n=!1;t===0&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,o.matchesPosition=!0,n=!0),this._matchesCount!==t&&(this._matchesCount=t,o.matchesCount=!0,n=!0),typeof i<"u"&&(b.equalsRange(this._currentMatch,i)||(this._currentMatch=i,o.currentMatch=!0,n=!0)),n&&this._onFindReplaceStateChange.fire(o)}change(e,t,i=!0){var o;const n={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;const a=this.isRegex,l=this.wholeWord,c=this.matchCase,d=this.preserveCase;typeof e.searchString<"u"&&this._searchString!==e.searchString&&(this._searchString=e.searchString,n.searchString=!0,s=!0),typeof e.replaceString<"u"&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,n.replaceString=!0,s=!0),typeof e.isRevealed<"u"&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,n.isRevealed=!0,s=!0),typeof e.isReplaceRevealed<"u"&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,n.isReplaceRevealed=!0,s=!0),typeof e.isRegex<"u"&&(this._isRegex=e.isRegex),typeof e.wholeWord<"u"&&(this._wholeWord=e.wholeWord),typeof e.matchCase<"u"&&(this._matchCase=e.matchCase),typeof e.preserveCase<"u"&&(this._preserveCase=e.preserveCase),typeof e.searchScope<"u"&&(!((o=e.searchScope)===null||o===void 0)&&o.every(h=>{var g;return(g=this._searchScope)===null||g===void 0?void 0:g.some(p=>!b.equalsRange(p,h))})||(this._searchScope=e.searchScope,n.searchScope=!0,s=!0)),typeof e.loop<"u"&&this._loop!==e.loop&&(this._loop=e.loop,n.loop=!0,s=!0),typeof e.isSearching<"u"&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,n.isSearching=!0,s=!0),typeof e.filters<"u"&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,n.filters=!0,s=!0),this._isRegexOverride=typeof e.isRegexOverride<"u"?e.isRegexOverride:0,this._wholeWordOverride=typeof e.wholeWordOverride<"u"?e.wholeWordOverride:0,this._matchCaseOverride=typeof e.matchCaseOverride<"u"?e.matchCaseOverride:0,this._preserveCaseOverride=typeof e.preserveCaseOverride<"u"?e.preserveCaseOverride:0,a!==this.isRegex&&(s=!0,n.isRegex=!0),l!==this.wholeWord&&(s=!0,n.wholeWord=!0),c!==this.matchCase&&(s=!0,n.matchCase=!0),d!==this.preserveCase&&(s=!0,n.preserveCase=!0),s&&this._onFindReplaceStateChange.fire(n)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition=bi}}function sp(r){var e,t;return((e=r.lookupKeybinding("history.showPrevious"))===null||e===void 0?void 0:e.getElectronAccelerator())==="Up"&&((t=r.lookupKeybinding("history.showNext"))===null||t===void 0?void 0:t.getElectronAccelerator())==="Down"}var tL=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};const iL=Ie("find-selection",Y.selection,u("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),rp=Ie("find-collapsed",Y.chevronRight,u("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),ap=Ie("find-expanded",Y.chevronDown,u("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),nL=Ie("find-replace",Y.replace,u("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),oL=Ie("find-replace-all",Y.replaceAll,u("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),sL=Ie("find-previous-match",Y.arrowUp,u("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),rL=Ie("find-next-match",Y.arrowDown,u("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),aL=u("label.find","Find"),lL=u("placeholder.find","Find"),dL=u("label.previousMatchButton","Previous Match"),cL=u("label.nextMatchButton","Next Match"),hL=u("label.toggleSelectionFind","Find in Selection"),uL=u("label.closeButton","Close"),gL=u("label.replace","Replace"),pL=u("placeholder.replace","Replace"),fL=u("label.replaceButton","Replace"),mL=u("label.replaceAllButton","Replace All"),_L=u("label.toggleReplaceButton","Toggle Replace"),vL=u("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",bi),bL=u("label.matchesLocation","{0} of {1}"),lp=u("label.noResults","No results"),Ft=419,CL=275,SL=CL-54;let Go=69;const wL=33,dp="ctrlEnterReplaceAll.windows.donotask",cp=vt?256:2048;class Ad{constructor(e){this.afterLineNumber=e,this.heightInPx=wL,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function hp(r,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){r.stopPropagation();return}}function up(r,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEndthis._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(d=>this._onStateChanged(d))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(d=>{if(d.hasChanged(86)&&(this._codeEditor.getOption(86)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),d.hasChanged(138)&&this._tryUpdateWidgetWidth(),d.hasChanged(2)&&this.updateAccessibilitySupport(),d.hasChanged(38)){const h=this._codeEditor.getOption(38).loop;this._state.change({loop:h},!1);const g=this._codeEditor.getOption(38).addExtraSpaceOnTop;g&&!this._viewZone&&(this._viewZone=new Ad(0),this._showViewZone()),!g&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(()=>tL(this,void 0,void 0,function*(){if(this._isVisible){const d=yield this._controller.getGlobalBufferTerm();d&&d!==this._state.searchString&&(this._state.change({searchString:d},!1),this._findInput.select())}}))),this._findInputFocused=kl.bindTo(s),this._findFocusTracker=this._register(Jd(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=yu.bindTo(s),this._replaceFocusTracker=this._register(Jd(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(38).addExtraSpaceOnTop&&(this._viewZone=new Ad(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(d=>{if(d.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return Ml.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(86)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=Yt(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){const t=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",t),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,ie)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){this._matchesCount.style.minWidth=Go+"px",this._state.matchesCount>=bi?this._matchesCount.title=vL: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>=bi&&(t+="+");let i=String(this._state.matchesPosition);i==="0"&&(i="?"),e=ni(bL,i,t)}else e=lp;this._matchesCount.appendChild(document.createTextNode(e)),lt(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),Go=Math.max(Go,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===lp)return i===""?u("ariaSearchNoResultEmpty","{0} found",e):u("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const o=u("ariaSearchNoResultWithLineNum","{0} found for '{1}', at {2}",e,i,t.startLineNumber+":"+t.startColumn),n=this._codeEditor.getModel();return n&&t.startLineNumber<=n.getLineCount()&&t.startLineNumber>=1?`${n.getLineContent(t.startLineNumber)}, ${o}`:o}return u("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",e,i)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=e?e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn:!1,i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const 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);const i=!this._codeEditor.getOption(86);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(38).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const i=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=i;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(38).seedSearchStringFromSelection&&e){const i=this._codeEditor.getDomNode();if(i){const o=Gt(i),n=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),s=o.left+(n?n.left:0),a=n?n.top:0;if(this._viewZone&&ae.startLineNumber&&(t=!1);const l=dC(this._domNode).left;s>l&&(t=!1);const c=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());o.left+(c?c.left:0)>l&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach(t=>{clearTimeout(t)}),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(38).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;const i=this._viewZone;this._viewZoneId!==void 0||!i||this._codeEditor.changeViewZones(o=>{i.heightInPx=this._getHeight(),this._viewZoneId=o.addZone(i),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+i.heightInPx)})}_showViewZone(e=!0){if(!this._isVisible||!this._codeEditor.getOption(38).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new Ad(0));const i=this._viewZone;this._codeEditor.changeViewZones(o=>{if(this._viewZoneId!==void 0){const n=this._getHeight();if(n===i.heightInPx)return;const s=n-i.heightInPx;i.heightInPx=n,o.layoutZone(this._viewZoneId),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+s);return}else{let n=this._getHeight();if(n-=this._codeEditor.getOption(80).top,n<=0)return;i.heightInPx=n,this._viewZoneId=o.addZone(i),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+n)}})}_removeViewZone(){this._codeEditor.changeViewZones(e=>{this._viewZoneId!==void 0&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_tryUpdateWidgetWidth(){if(!this._isVisible||!cC(this._domNode))return;const 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");const i=e.width,o=e.minimap.minimapWidth;let n=!1,s=!1,a=!1;if(this._resized&&Yt(this._domNode)>Ft){this._domNode.style.maxWidth=`${i-28-o-15}px`,this._replaceInput.width=Yt(this._findInput.domNode);return}if(Ft+28+o>=i&&(s=!0),Ft+28+o-Go>=i&&(a=!0),Ft+28+o-Go>=i+50&&(n=!0),this._domNode.classList.toggle("collapsed-find-widget",n),this._domNode.classList.toggle("narrow-find-widget",a),this._domNode.classList.toggle("reduced-find-widget",s),!a&&!n&&(this._domNode.style.maxWidth=`${i-28-o-15}px`),this._resized){this._findInput.inputBox.layout();const l=this._findInput.inputBox.element.clientWidth;l>0&&(this._replaceInput.width=l)}else this._isReplaceVisible&&(this._replaceInput.width=Yt(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(){const 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){const e=this._codeEditor.getSelections();e.map(t=>{t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1)));const i=this._state.currentMatch;return t.startLineNumber!==t.endLineNumber&&!b.equalsRange(t,i)?t:null}).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){if(e.equals(cp|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(` `),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 hp(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return up(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(cp|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{Xh&&Io&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(u("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(dp,!0,0,0)),this._replaceInput.inputBox.insertAtCursor(` `),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 hp(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return up(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){this._findInput=this._register(new Tc(null,this._contextViewProvider,{width:SL,label:aL,placeholder:lL,appendCaseSensitiveLabel:this._keybindingLabelFor(ne.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(ne.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(ne.ToggleRegexCommand),validation:l=>{if(l.length===0||!this._findInput.getRegex())return null;try{return new RegExp(l,"gu"),null}catch(c){return{content:c.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>sp(this._keybindingService),inputBoxStyles:og,toggleStyles:sg},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(l=>this._onFindInputKeyDown(l))),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(l=>{l.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),l.preventDefault())})),this._register(this._findInput.onRegexKeyDown(l=>{l.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),l.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(l=>{this._tryUpdateHeight()&&this._showViewZone()})),hC&&this._register(this._findInput.onMouseDown(l=>this._onFindInputMouseDown(l))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount(),this._prevBtn=this._register(new jn({label:dL+this._keybindingLabelFor(ne.PreviousMatchFindAction),icon:sL,onTrigger:()=>{eo(this._codeEditor.getAction(ne.PreviousMatchFindAction)).run().then(void 0,ie)}})),this._nextBtn=this._register(new jn({label:cL+this._keybindingLabelFor(ne.NextMatchFindAction),icon:rL,onTrigger:()=>{eo(this._codeEditor.getAction(ne.NextMatchFindAction)).run().then(void 0,ie)}}));const i=document.createElement("div");i.className="find-part",i.appendChild(this._findInput.domNode);const o=document.createElement("div");o.className="find-actions",i.appendChild(o),o.appendChild(this._matchesCount),o.appendChild(this._prevBtn.domNode),o.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new xf({icon:iL,title:hL+this._keybindingLabelFor(ne.ToggleSearchScopeCommand),isChecked:!1,inputActiveOptionBackground:tn(Wf),inputActiveOptionBorder:tn(Of),inputActiveOptionForeground:tn(Ff)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){const l=this._codeEditor.getSelections();l.map(c=>(c.endColumn===1&&c.endLineNumber>c.startLineNumber&&(c=c.setEndPosition(c.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(c.endLineNumber-1))),c.isEmpty()?null:c)).filter(c=>!!c),l.length&&this._state.change({searchScope:l},!0)}}else this._state.change({searchScope:null},!0)})),o.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new jn({label:uL+this._keybindingLabelFor(ne.CloseFindWidgetCommand),icon:Hf,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:l=>{l.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),l.preventDefault())}})),o.appendChild(this._closeBtn.domNode),this._replaceInput=this._register(new Rc(null,void 0,{label:gL,placeholder:pL,appendPreserveCaseLabel:this._keybindingLabelFor(ne.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>sp(this._keybindingService),inputBoxStyles:og,toggleStyles:sg},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(l=>this._onReplaceInputKeyDown(l))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(l=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(l=>{l.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(),l.preventDefault())})),this._replaceBtn=this._register(new jn({label:fL+this._keybindingLabelFor(ne.ReplaceOneAction),icon:nL,onTrigger:()=>{this._controller.replace()},onKeyDown:l=>{l.equals(1026)&&(this._closeBtn.focus(),l.preventDefault())}})),this._replaceAllBtn=this._register(new jn({label:mL+this._keybindingLabelFor(ne.ReplaceAllAction),icon:oL,onTrigger:()=>{this._controller.replaceAll()}}));const n=document.createElement("div");n.className="replace-part",n.appendChild(this._replaceInput.domNode);const s=document.createElement("div");s.className="replace-actions",n.appendChild(s),s.appendChild(this._replaceBtn.domNode),s.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new jn({label:_L,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=Yt(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}})),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.style.width=`${Ft}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(i),this._domNode.appendChild(n),this._resizeSash=new Jn(this._domNode,this,{orientation:0,size:2}),this._resized=!1;let a=Ft;this._register(this._resizeSash.onDidStart(()=>{a=Yt(this._domNode)})),this._register(this._resizeSash.onDidChange(l=>{this._resized=!0;const c=a+l.startX-l.currentX;if(cd||(this._domNode.style.width=`${c}px`,this._isReplaceVisible&&(this._replaceInput.width=Yt(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const l=Yt(this._domNode);if(l{this._opts.onTrigger(),i.preventDefault()}),this.onkeydown(this._domNode,i=>{var o,n;if(i.equals(10)||i.equals(3)){this._opts.onTrigger(),i.preventDefault();return}(n=(o=this._opts).onKeyDown)===null||n===void 0||n.call(o,i)})}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(...ee.asClassNameArray(rp)),this._domNode.classList.add(...ee.asClassNameArray(ap))):(this._domNode.classList.remove(...ee.asClassNameArray(ap)),this._domNode.classList.add(...ee.asClassNameArray(rp)))}}qh((r,e)=>{const t=(m,v)=>{v&&e.addRule(`.monaco-editor ${m} { background-color: ${v}; }`)};t(".findMatch",r.getColor(gC)),t(".currentFindMatch",r.getColor(pC)),t(".findScope",r.getColor(fC));const i=r.getColor(to);t(".find-widget",i);const o=r.getColor(Vf);o&&e.addRule(`.monaco-editor .find-widget { box-shadow: 0 0 8px 2px ${o}; }`);const n=r.getColor(Bf);n&&e.addRule(`.monaco-editor .find-widget { border-left: 1px solid ${n}; border-right: 1px solid ${n}; border-bottom: 1px solid ${n}; }`);const s=r.getColor(mC);s&&e.addRule(`.monaco-editor .findMatch { border: 1px ${ya(r.type)?"dotted":"solid"} ${s}; box-sizing: border-box; }`);const a=r.getColor(_C);a&&e.addRule(`.monaco-editor .currentFindMatch { border: 2px solid ${a}; padding: 1px; box-sizing: border-box; }`);const l=r.getColor(vC);l&&e.addRule(`.monaco-editor .findScope { border: 1px ${ya(r.type)?"dashed":"solid"} ${l}; }`);const c=r.getColor(li);c&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${c}; }`);const d=r.getColor(bC);d&&e.addRule(`.monaco-editor .find-widget { color: ${d}; }`);const h=r.getColor(CC);h&&e.addRule(`.monaco-editor .find-widget.no-results .matchesCount { color: ${h}; }`);const g=r.getColor(SC);if(g)e.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${g}; }`);else{const m=r.getColor(ns);m&&e.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${m}; }`)}const p=r.getColor(wC);p&&e.addRule(` .monaco-editor .find-widget .button:not(.disabled):hover, .monaco-editor .find-widget .codicon-find-selection:hover { background-color: ${p} !important; } `);const f=r.getColor(yC);f&&e.addRule(`.monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: ${f}; }`)});var U_=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Vt=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},Sn=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};const yL=524288;function zc(r,e="single",t=!1){if(!r.hasModel())return null;const i=r.getSelection();if(e==="single"&&i.startLineNumber===i.endLineNumber||e==="multiple"){if(i.isEmpty()){const o=r.getConfiguredWordAtPosition(i.getStartPosition());if(o&&t===!1)return o.word}else if(r.getModel().getValueLengthInRange(i)this._onStateChanged(n))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{const n=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),n&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(38).loop})}))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,0),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,0),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,0),e.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,0)}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!!kl.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()){const e=this._editor.getSelections();e.map(t=>(t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._editor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t)).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=Cs(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}_start(e,t){return Sn(this,void 0,void 0,function*(){if(this.disposeModel(),!this._editor.hasModel())return;const i=Object.assign(Object.assign({},t),{isRevealed:!0});if(e.seedSearchStringFromSelection==="single"){const o=zc(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);o&&(this._state.isRegex?i.searchString=Cs(o):i.searchString=o)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const o=zc(this._editor,e.seedSearchStringFromSelection);o&&(i.searchString=o)}if(!i.searchString&&e.seedSearchStringFromGlobalClipboard){const o=yield this.getGlobalBufferTerm();if(!this._editor.hasModel())return;o&&(i.searchString=o)}if(e.forceRevealReplace||i.isReplaceRevealed?i.isReplaceRevealed=!0:this._findWidgetVisible.get()||(i.isReplaceRevealed=!1),e.updateSearchScope){const o=this._editor.getSelections();o.some(n=>!n.isEmpty())&&(i.searchScope=o)}i.loop=e.loop,this._state.change(i,!1),this._model||(this._model=new _s(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._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}getGlobalBufferTerm(){return Sn(this,void 0,void 0,function*(){return this._editor.getOption(38).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""})}setGlobalBufferTerm(e){this._editor.getOption(38).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}};Ae.ID="editor.contrib.findController";Ae=U_([Vt(1,Q),Vt(2,Bi),Vt(3,Do)],Ae);let jc=class extends Ae{constructor(e,t,i,o,n,s,a,l){super(e,i,a,l),this._contextViewService=t,this._keybindingService=o,this._themeService=n,this._notificationService=s,this._widget=null,this._findOptionsWidget=null}_start(e,t){const i=Object.create(null,{_start:{get:()=>super._start}});return Sn(this,void 0,void 0,function*(){this._widget||this._createFindWidget();const o=this._editor.getSelection();let n=!1;switch(this._editor.getOption(38).autoFindInSelection){case"always":n=!0;break;case"never":n=!1;break;case"multiline":{n=!!o&&o.startLineNumber!==o.endLineNumber;break}}e.updateSearchScope=e.updateSearchScope||n,yield i._start.call(this,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 Ml(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new Nl(this._editor,this._state,this._keybindingService))}};jc=U_([Vt(1,Ja),Vt(2,Q),Vt(3,xe),Vt(4,Et),Vt(5,it),Vt(6,Bi),Vt(7,Do)],jc);const xL=Uf(new $f({id:ne.StartFindAction,label:u("startFindAction","Find"),alias:"Find",precondition:x.or(_.focus,x.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:O.MenubarEditMenu,group:"3_find",title:u({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));xL.addImplementation(0,(r,e,t)=>{const i=Ae.get(e);return i?i.start({forceRevealReplace:!1,seedSearchStringFromSelection:e.getOption(38).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(38).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(38).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(38).loop}):!1});const LL={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"},regex:{type:"boolean"},regexOverride:{type:"number",description:u("actions.find.isRegexOverride",`Overrides "Use Regular Expression" flag. The flag will not be saved for the future. 0: Do Nothing 1: True 2: False`)},wholeWord:{type:"boolean"},wholeWordOverride:{type:"number",description:u("actions.find.wholeWordOverride",`Overrides "Match Whole Word" flag. The flag will not be saved for the future. 0: Do Nothing 1: True 2: False`)},matchCase:{type:"boolean"},matchCaseOverride:{type:"number",description:u("actions.find.matchCaseOverride",`Overrides "Math Case" flag. The flag will not be saved for the future. 0: Do Nothing 1: True 2: False`)},preserveCase:{type:"boolean"},preserveCaseOverride:{type:"number",description:u("actions.find.preserveCaseOverride",`Overrides "Preserve Case" flag. The flag will not be saved for the future. 0: Do Nothing 1: True 2: False`)},findInSelection:{type:"boolean"}}}}]};class IL extends L{constructor(){super({id:ne.StartFindWithArgs,label:u("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},description:LL})}run(e,t,i){return Sn(this,void 0,void 0,function*(){const o=Ae.get(t);if(o){const n=i?{searchString:i.searchString,replaceString:i.replaceString,isReplaceRevealed:i.replaceString!==void 0,isRegex:i.isRegex,wholeWord:i.matchWholeWord,matchCase:i.isCaseSensitive,preserveCase:i.preserveCase}:{};yield o.start({forceRevealReplace:!1,seedSearchStringFromSelection:o.getState().searchString.length===0&&t.getOption(38).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(38).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(i==null?void 0:i.findInSelection)||!1,loop:t.getOption(38).loop},n),o.setGlobalBufferTerm(o.getState().searchString)}})}}class DL extends L{constructor(){super({id:ne.StartFindWithSelection,label:u("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}run(e,t){return Sn(this,void 0,void 0,function*(){const i=Ae.get(t);i&&(yield i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(38).loop}),i.setGlobalBufferTerm(i.getState().searchString))})}}class z_ extends L{run(e,t){return Sn(this,void 0,void 0,function*(){const i=Ae.get(t);i&&!this._run(i)&&(yield i.start({forceRevealReplace:!1,seedSearchStringFromSelection:i.getState().searchString.length===0&&t.getOption(38).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(38).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(38).loop}),this._run(i))})}}class TL extends z_{constructor(){super({id:ne.NextMatchFindAction,label:u("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:_.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:x.and(_.focus,kl),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class RL extends z_{constructor(){super({id:ne.PreviousMatchFindAction,label:u("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:_.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:x.and(_.focus,kl),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class kL extends L{constructor(){super({id:ne.GoToMatchFindAction,label:u("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:ui}),this._highlightDecorations=[]}run(e,t,i){const o=Ae.get(t);if(!o)return;const s=e.get(Ui).createInputBox();s.placeholder=u("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",o.getState().matchesCount);const a=l=>{const c=parseInt(l);if(!isNaN(c)&&c>0&&c<=o.getState().matchesCount){s.validationMessage=void 0,o.goToMatch(c-1);const d=o.getState().currentMatch;d&&this.addDecorations(t,d)}else s.validationMessage=u("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",o.getState().matchesCount),this.clearDecorations(t)};s.onDidChangeValue(l=>{a(l)}),s.onDidAccept(()=>{const l=parseInt(s.value);!isNaN(l)&&l>0&&l<=o.getState().matchesCount?(o.goToMatch(l-1),s.hide()):s.validationMessage=u("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",o.getState().matchesCount)}),s.onDidHide(()=>{this.clearDecorations(t),s.dispose()}),s.show()}clearDecorations(e){e.changeDecorations(t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[])})}addDecorations(e,t){e.changeDecorations(i=>{this._highlightDecorations=i.deltaDecorations(this._highlightDecorations,[{range:t,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:ue(zf),position:qt.Full}}}])})}}class j_ extends L{run(e,t){return Sn(this,void 0,void 0,function*(){const i=Ae.get(t);if(!i)return;const o=zc(t,"single",!1);o&&i.setSearchString(o),this._run(i)||(yield i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(38).loop}),this._run(i))})}}class NL extends j_{constructor(){super({id:ne.NextSelectionMatchFindAction,label:u("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:_.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class ML extends j_{constructor(){super({id:ne.PreviousSelectionMatchFindAction,label:u("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:_.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const EL=Uf(new $f({id:ne.StartFindReplaceAction,label:u("startReplace","Replace"),alias:"Replace",precondition:x.or(_.focus,x.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:O.MenubarEditMenu,group:"3_find",title:u({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));EL.addImplementation(0,(r,e,t)=>{if(!e.hasModel()||e.getOption(86))return!1;const i=Ae.get(e);if(!i)return!1;const o=e.getSelection(),n=i.isFindInputFocused(),s=!o.isEmpty()&&o.startLineNumber===o.endLineNumber&&e.getOption(38).seedSearchStringFromSelection!=="never"&&!n,a=n||s?2:1;return i.start({forceRevealReplace:!0,seedSearchStringFromSelection:s?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(38).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(38).seedSearchStringFromSelection!=="never",shouldFocus:a,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(38).loop})});K(Ae.ID,jc,0);w(IL);w(DL);w(TL);w(RL);w(kL);w(NL);w(ML);const At=ct.bindToContribution(Ae.get);F(new At({id:ne.CloseFindWidgetCommand,precondition:ui,handler:r=>r.closeFindWidget(),kbOpts:{weight:100+5,kbExpr:x.and(_.focus,x.not("isComposing")),primary:9,secondary:[1033]}}));F(new At({id:ne.ToggleCaseSensitiveCommand,precondition:void 0,handler:r=>r.toggleCaseSensitive(),kbOpts:{weight:100+5,kbExpr:_.focus,primary:Hr.primary,mac:Hr.mac,win:Hr.win,linux:Hr.linux}}));F(new At({id:ne.ToggleWholeWordCommand,precondition:void 0,handler:r=>r.toggleWholeWords(),kbOpts:{weight:100+5,kbExpr:_.focus,primary:Vr.primary,mac:Vr.mac,win:Vr.win,linux:Vr.linux}}));F(new At({id:ne.ToggleRegexCommand,precondition:void 0,handler:r=>r.toggleRegex(),kbOpts:{weight:100+5,kbExpr:_.focus,primary:Br.primary,mac:Br.mac,win:Br.win,linux:Br.linux}}));F(new At({id:ne.ToggleSearchScopeCommand,precondition:void 0,handler:r=>r.toggleSearchScope(),kbOpts:{weight:100+5,kbExpr:_.focus,primary:Ur.primary,mac:Ur.mac,win:Ur.win,linux:Ur.linux}}));F(new At({id:ne.TogglePreserveCaseCommand,precondition:void 0,handler:r=>r.togglePreserveCase(),kbOpts:{weight:100+5,kbExpr:_.focus,primary:$r.primary,mac:$r.mac,win:$r.win,linux:$r.linux}}));F(new At({id:ne.ReplaceOneAction,precondition:ui,handler:r=>r.replace(),kbOpts:{weight:100+5,kbExpr:_.focus,primary:3094}}));F(new At({id:ne.ReplaceOneAction,precondition:ui,handler:r=>r.replace(),kbOpts:{weight:100+5,kbExpr:x.and(_.focus,yu),primary:3}}));F(new At({id:ne.ReplaceAllAction,precondition:ui,handler:r=>r.replaceAll(),kbOpts:{weight:100+5,kbExpr:_.focus,primary:2563}}));F(new At({id:ne.ReplaceAllAction,precondition:ui,handler:r=>r.replaceAll(),kbOpts:{weight:100+5,kbExpr:x.and(_.focus,yu),primary:void 0,mac:{primary:2051}}}));F(new At({id:ne.SelectAllMatchesAction,precondition:ui,handler:r=>r.selectAllMatches(),kbOpts:{weight:100+5,kbExpr:_.focus,primary:515}}));const PL={[0]:" ",[1]:"u",[2]:"r"},gp=65535,yt=16777215,pp=4278190080;class Od{constructor(e){const t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){const t=e/32|0,i=e%32;return(this._states[t]&1<gp)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new Od(e.length),this._userDefinedStates=new Od(e.length),this._recoveredStates=new Od(e.length),this._types=i,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const e=[],t=(i,o)=>{const n=e[e.length-1];return this.getStartLineNumber(n)<=i&&this.getEndLineNumber(n)>=o};for(let i=0,o=this._startIndexes.length;iyt||s>yt)throw new Error("startLineNumber or endLineNumber must not exceed "+yt);for(;e.length>0&&!t(n,s);)e.pop();const a=e.length>0?e[e.length-1]:-1;e.push(i),this._startIndexes[i]=n+((a&255)<<24),this._endIndexes[i]=s+((a&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&yt}getEndLineNumber(e){return this._endIndexes[e]&yt}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){t===1?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):t===2?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let i=!1;if(this._types)for(let o=0;o>>24)+((this._endIndexes[e]&pp)>>>16);return t===gp?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(i===0)return-1;for(;t=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(){const e=[];for(let t=0;tArray.isArray(m)?C=>CC=d.startLineNumber))c&&c.startLineNumber===d.startLineNumber?(d.source===1?m=d:(m=c,m.isCollapsed=d.isCollapsed&&c.endLineNumber===d.endLineNumber,m.source=0),c=n(++a)):(m=d,d.isCollapsed&&d.source===0&&(m.source=2)),d=s(++l);else{let v=l,C=d;for(;;){if(!C||C.startLineNumber>c.endLineNumber){m=c;break}if(C.source===1&&C.endLineNumber>c.endLineNumber)break;C=s(++v)}c=n(++a)}if(m){for(;g&&g.endLineNumberm.startLineNumber&&m.startLineNumber>p&&m.endLineNumber<=i&&(!g||g.endLineNumber>=m.endLineNumber)&&(f.push(m),p=m.startLineNumber,g&&h.push(g),g=m)}}return f}}class AL{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}}class OL{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new z,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new et(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort((i,o)=>i.regionIndex-o.regionIndex);const t={};this._decorationProvider.changeDecorations(i=>{let o=0,n=-1,s=-1;const a=l=>{for(;os&&(s=c),o++}};for(const l of e){const c=l.regionIndex,d=this._editorDecorationIds[c];if(d&&!t[d]){t[d]=!0,a(c);const h=!this._regions.isCollapsed(c);this._regions.setCollapsed(c,h),n=Math.max(n,this._regions.getEndLineNumber(c))}}a(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){const t=new Array,i=o=>{for(const n of e)if(!(n.startLineNumber>o.endLineNumber||o.startLineNumber>n.endLineNumber))return!0;return!1};for(let o=0;oi&&(i=a)}this._decorationProvider.changeDecorations(o=>this._editorDecorationIds=o.deltaDecorations(this._editorDecorationIds,t)),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e=[]){const t=(o,n)=>{for(const s of e)if(o=s.endLineNumber||s.startLineNumber<1||s.endLineNumber>i)continue;const a=this._getLinesChecksum(s.startLineNumber+1,s.endLineNumber);t.push({startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,isCollapsed:s.isCollapsed,source:s.source,checksum:a})}return t.length>0?t:void 0}applyMemento(e){var t,i;if(!Array.isArray(e))return;const o=[],n=this._textModel.getLineCount();for(const a of e){if(a.startLineNumber>=a.endLineNumber||a.startLineNumber<1||a.endLineNumber>n)continue;const l=this._getLinesChecksum(a.startLineNumber+1,a.endLineNumber);(!a.checksum||l===a.checksum)&&o.push({startLineNumber:a.startLineNumber,endLineNumber:a.endLineNumber,type:void 0,isCollapsed:(t=a.isCollapsed)!==null&&t!==void 0?t:!0,source:(i=a.source)!==null&&i!==void 0?i:0})}const s=et.sanitizeAndMerge(this._regions,o,n);this.updatePost(et.fromFoldRanges(s))}_getLinesChecksum(e,t){return jf(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){const i=[];if(this._regions){let o=this._regions.findRange(e),n=1;for(;o>=0;){const s=this._regions.toRegion(o);(!t||t(s,n))&&i.push(s),n++,o=s.parentIndex}}return i}getRegionAtLine(e){if(this._regions){const t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){const i=[],o=e?e.regionIndex+1:0,n=e?e.endLineNumber:Number.MAX_VALUE;if(t&&t.length===2){const s=[];for(let a=o,l=this._regions.length;a0&&!c.containedBy(s[s.length-1]);)s.pop();s.push(c),t(c,s.length)&&i.push(c)}else break}}else for(let s=o,a=this._regions.length;s1){const a=r.getRegionsInside(n,(l,c)=>l.isCollapsed!==s&&c0)for(const n of i){const s=r.getRegionAtLine(n);if(s&&(s.isCollapsed!==e&&o.push(s),t>1)){const a=r.getRegionsInside(s,(l,c)=>l.isCollapsed!==e&&cs.isCollapsed!==e&&aa.isCollapsed!==e&&l<=t);o.push(...s)}r.toggleCollapseState(o)}function WL(r,e,t){const i=[];for(const o of t){const n=r.getAllRegionsAtLine(o,s=>s.isCollapsed!==e);n.length>0&&i.push(n[0])}r.toggleCollapseState(i)}function HL(r,e,t,i){const o=(s,a)=>a===e&&s.isCollapsed!==t&&!i.some(l=>s.containsLine(l)),n=r.getRegionsInside(null,o);r.toggleCollapseState(n)}function q_(r,e,t){const i=[];for(const s of t){const a=r.getAllRegionsAtLine(s,void 0);a.length>0&&i.push(a[0])}const o=s=>i.every(a=>!a.containedBy(s)&&!s.containedBy(a))&&s.isCollapsed!==e,n=r.getRegionsInside(null,o);r.toggleCollapseState(n)}function xu(r,e,t){const i=r.textModel,o=r.regions,n=[];for(let s=o.length-1;s>=0;s--)if(t!==o.isCollapsed(s)){const a=o.getStartLineNumber(s);e.test(i.getLineContent(a))&&n.push(o.toRegion(s))}r.toggleCollapseState(n)}function Lu(r,e,t){const i=r.regions,o=[];for(let n=i.length-1;n>=0;n--)t!==i.isCollapsed(n)&&e===i.getType(n)&&o.push(i.toRegion(n));r.toggleCollapseState(o)}function VL(r,e){let t=null;const i=e.getRegionAtLine(r);if(i!==null&&(t=i.startLineNumber,r===t)){const o=i.parentIndex;o!==-1?t=e.regions.getStartLineNumber(o):t=null}return t}function BL(r,e){let t=e.getRegionAtLine(r);if(t!==null&&t.startLineNumber===r){if(r!==t.startLineNumber)return t.startLineNumber;{const i=t.parentIndex;let o=0;for(i!==-1&&(o=e.regions.getStartLineNumber(t.parentIndex));t!==null;)if(t.regionIndex>0){if(t=e.regions.toRegion(t.regionIndex-1),t.startLineNumber<=o)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}}else if(e.regions.length>0)for(t=e.regions.toRegion(e.regions.length-1);t!==null;){if(t.startLineNumber0?t=e.regions.toRegion(t.regionIndex-1):t=null}return null}function UL(r,e){let t=e.getRegionAtLine(r);if(t!==null&&t.startLineNumber===r){const i=t.parentIndex;let o=0;if(i!==-1)o=e.regions.getEndLineNumber(t.parentIndex);else{if(e.regions.length===0)return null;o=e.regions.getEndLineNumber(e.regions.length-1)}for(;t!==null;)if(t.regionIndex=o)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}else if(e.regions.length>0)for(t=e.regions.toRegion(0);t!==null;){if(t.startLineNumber>r)return t.startLineNumber;t.regionIndexthis.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some(t=>t.range.endLineNumber!==t.range.startLineNumber||xC(t.text)[0]!==0))}updateHiddenRanges(){let e=!1;const t=[];let i=0,o=0,n=Number.MAX_VALUE,s=-1;const a=this._foldingModel.regions;for(;i0}isHidden(e){return fp(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let o=null;const n=s=>((!o||!zL(s,o))&&(o=fp(this._hiddenRanges,s)),o?o.startLineNumber-1:null);for(let s=0,a=e.length;s0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function zL(r,e){return r>=e.startLineNumber&&r<=e.endLineNumber}function fp(r,e){const t=Pf(r,i=>e=0&&r[t].endLineNumber>=e?r[t]:null}const jL=5e3,KL="indent";class G_{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=KL}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,o=t&&t.markers;return Promise.resolve(ZL(this.editorModel,i,o,this.foldingRangesLimit))}}let qL=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>yt||t>yt)return;const o=this._length;this._startIndexes[o]=e,this._endIndexes[o]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(e){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const i=new Uint32Array(this._length),o=new Uint32Array(this._length);for(let n=this._length-1,s=0;n>=0;n--,s++)i[s]=this._startIndexes[n],o[s]=this._endIndexes[n];return new et(i,o)}else{this._foldingRangesLimit.update(this._length,t);let i=0,o=this._indentOccurrences.length;for(let l=0;lt){o=l;break}i+=c}}const n=e.getOptions().tabSize,s=new Uint32Array(t),a=new Uint32Array(t);for(let l=this._length-1,c=0;l>=0;l--){const d=this._startIndexes[l],h=e.getLineContent(d),g=Ah(h,n);(g{}};function ZL(r,e,t,i=GL){const o=r.getOptions().tabSize,n=new qL(i);let s;t&&(s=new RegExp(`(${t.start.source})|(?:${t.end.source})`));const a=[],l=r.getLineCount()+1;a.push({indent:-1,endAbove:l,line:l});for(let c=r.getLineCount();c>0;c--){const d=r.getLineContent(c),h=Ah(d,o);let g=a[a.length-1];if(h===-1){e&&(g.endAbove=c);continue}let p;if(s&&(p=d.match(s)))if(p[1]){let f=a.length-1;for(;f>0&&a[f].indent!==-2;)f--;if(f>0){a.length=f+1,g=a[f],n.insertFirst(c,g.line,h),g.line=c,g.indent=h,g.endAbove=c;continue}}else{a.push({indent:-2,endAbove:c,line:c});continue}if(g.indent>h){do a.pop(),g=a[a.length-1];while(g.indent>h);const f=g.endAbove-1;f-c>=1&&n.insertFirst(c,f,h)}g.indent===h?g.endAbove=c:a.push({indent:h,endAbove:c,line:c})}return n.toIndentRanges(r)}const XL=A("editor.foldBackground",{light:qe(rg,.3),dark:qe(rg,.3),hcDark:null,hcLight:null},u("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);A("editorGutter.foldingControlForeground",{dark:xr,light:xr,hcDark:xr,hcLight:xr},u("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const Iu=Ie("folding-expanded",Y.chevronDown,u("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),Du=Ie("folding-collapsed",Y.chevronRight,u("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),Z_=Ie("folding-manual-collapsed",Du,u("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),X_=Ie("folding-manual-expanded",Iu,u("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),Tu={color:ue(XL),position:En.Inline};class le{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?le.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?le.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:le.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:le.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?le.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:le.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?le.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:le.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?le.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:le.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?le.MANUALLY_EXPANDED_VISUAL_DECORATION:le.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}}le.COLLAPSED_VISUAL_DECORATION=X.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:ee.asClassName(Du)});le.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=X.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Tu,isWholeLine:!0,firstLineDecorationClassName:ee.asClassName(Du)});le.MANUALLY_COLLAPSED_VISUAL_DECORATION=X.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:ee.asClassName(Z_)});le.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=X.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Tu,isWholeLine:!0,firstLineDecorationClassName:ee.asClassName(Z_)});le.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=X.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0});le.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=X.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Tu,isWholeLine:!0});le.EXPANDED_VISUAL_DECORATION=X.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ee.asClassName(Iu)});le.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=X.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:ee.asClassName(Iu)});le.MANUALLY_EXPANDED_VISUAL_DECORATION=X.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ee.asClassName(X_)});le.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=X.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:ee.asClassName(X_)});le.NO_CONTROLS_EXPANDED_RANGE_DECORATION=X.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0});le.HIDDEN_RANGE_DECORATION=X.register({description:"folding-hidden-range-decoration",stickiness:1});const QL={},YL="syntax";class Q_{constructor(e,t,i,o,n){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=o,this.fallbackRangeProvider=n,this.id=YL,this.disposables=new R,n&&this.disposables.add(n);for(const s of t)typeof s.onDidChange=="function"&&this.disposables.add(s.onDidChange(i))}compute(e){return JL(this.providers,this.editorModel,e).then(t=>{var i,o;return t?tI(t,this.foldingRangesLimit):(o=(i=this.fallbackRangeProvider)===null||i===void 0?void 0:i.compute(e))!==null&&o!==void 0?o:null})}dispose(){this.disposables.dispose()}}function JL(r,e,t){let i=null;const o=r.map((n,s)=>Promise.resolve(n.provideFoldingRanges(e,QL,t)).then(a=>{if(!t.isCancellationRequested&&Array.isArray(a)){Array.isArray(i)||(i=[]);const l=e.getLineCount();for(const c of a)c.start>0&&c.end>c.start&&c.end<=l&&i.push({start:c.start,end:c.end,rank:s,kind:c.kind})}},ye));return Promise.all(o).then(n=>i)}class eI{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,i,o){if(e>yt||t>yt)return;const n=this._length;this._startIndexes[n]=e,this._endIndexes[n]=t,this._nestingLevels[n]=o,this._types[n]=i,this._length++,o<30&&(this._nestingLevelCounts[o]=(this._nestingLevelCounts[o]||0)+1)}toIndentRanges(){const e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let o=0;oe){i=a;break}t+=l}}const o=new Uint32Array(e),n=new Uint32Array(e),s=[];for(let a=0,l=0;a{let l=s.start-a.start;return l===0&&(l=s.rank-a.rank),l}),i=new eI(e);let o;const n=[];for(const s of t)if(!o)o=s,i.add(s.start,s.end,s.kind&&s.kind.value,n.length);else if(s.start>o.start)if(s.end<=o.end)n.push(o),o=s,i.add(s.start,s.end,s.kind&&s.kind.value,n.length);else{if(s.start>o.end){do o=n.pop();while(o&&s.start>o.end);o&&n.push(o),o=s}i.add(s.start,s.end,s.kind&&s.kind.value,n.length)}return i.toIndentRanges()}var iI=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Zo=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},nI=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};const De=new Z("foldingEnabled",!1);let Ei=class ds extends E{static get(e){return e.getContribution(ds.ID)}static getFoldingRangeProviders(e,t){var i,o;const n=e.foldingRangeProvider.ordered(t);return(o=(i=ds._foldingRangeSelector)===null||i===void 0?void 0:i.call(ds,n,t))!==null&&o!==void 0?o:n}constructor(e,t,i,o,n,s){super(),this.contextKeyService=t,this.languageConfigurationService=i,this.languageFeaturesService=s,this.localToDispose=this._register(new R),this.editor=e,this._foldingLimitReporter=new oI(e);const a=this.editor.getOptions();this._isEnabled=a.get(40),this._useFoldingProviders=a.get(41)!=="indentation",this._unfoldOnClickAfterEndOfLine=a.get(45),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=a.get(43),this.updateDebounceInfo=n.for(s.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 le(e),this.foldingDecorationProvider.showFoldingControls=a.get(104),this.foldingDecorationProvider.showFoldingHighlights=a.get(42),this.foldingEnabled=De.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(l=>{if(l.hasChanged(40)&&(this._isEnabled=this.editor.getOptions().get(40),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),l.hasChanged(44)&&this.onModelChanged(),l.hasChanged(104)||l.hasChanged(42)){const c=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=c.get(104),this.foldingDecorationProvider.showFoldingHighlights=c.get(42),this.triggerFoldingModelChanged()}l.hasChanged(41)&&(this._useFoldingProviders=this.editor.getOptions().get(41)!=="indentation",this.onFoldingStrategyChanged()),l.hasChanged(45)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(45)),l.hasChanged(43)&&(this._foldingImportsByDefault=this.editor.getOptions().get(43))})),this.onModelChanged()}saveViewState(){const e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){const t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){const 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();const e=this.editor.getModel();!this._isEnabled||!e||e.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new OL(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new $L(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new uo(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new _e(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(t=>this.onDidChangeModelContent(t))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(t=>this.onEditorMouseDown(t))),this.localToDispose.add(this.editor.onMouseUp(t=>this.onEditorMouseUp(t))),this.localToDispose.add({dispose:()=>{var t,i;this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),(t=this.updateScheduler)===null||t===void 0||t.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,(i=this.rangeProvider)===null||i===void 0||i.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var e;(e=this.rangeProvider)===null||e===void 0||e.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;const t=new G_(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=ds.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new Q_(e,i,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,t))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){var t;(t=this.hiddenRangeModel)===null||t===void 0||t.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const e=this.foldingModel;if(!e)return null;const t=new jt(!0),i=this.getRangeProvider(e.textModel),o=this.foldingRegionPromise=Ce(n=>i.compute(n));return o.then(n=>{if(n&&o===this.foldingRegionPromise){let s;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const d=n.setCollapsedAllOfType(sr.Imports.value,!0);d&&(s=co.capture(this.editor),this._currentModelHasFoldedImports=d)}const a=this.editor.getSelections(),l=a?a.map(d=>d.startLineNumber):[];e.update(n,l),s==null||s.restore(this.editor);const c=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=c)}return e})}).then(void 0,e=>(ie(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then(t=>{if(t){const i=this.editor.getSelections();if(i&&i.length>0){const o=[];for(const n of i){const s=n.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(s)&&o.push(...t.getAllRegionsAtLine(s,a=>a.isCollapsed&&s>a.startLineNumber))}o.length&&(t.toggleCollapseState(o),this.reveal(i[0].getPosition()))}}}).then(void 0,ie)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range||!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:{const o=e.target.detail,n=e.target.element.offsetLeft;if(o.offsetX-n<5)return;i=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){const o=this.editor.getModel();if(o&&t.startColumn===o.getLineMaxColumn(t.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const i=this.mouseDownInfo.lineNumber,o=this.mouseDownInfo.iconClicked,n=e.target.range;if(!n||n.startLineNumber!==i)return;if(o){if(e.target.type!==4)return}else{const a=this.editor.getModel();if(!a||n.startColumn!==a.getLineMaxColumn(i))return}const s=t.getRegionAtLine(i);if(s&&s.startLineNumber===i){const a=s.isCollapsed;if(o||a){const l=e.event.altKey;let c=[];if(l){const d=g=>!g.containedBy(s)&&!s.containedBy(g),h=t.getRegionsInside(null,d);for(const g of h)g.isCollapsed&&c.push(g);c.length===0&&(c=h)}else{const d=e.event.middleButton||e.event.shiftKey;if(d)for(const h of t.getRegionsInside(s))h.isCollapsed===a&&c.push(h);(a||!d||c.length===0)&&c.push(s)}t.toggleCollapseState(c),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}};Ei.ID="editor.contrib.folding";Ei=iI([Zo(1,Q),Zo(2,Ne),Zo(3,it),Zo(4,Mt),Zo(5,V)],Ei);class oI{constructor(e){this.editor=e,this._onDidChange=new z,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(44)}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}class Me extends L{runEditorCommand(e,t,i){const o=e.get(Ne),n=Ei.get(t);if(!n)return;const s=n.getFoldingModel();if(s)return this.reportTelemetry(e,t),s.then(a=>{if(a){this.invoke(n,a,t,i,o);const l=t.getSelection();l&&n.reveal(l.getStartPosition())}})}getSelectedLines(e){const t=e.getSelections();return t?t.map(i=>i.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(i=>i+1):this.getSelectedLines(t)}run(e,t){}}function Y_(r){if(!Lr(r)){if(!Kf(r))return!1;const e=r;if(!Lr(e.levels)&&!ag(e.levels)||!Lr(e.direction)&&!qf(e.direction)||!Lr(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(ag)))return!1}return!0}class sI extends Me{constructor(){super({id:"editor.unfold",label:u("unfoldAction.label","Unfold"),alias:"Unfold",precondition:De,kbOpts:{kbExpr:_.editorTextFocus,primary:3161,mac:{primary:2649},weight:100},description:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:`Property-value pairs that can be passed through this argument: * 'levels': Number of levels to unfold. If not set, defaults to 1. * 'direction': If 'up', unfold given number of levels up otherwise unfolds down. * '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. `,constraint:Y_,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,o){const n=o&&o.levels||1,s=this.getLineNumbers(o,i);o&&o.direction==="up"?K_(t,!1,n,s):Fo(t,!1,n,s)}}class rI extends Me{constructor(){super({id:"editor.unfoldRecursively",label:u("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:De,kbOpts:{kbExpr:_.editorTextFocus,primary:fe(2089,2137),weight:100}})}invoke(e,t,i,o){Fo(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class aI extends Me{constructor(){super({id:"editor.fold",label:u("foldAction.label","Fold"),alias:"Fold",precondition:De,kbOpts:{kbExpr:_.editorTextFocus,primary:3159,mac:{primary:2647},weight:100},description:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:`Property-value pairs that can be passed through this argument: * 'levels': Number of levels to fold. * 'direction': If 'up', folds given number of levels up otherwise folds down. * '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. If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead. `,constraint:Y_,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,o){const n=this.getLineNumbers(o,i),s=o&&o.levels,a=o&&o.direction;typeof s!="number"&&typeof a!="string"?WL(t,!0,n):a==="up"?K_(t,!0,s||1,n):Fo(t,!0,s||1,n)}}class lI extends Me{constructor(){super({id:"editor.toggleFold",label:u("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:De,kbOpts:{kbExpr:_.editorTextFocus,primary:fe(2089,2090),weight:100}})}invoke(e,t,i){const o=this.getSelectedLines(i);FL(t,1,o)}}class dI extends Me{constructor(){super({id:"editor.foldRecursively",label:u("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:De,kbOpts:{kbExpr:_.editorTextFocus,primary:fe(2089,2135),weight:100}})}invoke(e,t,i){const o=this.getSelectedLines(i);Fo(t,!0,Number.MAX_VALUE,o)}}class cI extends Me{constructor(){super({id:"editor.foldAllBlockComments",label:u("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:De,kbOpts:{kbExpr:_.editorTextFocus,primary:fe(2089,2133),weight:100}})}invoke(e,t,i,o,n){if(t.regions.hasTypes())Lu(t,sr.Comment.value,!0);else{const s=i.getModel();if(!s)return;const a=n.getLanguageConfiguration(s.getLanguageId()).comments;if(a&&a.blockCommentStartToken){const l=new RegExp("^\\s*"+Cs(a.blockCommentStartToken));xu(t,l,!0)}}}}class hI extends Me{constructor(){super({id:"editor.foldAllMarkerRegions",label:u("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:De,kbOpts:{kbExpr:_.editorTextFocus,primary:fe(2089,2077),weight:100}})}invoke(e,t,i,o,n){if(t.regions.hasTypes())Lu(t,sr.Region.value,!0);else{const s=i.getModel();if(!s)return;const a=n.getLanguageConfiguration(s.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const l=new RegExp(a.markers.start);xu(t,l,!0)}}}}class uI extends Me{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:u("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:De,kbOpts:{kbExpr:_.editorTextFocus,primary:fe(2089,2078),weight:100}})}invoke(e,t,i,o,n){if(t.regions.hasTypes())Lu(t,sr.Region.value,!1);else{const s=i.getModel();if(!s)return;const a=n.getLanguageConfiguration(s.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const l=new RegExp(a.markers.start);xu(t,l,!1)}}}}class gI extends Me{constructor(){super({id:"editor.foldAllExcept",label:u("foldAllExcept.label","Fold All Regions Except Selected"),alias:"Fold All Regions Except Selected",precondition:De,kbOpts:{kbExpr:_.editorTextFocus,primary:fe(2089,2131),weight:100}})}invoke(e,t,i){const o=this.getSelectedLines(i);q_(t,!0,o)}}class pI extends Me{constructor(){super({id:"editor.unfoldAllExcept",label:u("unfoldAllExcept.label","Unfold All Regions Except Selected"),alias:"Unfold All Regions Except Selected",precondition:De,kbOpts:{kbExpr:_.editorTextFocus,primary:fe(2089,2129),weight:100}})}invoke(e,t,i){const o=this.getSelectedLines(i);q_(t,!1,o)}}class fI extends Me{constructor(){super({id:"editor.foldAll",label:u("foldAllAction.label","Fold All"),alias:"Fold All",precondition:De,kbOpts:{kbExpr:_.editorTextFocus,primary:fe(2089,2069),weight:100}})}invoke(e,t,i){Fo(t,!0)}}class mI extends Me{constructor(){super({id:"editor.unfoldAll",label:u("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:De,kbOpts:{kbExpr:_.editorTextFocus,primary:fe(2089,2088),weight:100}})}invoke(e,t,i){Fo(t,!1)}}class wn extends Me{getFoldingLevel(){return parseInt(this.id.substr(wn.ID_PREFIX.length))}invoke(e,t,i){HL(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}}wn.ID_PREFIX="editor.foldLevel";wn.ID=r=>wn.ID_PREFIX+r;class _I extends Me{constructor(){super({id:"editor.gotoParentFold",label:u("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:De,kbOpts:{kbExpr:_.editorTextFocus,weight:100}})}invoke(e,t,i){const o=this.getSelectedLines(i);if(o.length>0){const n=VL(o[0],t);n!==null&&i.setSelection({startLineNumber:n,startColumn:1,endLineNumber:n,endColumn:1})}}}class vI extends Me{constructor(){super({id:"editor.gotoPreviousFold",label:u("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:De,kbOpts:{kbExpr:_.editorTextFocus,weight:100}})}invoke(e,t,i){const o=this.getSelectedLines(i);if(o.length>0){const n=BL(o[0],t);n!==null&&i.setSelection({startLineNumber:n,startColumn:1,endLineNumber:n,endColumn:1})}}}class bI extends Me{constructor(){super({id:"editor.gotoNextFold",label:u("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:De,kbOpts:{kbExpr:_.editorTextFocus,weight:100}})}invoke(e,t,i){const o=this.getSelectedLines(i);if(o.length>0){const n=UL(o[0],t);n!==null&&i.setSelection({startLineNumber:n,startColumn:1,endLineNumber:n,endColumn:1})}}}class CI extends Me{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:u("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:De,kbOpts:{kbExpr:_.editorTextFocus,primary:fe(2089,2130),weight:100}})}invoke(e,t,i){var o;const n=[],s=i.getSelections();if(s){for(const a of s){let l=a.endLineNumber;a.endColumn===1&&--l,l>a.startLineNumber&&(n.push({startLineNumber:a.startLineNumber,endLineNumber:l,type:void 0,isCollapsed:!0,source:1}),i.setSelection({startLineNumber:a.startLineNumber,startColumn:1,endLineNumber:a.startLineNumber,endColumn:1}))}if(n.length>0){n.sort((l,c)=>l.startLineNumber-c.startLineNumber);const a=et.sanitizeAndMerge(t.regions,n,(o=i.getModel())===null||o===void 0?void 0:o.getLineCount());t.updatePost(et.fromFoldRanges(a))}}}}class SI extends Me{constructor(){super({id:"editor.removeManualFoldingRanges",label:u("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:De,kbOpts:{kbExpr:_.editorTextFocus,primary:fe(2089,2132),weight:100}})}invoke(e,t,i){const o=i.getSelections();if(o){const n=[];for(const s of o){const{startLineNumber:a,endLineNumber:l}=s;n.push(l>=a?{startLineNumber:a,endLineNumber:l}:{endLineNumber:l,startLineNumber:a})}t.removeManualRanges(n),e.triggerFoldingModelChanged()}}}K(Ei.ID,Ei,0);w(sI);w(rI);w(aI);w(dI);w(fI);w(mI);w(cI);w(hI);w(uI);w(gI);w(pI);w(lI);w(_I);w(vI);w(bI);w(CI);w(SI);for(let r=1;r<=7;r++)LC(new wn({id:wn.ID(r),label:u("foldLevelAction.label","Fold Level {0}",r),alias:`Fold Level ${r}`,precondition:De,kbOpts:{kbExpr:_.editorTextFocus,primary:fe(2089,2048|21+r),weight:100}}));se.registerCommand("_executeFoldingRangeProvider",function(r,...e){return nI(this,void 0,void 0,function*(){const[t]=e;if(!(t instanceof te))throw zt();const i=r.get(V),o=r.get(Qe).getModel(t);if(!o)throw zt();const n=r.get(he);if(!n.getValue("editor.folding",{resource:t}))return[];const s=r.get(Ne),a=n.getValue("editor.foldingStrategy",{resource:t}),l={get limit(){return n.getValue("editor.foldingMaximumRegions",{resource:t})},update:(p,f)=>{}},c=new G_(o,s,l);let d=c;if(a!=="indentation"){const p=Ei.getFoldingRangeProviders(i,o);p.length&&(d=new Q_(o,p,()=>{},l,c))}const h=yield d.compute(q.None),g=[];try{if(h)for(let p=0;p=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Fa=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},Ru=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};let Os=class{constructor(e,t,i){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._disposables=new R,this._sessionDisposables=new R,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(o=>{o.hasChanged(53)&&this._update()})),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(53)||!this._editor.hasModel())return;const e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;const i=new xa;for(const o of t.autoFormatTriggerCharacters)i.add(o.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(o=>{const n=o.charCodeAt(o.length-1);i.has(n)&&this._trigger(String.fromCharCode(n))}))}_trigger(e){if(!this._editor.hasModel()||this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const t=this._editor.getModel(),i=this._editor.getPosition(),o=new dt,n=this._editor.onDidChangeModelContent(s=>{if(s.isFlush){o.cancel(),n.dispose();return}for(let a=0,l=s.changes.length;a{o.token.isCancellationRequested||Ge(s)&&(DC.execute(this._editor,s,!0),TC(s))}).finally(()=>{n.dispose()})}};Os.ID="editor.contrib.autoFormat";Os=J_([Fa(1,V),Fa(2,rr)],Os);let Fs=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new R,this._callOnModel=new R,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(52)&&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(Gf,this.editor,e,2,To.None,q.None).catch(ie))}};Fs.ID="editor.contrib.formatOnPaste";Fs=J_([Fa(1,V),Fa(2,G)],Fs);class LI extends L{constructor(){super({id:"editor.action.formatDocument",label:u("formatDocument.label","Format Document"),alias:"Format Document",precondition:x.and(_.notInCompositeEditor,_.writable,_.hasDocumentFormattingProvider),kbOpts:{kbExpr:_.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}run(e,t){return Ru(this,void 0,void 0,function*(){if(t.hasModel()){const i=e.get(G);yield e.get(ir).showWhile(i.invokeFunction(RC,t,1,To.None,q.None),250)}})}}class II extends L{constructor(){super({id:"editor.action.formatSelection",label:u("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:x.and(_.writable,_.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:_.editorTextFocus,primary:fe(2089,2084),weight:100},contextMenuOpts:{when:_.hasNonEmptySelection,group:"1_modification",order:1.31}})}run(e,t){return Ru(this,void 0,void 0,function*(){if(!t.hasModel())return;const i=e.get(G),o=t.getModel(),n=t.getSelections().map(a=>a.isEmpty()?new b(a.startLineNumber,1,a.startLineNumber,o.getLineMaxColumn(a.startLineNumber)):a);yield e.get(ir).showWhile(i.invokeFunction(Gf,t,n,1,To.None,q.None),250)})}}K(Os.ID,Os,2);K(Fs.ID,Fs,2);w(LI);w(II);se.registerCommand("editor.action.format",r=>Ru(void 0,void 0,void 0,function*(){const e=r.get(Se).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=r.get($e);e.getSelection().isEmpty()?yield t.executeCommand("editor.action.formatDocument"):yield t.executeCommand("editor.action.formatSelection")}));var DI=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Fd=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},TI=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};class oo{remove(){var e;(e=this.parent)===null||e===void 0||e.children.delete(this.id)}static findId(e,t){let i;typeof e=="string"?i=`${t.id}/${e}`:(i=`${t.id}/${e.name}`,t.children.get(i)!==void 0&&(i=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let o=i;for(let n=0;t.children.get(o)!==void 0;n++)o=`${i}_${n}`;return o}static empty(e){return e.children.size===0}}class Kc extends oo{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class ev extends oo{constructor(e,t,i,o){super(),this.id=e,this.parent=t,this.label=i,this.order=o,this.children=new Map}}class ii extends oo{static create(e,t,i){const o=new dt(i),n=new ii(t.uri),s=e.ordered(t),a=s.map((c,d)=>{var h;const g=oo.findId(`provider_${d}`,n),p=new ev(g,n,(h=c.displayName)!==null&&h!==void 0?h:"Unknown Outline Provider",d);return Promise.resolve(c.provideDocumentSymbols(t,o.token)).then(f=>{for(const m of f||[])ii._makeOutlineElement(m,p);return p},f=>(ye(f),p)).then(f=>{oo.empty(f)?f.remove():n._groups.set(g,f)})}),l=e.onDidChange(()=>{const c=e.ordered(t);Xa(c,s)||o.cancel()});return Promise.all(a).then(()=>o.token.isCancellationRequested&&!i.isCancellationRequested?ii.create(e,t,i):n._compact()).finally(()=>{l.dispose()})}static _makeOutlineElement(e,t){const i=oo.findId(e,t),o=new Kc(i,t,e);if(e.children)for(const n of e.children)ii._makeOutlineElement(n,o);t.children.set(o.id,o)}constructor(e){super(),this.uri=e,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let e=0;for(const[t,i]of this._groups)i.children.size===0?this._groups.delete(t):e+=1;if(e!==1)this.children=this._groups;else{const t=Si.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const e=[];for(const t of this.children.values())t instanceof Kc?e.push(t.symbol):e.push(...Si.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>b.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return ii._flattenDocumentSymbols(t,e,""),t.sort((i,o)=>H.compare(b.getStartPosition(i.range),b.getStartPosition(o.range))||H.compare(b.getEndPosition(o.range),b.getEndPosition(i.range)))}static _flattenDocumentSymbols(e,t,i){for(const o of t)e.push({kind:o.kind,tags:o.tags,name:o.name,detail:o.detail,containerName:o.containerName||i,range:o.range,selectionRange:o.selectionRange,children:void 0}),o.children&&ii._flattenDocumentSymbols(e,o.children,o.name)}}const El=Wi("IOutlineModelService");let qc=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new R,this._cache=new nr(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(i.onModelRemoved(o=>{this._cache.delete(o.id)}))}dispose(){this._disposables.dispose()}getOrCreate(e,t){return TI(this,void 0,void 0,function*(){const i=this._languageFeaturesService.documentSymbolProvider,o=i.ordered(e);let n=this._cache.get(e.id);if(!n||n.versionId!==e.getVersionId()||!Xa(n.provider,o)){const a=new dt;n={versionId:e.getVersionId(),provider:o,promiseCnt:0,source:a,promise:ii.create(i,e,a.token),model:void 0},this._cache.set(e.id,n);const l=Date.now();n.promise.then(c=>{n.model=c,this._debounceInformation.update(e,Date.now()-l)}).catch(c=>{this._cache.delete(e.id)})}if(n.model)return n.model;n.promiseCnt+=1;const s=t.onCancellationRequested(()=>{--n.promiseCnt===0&&(n.source.cancel(),this._cache.delete(e.id))});try{return yield n.promise}finally{s.dispose()}})}};qc=DI([Fd(0,V),Fd(1,Mt),Fd(2,Qe)],qc);Hi(El,qc,1);var RI=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};se.registerCommand("_executeDocumentSymbolProvider",function(r,...e){return RI(this,void 0,void 0,function*(){const[t]=e;re(te.isUri(t));const i=r.get(El),n=yield r.get(Pt).createModelReference(t);try{return(yield i.getOrCreate(n.object.textEditorModel,q.None)).getTopLevelSymbols()}finally{n.dispose()}})});function kI(r,e){const t=new PC,i=new MC(t,c=>e.getLanguageConfiguration(c)),o=new kC(new NI([r]),i),n=NC(o,[],void 0,!0);let s="";const a=r.getLineContent();function l(c,d){if(c.kind===2)if(l(c.openingBracket,d),d=Uo(d,c.openingBracket.length),c.child&&(l(c.child,d),d=Uo(d,c.child.length)),c.closingBracket)l(c.closingBracket,d),d=Uo(d,c.closingBracket.length);else{const g=i.getSingleLanguageBracketTokens(c.openingBracket.languageId).findClosingTokenText(c.openingBracket.bracketIds);s+=g}else if(c.kind!==3){if(c.kind===0||c.kind===1)s+=a.substring(lg(d),lg(Uo(d,c.length)));else if(c.kind===4)for(const h of c.children)l(h,d),d=Uo(d,h.length)}}return l(n,EC),s}class NI{constructor(e){this.lines=e,this.tokenization={getLineTokens:t=>this.lines[t-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}}function MI(r,e){return{object:r,dispose:()=>e==null?void 0:e.dispose()}}function EI(r,e){const t=new PI(r),i=e.map(o=>{const n=b.lift(o.range);return{startOffset:t.getOffset(n.getStartPosition()),endOffset:t.getOffset(n.getEndPosition()),text:o.text}});i.sort((o,n)=>n.startOffset-o.startOffset);for(const o of i)r=r.substring(0,o.startOffset)+o.text+r.substring(o.endOffset);return r}class PI{constructor(e){this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let t=0;t({range:{startLineNumber:1,endLineNumber:1,startColumn:n.column,endColumn:n.column},text:n.lines.join(` `)}))).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(e=>e.lines.length===0)}}class Gc{constructor(e,t,i){this.column=e,this.lines=t,this.preview=i}}class iv{constructor(e,t,i,o,n=0){this.lineNumber=e,this.columnStart=t,this.length=i,this.newLines=o,this.additionalReservedLineCount=n,this.parts=[new Gc(this.columnStart+this.length,this.newLines,!1)]}renderForScreenReader(e){return this.newLines.join(` `)}}class nv extends E{constructor(e){super(),this.editor=e,this._expanded=void 0,this.onDidChangeEmitter=new z,this.onDidChange=this.onDidChangeEmitter.event,this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(112)&&this._expanded===void 0&&this.onDidChangeEmitter.fire()}))}setExpanded(e){this._expanded=!0,this.onDidChangeEmitter.fire()}}function Wa(r,e){if(!e)return e;const t=r.getValueInRange(e.range),i=el(t,e.insertText),o=r.getOffsetAt(e.range.getStartPosition())+i,n=r.getPositionAt(o),s=t.substr(i),a=Zf(s,e.insertText),l=r.getPositionAt(Math.max(o,r.getOffsetAt(e.range.getEndPosition())-a));return{range:b.fromPositions(n,l),insertText:e.insertText.substr(i,e.insertText.length-i-a),snippetInfo:e.snippetInfo,filterText:e.filterText,additionalTextEdits:e.additionalTextEdits}}function FI(r,e){return r===e?!0:!r||!e?!1:r.range.equalsRange(e.range)&&r.insertText===e.insertText&&r.command===e.command}function ov(r,e,t,i,o=0){if(r.range.startLineNumber!==r.range.endLineNumber)return;const n=e.getLineContent(r.range.startLineNumber),s=be(n).length;if(r.range.startColumn-1<=s){const p=be(r.insertText).length,f=n.substring(r.range.startColumn-1,s),m=b.fromPositions(r.range.getStartPosition().delta(0,f.length),r.range.getEndPosition()),v=r.insertText.startsWith(f)?r.insertText.substring(f.length):r.insertText.substring(p);r={range:m,insertText:v,command:r.command,snippetInfo:void 0,filterText:r.filterText,additionalTextEdits:r.additionalTextEdits}}const l=e.getValueInRange(r.range),c=WI(l,r.insertText);if(!c)return;const d=r.range.startLineNumber,h=new Array;if(t==="prefix"){const p=c.filter(f=>f.originalLength===0);if(p.length>1||p.length===1&&p[0].originalStart!==l.length)return}const g=r.insertText.length-o;for(const p of c){const f=r.range.startColumn+p.originalStart+p.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===r.range.startLineNumber&&f0)return;if(p.modifiedLength===0)continue;const m=p.modifiedStart+p.modifiedLength,v=Math.max(p.modifiedStart,Math.min(m,g)),C=r.insertText.substring(p.modifiedStart,v),S=r.insertText.substring(v,Math.max(p.modifiedStart,m));if(C.length>0){const y=Sa(C);h.push(new Gc(f,y,!1))}if(S.length>0){const y=Sa(S);h.push(new Gc(f,y,!0))}}return new tv(d,h,0)}let Wt;function WI(r,e){if((Wt==null?void 0:Wt.originalValue)===r&&(Wt==null?void 0:Wt.newValue)===e)return Wt==null?void 0:Wt.changes;{let t=_p(r,e,!0);if(t){const i=mp(t);if(i>0){const o=_p(r,e,!1);o&&mp(o)5e3||e.length>5e3)return;function i(c){let d=0;for(let h=0,g=c.length;hd&&(d=p)}return d}const o=Math.max(i(r),i(e));function n(c){if(c<0)throw new Error("unexpected");return o+c+1}function s(c){let d=0,h=0;const g=new Int32Array(c.length);for(let p=0,f=c.length;pa},{getElements:()=>l}).ComputeDiff(!1).changes}function vp(r,e=Xh){return OC(r,e)?r.charAt(0).toUpperCase()+r.slice(1):r}var HI=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},VI=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};class bp{constructor(e){this._delegates=e}resolve(e){for(const t of this._delegates){const i=t.resolve(e);if(i!==void 0)return i}}}class Cp{constructor(e,t,i,o){this._model=e,this._selection=t,this._selectionIdx=i,this._overtypingCapturer=o}resolve(e){const{name:t}=e;if(t==="SELECTION"||t==="TM_SELECTED_TEXT"){let i=this._model.getValueInRange(this._selection)||void 0,o=this._selection.startLineNumber!==this._selection.endLineNumber;if(!i&&this._overtypingCapturer){const n=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);n&&(i=n.value,o=n.multiline)}if(i&&o&&e.snippet){const n=this._model.getLineContent(this._selection.startLineNumber),s=be(n,0,this._selection.startColumn-1);let a=s;e.snippet.walk(c=>c===e?!1:(c instanceof Ee&&(a=be(Sa(c.value).pop())),!0));const l=el(a,s);i=i.replace(/(\r\n|\r|\n)(.*)/g,(c,d,h)=>`${d}${a.substr(l)}${h}`)}return i}else{if(t==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);if(t==="TM_CURRENT_WORD"){const i=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return i&&i.word||void 0}else{if(t==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);if(t==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber);if(t==="CURSOR_INDEX")return String(this._selectionIdx);if(t==="CURSOR_NUMBER")return String(this._selectionIdx+1)}}}}class Sp{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return us(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=us(this._model.uri.fsPath),o=i.lastIndexOf(".");return o<=0?i:i.slice(0,o)}else{if(t==="TM_DIRECTORY")return FC(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(Vh(this._model.uri));if(t==="TM_FILEPATH")return this._labelService.getUriLabel(this._model.uri);if(t==="RELATIVE_FILEPATH")return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}}}class wp{constructor(e,t,i,o){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=i,this._spread=o}resolve(e){if(e.name!=="CLIPBOARD")return;const t=this._readClipboardText();if(t){if(this._spread){const i=t.split(/\r\n|\n|\r/).filter(o=>!WC(o));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let Ha=class{constructor(e,t,i){this._model=e,this._selection=t,this._languageConfigurationService=i}resolve(e){const{name:t}=e,i=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),o=this._languageConfigurationService.getLanguageConfiguration(i).comments;if(o){if(t==="LINE_COMMENT")return o.lineCommentToken||void 0;if(t==="BLOCK_COMMENT_START")return o.blockCommentStartToken||void 0;if(t==="BLOCK_COMMENT_END")return o.blockCommentEndToken||void 0}}};Ha=HI([VI(2,Ne)],Ha);class Tt{constructor(){this._date=new Date}resolve(e){const{name:t}=e;if(t==="CURRENT_YEAR")return String(this._date.getFullYear());if(t==="CURRENT_YEAR_SHORT")return String(this._date.getFullYear()).slice(-2);if(t==="CURRENT_MONTH")return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if(t==="CURRENT_DATE")return String(this._date.getDate().valueOf()).padStart(2,"0");if(t==="CURRENT_HOUR")return String(this._date.getHours().valueOf()).padStart(2,"0");if(t==="CURRENT_MINUTE")return String(this._date.getMinutes().valueOf()).padStart(2,"0");if(t==="CURRENT_SECOND")return String(this._date.getSeconds().valueOf()).padStart(2,"0");if(t==="CURRENT_DAY_NAME")return Tt.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return Tt.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return Tt.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return Tt.monthNamesShort[this._date.getMonth()];if(t==="CURRENT_SECONDS_UNIX")return String(Math.floor(this._date.getTime()/1e3))}}Tt.dayNames=[u("Sunday","Sunday"),u("Monday","Monday"),u("Tuesday","Tuesday"),u("Wednesday","Wednesday"),u("Thursday","Thursday"),u("Friday","Friday"),u("Saturday","Saturday")];Tt.dayNamesShort=[u("SundayShort","Sun"),u("MondayShort","Mon"),u("TuesdayShort","Tue"),u("WednesdayShort","Wed"),u("ThursdayShort","Thu"),u("FridayShort","Fri"),u("SaturdayShort","Sat")];Tt.monthNames=[u("January","January"),u("February","February"),u("March","March"),u("April","April"),u("May","May"),u("June","June"),u("July","July"),u("August","August"),u("September","September"),u("October","October"),u("November","November"),u("December","December")];Tt.monthNamesShort=[u("JanuaryShort","Jan"),u("FebruaryShort","Feb"),u("MarchShort","Mar"),u("AprilShort","Apr"),u("MayShort","May"),u("JuneShort","Jun"),u("JulyShort","Jul"),u("AugustShort","Aug"),u("SeptemberShort","Sep"),u("OctoberShort","Oct"),u("NovemberShort","Nov"),u("DecemberShort","Dec")];class yp{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=HC(this._workspaceService.getWorkspace());if(!VC(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(dg(e))return us(e.uri.path);let t=us(e.configPath.path);return t.endsWith(cg)&&(t=t.substr(0,t.length-cg.length-1)),t}_resoveWorkspacePath(e){if(dg(e))return vp(e.uri.fsPath);const t=us(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?vp(i):"/"}}class xp{resolve(e){const{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 Tl()}}var BI=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},UI=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};class ot{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=hg(t.placeholders,st.compareByIndex),this._placeholderGroupsIdx=-1}initialize(e){this._offset=e.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const e=this._editor.getModel();this._editor.changeDecorations(t=>{for(const i of this._snippet.placeholders){const o=this._snippet.offset(i),n=this._snippet.fullLen(i),s=b.fromPositions(e.getPositionAt(this._offset+o),e.getPositionAt(this._offset+o+n)),a=i.isFinalTabstop?ot._decor.inactiveFinal:ot._decor.inactive,l=t.addDecoration(s,a);this._placeholderDecorations.set(i,l)}})}move(e){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const o=[];for(const n of this._placeholderGroups[this._placeholderGroupsIdx])if(n.transform){const s=this._placeholderDecorations.get(n),a=this._editor.getModel().getDecorationRange(s),l=this._editor.getModel().getValueInRange(a),c=n.transform.resolve(l).split(/\r\n|\r|\n/);for(let d=1;d0&&this._editor.executeEdits("snippet.placeholderTransform",o)}let t=!1;e===!0&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,t=!0);const i=this._editor.getModel().changeDecorations(o=>{const n=new Set,s=[];for(const a of this._placeholderGroups[this._placeholderGroupsIdx]){const l=this._placeholderDecorations.get(a),c=this._editor.getModel().getDecorationRange(l);s.push(new B(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),o.changeDecorationOptions(l,a.isFinalTabstop?ot._decor.activeFinal:ot._decor.active),n.add(a);for(const d of this._snippet.enclosingPlaceholders(a)){const h=this._placeholderDecorations.get(d);o.changeDecorationOptions(h,d.isFinalTabstop?ot._decor.activeFinal:ot._decor.active),n.add(d)}}for(const[a,l]of this._placeholderDecorations)n.has(a)||o.changeDecorationOptions(l,a.isFinalTabstop?ot._decor.inactiveFinal:ot._decor.inactive);return s});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof st){const i=this._placeholderDecorations.get(t);if(this._editor.getModel().getDecorationRange(i).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){const[e]=this._snippet.placeholders;if(e.isFinalTabstop&&this._snippet.rightMostDescendant===e)return!0}return!1}computePossibleSelections(){const e=new Map;for(const t of this._placeholderGroups){let i;for(const o of t){if(o.isFinalTabstop)break;i||(i=[],e.set(o.index,i));const n=this._placeholderDecorations.get(o),s=this._editor.getModel().getDecorationRange(n);if(!s){e.delete(o.index);break}i.push(s)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;const e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!(e!=null&&e.choice))return;const t=this._placeholderDecorations.get(e);if(!t)return;const i=this._editor.getModel().getDecorationRange(t);if(i)return{range:i,choice:e.choice}}get hasChoice(){let e=!1;return this._snippet.walk(t=>(e=t instanceof Oo,!e)),e}merge(e){const t=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(i=>{for(const o of this._placeholderGroups[this._placeholderGroupsIdx]){const n=e.shift();console.assert(n._offset!==-1),console.assert(!n._placeholderDecorations);const s=n._snippet.placeholderInfo.last.index;for(const l of n._snippet.placeholderInfo.all)l.isFinalTabstop?l.index=o.index+(s+1)/this._nestingLevel:l.index=o.index+l.index/this._nestingLevel;this._snippet.replace(o,n._snippet.children);const a=this._placeholderDecorations.get(o);i.removeDecoration(a),this._placeholderDecorations.delete(o);for(const l of n._snippet.placeholders){const c=n._snippet.offset(l),d=n._snippet.fullLen(l),h=b.fromPositions(t.getPositionAt(n._offset+c),t.getPositionAt(n._offset+c+d)),g=i.addDecoration(h,ot._decor.inactive);this._placeholderDecorations.set(l,g)}}this._placeholderGroups=hg(this._snippet.placeholders,st.compareByIndex)})}}ot._decor={active:X.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:X.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:X.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:X.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};const Lp={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let Va=class Ht{static adjustWhitespace(e,t,i,o,n){const s=e.getLineContent(t.lineNumber),a=be(s,0,t.column-1);let l;return o.walk(c=>{if(!(c instanceof Ee)||c.parent instanceof Oo||n&&!n.has(c))return!0;const d=c.value.split(/\r\n|\r|\n/);if(i){const g=o.offset(c);if(g===0)d[0]=e.normalizeIndentation(d[0]);else{l=l??o.toString();const p=l.charCodeAt(g-1);(p===10||p===13)&&(d[0]=e.normalizeIndentation(a+d[0]))}for(let p=1;pI.get(wa)),f=e.invokeWithinContext(I=>new Sp(I.get(ys),g)),m=()=>a,v=g.getValueInRange(Ht.adjustSelection(g,e.getSelection(),i,0)),C=g.getValueInRange(Ht.adjustSelection(g,e.getSelection(),0,o)),S=g.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),y=e.getSelections().map((I,T)=>({selection:I,idx:T})).sort((I,T)=>b.compareRangesUsingStarts(I.selection,T.selection));for(const{selection:I,idx:T}of y){let j=Ht.adjustSelection(g,I,i,0),U=Ht.adjustSelection(g,I,0,o);v!==g.getValueInRange(j)&&(j=I),C!==g.getValueInRange(U)&&(U=I);const ht=I.setStartPosition(j.startLineNumber,j.startColumn).setEndPosition(U.endLineNumber,U.endColumn),nt=new ki().parse(t,!0,n),Fe=ht.getStartPosition(),Ot=Ht.adjustWhitespace(g,Fe,s||T>0&&S!==g.getLineFirstNonWhitespaceColumn(I.positionLineNumber),nt);nt.resolveVariables(new bp([f,new wp(m,T,y.length,e.getOption(75)==="spread"),new Cp(g,I,T,l),new Ha(g,I,c),new Tt,new yp(p),new xp])),d[T]=ae.replace(ht,nt.toString()),d[T].identifier={major:T,minor:0},d[T]._isTracked=!0,h[T]=new ot(e,nt,Ot)}return{edits:d,snippets:h}}static createEditsAndSnippetsFromEdits(e,t,i,o,n,s,a){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};const l=[],c=e.getModel(),d=new ki,h=new _r,g=new bp([e.invokeWithinContext(f=>new Sp(f.get(ys),c)),new wp(()=>n,0,e.getSelections().length,e.getOption(75)==="spread"),new Cp(c,e.getSelection(),0,s),new Ha(c,e.getSelection(),a),new Tt,new yp(e.invokeWithinContext(f=>f.get(wa))),new xp]);t=t.sort((f,m)=>b.compareRangesUsingStarts(f.range,m.range));let p=0;for(let f=0;f0){const T=t[f-1].range,j=b.fromPositions(T.getEndPosition(),m.getStartPosition()),U=new Ee(c.getValueInRange(j));h.appendChild(U),p+=U.value.length}const C=d.parseFragment(v,h);Ht.adjustWhitespace(c,m.getStartPosition(),!0,h,new Set(C)),h.resolveVariables(g);const S=h.toString(),y=S.slice(p);p=S.length;const I=ae.replace(m,y);I.identifier={major:f,minor:0},I._isTracked=!0,l.push(I)}return d.ensureFinalTabstop(h,i,!0),{edits:l,snippets:[new ot(e,h,"")]}}constructor(e,t,i=Lp,o){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=o,this._templateMerges=[],this._snippets=[]}dispose(){We(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:e,snippets:t}=typeof this._template=="string"?Ht.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):Ht.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,i=>{const o=i.filter(n=>!!n.identifier);for(let n=0;nB.fromPositions(n.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=Lp){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:o}=Ht.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",i,n=>{const s=n.filter(l=>!!l.identifier);for(let l=0;lB.fromPositions(l.range.getEndPosition()))})}next(){const e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}prev(){const e=this._move(!1);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}_move(e){const t=[];for(const i of this._snippets){const o=i.move(e);t.push(...o)}return t}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const e=this._editor.getSelections();if(e.length{n.push(...o.get(s))})}e.sort(b.compareRangesUsingStarts);for(const[i,o]of t){if(o.length!==e.length){t.delete(i);continue}o.sort(b.compareRangesUsingStarts);for(let n=0;n0}};Va=BI([UI(3,Ne)],Va);var $I=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},jr=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};const Ip={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let ve=class cs{static get(e){return e.getContribution(cs.ID)}constructor(e,t,i,o,n){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=n,this._snippetListener=new R,this._modelVersionId=-1,this._inSnippet=cs.InSnippetMode.bindTo(o),this._hasNextTabstop=cs.HasNextTabstop.bindTo(o),this._hasPrevTabstop=cs.HasPrevTabstop.bindTo(o)}dispose(){var e;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),(e=this._session)===null||e===void 0||e.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,typeof t>"u"?Ip:Object.assign(Object.assign({},Ip),t))}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_template=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}}_doInsert(e,t){var i;if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&typeof e!="string"&&this.cancel(),this._session?(re(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new Va(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),!((i=this._session)===null||i===void 0)&&i.hasChoice){this._choiceCompletionItemProvider={provideCompletionItems:(n,s)=>{if(!this._session||n!==this._editor.getModel()||!H.equals(this._editor.getPosition(),s))return;const{activeChoice:a}=this._session;if(!a||a.choice.options.length===0)return;const l=n.getValueInRange(a.range),c=Boolean(a.choice.options.find(h=>h.value===l)),d=[];for(let h=0;ho.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState()))}}_updateState(){if(!(!this._session||!this._editor.hasModel())){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0;return}const{activeChoice:e}=this._session;if(!e||!this._choiceCompletionItemProvider){this._currentChoice=void 0;return}this._currentChoice!==e.choice&&(this._currentChoice=e.choice,queueMicrotask(()=>{X0(this._editor,this._choiceCompletionItemProvider)}))}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===void 0||t.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){var e;(e=this._session)===null||e===void 0||e.prev(),this._updateState()}next(){var e;(e=this._session)===null||e===void 0||e.next(),this._updateState()}isInSnippet(){return Boolean(this._inSnippet.get())}};ve.ID="snippetController2";ve.InSnippetMode=new Z("inSnippetMode",!1,u("inSnippetMode","Whether the editor in current in snippet mode"));ve.HasNextTabstop=new Z("hasNextTabstop",!1,u("hasNextTabstop","Whether there is a next tab stop when in snippet mode"));ve.HasPrevTabstop=new Z("hasPrevTabstop",!1,u("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode"));ve=$I([jr(1,ol),jr(2,V),jr(3,Q),jr(4,Ne)],ve);K(ve.ID,ve,4);const Pl=ct.bindToContribution(ve.get);F(new Pl({id:"jumpToNextSnippetPlaceholder",precondition:x.and(ve.InSnippetMode,ve.HasNextTabstop),handler:r=>r.next(),kbOpts:{weight:100+30,kbExpr:_.editorTextFocus,primary:2}}));F(new Pl({id:"jumpToPrevSnippetPlaceholder",precondition:x.and(ve.InSnippetMode,ve.HasPrevTabstop),handler:r=>r.prev(),kbOpts:{weight:100+30,kbExpr:_.editorTextFocus,primary:1026}}));F(new Pl({id:"leaveSnippet",precondition:ve.InSnippetMode,handler:r=>r.cancel(!0),kbOpts:{weight:100+30,kbExpr:_.editorTextFocus,primary:9,secondary:[1033]}}));F(new Pl({id:"acceptSnippet",precondition:ve.InSnippetMode,handler:r=>r.finish()}));var zI=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Xo=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},Ji=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};let Zc=class extends E{constructor(e,t,i,o,n,s,a){super(),this.editor=e,this.cache=t,this.commandService=i,this.languageConfigurationService=o,this.languageFeaturesService=n,this.debounceService=s,this.onDidChangeEmitter=new z,this.onDidChange=this.onDidChangeEmitter.event,this.completionSession=this._register(new Ve),this.active=!1,this.disposed=!1,this.debounceValue=this.debounceService.for(this.languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this._register(i.onDidExecuteCommand(l=>{new Set([na.Tab.id,na.DeleteLeft.id,na.DeleteRight.id,N_,"acceptSelectedSuggestion"]).has(l.commandId)&&e.hasTextFocus()&&this.handleUserInput()})),this._register(this.editor.onDidType(l=>{this.handleUserInput()})),this._register(this.editor.onDidChangeCursorPosition(l=>{(l.reason===3||this.session&&!this.session.isValid)&&this.hide()})),this._register(ce(()=>{this.disposed=!0})),this._register(this.editor.onDidBlurEditorWidget(()=>{a.getValue("editor.inlineSuggest.hideOnBlur")||bn.dropDownVisible||this.hide()}))}handleUserInput(){this.session&&!this.session.isValid&&this.hide(),setTimeout(()=>{this.disposed||this.startSessionIfTriggered()},0)}get session(){return this.completionSession.value}get ghostText(){var e;return(e=this.session)===null||e===void 0?void 0:e.ghostText}get minReservedLineCount(){return this.session?this.session.minReservedLineCount:0}setExpanded(e){var t;(t=this.session)===null||t===void 0||t.setExpanded(e)}setActive(e){var t;this.active=e,e&&((t=this.session)===null||t===void 0||t.scheduleAutomaticUpdate())}startSessionIfTriggered(){this.editor.getOption(59).enabled&&(this.session&&this.session.isValid||this.trigger(pt.Automatic))}trigger(e){if(this.completionSession.value){e===pt.Explicit&&this.completionSession.value.ensureUpdateWithExplicitContext();return}this.completionSession.value=new jI(this.editor,this.editor.getPosition(),()=>this.active,this.commandService,this.cache,e,this.languageConfigurationService,this.languageFeaturesService.inlineCompletionsProvider,this.debounceValue),this.completionSession.value.takeOwnership(this.completionSession.value.onDidChange(()=>{this.onDidChangeEmitter.fire()}))}hide(){this.completionSession.clear(),this.onDidChangeEmitter.fire()}commitCurrentSuggestion(){var e;(e=this.session)===null||e===void 0||e.commitCurrentCompletion()}commitCurrentSuggestionPartially(){var e;(e=this.session)===null||e===void 0||e.commitCurrentCompletionNextWord()}showNext(){var e;(e=this.session)===null||e===void 0||e.showNextInlineCompletion()}showPrevious(){var e;(e=this.session)===null||e===void 0||e.showPreviousInlineCompletion()}};Zc=zI([Xo(2,$e),Xo(3,Ne),Xo(4,V),Xo(5,Mt),Xo(6,he)],Zc);class jI extends nv{constructor(e,t,i,o,n,s,a,l,c){super(e),this.triggerPosition=t,this.shouldUpdate=i,this.commandService=o,this.cache=n,this.initialTriggerKind=s,this.languageConfigurationService=a,this.registry=l,this.debounce=c,this.minReservedLineCount=0,this.updateOperation=this._register(new Ve),this.updateSoon=this._register(new _e(()=>{const h=this.initialTriggerKind;return this.initialTriggerKind=pt.Automatic,this.update(h)},50)),this.filteredCompletions=[],this.currentlySelectedCompletionId=void 0;let d;this._register(this.onDidChange(()=>{var h;const g=this.currentCompletion;if(g&&g.sourceInlineCompletion!==d){d=g.sourceInlineCompletion;const p=g.sourceProvider;(h=p.handleItemDidShow)===null||h===void 0||h.call(p,g.sourceInlineCompletions,d)}})),this._register(ce(()=>{this.cache.clear()})),this._register(this.editor.onDidChangeCursorPosition(h=>{var g;h.reason!==3&&((g=this.cache.value)===null||g===void 0||g.updateRanges(),this.cache.value&&(this.updateFilteredInlineCompletions(),this.onDidChangeEmitter.fire()))})),this._register(this.editor.onDidChangeModelContent(h=>{var g;(g=this.cache.value)===null||g===void 0||g.updateRanges(),this.updateFilteredInlineCompletions(),this.scheduleAutomaticUpdate()})),this._register(this.registry.onDidChange(()=>{this.updateSoon.schedule(this.debounce.get(this.editor.getModel()))})),this.scheduleAutomaticUpdate()}updateFilteredInlineCompletions(){if(!this.cache.value){this.filteredCompletions=[];return}const e=this.editor.getModel(),t=e.validatePosition(this.editor.getPosition());this.filteredCompletions=this.cache.value.completions.filter(i=>{const o=e.getValueInRange(i.synchronizedRange).toLowerCase(),n=i.inlineCompletion.filterText.toLowerCase(),s=e.getLineIndentColumn(i.synchronizedRange.startLineNumber),a=Math.max(0,t.column-i.synchronizedRange.startColumn);let l=n.substring(0,a),c=n.substring(a),d=o.substring(0,a),h=o.substring(a);return i.synchronizedRange.startColumn<=s&&(d=d.trimStart(),d.length===0&&(h=h.trimStart()),l=l.trimStart(),l.length===0&&(c=c.trimStart())),l.startsWith(d)&&BC(h,c)})}get currentlySelectedIndex(){return this.fixAndGetIndexOfCurrentSelection()}fixAndGetIndexOfCurrentSelection(){if(!this.currentlySelectedCompletionId||!this.cache.value||this.cache.value.completions.length===0)return 0;const e=this.filteredCompletions.findIndex(t=>t.semanticId===this.currentlySelectedCompletionId);return e===-1?(this.currentlySelectedCompletionId=void 0,0):e}get currentCachedCompletion(){if(this.cache.value)return this.filteredCompletions[this.fixAndGetIndexOfCurrentSelection()]}showNextInlineCompletion(){return Ji(this,void 0,void 0,function*(){yield this.ensureUpdateWithExplicitContext();const e=this.filteredCompletions||[];if(e.length>0){const t=(this.fixAndGetIndexOfCurrentSelection()+1)%e.length;this.currentlySelectedCompletionId=e[t].semanticId}else this.currentlySelectedCompletionId=void 0;this.onDidChangeEmitter.fire()})}showPreviousInlineCompletion(){return Ji(this,void 0,void 0,function*(){yield this.ensureUpdateWithExplicitContext();const e=this.filteredCompletions||[];if(e.length>0){const t=(this.fixAndGetIndexOfCurrentSelection()+e.length-1)%e.length;this.currentlySelectedCompletionId=e[t].semanticId}else this.currentlySelectedCompletionId=void 0;this.onDidChangeEmitter.fire()})}get hasBeenTriggeredExplicitly(){var e;return((e=this.cache.value)===null||e===void 0?void 0:e.triggerKind)===pt.Explicit}ensureUpdateWithExplicitContext(){var e;return Ji(this,void 0,void 0,function*(){this.updateOperation.value?this.updateOperation.value.triggerKind===pt.Explicit?yield this.updateOperation.value.promise:yield this.update(pt.Explicit):((e=this.cache.value)===null||e===void 0?void 0:e.triggerKind)!==pt.Explicit&&(yield this.update(pt.Explicit))})}getInlineCompletionsCountSync(){return this.filteredCompletions.length||0}get ghostText(){const e=this.currentCompletion;if(!e)return;const t=this.editor.getPosition();if(e.range.getEndPosition().isBefore(t))return;const i=this.editor.getOptions().get(59).mode,o=ov(e,this.editor.getModel(),i,t);return o?o.isEmpty()?void 0:o:new iv(e.range.startLineNumber,e.range.startColumn,e.range.endColumn-e.range.startColumn,e.insertText.split(` `),0)}get currentCompletion(){const e=this.currentCachedCompletion;if(e)return e.toLiveInlineCompletion()}get isValid(){return this.editor.getPosition().lineNumber===this.triggerPosition.lineNumber}scheduleAutomaticUpdate(){this.updateOperation.clear(),this.updateSoon.schedule(this.debounce.get(this.editor.getModel()))}update(e){return Ji(this,void 0,void 0,function*(){if(!this.shouldUpdate())return;const t=this.editor.getPosition(),i=new Date,o=Ce(s=>Ji(this,void 0,void 0,function*(){let a;try{a=yield rv(this.registry,t,this.editor.getModel(),{triggerKind:e,selectedSuggestionInfo:void 0},s,this.languageConfigurationService);const l=new Date;this.debounce.update(this.editor.getModel(),l.getTime()-i.getTime())}catch(l){ie(l);return}s.isCancellationRequested||(this.cache.setValue(this.editor,a,e),this.updateFilteredInlineCompletions(),this.onDidChangeEmitter.fire())})),n=new sv(o,e);this.updateOperation.value=n,yield o,this.updateOperation.value===n&&this.updateOperation.clear()})}takeOwnership(e){this._register(e)}commitCurrentCompletionNextWord(){const e=this.ghostText;if(!e)return;const t=this.currentCompletion;if(!t)return;if(t.snippetInfo||t.filterText!==t.insertText){this.commit(t);return}if(e.parts.length===0)return;const i=e.parts[0],o=new H(e.lineNumber,i.column),n=i.lines[0],s=this.editor.getModel().getLanguageIdAtPosition(e.lineNumber,1),a=this.languageConfigurationService.getLanguageConfiguration(s),l=new RegExp(a.wordDefinition.source,a.wordDefinition.flags.replace("g","")),c=n.match(l);let d=0;c&&c.index!==void 0?c.index===0?d=c[0].length:d=c.index:d=n.length;const h=/\s/g;let g=h.exec(n);g&&g.index===0&&(g=h.exec(n)),g&&g.index!==void 0&&g.index{i==null||i.dispose()}).then(void 0,ye):i==null||i.dispose(),this.onDidChangeEmitter.fire()}get commands(){var e;return[...new Set(((e=this.cache.value)===null||e===void 0?void 0:e.completions.map(i=>i.inlineCompletion.sourceInlineCompletions))||[])].flatMap(i=>i.commands||[])}}class sv{constructor(e,t){this.promise=e,this.triggerKind=t}dispose(){this.promise.cancel()}}class KI extends E{constructor(e,t,i,o){super(),this.editor=t,this.onChange=i,this.triggerKind=o,this.isDisposing=!1;const n=t.changeDecorations(s=>s.deltaDecorations([],e.items.map(a=>({range:a.range,options:{description:"inline-completion-tracking-range"}}))));this._register(ce(()=>{this.isDisposing=!0,t.removeDecorations(n)})),this.completions=e.items.map((s,a)=>new qI(s,n[a])),this._register(t.onDidChangeModelContent(()=>{this.updateRanges()})),this._register(e)}updateRanges(){if(this.isDisposing)return;let e=!1;const t=this.editor.getModel();for(const i of this.completions){const o=t.getDecorationRange(i.decorationId);if(!o){ie(new Error("Decoration has no range"));continue}i.synchronizedRange.equalsRange(o)||(e=!0,i.synchronizedRange=o)}e&&this.onChange()}}class qI{constructor(e,t){this.inlineCompletion=e,this.decorationId=t,this.semanticId=JSON.stringify({text:this.inlineCompletion.insertText,abbreviation:this.inlineCompletion.filterText,startLine:this.inlineCompletion.range.startLineNumber,startColumn:this.inlineCompletion.range.startColumn,command:this.inlineCompletion.command}),this.synchronizedRange=e.range}toLiveInlineCompletion(){return{insertText:this.inlineCompletion.insertText,range:this.synchronizedRange,command:this.inlineCompletion.command,sourceProvider:this.inlineCompletion.sourceProvider,sourceInlineCompletions:this.inlineCompletion.sourceInlineCompletions,sourceInlineCompletion:this.inlineCompletion.sourceInlineCompletion,snippetInfo:this.inlineCompletion.snippetInfo,filterText:this.inlineCompletion.filterText,additionalTextEdits:this.inlineCompletion.additionalTextEdits}}}function rv(r,e,t,i,o=q.None,n){return Ji(this,void 0,void 0,function*(){const s=GI(e,t),a=r.all(t),l=yield Promise.all(a.map(d=>Ji(this,void 0,void 0,function*(){const h=yield Promise.resolve(d.provideInlineCompletions(t,e,i,o)).catch(ye);return{completions:h,provider:d,dispose:()=>{h&&d.freeInlineCompletions(h)}}}))),c=new Map;for(const d of l){const h=d.completions;if(h)for(const g of h.items){let p=g.range?b.lift(g.range):s;if(p.startLineNumber!==p.endLineNumber)continue;let f,m;if(typeof g.insertText=="string"){if(f=g.insertText,n&&g.completeBracketPairs){f=Dp(f,p.getStartPosition(),t,n);const C=f.length-g.insertText.length;C!==0&&(p=new b(p.startLineNumber,p.startColumn,p.endLineNumber,p.endColumn+C))}m=void 0}else if("snippet"in g.insertText){const C=g.insertText.snippet.length;if(n&&g.completeBracketPairs){g.insertText.snippet=Dp(g.insertText.snippet,p.getStartPosition(),t,n);const y=g.insertText.snippet.length-C;y!==0&&(p=new b(p.startLineNumber,p.startColumn,p.endLineNumber,p.endColumn+y))}const S=new ki().parse(g.insertText.snippet);S.children.length===1&&S.children[0]instanceof Ee?(f=S.children[0].value,m=void 0):(f=S.toString(),m={snippet:g.insertText.snippet,range:p})}else UC(g.insertText);const v={insertText:f,snippetInfo:m,range:p,command:g.command,sourceProvider:d.provider,sourceInlineCompletions:h,sourceInlineCompletion:g,filterText:g.filterText||f,additionalTextEdits:g.additionalTextEdits||OI()};c.set(JSON.stringify({insertText:f,range:g.range}),v)}}return{items:[...c.values()],dispose:()=>{for(const d of l)d.dispose()}}})}function GI(r,e){const t=e.getWordAtPosition(r),i=e.getLineMaxColumn(r.lineNumber);return t?new b(r.lineNumber,t.startColumn,r.lineNumber,i):b.fromPositions(r,r.with(void 0,i))}function Dp(r,e,t,i){const n=t.getLineContent(e.lineNumber).substring(0,e.column-1)+r,s=t.tokenization.tokenizeLineWithEdit(e,n.length-(e.column-1),r),a=s==null?void 0:s.sliceAndInflate(e.column-1,n.length,0);return a?kI(a,i):r}var ZI=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Tp=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};class ku{constructor(e){this.name=e}select(e,t,i){if(i.length===0)return 0;const o=i[0].score[0];for(let n=0;nl&&h.type===i[c].completion.kind&&h.insertText===i[c].completion.insertText&&(l=h.touch,a=c),i[c].completion.preselect&&s===-1)return s=c}return a!==-1?a:s!==-1?s:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();const t=0;for(const[i,o]of e)o.touch=t,o.type=typeof o.type=="number"?o.type:Qh.fromString(o.type),this._cache.set(i,o);this._seq=this._cache.size}}class QI extends ku{constructor(){super("recentlyUsedByPrefix"),this._trie=$C.forStrings(),this._seq=0}memorize(e,t,i){const{word:o}=e.getWordUntilPosition(t),n=`${e.getLanguageId()}/${o}`;this._trie.set(n,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){const{word:o}=e.getWordUntilPosition(t);if(!o)return super.select(e,t,i);const n=`${e.getLanguageId()}/${o}`;let s=this._trie.get(n);if(s||(s=this._trie.findSubstr(n)),s)for(let a=0;ae.push([i,t])),e.sort((t,i)=>-(t[1].touch-i[1].touch)).forEach((t,i)=>t[1].touch=i),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,i]of e)i.type=typeof i.type=="number"?i.type:Qh.fromString(i.type),this._trie.set(t,i)}}}let Ws=class ha{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new R,this._persistSoon=new _e(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===cf.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(e,t){var i;const o=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(((i=this._strategy)===null||i===void 0?void 0:i.name)!==o){this._saveState();const n=ha._strategyCtors.get(o)||av;this._strategy=new n;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,l=this._storageService.get(`${ha._storagePrefix}/${o}`,a);l&&this._strategy.fromJSON(JSON.parse(l))}catch{}}return this._strategy}_saveState(){if(this._strategy){const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=JSON.stringify(this._strategy);this._storageService.store(`${ha._storagePrefix}/${this._strategy.name}`,i,t,1)}}};Ws._strategyCtors=new Map([["recentlyUsedByPrefix",QI],["recentlyUsed",XI],["first",av]]);Ws._storagePrefix="suggest/memories";Ws=ZI([Tp(0,Bi),Tp(1,he)],Ws);const Al=Wi("ISuggestMemories");Hi(Al,Ws,1);var YI=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},JI=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let Hs=class lv{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=lv.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration(i=>i.hasChanged(117)&&this._update()),this._update()}dispose(){var e;this._configListener.dispose(),(e=this._selectionListener)===null||e===void 0||e.dispose(),this._ckAtEnd.reset()}_update(){const e=this._editor.getOption(117)==="on";if(this._enabled!==e)if(this._enabled=e,this._enabled){const t=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}const i=this._editor.getModel(),o=this._editor.getSelection(),n=i.getWordAtPosition(o.getStartPosition());if(!n){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(n.endColumn===o.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(t),t()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};Hs.AtEnd=new Z("atEndOfWord",!1);Hs=YI([JI(1,Q)],Hs);var eD=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},tD=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let yn=class ua{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=ua.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){var e;this._ckOtherSuggestions.reset(),(e=this._listener)===null||e===void 0||e.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},i){if(e.items.length===0){this.reset();return}if(ua._moveIndex(!0,e,t)===t){this.reset();return}this._acceptNext=i,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(e,t,i){let o=i;for(;o=(o+t.items.length+(e?1:-1))%t.items.length,!(o===i||!t.items[o].completion.additionalTextEdits););return o}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=ua._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};yn.OtherSuggestions=new Z("hasOtherSuggestions",!1);yn=eD([tD(1,Q)],yn);class iD{constructor(e,t,i,o){this._disposables=new R,this._disposables.add(i.onDidSuggest(n=>{n.completionModel.items.length===0&&this.reset()})),this._disposables.add(i.onDidCancel(n=>{this.reset()})),this._disposables.add(t.onDidShow(()=>this._onItem(t.getFocusedItem()))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(n=>{if(this._active&&!t.isFrozen()&&i.state!==0){const s=n.charCodeAt(n.length-1);this._active.acceptCharacters.has(s)&&e.getOption(0)&&o(this._active.item)}}))}_onItem(e){if(!e||!Ge(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new xa;for(const i of e.item.completion.commitCharacters)i.length>0&&t.add(i.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}var nD=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};class Je{provideSelectionRanges(e,t){return nD(this,void 0,void 0,function*(){const i=[];for(const o of t){const n=[];i.push(n);const s=new Map;yield new Promise(a=>Je._bracketsRightYield(a,0,e,o,s)),yield new Promise(a=>Je._bracketsLeftYield(a,0,e,o,s,n))}return i})}static _bracketsRightYield(e,t,i,o,n){const s=new Map,a=Date.now();for(;;){if(t>=Je._maxRounds){e();break}if(!o){e();break}const l=i.bracketPairs.findNextBracket(o);if(!l){e();break}if(Date.now()-a>Je._maxDuration){setTimeout(()=>Je._bracketsRightYield(e,t+1,i,o,n));break}if(l.bracketInfo.isOpeningBracket){const d=l.bracketInfo.bracketText,h=s.has(d)?s.get(d):0;s.set(d,h+1)}else{const d=l.bracketInfo.getOpeningBrackets()[0].bracketText;let h=s.has(d)?s.get(d):0;if(h-=1,s.set(d,Math.max(0,h)),h<0){let g=n.get(d);g||(g=new Tf,n.set(d,g)),g.push(l.range)}}o=l.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,o,n,s){const a=new Map,l=Date.now();for(;;){if(t>=Je._maxRounds&&n.size===0){e();break}if(!o){e();break}const c=i.bracketPairs.findPrevBracket(o);if(!c){e();break}if(Date.now()-l>Je._maxDuration){setTimeout(()=>Je._bracketsLeftYield(e,t+1,i,o,n,s));break}if(c.bracketInfo.isOpeningBracket){const h=c.bracketInfo.bracketText;let g=a.has(h)?a.get(h):0;if(g-=1,a.set(h,Math.max(0,g)),g<0){const p=n.get(h);if(p){const f=p.shift();p.size===0&&n.delete(h);const m=b.fromPositions(c.range.getEndPosition(),f.getStartPosition()),v=b.fromPositions(c.range.getStartPosition(),f.getEndPosition());s.push({range:m}),s.push({range:v}),Je._addBracketLeading(i,v,s)}}}else{const h=c.bracketInfo.getOpeningBrackets()[0].bracketText,g=a.has(h)?a.get(h):0;a.set(h,g+1)}o=c.range.getStartPosition()}}static _addBracketLeading(e,t,i){if(t.startLineNumber===t.endLineNumber)return;const o=t.startLineNumber,n=e.getLineFirstNonWhitespaceColumn(o);n!==0&&n!==t.startColumn&&(i.push({range:b.fromPositions(new H(o,n),t.getEndPosition())}),i.push({range:b.fromPositions(new H(o,1),t.getEndPosition())}));const s=o-1;if(s>0){const a=e.getLineFirstNonWhitespaceColumn(s);a===t.startColumn&&a!==e.getLineLastNonWhitespaceColumn(s)&&(i.push({range:b.fromPositions(new H(s,a),t.getEndPosition())}),i.push({range:b.fromPositions(new H(s,1),t.getEndPosition())}))}}}Je._maxDuration=30;Je._maxRounds=2;var oD=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};class xt{static create(e,t){return oD(this,void 0,void 0,function*(){if(!t.getOption(112).localityBonus||!t.hasModel())return xt.None;const i=t.getModel(),o=t.getPosition();if(!e.canComputeWordRanges(i.uri))return xt.None;const[n]=yield new Je().provideSelectionRanges(i,[o]);if(n.length===0)return xt.None;const s=yield e.computeWordRanges(i.uri,n[0].range);if(!s)return xt.None;const a=i.getWordUntilPosition(o);return delete s[a.word],new class extends xt{distance(l,c){if(!o.equals(t.getPosition()))return 0;if(c.kind===17)return 2<<20;const d=typeof c.label=="string"?c.label:c.label.label,h=s[d];if(zC(h))return 2<<20;const g=Ca(h,b.fromPositions(l),b.compareRangesUsingStarts),p=g>=0?h[g]:h[Math.max(0,~g-1)];let f=n.length;for(const m of n){if(!b.containsRange(m.range,p))break;f-=1}return f}}})}}xt.None=new class extends xt{distance(){return 0}};let Rp=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class pi{constructor(e,t,i,o,n,s,a=Xf.default,l=void 0){this.clipboardText=l,this._snippetCompareFn=pi._compareCompletionItems,this._items=e,this._column=t,this._wordDistance=o,this._options=n,this._refilterKind=1,this._lineContext=i,this._fuzzyScoreOptions=a,s==="top"?this._snippetCompareFn=pi._compareCompletionItemsSnippetsUp:s==="bottom"&&(this._snippetCompareFn=pi._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){(this._lineContext.leadingLineContent!==e.leadingLineContent||this._lineContext.characterCountDelta!==e.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta0&&i[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const e=[],{leadingLineContent:t,characterCountDelta:i}=this._lineContext;let o="",n="";const s=this._refilterKind===1?this._items:this._filteredItems,a=[],l=!this._options.filterGraceful||s.length>2e3?Qf:jC;for(let c=0;c=p)d.score=xs.Default;else if(typeof d.completion.filterText=="string"){const m=l(o,n,f,d.completion.filterText,d.filterTextLow,0,this._fuzzyScoreOptions);if(!m)continue;KC(d.completion.filterText,d.textLabel)===0?d.score=m:(d.score=qC(o,n,f,d.textLabel,d.labelLow,0),d.score[0]=m[0])}else{const m=l(o,n,f,d.textLabel,d.labelLow,0,this._fuzzyScoreOptions);if(!m)continue;d.score=m}}d.idx=c,d.distance=this._wordDistance.distance(d.position,d.completion),a.push(d),e.push(d.textLabel.length)}this._filteredItems=a.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?GC(e.length-.85,e,(c,d)=>c-d):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]t.distance?1:e.idxt.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return 1;if(t.completion.kind===27)return-1}return pi._compareCompletionItems(e,t)}static _compareCompletionItemsSnippetsUp(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return-1;if(t.completion.kind===27)return 1}return pi._compareCompletionItems(e,t)}}var sD=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Gi=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},rD=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};class Zi{static shouldAutoTrigger(e){if(!e.hasModel())return!1;const t=e.getModel(),i=e.getPosition();t.tokenization.tokenizeIfCheap(i.lineNumber);const o=t.getWordAtPosition(i);return!(!o||o.endColumn!==i.column||!isNaN(Number(o.word)))}constructor(e,t,i){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.triggerOptions=i}}function aD(r,e,t){var i,o;if(!Boolean(e.getContextKeyValue("inlineSuggestionVisible")))return!0;const n=t.getValue("editor.inlineSuggest.allowQuickSuggestions",{overrideIdentifier:(i=r.getModel())===null||i===void 0?void 0:i.getLanguageId(),resource:(o=r.getModel())===null||o===void 0?void 0:o.uri});return n!==void 0?Boolean(n):!1}function lD(r,e,t){var i,o;if(!Boolean(e.getContextKeyValue("inlineSuggestionVisible")))return!0;const n=t.getValue("editor.inlineSuggest.allowSuggestOnTriggerCharacters",{overrideIdentifier:(i=r.getModel())===null||i===void 0?void 0:i.getLanguageId(),resource:(o=r.getModel())===null||o===void 0?void 0:o.uri});return n!==void 0?Boolean(n):!1}let Xc=class dv{constructor(e,t,i,o,n,s,a,l){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=o,this._logService=n,this._contextKeyService=s,this._configurationService=a,this._languageFeaturesService=l,this._toDispose=new R,this._triggerCharacterListener=new R,this._triggerQuickSuggest=new ko,this._triggerState=void 0,this._completionDisposables=new R,this._onDidCancel=new z,this._onDidTrigger=new z,this._onDidSuggest=new z,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new B(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let c=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{c=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{c=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(d=>{c||this._onCursorChange(d)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!c&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){We(this._triggerCharacterListener),We([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(86)||!this._editor.hasModel()||!this._editor.getOption(115))return;const e=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const o of i.triggerCharacters||[]){let n=e.get(o);n||(n=new Set,n.add(j0()),e.set(o,n)),n.add(i)}const t=i=>{var o;if(!lD(this._editor,this._contextKeyService,this._configurationService)||Zi.shouldAutoTrigger(this._editor))return;if(!i){const a=this._editor.getPosition();i=this._editor.getModel().getLineContent(a.lineNumber).substr(0,a.column-1)}let n="";ZC(i.charCodeAt(i.length-1))?XC(i.charCodeAt(i.length-2))&&(n=i.substr(i.length-2)):n=i.charAt(i.length-1);const s=e.get(n);if(s){const a=new Map;if(this._completionModel)for(const[l,c]of this._completionModel.getItemsByProvider())s.has(l)||a.set(l,c);this.trigger({auto:!0,triggerKind:1,triggerCharacter:n,retrigger:Boolean(this._completionModel),clipboardText:(o=this._completionModel)===null||o===void 0?void 0:o.clipboardText,completionOptions:{providerFilter:s,providerItemsToReuse:a}})}};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===void 0||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;const 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(){no.isAllOff(this._editor.getOption(84))||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!Zi.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const e=this._editor.getModel(),t=this._editor.getPosition(),i=this._editor.getOption(84);if(!no.isAllOff(i)){if(!no.isAllOn(i)){e.tokenization.tokenizeIfCheap(t.lineNumber);const o=e.tokenization.getLineTokens(t.lineNumber),n=o.getStandardTokenType(o.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(no.valueFor(i,n)!=="on")return}aD(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(e)&&this.trigger({auto:!0})}},this._editor.getOption(85)))}_refilterCompletionItems(){re(this._editor.hasModel()),re(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new Zi(e,t,Object.assign(Object.assign({},this._triggerState),{refilter:!0}));this._onNewContext(i)}trigger(e){var t,i,o,n,s,a;if(!this._editor.hasModel())return;const l=this._editor.getModel(),c=new Zi(l,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:(t=e.shy)!==null&&t!==void 0?t:!1,position:this._editor.getPosition()}),this._context=c;let d={triggerKind:(i=e.triggerKind)!==null&&i!==void 0?i:0};e.triggerCharacter&&(d={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new dt;const h=this._editor.getOption(106);let g=1;switch(h){case"top":g=0;break;case"bottom":g=2;break}const{itemKind:p,showDeprecated:f}=dv._createSuggestFilter(this._editor),m=new Ms(g,(n=(o=e.completionOptions)===null||o===void 0?void 0:o.kindFilter)!==null&&n!==void 0?n:p,(s=e.completionOptions)===null||s===void 0?void 0:s.providerFilter,(a=e.completionOptions)===null||a===void 0?void 0:a.providerItemsToReuse,f),v=xt.create(this._editorWorkerService,this._editor),C=_u(this._languageFeaturesService.completionProvider,l,this._editor.getPosition(),m,d,this._requestToken.token);Promise.all([C,v]).then(([S,y])=>rD(this,void 0,void 0,function*(){var I;if((I=this._requestToken)===null||I===void 0||I.dispose(),!this._editor.hasModel())return;let T=e==null?void 0:e.clipboardText;if(!T&&S.needsClipboard&&(T=yield this._clipboardService.readText()),this._triggerState===void 0)return;const j=this._editor.getModel(),U=new Zi(j,this._editor.getPosition(),e),ht=Object.assign(Object.assign({},Xf.default),{firstMatchCanBeWeak:!this._editor.getOption(112).matchOnWordStartOnly});this._completionModel=new pi(S.items,this._context.column,{leadingLineContent:U.leadingLineContent,characterCountDelta:U.column-this._context.column},y,this._editor.getOption(112),this._editor.getOption(106),ht,T),this._completionDisposables.add(S.disposable),this._onNewContext(U),this._reportDurationsTelemetry(S.durations)})).catch(ie)}_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){const t=new Set;e.getOption(106)==="none"&&t.add(27);const o=e.getOption(112);return o.showMethods||t.add(0),o.showFunctions||t.add(1),o.showConstructors||t.add(2),o.showFields||t.add(3),o.showVariables||t.add(4),o.showClasses||t.add(5),o.showStructs||t.add(6),o.showInterfaces||t.add(7),o.showModules||t.add(8),o.showProperties||t.add(9),o.showEvents||t.add(10),o.showOperators||t.add(11),o.showUnits||t.add(12),o.showValues||t.add(13),o.showConstants||t.add(14),o.showEnums||t.add(15),o.showEnumMembers||t.add(16),o.showKeywords||t.add(17),o.showWords||t.add(18),o.showColors||t.add(19),o.showFiles||t.add(20),o.showReferences||t.add(21),o.showColors||t.add(22),o.showFolders||t.add(23),o.showTypeParameters||t.add(24),o.showSnippets||t.add(27),o.showUsers||t.add(25),o.showIssues||t.add(26),{itemKind:t,showDeprecated:o.showDeprecated}}_onNewContext(e){if(this._context){if(e.lineNumber!==this._context.lineNumber){this.cancel();return}if(be(e.leadingLineContent)!==be(this._context.leadingLineContent)){this.cancel();return}if(e.columnthis._context.leadingWord.startColumn){if(Zi.shouldAutoTrigger(this._editor)&&this._context){const i=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:i}})}return}if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&e.leadingWord.word.length!==0){const t=new Map,i=new Set;for(const[o,n]of this._completionModel.getItemsByProvider())n.length>0&&n[0].container.incomplete?i.add(o):t.set(o,n);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:i,providerItemsToReuse:t}})}else{const t=this._completionModel.lineContext;let i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},this._completionModel.items.length===0){const o=Zi.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(o&&this._context.leadingWord.endColumn0,i&&e.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:i})}}}}};Xc=sD([Gi(1,rr),Gi(2,Do),Gi(3,Fi),Gi(4,ol),Gi(5,Q),Gi(6,he),Gi(7,V)],Xc);class Ol{constructor(e,t){this._disposables=new R,this._lastOvertyped=[],this._locked=!1,this._disposables.add(e.onWillType(()=>{if(this._locked||!e.hasModel())return;const i=e.getSelections(),o=i.length;let n=!1;for(let a=0;aOl._maxSelectionLength)return;this._lastOvertyped[a]={value:s.getValueInRange(l),multiline:l.startLineNumber!==l.endLineNumber}}})),this._disposables.add(t.onDidTrigger(i=>{this._locked=!0})),this._disposables.add(t.onDidCancel(i=>{this._locked=!1}))}getLastOvertypedInfo(e){if(e>=0&&e=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Wd=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};class Nu extends kf{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();this.label&&(this.label.textContent=u({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",this._action.label,Nu.symbolPrintEnter(e)))}static symbolPrintEnter(e){var t;return(t=e.getLabel())===null||t===void 0?void 0:t.replace(/\benter\b/gi,"⏎")}}let Qc=class{constructor(e,t,i,o,n){this._menuId=t,this._menuService=o,this._contextKeyService=n,this._menuDisposables=new R,this.element=M(e,P(".suggest-status-bar"));const s=a=>a instanceof ho?i.createInstance(Nu,a,void 0):void 0;this._leftActions=new cn(this.element,{actionViewItemProvider:s}),this._rightActions=new cn(this.element,{actionViewItemProvider:s}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this.element.remove()}show(){const e=this._menuService.createMenu(this._menuId,this._contextKeyService),t=()=>{const i=[],o=[];for(const[n,s]of e.getActions())n==="left"?i.push(...s):o.push(...s);this._leftActions.clear(),this._leftActions.push(i),this._rightActions.clear(),this._rightActions.push(o)};this._menuDisposables.add(e.onDidChange(()=>t())),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};Qc=dD([Wd(2,G),Wd(3,Mo),Wd(4,Q)],Qc);class cv{constructor(){this._onDidWillResize=new z,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new z,this.onDidResize=this._onDidResize.event,this._sashListener=new R,this._size=new pe(0,0),this._minSize=new pe(0,0),this._maxSize=new pe(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new Jn(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new Jn(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new Jn(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:ug.North}),this._southSash=new Jn(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:ug.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let e,t=0,i=0;this._sashListener.add(He.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{e===void 0&&(this._onDidWillResize.fire(),e=this._size,t=0,i=0)})),this._sashListener.add(He.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{e!==void 0&&(e=void 0,t=0,i=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(o=>{e&&(i=o.currentX-o.startX,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(o=>{e&&(i=-(o.currentX-o.startX),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(o=>{e&&(t=-(o.currentY-o.startY),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(o=>{e&&(t=o.currentY-o.startY,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(He.any(this._eastSash.onDidReset,this._westSash.onDidReset)(o=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(He.any(this._northSash.onDidReset,this._southSash.onDidReset)(o=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(e,t,i,o){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=i?3:0,this._westSash.state=o?3:0}layout(e=this.size.height,t=this.size.width){const{height:i,width:o}=this._minSize,{height:n,width:s}=this._maxSize;e=Math.max(i,Math.min(n,e)),t=Math.max(o,Math.min(s,t));const a=new pe(t,e);pe.equals(a,this._size)||(this.domNode.style.height=e+"px",this.domNode.style.width=t+"px",this._size=a,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(e){this._maxSize=e}get maxSize(){return this._maxSize}set minSize(e){this._minSize=e}get minSize(){return this._minSize}set preferredSize(e){this._preferredSize=e}get preferredSize(){return this._preferredSize}}var cD=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},hD=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};function Mu(r){return!!r&&Boolean(r.completion.documentation||r.completion.detail&&r.completion.detail!==r.completion.label)}let Yc=class{constructor(e,t){this._editor=e,this._onDidClose=new z,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new z,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new R,this._renderDisposeable=new R,this._borderWidth=1,this._size=new pe(330,0),this.domNode=P(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(hi,{editor:e}),this._body=P(".body"),this._scrollbar=new zh(this._body,{alwaysConsumeMouseWheel:!0}),M(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=M(this._body,P(".header")),this._close=M(this._header,P("span"+ee.asCSSSelector(Y.close))),this._close.title=u("details.close","Close"),this._type=M(this._header,P("p.type")),this._docs=M(this._body,P("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(47)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const e=this._editor.getOptions(),t=e.get(47),i=t.getMassagedFontFamily(),o=e.get(113)||t.fontSize,n=e.get(114)||t.lineHeight,s=t.fontWeight,a=`${o}px`,l=`${n}px`;this.domNode.style.fontSize=a,this.domNode.style.lineHeight=`${n/o}`,this.domNode.style.fontWeight=s,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=i,this._close.style.height=l,this._close.style.width=l}getLayoutInfo(){const e=this._editor.getOption(114)||this._editor.getOption(47).lineHeight,t=this._borderWidth,i=t*2;return{lineHeight:e,borderWidth:t,borderHeight:i,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=u("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){var i,o;this._renderDisposeable.clear();let{detail:n,documentation:s}=e.completion;if(t){let a="";a+=`score: ${e.score[0]} `,a+=`prefix: ${(i=e.word)!==null&&i!==void 0?i:"(no prefix)"} `,a+=`word: ${e.completion.filterText?e.completion.filterText+" (filterText)":e.textLabel} `,a+=`distance: ${e.distance} (localityBonus-setting) `,a+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||"label"} `,a+=`commit_chars: ${(o=e.completion.commitCharacters)===null||o===void 0?void 0:o.join("")} `,s=new je().appendCodeblock("empty",a),n=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!Mu(e)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),n){const a=n.length>1e5?`${n.substr(0,1e5)}…`:n;this._type.textContent=a,this._type.title=a,rt(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(a))}else Rt(this._type),this._type.title="",Ke(this._type),this.domNode.classList.add("no-type");if(Rt(this._docs),typeof s=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=s;else if(s){this._docs.classList.add("markdown-docs"),Rt(this._docs);const a=this._markdownRenderer.render(s);this._docs.appendChild(a.element),this._renderDisposeable.add(a),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=a=>{a.preventDefault(),a.stopPropagation()},this._close.onclick=a=>{a.preventDefault(),a.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 size(){return this._size}layout(e,t){const i=new pe(e,t);pe.equals(i,this._size)||(this._size=i,QC(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}};Yc=cD([hD(1,G)],Yc);class uD{constructor(e,t){this.widget=e,this._editor=t,this._disposables=new R,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new cv,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let i,o,n=0,s=0;this._disposables.add(this._resizable.onDidWillResize(()=>{i=this._topLeft,o=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(a=>{if(i&&o){this.widget.layout(a.dimension.width,a.dimension.height);let l=!1;a.west&&(s=o.width-a.dimension.width,l=!0),a.north&&(n=o.height-a.dimension.height,l=!0),l&&this._applyTopLeft({top:i.top+n,left:i.left+s})}a.done&&(i=void 0,o=void 0,n=0,s=0,this._userSize=a.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{var a;this._anchorBox&&this._placeAtAnchor(this._anchorBox,(a=this._userSize)!==null&&a!==void 0?a: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 null}show(){this._added||(this._editor.addOverlayWidget(this),this.getDomNode().style.position="fixed",this._added=!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){var i;const o=e.getBoundingClientRect();this._anchorBox=o,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,(i=this._userSize)!==null&&i!==void 0?i:this.widget.size,t)}_placeAtAnchor(e,t,i){var o;const n=Yf(document.body),s=this.widget.getLayoutInfo(),a=new pe(220,2*s.lineHeight),l=e.top,c=function(){const y=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),I=-s.borderWidth+e.left+e.width,T=new pe(y,n.height-e.top-s.borderHeight-s.verticalPadding),j=T.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:l,left:I,fit:y-t.width,maxSizeTop:T,maxSizeBottom:j,minSize:a.with(Math.min(y,a.width))}}(),d=function(){const y=e.left-s.borderWidth-s.horizontalPadding,I=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),T=new pe(y,n.height-e.top-s.borderHeight-s.verticalPadding),j=T.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:l,left:I,fit:y-t.width,maxSizeTop:T,maxSizeBottom:j,minSize:a.with(Math.min(y,a.width))}}(),h=function(){const y=e.left,I=-s.borderWidth+e.top+e.height,T=new pe(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:I,left:y,fit:T.height-t.height,maxSizeBottom:T,maxSizeTop:T,minSize:a.with(T.width)}}(),g=[c,d,h],p=(o=g.find(y=>y.fit>=0))!==null&&o!==void 0?o:g.sort((y,I)=>I.fit-y.fit)[0],f=e.top+e.height-s.borderHeight;let m,v=t.height;const C=Math.max(p.maxSizeTop.height,p.maxSizeBottom.height);v>C&&(v=C);let S;i?v<=p.maxSizeTop.height?(m=!0,S=p.maxSizeTop):(m=!1,S=p.maxSizeBottom):v<=p.maxSizeBottom.height?(m=!1,S=p.maxSizeBottom):(m=!0,S=p.maxSizeTop),this._applyTopLeft({left:p.left,top:m?p.top:f-v}),this.getDomNode().style.position="fixed",this._resizable.enableSashes(!m,p===c,m,p!==c),this._resizable.minSize=p.minSize,this._resizable.maxSize=S,this._resizable.layout(v,Math.min(S.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this.getDomNode().style.left=`${this._topLeft.left}px`,this.getDomNode().style.top=`${this._topLeft.top}px`}}var oi;(function(r){r[r.FILE=0]="FILE",r[r.FOLDER=1]="FOLDER",r[r.ROOT_FOLDER=2]="ROOT_FOLDER"})(oi||(oi={}));const gD=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function Kr(r,e,t,i){const o=i===oi.ROOT_FOLDER?["rootfolder-icon"]:i===oi.FOLDER?["folder-icon"]:["file-icon"];if(t){let n;if(t.scheme===Ci.data)n=La.parseMetaData(t).get(La.META_DATA_LABEL);else{const s=t.path.match(gD);s?(n=qr(s[2].toLowerCase()),s[1]&&o.push(`${qr(s[1].toLowerCase())}-name-dir-icon`)):n=qr(t.authority.toLowerCase())}if(i===oi.FOLDER)o.push(`${n}-name-folder-icon`);else{if(n){if(o.push(`${n}-name-file-icon`),o.push("name-file-icon"),n.length<=255){const a=n.split(".");for(let l=1;l=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Hd=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},Qo;function hv(r){return`suggest-aria-id:${r}`}const mD=Ie("suggest-more-info",Y.chevronRight,u("suggestMoreInfoIcon","Icon for more information in the suggest widget.")),_D=new(Qo=class ga{extract(e,t){if(e.textLabel.match(ga._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(ga._regexStrict))return t[0]=e.completion.detail,!0;if(typeof e.completion.documentation=="string"){const i=ga._regexRelaxed.exec(e.completion.documentation);if(i&&(i.index===0||i.index+i[0].length===e.completion.documentation.length))return t[0]=i[0],!0}return!1}},Qo._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*\))/,Qo._regexStrict=new RegExp(`^${Qo._regexRelaxed.source}$`,"i"),Qo);let Jc=class{constructor(e,t,i,o){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=o,this._onDidToggleDetails=new z,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new R,i=e;i.classList.add("show-file-icons");const o=M(e,P(".icon")),n=M(o,P("span.colorspan")),s=M(e,P(".contents")),a=M(s,P(".main")),l=M(a,P(".icon-label.codicon")),c=M(a,P("span.left")),d=M(a,P("span.right")),h=new mf(c,{supportHighlights:!0,supportIcons:!0});t.add(h);const g=M(c,P("span.signature-label")),p=M(c,P("span.qualifier-label")),f=M(d,P("span.details-label")),m=M(d,P("span.readMore"+ee.asCSSSelector(mD)));m.title=u("readMore","Read More");const v=()=>{const C=this._editor.getOptions(),S=C.get(47),y=S.getMassagedFontFamily(),I=S.fontFeatureSettings,T=C.get(113)||S.fontSize,j=C.get(114)||S.lineHeight,U=S.fontWeight,ht=S.letterSpacing,nt=`${T}px`,Fe=`${j}px`,Ot=`${ht}px`;i.style.fontSize=nt,i.style.fontWeight=U,i.style.letterSpacing=Ot,a.style.fontFamily=y,a.style.fontFeatureSettings=I,a.style.lineHeight=Fe,o.style.height=Fe,o.style.width=Fe,m.style.height=Fe,m.style.width=Fe};return v(),t.add(this._editor.onDidChangeConfiguration(C=>{(C.hasChanged(47)||C.hasChanged(113)||C.hasChanged(114))&&v()})),{root:i,left:c,right:d,icon:o,colorspan:n,iconLabel:h,iconContainer:l,parametersLabel:g,qualifierLabel:p,detailsLabel:f,readMore:m,disposables:t}}renderElement(e,t,i){const{completion:o}=e;i.root.id=hv(t),i.colorspan.style.backgroundColor="";const n={labelEscapeNewLines:!0,matches:tl(e.score)},s=[];if(o.kind===19&&_D.extract(e,s))i.icon.className="icon customcolor",i.iconContainer.className="icon hide",i.colorspan.style.backgroundColor=s[0];else if(o.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){i.icon.className="icon hide",i.iconContainer.className="icon hide";const a=Kr(this._modelService,this._languageService,te.from({scheme:"fake",path:e.textLabel}),oi.FILE),l=Kr(this._modelService,this._languageService,te.from({scheme:"fake",path:o.detail}),oi.FILE);n.extraClasses=a.length>l.length?a:l}else o.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",n.extraClasses=[Kr(this._modelService,this._languageService,te.from({scheme:"fake",path:e.textLabel}),oi.FOLDER),Kr(this._modelService,this._languageService,te.from({scheme:"fake",path:o.detail}),oi.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...ee.asClassNameArray(Qh.toIcon(o.kind))));o.tags&&o.tags.indexOf(1)>=0&&(n.extraClasses=(n.extraClasses||[]).concat(["deprecated"]),n.matches=[]),i.iconLabel.setLabel(e.textLabel,void 0,n),typeof o.label=="string"?(i.parametersLabel.textContent="",i.detailsLabel.textContent=Vd(o.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=Vd(o.label.detail||""),i.detailsLabel.textContent=Vd(o.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(112).showInlineDetails?rt(i.detailsLabel):Ke(i.detailsLabel),Mu(e)?(i.right.classList.add("can-expand-details"),rt(i.readMore),i.readMore.onmousedown=a=>{a.stopPropagation(),a.preventDefault()},i.readMore.onclick=a=>{a.stopPropagation(),a.preventDefault(),this._onDidToggleDetails.fire()}):(i.right.classList.remove("can-expand-details"),Ke(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};Jc=fD([Hd(1,Qe),Hd(2,bt),Hd(3,Et)],Jc);function Vd(r){return r.replace(/\r\n|\r|\n/g,"")}var vD=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Gr=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},bD=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};A("editorSuggestWidget.background",{dark:to,light:to,hcDark:to,hcLight:to},u("editorSuggestWidgetBackground","Background color of the suggest widget."));A("editorSuggestWidget.border",{dark:ns,light:ns,hcDark:ns,hcLight:ns},u("editorSuggestWidgetBorder","Border color of the suggest widget."));const Zr=A("editorSuggestWidget.foreground",{dark:fi,light:fi,hcDark:fi,hcLight:fi},u("editorSuggestWidgetForeground","Foreground color of the suggest widget."));A("editorSuggestWidget.selectedForeground",{dark:Ir,light:Ir,hcDark:Ir,hcLight:Ir},u("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));A("editorSuggestWidget.selectedIconForeground",{dark:Dr,light:Dr,hcDark:Dr,hcLight:Dr},u("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const CD=A("editorSuggestWidget.selectedBackground",{dark:Tr,light:Tr,hcDark:Tr,hcLight:Tr},u("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));A("editorSuggestWidget.highlightForeground",{dark:mi,light:mi,hcDark:mi,hcLight:mi},u("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));A("editorSuggestWidget.focusHighlightForeground",{dark:Rr,light:Rr,hcDark:Rr,hcLight:Rr},u("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));A("editorSuggestWidgetStatus.foreground",{dark:qe(Zr,.5),light:qe(Zr,.5),hcDark:qe(Zr,.5),hcLight:qe(Zr,.5)},u("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class SD{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Di}`}restore(){var e;const t=(e=this._service.get(this._key,0))!==null&&e!==void 0?e:"";try{const i=JSON.parse(t);if(pe.is(i))return pe.lift(i)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}let Vs=class eh{constructor(e,t,i,o,n){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new Ve,this._pendingShowDetails=new Ve,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new ko,this._disposables=new R,this._onDidSelect=new gg,this._onDidFocus=new gg,this._onDidHide=new z,this._onDidShow=new z,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new z,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new cv,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new wD(this,e),this._persistedSize=new SD(t,e);class s{constructor(p,f,m=!1,v=!1){this.persistedSize=p,this.currentSize=f,this.persistHeight=m,this.persistWidth=v}}let a;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),a=new s(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(g=>{var p,f,m,v;if(this._resize(g.dimension.width,g.dimension.height),a&&(a.persistHeight=a.persistHeight||!!g.north||!!g.south,a.persistWidth=a.persistWidth||!!g.east||!!g.west),!!g.done){if(a){const{itemHeight:C,defaultSize:S}=this.getLayoutInfo(),y=Math.round(C/2);let{width:I,height:T}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-T)<=y)&&(T=(f=(p=a.persistedSize)===null||p===void 0?void 0:p.height)!==null&&f!==void 0?f:S.height),(!a.persistWidth||Math.abs(a.currentSize.width-I)<=y)&&(I=(v=(m=a.persistedSize)===null||m===void 0?void 0:m.width)!==null&&v!==void 0?v:S.width),this._persistedSize.store(new pe(I,T))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=M(this.element.domNode,P(".message")),this._listElement=M(this.element.domNode,P(".tree"));const l=n.createInstance(Yc,this.editor);l.onDidClose(this.toggleDetails,this,this._disposables),this._details=new uD(l,this.editor);const c=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(112).showIcons);c();const d=n.createInstance(Jc,this.editor);this._disposables.add(d),this._disposables.add(d.onDidToggleDetails(()=>this.toggleDetails())),this._list=new rf("SuggestWidget",this._listElement,{getHeight:g=>this.getLayoutInfo().itemHeight,getTemplateId:g=>"suggestion"},[d],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>u("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:g=>{let p=g.textLabel;if(typeof g.completion.label!="string"){const{detail:C,description:S}=g.completion.label;C&&S?p=u("label.full","{0}{1}, {2}",p,C,S):C?p=u("label.detail","{0}{1}",p,C):S&&(p=u("label.desc","{0}, {1}",p,S))}if(!g.isResolved||!this._isDetailsVisible())return p;const{documentation:f,detail:m}=g.completion,v=ni("{0}{1}",m||"",f?typeof f=="string"?f:f.value:"");return u("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",p,v)}}}),this._list.style(YC({listInactiveFocusBackground:CD,listInactiveFocusOutline:hn})),this._status=n.createInstance(Qc,this.element.domNode,yi);const h=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(112).showStatusBar);h(),this._disposables.add(o.onDidColorThemeChange(g=>this._onThemeChange(g))),this._onThemeChange(o.getColorTheme()),this._disposables.add(this._list.onMouseDown(g=>this._onListMouseDownOrTap(g))),this._disposables.add(this._list.onTap(g=>this._onListMouseDownOrTap(g))),this._disposables.add(this._list.onDidChangeSelection(g=>this._onListSelection(g))),this._disposables.add(this._list.onDidChangeFocus(g=>this._onListFocus(g))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(g=>{g.hasChanged(112)&&(h(),c())})),this._ctxSuggestWidgetVisible=$.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=$.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=$.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=$.HasFocusedSuggestion.bindTo(i),this._disposables.add(Mn(this._details.widget.domNode,"keydown",g=>{this._onDetailsKeydown.fire(g)})),this._disposables.add(this.editor.onMouseDown(g=>this._onEditorMouseDown(g)))}dispose(){var e;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),(e=this._loadingTimeout)===null||e===void 0||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){typeof e.element>"u"||typeof e.index>"u"||(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){const i=this._completionModel;i&&(this._onDidSelect.fire({item:e,index:t,model:i}),this.editor.focus())}_onThemeChange(e){this._details.widget.borderWidth=ya(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);const i=e.elements[0],o=e.indexes[0];i!==this._focusedItem&&((t=this._currentSuggestionDetails)===null||t===void 0||t.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=i,this._list.reveal(o),this._currentSuggestionDetails=Ce(n=>bD(this,void 0,void 0,function*(){const s=va(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250),a=n.onCancellationRequested(()=>s.dispose()),l=yield i.resolve(n);return s.dispose(),a.dispose(),l})),this._currentSuggestionDetails.then(()=>{o>=this._list.length||i!==this._list.element(o)||(this._ignoreFocusEvents=!0,this._list.splice(o,1,[i]),this._list.setFocus([o]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:hv(o)}))}).catch(ie)),this._onDidFocus.fire({item:i,index:o,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:Ke(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=eh.LOADING_MESSAGE,Ke(this._listElement,this._status.element),rt(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0;break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=eh.NO_SUGGESTIONS_MESSAGE,Ke(this._listElement,this._status.element),rt(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0;break;case 3:Ke(this._messageElement),rt(this._listElement,this._status.element),this._show();break;case 4:Ke(this._messageElement),rt(this._listElement,this._status.element),this._show();break;case 5:Ke(this._messageElement),rt(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=va(()=>this._setState(1),t)))}showSuggestions(e,t,i,o,n){var s,a;if(this._contentWidget.setPosition(this.editor.getPosition()),(s=this._loadingTimeout)===null||s===void 0||s.dispose(),(a=this._currentSuggestionDetails)===null||a===void 0||a.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),i&&this._state!==2&&this._state!==0){this._setState(4);return}const l=this._completionModel.items.length,c=l===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(l>1),c){this._setState(o?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(i?4:3),this._list.reveal(t,0),this._list.setFocus(n?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=pg(()=>{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")):(Mu(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=pg(()=>{this._pendingShowDetails.clear(),this._details.show(),e?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._positionDetails(),this.editor.focus(),this.element.domNode.classList.add("shows-details")})}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===void 0||e.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const t=this._persistedSize.restore(),i=Math.ceil(this.getLayoutInfo().itemHeight*4.3);t&&t.heightc&&(l=c);const d=this._completionModel?this._completionModel.stats.pLabelLen*s.typicalHalfwidthCharacterWidth:l,h=s.statusBarHeight+this._list.contentHeight+s.borderHeight,g=s.itemHeight+s.statusBarHeight,p=Gt(this.editor.getDomNode()),f=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),m=p.top+f.top+f.height,v=Math.min(n.height-m-s.verticalPadding,h),C=p.top+f.top-s.verticalPadding,S=Math.min(C,h);let y=Math.min(Math.max(S,v)+s.borderHeight,h);a===((t=this._cappedHeight)===null||t===void 0?void 0:t.capped)&&(a=this._cappedHeight.wanted),ay&&(a=y);const I=150;a>v||this._forceRenderingAbove&&C>I?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),y=S):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),y=v),this.element.preferredSize=new pe(d,s.defaultSize.height),this.element.maxSize=new pe(c,y),this.element.minSize=new pe(220,g),this._cappedHeight=a===h?{wanted:(o=(i=this._cappedHeight)===null||i===void 0?void 0:i.wanted)!==null&&o!==void 0?o:e.height,capped:a}:void 0}this._resize(l,a)}_resize(e,t){const{width:i,height:o}=this.element.maxSize;e=Math.min(i,e),t=Math.min(o,t);const{statusBarHeight:n}=this.getLayoutInfo();this._list.layout(t-n,e),this._listElement.style.height=`${t-n}px`,this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var e;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,((e=this._contentWidget.getPosition())===null||e===void 0?void 0:e.preference[0])===2)}getLayoutInfo(){const e=this.editor.getOption(47),t=JC(this.editor.getOption(114)||e.lineHeight,8,1e3),i=!this.editor.getOption(112).showStatusBar||this._state===2||this._state===1?0:t,o=this._details.widget.borderWidth,n=2*o;return{itemHeight:t,statusBarHeight:i,borderWidth:o,borderHeight:n,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new pe(430,i+12*t+n)}}_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}};Vs.LOADING_MESSAGE=u("suggestWidget.loading","Loading...");Vs.NO_SUGGESTIONS_MESSAGE=u("suggestWidget.noSuggestions","No suggestions.");Vs=vD([Gr(1,Bi),Gr(2,Q),Gr(3,Et),Gr(4,G)],Vs);class wD{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(){const{height:e,width:t}=this._widget.element.size,{borderWidth:i,horizontalPadding:o}=this._widget.getLayoutInfo();return new pe(t+2*i+o,e+2*i)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}}var yD=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Kn=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};class xD{constructor(e,t){if(this._model=e,this._position=t,e.getLineMaxColumn(t.lineNumber)!==t.column){const o=e.getOffsetAt(t),n=e.getPositionAt(o+1);this._marker=e.deltaDecorations([],[{range:b.fromPositions(t,n),options:{description:"suggest-line-suffix",stickiness:1}}])}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.deltaDecorations(this._marker,[])}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){const t=this._model.getDecorationRange(this._marker[0]);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}else return this._model.getLineMaxColumn(e.lineNumber)-e.column}}let ft=class uv{static get(e){return e.getContribution(uv.ID)}constructor(e,t,i,o,n,s,a){this._memoryService=t,this._commandService=i,this._contextKeyService=o,this._instantiationService=n,this._logService=s,this._telemetryService=a,this._lineSuffix=new Ve,this._toDispose=new R,this._selectors=new LD(h=>h.priority),this._telemetryGate=0,this.editor=e,this.model=n.createInstance(Xc,this.editor),this._selectors.register({priority:0,select:(h,g,p)=>this._memoryService.select(h,g,p)});const l=$.InsertMode.bindTo(o);l.set(e.getOption(112).insertMode),this.model.onDidTrigger(()=>l.set(e.getOption(112).insertMode)),this.widget=this._toDispose.add(new ld(()=>{const h=this._instantiationService.createInstance(Vs,this.editor);this._toDispose.add(h),this._toDispose.add(h.onDidSelect(v=>this._insertSuggestion(v,0),this));const g=new iD(this.editor,h,this.model,v=>this._insertSuggestion(v,2));this._toDispose.add(g);const p=$.MakesTextEdit.bindTo(this._contextKeyService),f=$.HasInsertAndReplaceRange.bindTo(this._contextKeyService),m=$.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(ce(()=>{p.reset(),f.reset(),m.reset()})),this._toDispose.add(h.onDidFocus(({item:v})=>{const C=this.editor.getPosition(),S=v.editStart.column,y=C.column;let I=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!v.completion.additionalTextEdits&&!(v.completion.insertTextRules&4)&&y-S===v.completion.insertText.length&&(I=this.editor.getModel().getValueInRange({startLineNumber:C.lineNumber,startColumn:S,endLineNumber:C.lineNumber,endColumn:y})!==v.completion.insertText),p.set(I),f.set(!H.equals(v.editInsertEnd,v.editReplaceEnd)),m.set(Boolean(v.provider.resolveCompletionItem)||Boolean(v.completion.documentation)||v.completion.detail!==v.completion.label)})),this._toDispose.add(h.onDetailsKeyDown(v=>{if(v.toKeyCodeChord().equals(new fg(!0,!1,!1,!1,33))||vt&&v.toKeyCodeChord().equals(new fg(!1,!1,!1,!0,33))){v.stopPropagation();return}v.toKeyCodeChord().isModifierKey()||this.editor.focus()})),h})),this._overtypingCapturer=this._toDispose.add(new ld(()=>this._toDispose.add(new Ol(this.editor,this.model)))),this._alternatives=this._toDispose.add(new ld(()=>this._toDispose.add(new yn(this.editor,this._contextKeyService)))),this._toDispose.add(n.createInstance(Hs,e)),this._toDispose.add(this.model.onDidTrigger(h=>{this.widget.value.showTriggered(h.auto,h.shy?250:50),this._lineSuffix.value=new xD(this.editor.getModel(),h.position)})),this._toDispose.add(this.model.onDidSuggest(h=>{var g;if(h.triggerOptions.shy)return;let p=-1;for(const m of this._selectors.itemsOrderedByPriorityDesc)if(p=m.select(this.editor.getModel(),this.editor.getPosition(),h.completionModel.items),p!==-1)break;p===-1&&(p=0);let f=!1;if(h.triggerOptions.auto){const m=this.editor.getOption(112);m.snippetsPreventQuickSuggestions&&(!((g=ve.get(this.editor))===null||g===void 0)&&g.isInSnippet())?f=!0:m.selectionMode==="never"||m.selectionMode==="always"?f=m.selectionMode==="never":m.selectionMode==="whenTriggerCharacter"?f=h.triggerOptions.triggerKind!==1:m.selectionMode==="whenQuickSuggestion"&&(f=h.triggerOptions.triggerKind===1&&!h.triggerOptions.refilter)}this.widget.value.showSuggestions(h.completionModel,p,h.isFrozen,h.triggerOptions.auto,f)})),this._toDispose.add(this.model.onDidCancel(h=>{h.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));const c=$.AcceptSuggestionsOnEnter.bindTo(o),d=()=>{const h=this.editor.getOption(1);c.set(h==="on"||h==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>d())),d()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose()}_insertSuggestion(e,t){if(!e||!e.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;const i=ve.get(this.editor);if(!i)return;const o=this.editor.getModel(),n=o.getAlternativeVersionId(),{item:s}=e,a=[],l=new dt;t&1||this.editor.pushUndoStop();const c=this.getOverwriteInfo(s,Boolean(t&8));if(this._memoryService.memorize(o,this.editor.getPosition(),s),Array.isArray(s.completion.additionalTextEdits)){const h=co.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",s.completion.additionalTextEdits.map(g=>ae.replaceMove(b.lift(g.range),g.text))),h.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!s.isResolved){const h=new jt(!0);let g;const p=o.onDidChangeContent(C=>{if(C.isFlush){l.cancel(),p.dispose();return}for(const S of C.changes){const y=b.getEndPosition(S.range);(!g||H.isBefore(y,g))&&(g=y)}}),f=t;t|=2;let m=!1;const v=this.editor.onWillType(()=>{v.dispose(),m=!0,f&2||this.editor.pushUndoStop()});a.push(s.resolve(l.token).then(()=>{if(!s.completion.additionalTextEdits||l.token.isCancellationRequested||g&&s.completion.additionalTextEdits.some(S=>H.isBefore(g,b.getStartPosition(S.range))))return!1;m&&this.editor.pushUndoStop();const C=co.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",s.completion.additionalTextEdits.map(S=>ae.replaceMove(b.lift(S.range),S.text))),C.restoreRelativeVerticalPositionOfCursor(this.editor),(m||!(f&2))&&this.editor.pushUndoStop(),!0}).then(C=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",h.elapsed(),C),p.dispose(),v.dispose()}))}let{insertText:d}=s.completion;s.completion.insertTextRules&4||(d=ki.escape(d)),this.model.cancel(),i.insert(d,{overwriteBefore:c.overwriteBefore,overwriteAfter:c.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(s.completion.insertTextRules&1),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),t&2||this.editor.pushUndoStop(),s.completion.command&&(s.completion.command.id===vr.id?this.model.trigger({auto:!0,retrigger:!0}):a.push(this._commandService.executeCommand(s.completion.command.id,...s.completion.command.arguments?[...s.completion.command.arguments]:[]).catch(ie))),t&4&&this._alternatives.value.set(e,h=>{for(l.cancel();o.canUndo();){n!==o.getAlternativeVersionId()&&o.undo(),this._insertSuggestion(h,3|(t&8?8:0));break}}),this._alertCompletionItem(s),Promise.all(a).finally(()=>{this._reportSuggestionAcceptedTelemetry(s,o,e),this.model.clear(),l.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,i){var o;if(this._telemetryGate++%100!==0)return;const n=e.extensionId?e.extensionId.value:((o=i.item.provider._debugDisplayName)!==null&&o!==void 0?o:"unknown").split("(",1)[0].toLowerCase();this._telemetryService.publicLog2("suggest.acceptedSuggestion",{providerId:n,kind:e.completion.kind,basenameHash:jf(Kt(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:eS(t.uri)})}getOverwriteInfo(e,t){re(this.editor.hasModel());let i=this.editor.getOption(112).insertMode==="replace";t&&(i=!i);const o=e.position.column-e.editStart.column,n=(i?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column,s=this.editor.getPosition().column-e.position.column,a=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:o+s,overwriteAfter:n+a}}_alertCompletionItem(e){if(Ge(e.completion.additionalTextEdits)){const t=u("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);lt(t)}}triggerSuggest(e,t,i){this.editor.hasModel()&&(this.model.trigger({auto:t??!1,completionOptions:{providerFilter:e,kindFilter:i?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;const t=this.editor.getPosition(),i=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},o=n=>{if(n.completion.insertTextRules&4||n.completion.additionalTextEdits)return!0;const s=this.editor.getPosition(),a=n.editStart.column,l=s.column;return l-a!==n.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:s.lineNumber,startColumn:a,endLineNumber:s.lineNumber,endColumn:l})!==n.completion.insertText};He.once(this.model.onDidTrigger)(n=>{const s=[];He.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{We(s),i()},void 0,s),this.model.onDidSuggest(({completionModel:a})=>{if(We(s),a.items.length===0){i();return}const l=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),a.items),c=a.items[l];if(!o(c)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:l,item:c,model:a},7)},void 0,s)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const i=this.widget.value.getFocusedItem();let o=0;e&&(o|=4),t&&(o|=8),this._insertSuggestion(i,o)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(e){return this._selectors.register(e)}};ft.ID="editor.contrib.suggestController";ft=yD([Kn(1,Al),Kn(2,$e),Kn(3,Q),Kn(4,G),Kn(5,ol),Kn(6,Fi)],ft);class LD{constructor(e){this.prioritySelector=e,this._items=new Array}register(e){if(this._items.indexOf(e)!==-1)throw new Error("Value is already registered");return this._items.push(e),this._items.sort((t,i)=>this.prioritySelector(i)-this.prioritySelector(t)),{dispose:()=>{const t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class vr extends L{constructor(){super({id:vr.id,label:u("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:x.and(_.writable,_.hasCompletionItemProvider,$.Visible.toNegated()),kbOpts:{kbExpr:_.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const o=ft.get(t);if(!o)return;let n;i&&typeof i=="object"&&i.auto===!0&&(n=!0),o.triggerSuggest(void 0,n,void 0)}}vr.id="editor.action.triggerSuggest";K(ft.ID,ft,2);w(vr);const tt=100+90,Oe=ct.bindToContribution(ft.get);F(new Oe({id:"acceptSelectedSuggestion",precondition:x.and($.Visible,$.HasFocusedSuggestion),handler(r){r.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:x.and($.Visible,_.textInputFocus),weight:tt},{primary:3,kbExpr:x.and($.Visible,_.textInputFocus,$.AcceptSuggestionsOnEnter,$.MakesTextEdit),weight:tt}],menuOpts:[{menuId:yi,title:u("accept.insert","Insert"),group:"left",order:1,when:$.HasInsertAndReplaceRange.toNegated()},{menuId:yi,title:u("accept.insert","Insert"),group:"left",order:1,when:x.and($.HasInsertAndReplaceRange,$.InsertMode.isEqualTo("insert"))},{menuId:yi,title:u("accept.replace","Replace"),group:"left",order:1,when:x.and($.HasInsertAndReplaceRange,$.InsertMode.isEqualTo("replace"))}]}));F(new Oe({id:"acceptAlternativeSelectedSuggestion",precondition:x.and($.Visible,_.textInputFocus,$.HasFocusedSuggestion),kbOpts:{weight:tt,kbExpr:_.textInputFocus,primary:1027,secondary:[1026]},handler(r){r.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:yi,group:"left",order:2,when:x.and($.HasInsertAndReplaceRange,$.InsertMode.isEqualTo("insert")),title:u("accept.replace","Replace")},{menuId:yi,group:"left",order:2,when:x.and($.HasInsertAndReplaceRange,$.InsertMode.isEqualTo("replace")),title:u("accept.insert","Insert")}]}));se.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");F(new Oe({id:"hideSuggestWidget",precondition:$.Visible,handler:r=>r.cancelSuggestWidget(),kbOpts:{weight:tt,kbExpr:_.textInputFocus,primary:9,secondary:[1033]}}));F(new Oe({id:"selectNextSuggestion",precondition:x.and($.Visible,$.MultipleSuggestions),handler:r=>r.selectNextSuggestion(),kbOpts:{weight:tt,kbExpr:_.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));F(new Oe({id:"selectNextPageSuggestion",precondition:x.and($.Visible,$.MultipleSuggestions),handler:r=>r.selectNextPageSuggestion(),kbOpts:{weight:tt,kbExpr:_.textInputFocus,primary:12,secondary:[2060]}}));F(new Oe({id:"selectLastSuggestion",precondition:x.and($.Visible,$.MultipleSuggestions),handler:r=>r.selectLastSuggestion()}));F(new Oe({id:"selectPrevSuggestion",precondition:x.and($.Visible,$.MultipleSuggestions),handler:r=>r.selectPrevSuggestion(),kbOpts:{weight:tt,kbExpr:_.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));F(new Oe({id:"selectPrevPageSuggestion",precondition:x.and($.Visible,$.MultipleSuggestions),handler:r=>r.selectPrevPageSuggestion(),kbOpts:{weight:tt,kbExpr:_.textInputFocus,primary:11,secondary:[2059]}}));F(new Oe({id:"selectFirstSuggestion",precondition:x.and($.Visible,$.MultipleSuggestions),handler:r=>r.selectFirstSuggestion()}));F(new Oe({id:"focusSuggestion",precondition:x.and($.Visible,$.HasFocusedSuggestion.negate()),handler:r=>r.focusSuggestion(),kbOpts:{weight:tt,kbExpr:_.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));F(new Oe({id:"focusAndAcceptSuggestion",precondition:x.and($.Visible,$.HasFocusedSuggestion.negate()),handler:r=>{r.focusSuggestion(),r.acceptSelectedSuggestion(!0,!1)}}));F(new Oe({id:"toggleSuggestionDetails",precondition:x.and($.Visible,$.HasFocusedSuggestion),handler:r=>r.toggleSuggestionDetails(),kbOpts:{weight:tt,kbExpr:_.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:yi,group:"right",order:1,when:x.and($.DetailsVisible,$.CanResolve),title:u("detail.more","show less")},{menuId:yi,group:"right",order:1,when:x.and($.DetailsVisible.toNegated(),$.CanResolve),title:u("detail.less","show more")}]}));F(new Oe({id:"toggleExplainMode",precondition:$.Visible,handler:r=>r.toggleExplainMode(),kbOpts:{weight:100,primary:2133}}));F(new Oe({id:"toggleSuggestionFocus",precondition:$.Visible,handler:r=>r.toggleSuggestionFocus(),kbOpts:{weight:tt,kbExpr:_.textInputFocus,primary:2570,mac:{primary:778}}}));F(new Oe({id:"insertBestCompletion",precondition:x.and(_.textInputFocus,x.equals("config.editor.tabCompletion","on"),Hs.AtEnd,$.Visible.toNegated(),yn.OtherSuggestions.toNegated(),ve.InSnippetMode.toNegated()),handler:(r,e)=>{r.triggerSuggestAndAcceptBest(Kf(e)?Object.assign({fallback:"tab"},e):{fallback:"tab"})},kbOpts:{weight:tt,primary:2}}));F(new Oe({id:"insertNextSuggestion",precondition:x.and(_.textInputFocus,x.equals("config.editor.tabCompletion","on"),yn.OtherSuggestions,$.Visible.toNegated(),ve.InSnippetMode.toNegated()),handler:r=>r.acceptNextSuggestion(),kbOpts:{weight:tt,kbExpr:_.textInputFocus,primary:2}}));F(new Oe({id:"insertPrevSuggestion",precondition:x.and(_.textInputFocus,x.equals("config.editor.tabCompletion","on"),yn.OtherSuggestions,$.Visible.toNegated(),ve.InSnippetMode.toNegated()),handler:r=>r.acceptPrevSuggestion(),kbOpts:{weight:tt,kbExpr:_.textInputFocus,primary:1026}}));w(class extends L{constructor(){super({id:"editor.action.resetSuggestSize",label:u("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(r,e){var t;(t=ft.get(e))===null||t===void 0||t.resetWidgetSize()}});class ID extends E{get state(){if(this._isActive)return{selectedItem:this._currentSuggestItemInfo}}constructor(e,t){super(),this.editor=e,this.suggestControllerPreselector=t,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this.onDidChangeEmitter=new z,this.onDidChange=this.onDidChangeEmitter.event,this._register(e.onKeyDown(o=>{o.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(e.onKeyUp(o=>{o.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));const i=ft.get(this.editor);if(i){this._register(i.registerSelector({priority:100,select:(s,a,l)=>{const c=this.editor.getModel(),d=Wa(c,this.suggestControllerPreselector());if(!d)return-1;const h=H.lift(a),g=l.map((f,m)=>{const v=kp(i,h,f,this.isShiftKeyPressed),C=Wa(c,v==null?void 0:v.normalizedInlineCompletion);if(!C)return;const S=DD(d.range,C.range)&&d.insertText.startsWith(C.insertText);return{index:m,valid:S,prefixLength:C.insertText.length,suggestItem:f}}).filter(f=>f&&f.valid),p=tS(g,iS(f=>f.prefixLength,nS));return p?p.index:-1}}));let o=!1;const n=()=>{o||(o=!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(He.once(i.model.onDidTrigger)(s=>{n()}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();let i=!1;TD(this._currentSuggestItemInfo,t)||(this._currentSuggestItemInfo=t,i=!0),this._isActive!==e&&(this._isActive=e,i=!0),i&&this.onDidChangeEmitter.fire()}getSuggestItemInfo(){const e=ft.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;const t=e.widget.value.getFocusedItem();if(t)return kp(e,this.editor.getPosition(),t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=ft.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=ft.get(this.editor);e==null||e.forceRenderingAbove()}}function DD(r,e){return e.startLineNumber===r.startLineNumber&&e.startColumn===r.startColumn&&(e.endLineNumber0)return{completionItemKind:t.completion.kind,isSnippetText:!1,normalizedInlineCompletion:{range:b.fromPositions(e,e),insertText:"",filterText:"",snippetInfo:void 0,additionalTextEdits:[]}};let{insertText:o}=t.completion,n=!1;if(t.completion.insertTextRules&4){const a=new ki().parse(o),l=r.editor.getModel();if(a.children.length>100)return;Va.adjustWhitespace(l,e,!0,a),o=a.toString(),n=!0}const s=r.getOverwriteInfo(t,i);return{isSnippetText:n,completionItemKind:t.completion.kind,normalizedInlineCompletion:{insertText:o,filterText:o,range:b.fromPositions(e.delta(0,-s.overwriteBefore),e.delta(0,Math.max(s.overwriteAfter,0))),snippetInfo:void 0,additionalTextEdits:[]}}}var RD=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},kD=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},Np=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};let th=class extends nv{get isActive(){return this.suggestionInlineCompletionSource.state!==void 0}constructor(e,t,i){super(e),this.cache=t,this.languageFeaturesService=i,this.suggestionInlineCompletionSource=this._register(new ID(this.editor,()=>{var o,n,s;return(o=this.cache.value)===null||o===void 0||o.updateRanges(),(s=(n=this.cache.value)===null||n===void 0?void 0:n.completions[0])===null||s===void 0?void 0:s.toLiveInlineCompletion()})),this.updateOperation=this._register(new Ve),this.updateCacheSoon=this._register(new _e(()=>this.updateCache(),50)),this.minReservedLineCount=0,this._register(this.suggestionInlineCompletionSource.onDidChange(()=>{if(!this.editor.hasModel())return;this.updateCacheSoon.schedule(),this.suggestionInlineCompletionSource.state||(this.minReservedLineCount=0);const n=this.ghostText;n&&(this.minReservedLineCount=Math.max(this.minReservedLineCount,ND(n.parts.map(s=>s.lines.length-1)))),this.minReservedLineCount>=1?this.suggestionInlineCompletionSource.forceRenderingAbove():this.suggestionInlineCompletionSource.stopForceRenderingAbove(),this.onDidChangeEmitter.fire()})),this._register(this.cache.onDidChange(()=>{this.onDidChangeEmitter.fire()})),this._register(this.editor.onDidChangeCursorPosition(o=>{this.minReservedLineCount=0,this.updateCacheSoon.schedule(),this.onDidChangeEmitter.fire()})),this._register(ce(()=>this.suggestionInlineCompletionSource.stopForceRenderingAbove()))}isSuggestionPreviewEnabled(){return this.editor.getOption(112).preview}updateCache(){return Np(this,void 0,void 0,function*(){const e=this.suggestionInlineCompletionSource.state;if(!e||!e.selectedItem)return;const t={text:e.selectedItem.normalizedInlineCompletion.insertText,range:e.selectedItem.normalizedInlineCompletion.range,isSnippetText:e.selectedItem.isSnippetText,completionKind:e.selectedItem.completionItemKind},i=this.editor.getPosition();if(e.selectedItem.isSnippetText||e.selectedItem.completionItemKind===27||e.selectedItem.completionItemKind===20||e.selectedItem.completionItemKind===23){this.cache.clear();return}const o=Ce(s=>Np(this,void 0,void 0,function*(){let a;try{a=yield rv(this.languageFeaturesService.inlineCompletionsProvider,i,this.editor.getModel(),{triggerKind:pt.Automatic,selectedSuggestionInfo:t},s)}catch(l){ie(l);return}if(s.isCancellationRequested){a.dispose();return}this.cache.setValue(this.editor,a,pt.Automatic),this.onDidChangeEmitter.fire()})),n=new sv(o,pt.Automatic);this.updateOperation.value=n,yield o,this.updateOperation.value===n&&this.updateOperation.clear()})}get ghostText(){var e,t,i;const o=this.isSuggestionPreviewEnabled(),n=this.editor.getModel(),s=Wa(n,(t=(e=this.cache.value)===null||e===void 0?void 0:e.completions[0])===null||t===void 0?void 0:t.toLiveInlineCompletion()),a=this.suggestionInlineCompletionSource.state,l=Wa(n,(i=a==null?void 0:a.selectedItem)===null||i===void 0?void 0:i.normalizedInlineCompletion),c=s&&l&&s.insertText.startsWith(l.insertText)&&MD(s.range,l.range);if(!o&&!c)return;const d=c?s:l||s,h=c?d.insertText.length-l.insertText.length:0;return this.toGhostText(d,h)}toGhostText(e,t){const i=this.editor.getOptions().get(112).previewMode;return e?ov(e,this.editor.getModel(),i,this.editor.getPosition(),t)||new tv(e.range.endLineNumber,[],this.minReservedLineCount):void 0}};th=RD([kD(2,V)],th);function ND(r){return r.reduce((e,t)=>e+t,0)}function MD(r,e){return r.startLineNumber===e.startLineNumber&&r.startColumn===e.startColumn&&(r.endLineNumber===e.endLineNumber&&r.endColumn>=e.endColumn||r.endLineNumber>e.endLineNumber)}var ED=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},PD=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};class AD extends E{constructor(){super(...arguments),this.onDidChangeEmitter=new z,this.onDidChange=this.onDidChangeEmitter.event,this.hasCachedGhostText=!1,this.currentModelRef=this._register(new Ve)}get targetModel(){var e;return(e=this.currentModelRef.value)===null||e===void 0?void 0:e.object}setTargetModel(e){var t;((t=this.currentModelRef.value)===null||t===void 0?void 0:t.object)!==e&&(this.currentModelRef.clear(),this.currentModelRef.value=e?MI(e,e.onDidChange(()=>{this.hasCachedGhostText=!1,this.onDidChangeEmitter.fire()})):void 0,this.hasCachedGhostText=!1,this.onDidChangeEmitter.fire())}get ghostText(){var e,t;return this.hasCachedGhostText||(this.cachedGhostText=(t=(e=this.currentModelRef.value)===null||e===void 0?void 0:e.object)===null||t===void 0?void 0:t.ghostText,this.hasCachedGhostText=!0),this.cachedGhostText}setExpanded(e){var t;(t=this.targetModel)===null||t===void 0||t.setExpanded(e)}get minReservedLineCount(){return this.targetModel?this.targetModel.minReservedLineCount:0}}let ih=class extends AD{get activeInlineCompletionsModel(){if(this.targetModel===this.inlineCompletionsModel)return this.inlineCompletionsModel}constructor(e,t){super(),this.editor=e,this.instantiationService=t,this.sharedCache=this._register(new OD),this.suggestWidgetAdapterModel=this._register(this.instantiationService.createInstance(th,this.editor,this.sharedCache)),this.inlineCompletionsModel=this._register(this.instantiationService.createInstance(Zc,this.editor,this.sharedCache)),this._register(this.suggestWidgetAdapterModel.onDidChange(()=>{this.updateModel()})),this.updateModel()}updateModel(){this.setTargetModel(this.suggestWidgetAdapterModel.isActive?this.suggestWidgetAdapterModel:this.inlineCompletionsModel),this.inlineCompletionsModel.setActive(this.targetModel===this.inlineCompletionsModel)}shouldShowHoverAt(e){var t;const i=(t=this.activeInlineCompletionsModel)===null||t===void 0?void 0:t.ghostText;return i?i.parts.some(o=>e.containsPosition(new H(i.lineNumber,o.column))):!1}triggerInlineCompletion(){var e;(e=this.activeInlineCompletionsModel)===null||e===void 0||e.trigger(pt.Explicit)}commitInlineCompletion(){var e;(e=this.activeInlineCompletionsModel)===null||e===void 0||e.commitCurrentSuggestion()}commitInlineCompletionPartially(){var e;(e=this.activeInlineCompletionsModel)===null||e===void 0||e.commitCurrentSuggestionPartially()}hideInlineCompletion(){var e;(e=this.activeInlineCompletionsModel)===null||e===void 0||e.hide()}showNextInlineCompletion(){var e;(e=this.activeInlineCompletionsModel)===null||e===void 0||e.showNext()}showPreviousInlineCompletion(){var e;(e=this.activeInlineCompletionsModel)===null||e===void 0||e.showPrevious()}};ih=ED([PD(1,G)],ih);class OD extends E{constructor(){super(...arguments),this.onDidChangeEmitter=new z,this.onDidChange=this.onDidChangeEmitter.event,this.cache=this._register(new Ve)}get value(){return this.cache.value}setValue(e,t,i){this.cache.value=new KI(t,e,()=>this.onDidChangeEmitter.fire(),i)}clearAndLeak(){return this.cache.clearAndLeak()}clear(){this.cache.clear()}}var FD=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Mp=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},Bd;const Ep=(Bd=window.trustedTypes)===null||Bd===void 0?void 0:Bd.createPolicy("editorGhostText",{createHTML:r=>r});let nh=class extends E{constructor(e,t,i,o){super(),this.editor=e,this.model=t,this.instantiationService=i,this.languageService=o,this.disposed=!1,this.partsWidget=this._register(this.instantiationService.createInstance(HD,this.editor)),this.additionalLinesWidget=this._register(new VD(this.editor,this.languageService.languageIdCodec)),this.viewMoreContentWidget=void 0,this.replacementDecoration=this._register(new WD(this.editor)),this._register(this.editor.onDidChangeConfiguration(n=>{(n.hasChanged(30)||n.hasChanged(111)||n.hasChanged(93)||n.hasChanged(88)||n.hasChanged(48)||n.hasChanged(47)||n.hasChanged(63))&&this.update()})),this._register(ce(()=>{var n;this.disposed=!0,this.update(),(n=this.viewMoreContentWidget)===null||n===void 0||n.dispose(),this.viewMoreContentWidget=void 0})),this._register(t.onDidChange(()=>{this.update()})),this.update()}shouldShowHoverAtViewZone(e){return this.additionalLinesWidget.viewZoneId===e}update(){var e;const t=this.model.ghostText;if(!this.editor.hasModel()||!t||this.disposed){this.partsWidget.clear(),this.additionalLinesWidget.clear(),this.replacementDecoration.clear();return}const i=new Array,o=new Array;function n(c,d){if(o.length>0){const h=o[o.length-1];d&&h.decorations.push(new sc(h.content.length+1,h.content.length+1+c[0].length,d,0)),h.content+=c[0],c=c.slice(1)}for(const h of c)o.push({content:h,decorations:d?[new sc(1,h.length+1,d,0)]:[]})}t instanceof iv?this.replacementDecoration.setDecorations([{range:new b(t.lineNumber,t.columnStart,t.lineNumber,t.columnStart+t.length),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}]):this.replacementDecoration.setDecorations([]);const s=this.editor.getModel().getLineContent(t.lineNumber);let a,l=0;for(const c of t.parts){let d=c.lines;a===void 0?(i.push({column:c.column,text:d[0],preview:c.preview}),d=d.slice(1)):n([s.substring(l,c.column-1)],void 0),d.length>0&&(n(d,"ghost-text"),a===void 0&&c.column<=s.length&&(a=c.column)),l=c.column-1}a!==void 0&&n([s.substring(l)],void 0),this.partsWidget.setParts(t.lineNumber,i,a!==void 0?{column:a,length:s.length+1-a}:void 0),this.additionalLinesWidget.updateLines(t.lineNumber,o,t.additionalReservedLineCount),(e=this.viewMoreContentWidget)===null||e===void 0||e.dispose(),this.viewMoreContentWidget=void 0}renderViewMoreLines(e,t,i){const o=this.editor.getOption(47),n=document.createElement("div");n.className="suggest-preview-additional-widget",jh(n,o);const s=document.createElement("span");s.className="content-spacer",s.append(t),n.append(s);const a=document.createElement("span");a.className="content-newline suggest-preview-text",a.append("⏎ "),n.append(a);const l=new R,c=document.createElement("div");return c.className="button suggest-preview-text",c.append(`+${i} lines…`),l.add(Mn(c,"mousedown",d=>{var h;(h=this.model)===null||h===void 0||h.setExpanded(!0),d.preventDefault(),this.editor.focus()})),n.append(c),new UD(this.editor,e,n,l)}};nh=FD([Mp(2,G),Mp(3,bt)],nh);class WD{constructor(e){this.editor=e,this.decorationIds=[]}setDecorations(e){this.editor.changeDecorations(t=>{this.decorationIds=t.deltaDecorations(this.decorationIds,e)})}clear(){this.setDecorations([])}dispose(){this.clear()}}class HD{constructor(e){this.editor=e,this.decorationIds=[]}dispose(){this.clear()}clear(){this.editor.changeDecorations(e=>{this.decorationIds=e.deltaDecorations(this.decorationIds,[])})}setParts(e,t,i){if(!this.editor.getModel())return;const n=new Array;i&&n.push({range:b.fromPositions(new H(e,i.column),new H(e,i.column+i.length)),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}}),this.editor.changeDecorations(s=>{this.decorationIds=s.deltaDecorations(this.decorationIds,t.map(a=>({range:b.fromPositions(new H(e,a.column)),options:{description:"ghost-text",after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:os.Left},showIfCollapsed:!0}})).concat(n))})}}class VD{get viewZoneId(){return this._viewZoneId}constructor(e,t){this.editor=e,this.languageIdCodec=t,this._viewZoneId=void 0}dispose(){this.clear()}clear(){this.editor.changeViewZones(e=>{this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0)})}updateLines(e,t,i){const o=this.editor.getModel();if(!o)return;const{tabSize:n}=o.getOptions();this.editor.changeViewZones(s=>{this._viewZoneId&&(s.removeZone(this._viewZoneId),this._viewZoneId=void 0);const a=Math.max(t.length,i);if(a>0){const l=document.createElement("div");BD(l,n,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=s.addZone({afterLineNumber:e,heightInLines:a,domNode:l,afterColumnAffinity:1})}})}}function BD(r,e,t,i,o){const n=i.get(30),s=i.get(111),a="none",l=i.get(88),c=i.get(48),d=i.get(47),h=i.get(63),g=new tm(1e4);g.appendString('
');for(let m=0,v=t.length;m');const y=aS(S),I=oS(S),T=sS.createEmpty(S,o);Jf(new em(d.isMonospace&&!n,d.canUseHalfwidthRightwardsArrow,S,!1,y,I,0,T,C.decorations,e,0,d.spaceWidth,d.middotWidth,d.wsmiddotWidth,s,a,l,c!==rS.OFF,null),g),g.appendString("
")}g.appendString(""),jh(r,d);const p=g.build(),f=Ep?Ep.createHTML(p):p;r.innerHTML=f}class UD extends E{constructor(e,t,i,o){super(),this.editor=e,this.position=t,this.domNode=i,this.allowEditorOverflow=!1,this.suppressMouseDown=!1,this._register(o),this._register(ce(()=>{this.editor.removeContentWidget(this)})),this.editor.addContentWidget(this)}getId(){return"editor.widget.viewMoreLinesWidget"}getDomNode(){return this.domNode}getPosition(){return{position:this.position,preference:[0]}}}var gv=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Ba=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},$i=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};let oe=class oh extends E{static get(e){return e.getContribution(oh.ID)}get activeModel(){var e;return(e=this.activeController.value)===null||e===void 0?void 0:e.model}constructor(e,t,i){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.triggeredExplicitly=!1,this.activeController=this._register(new Ve),this.activeModelDidChangeEmitter=this._register(new z),this.firstUndoableVersionId=void 0,this.alwaysShowInlineSuggestionToolbar=oh.alwaysShowInlineSuggestionToolbar.bindTo(this.contextKeyService),this._register(this.editor.onDidChangeModelContent(o=>{var n;(!o.isUndoing||this.firstUndoableVersionId&&this.editor.getModel().getAlternativeVersionId(){var n;o.reason===3&&((n=this.activeController.value)===null||n===void 0||n.contextKeys.canUndoInlineSuggestion.reset(),this.firstUndoableVersionId=void 0)})),this._register(this.editor.onDidChangeModel(()=>{this.update()})),this._register(this.editor.onDidChangeConfiguration(o=>{(o.hasChanged(112)||o.hasChanged(59))&&this.update()})),this.update()}update(){const e=this.editor.getOption(112),t=this.editor.getOption(59);this.alwaysShowInlineSuggestionToolbar.set(t.showToolbar==="always");const i=this.editor.hasModel()&&(e.preview||t.enabled||this.triggeredExplicitly);i!==!!this.activeController.value&&(this.activeController.value=void 0,this.activeController.value=i?this.instantiationService.createInstance(sh,this.editor):void 0,this.activeModelDidChangeEmitter.fire())}shouldShowHoverAt(e){var t;return((t=this.activeModel)===null||t===void 0?void 0:t.shouldShowHoverAt(e))||!1}shouldShowHoverAtViewZone(e){var t,i;return((i=(t=this.activeController.value)===null||t===void 0?void 0:t.widget)===null||i===void 0?void 0:i.shouldShowHoverAtViewZone(e))||!1}trigger(){var e;this.triggeredExplicitly=!0,this.activeController.value||this.update(),(e=this.activeModel)===null||e===void 0||e.triggerInlineCompletion()}commitPartially(){var e,t,i;const o=this.firstUndoableVersionId;(e=this.activeModel)===null||e===void 0||e.commitInlineCompletionPartially(),(i=(t=this.activeController)===null||t===void 0?void 0:t.value)===null||i===void 0||i.contextKeys.canUndoInlineSuggestion.set(!0),this.firstUndoableVersionId=o??this.editor.getModel().getAlternativeVersionId()}commit(){var e;(e=this.activeModel)===null||e===void 0||e.commitInlineCompletion()}hide(){var e;(e=this.activeModel)===null||e===void 0||e.hideInlineCompletion()}showNextInlineCompletion(){var e;(e=this.activeModel)===null||e===void 0||e.showNextInlineCompletion()}showPreviousInlineCompletion(){var e;(e=this.activeModel)===null||e===void 0||e.showPreviousInlineCompletion()}};oe.inlineSuggestionVisible=new Z("inlineSuggestionVisible",!1,u("inlineSuggestionVisible","Whether an inline suggestion is visible"));oe.inlineSuggestionHasIndentation=new Z("inlineSuggestionHasIndentation",!1,u("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace"));oe.inlineSuggestionHasIndentationLessThanTabSize=new Z("inlineSuggestionHasIndentationLessThanTabSize",!0,u("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab"));oe.canUndoInlineSuggestion=new Z("canUndoInlineSuggestion",!1,u("canUndoInlineSuggestion","Whether undo would undo an inline suggestion"));oe.alwaysShowInlineSuggestionToolbar=new Z("alwaysShowInlineSuggestionToolbar",!1,u("alwaysShowInlineSuggestionToolbar","Whether the inline suggestion toolbar should always be visible"));oe.ID="editor.contrib.ghostTextController";oe=gv([Ba(1,G),Ba(2,Q)],oe);class $D{constructor(e){this.contextKeyService=e,this.inlineCompletionVisible=oe.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=oe.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=oe.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.canUndoInlineSuggestion=oe.canUndoInlineSuggestion.bindTo(this.contextKeyService)}}let sh=class extends E{constructor(e,t,i){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.contextKeys=new $D(this.contextKeyService),this.model=this._register(this.instantiationService.createInstance(ih,this.editor)),this.widget=this._register(this.instantiationService.createInstance(nh,this.editor,this.model)),this._register(ce(()=>{this.contextKeys.inlineCompletionVisible.set(!1),this.contextKeys.inlineCompletionSuggestsIndentation.set(!1),this.contextKeys.inlineCompletionSuggestsIndentationLessThanTabSize.set(!0)})),this._register(this.model.onDidChange(()=>{this.updateContextKeys()})),this.updateContextKeys()}updateContextKeys(){var e;this.contextKeys.inlineCompletionVisible.set(((e=this.model.activeInlineCompletionsModel)===null||e===void 0?void 0:e.ghostText)!==void 0);let t=!1,i=!0;const o=this.model.inlineCompletionsModel.ghostText;if(this.model.activeInlineCompletionsModel&&o&&o.parts.length>0){const{column:n,lines:s}=o.parts[0],a=s[0],l=this.editor.getModel().getLineIndentColumn(o.lineNumber);if(n<=l){let d=nc(a);d===-1&&(d=a.length-1),t=d>0;const h=this.editor.getModel().getOptions().tabSize;i=lS.visibleColumnFromColumn(a,d+1,h)=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Yo=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};class ZD{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}requestExplicitContext(){var e,t,i;(i=(t=(e=this.controller.activeModel)===null||e===void 0?void 0:e.activeInlineCompletionsModel)===null||t===void 0?void 0:t.completionSession.value)===null||i===void 0||i.ensureUpdateWithExplicitContext()}getInlineCompletionsCount(){var e,t;const i=(t=(e=this.controller.activeModel)===null||e===void 0?void 0:e.activeInlineCompletionsModel)===null||t===void 0?void 0:t.completionSession.value;if(i!=null&&i.hasBeenTriggeredExplicitly)return i==null?void 0:i.getInlineCompletionsCountSync()}getInlineCompletionIndex(){var e,t,i;return(i=(t=(e=this.controller.activeModel)===null||e===void 0?void 0:e.activeInlineCompletionsModel)===null||t===void 0?void 0:t.completionSession.value)===null||i===void 0?void 0:i.currentlySelectedIndex}onDidChange(e){var t,i;return((i=(t=this.controller.activeModel)===null||t===void 0?void 0:t.activeInlineCompletionsModel)===null||i===void 0?void 0:i.onDidChange(e))||E.None}get commands(){var e,t,i;return((i=(t=(e=this.controller.activeModel)===null||e===void 0?void 0:e.activeInlineCompletionsModel)===null||t===void 0?void 0:t.completionSession.value)===null||i===void 0?void 0:i.commands)||[]}}let rh=class{constructor(e,t,i,o,n,s){this._editor=e,this._languageService=t,this._openerService=i,this.accessibilityService=o,this._instantiationService=n,this._telemetryService=s,this.hoverOrdinal=3}suggestHoverAnchor(e){const t=oe.get(this._editor);if(!t)return null;const i=e.target;if(i.type===8){const o=i.detail;if(t.shouldShowHoverAtViewZone(o.viewZoneId))return new aa(1e3,this,b.fromPositions(this._editor.getModel().validatePosition(o.positionBefore||o.position)),e.event.posx,e.event.posy,!1)}return i.type===7&&t.shouldShowHoverAt(i.range)?new aa(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new aa(1e3,this,i.range,e.event.posx,e.event.posy,!1):null}computeSync(e,t){if(this._editor.getOption(59).showToolbar==="always")return[];const i=oe.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new ZD(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new R,o=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&this.renderScreenReaderText(e,o,i);const n=this._instantiationService.createInstance(bn,this._editor,!1);return e.fragment.appendChild(n.getDomNode()),n.update(null,o.getInlineCompletionIndex()||0,o.getInlineCompletionsCount(),o.commands),o.requestExplicitContext(),i.add(o.onDidChange(()=>{n.update(null,o.getInlineCompletionIndex()||0,o.getInlineCompletionsCount(),o.commands)})),i}renderScreenReaderText(e,t,i){var o,n;const s=P,a=s("div.hover-row.markdown-hover"),l=M(a,s("div.hover-contents")),c=i.add(new hi({editor:this._editor},this._languageService,this._openerService)),d=g=>{i.add(c.onDidRenderAsync(()=>{l.className="hover-contents code-hover-contents",e.onContentsChanged()}));const p=u("inlineSuggestionFollows","Suggestion:"),f=i.add(c.render(new je().appendText(p).appendCodeblock("text",g)));l.replaceChildren(f.element)},h=(n=(o=t.controller.activeModel)===null||o===void 0?void 0:o.inlineCompletionsModel)===null||n===void 0?void 0:n.ghostText;if(h){const g=this._editor.getModel().getLineContent(h.lineNumber);d(h.renderForScreenReader(g))}e.fragment.appendChild(a)}};rh=GD([Yo(1,bt),Yo(2,Ct),Yo(3,pf),Yo(4,G),Yo(5,Fi)],rh);K(oe.ID,oe,3);w(zD);w(Fl);w(Wl);w(jD);w(KD);w(Hl);w(qD);Le(Vl);Hn.register(rh);function ze(r,e){let t=0;for(let i=0;i=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},QD=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};function pv(r,e,t,i,o){if(r.getLineCount()===1&&r.getLineMaxColumn(1)===1)return[];const n=e.getLanguageConfiguration(r.getLanguageId()).indentationRules;if(!n)return[];for(i=Math.min(i,r.getLineCount());t<=i&&n.unIndentedLinePattern;){const v=r.getLineContent(t);if(!n.unIndentedLinePattern.test(v))break;t++}if(t>i-1)return[];const{tabSize:s,indentSize:a,insertSpaces:l}=r.getOptions(),c=(v,C)=>(C=C||1,go.shiftIndent(v,v.length+C,s,a,l)),d=(v,C)=>(C=C||1,go.unshiftIndent(v,v.length+C,s,a,l)),h=[];let g;const p=r.getLineContent(t);let f=p;if(o!=null){g=o;const v=be(p);f=g+p.substring(v.length),n.decreaseIndentPattern&&n.decreaseIndentPattern.test(f)&&(g=d(g),f=g+p.substring(v.length)),p!==f&&h.push(ae.replaceMove(new B(t,1,t,v.length+1),mg(g,a,l)))}else g=be(p);let m=g;n.increaseIndentPattern&&n.increaseIndentPattern.test(f)?(m=c(m),g=c(g)):n.indentNextLinePattern&&n.indentNextLinePattern.test(f)&&(m=c(m)),t++;for(let v=t;v<=i;v++){const C=r.getLineContent(v),S=be(C),y=m+C.substring(S.length);n.decreaseIndentPattern&&n.decreaseIndentPattern.test(y)&&(m=d(m),g=d(g)),S!==m&&h.push(ae.replaceMove(new B(v,1,v,S.length+1),mg(m,a,l))),!(n.unIndentedLinePattern&&n.unIndentedLinePattern.test(C))&&(n.increaseIndentPattern&&n.increaseIndentPattern.test(y)?(g=c(g),m=g):n.indentNextLinePattern&&n.indentNextLinePattern.test(y)?m=c(m):m=g)}return h}class Bl extends L{constructor(){super({id:Bl.ID,label:u("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:_.writable})}run(e,t){const i=t.getModel();if(!i)return;const o=i.getOptions(),n=t.getSelection();if(!n)return;const s=new tT(n,o.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[s]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}}Bl.ID="editor.action.indentationToSpaces";class Ul extends L{constructor(){super({id:Ul.ID,label:u("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:_.writable})}run(e,t){const i=t.getModel();if(!i)return;const o=i.getOptions(),n=t.getSelection();if(!n)return;const s=new iT(n,o.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[s]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}}Ul.ID="editor.action.indentationToTabs";class Eu extends L{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(Ui),o=e.get(Qe),n=t.getModel();if(!n)return;const s=o.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget),a=n.getOptions(),l=[1,2,3,4,5,6,7,8].map(d=>({id:d.toString(),label:d.toString(),description:d===s.tabSize&&d===a.tabSize?u("configuredTabSize","Configured Tab Size"):d===s.tabSize?u("defaultTabSize","Default Tab Size"):d===a.tabSize?u("currentTabSize","Current Tab Size"):void 0})),c=Math.min(n.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(l,{placeHolder:u({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:l[c]}).then(d=>{if(d&&n&&!n.isDisposed()){const h=parseInt(d.label,10);this.displaySizeOnly?n.updateOptions({tabSize:h}):n.updateOptions({tabSize:h,indentSize:h,insertSpaces:this.insertSpaces})}})},50)}}class $l extends Eu{constructor(){super(!1,!1,{id:$l.ID,label:u("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0})}}$l.ID="editor.action.indentUsingTabs";class zl extends Eu{constructor(){super(!0,!1,{id:zl.ID,label:u("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0})}}zl.ID="editor.action.indentUsingSpaces";class jl extends Eu{constructor(){super(!0,!0,{id:jl.ID,label:u("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0})}}jl.ID="editor.action.changeTabDisplaySize";class Kl extends L{constructor(){super({id:Kl.ID,label:u("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0})}run(e,t){const i=e.get(Qe),o=t.getModel();if(!o)return;const n=i.getCreationOptions(o.getLanguageId(),o.uri,o.isForSimpleWidget);o.detectIndentation(n.insertSpaces,n.tabSize)}}Kl.ID="editor.action.detectIndentation";class YD extends L{constructor(){super({id:"editor.action.reindentlines",label:u("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:_.writable})}run(e,t){const i=e.get(Ne),o=t.getModel();if(!o)return;const n=pv(o,i,1,o.getLineCount());n.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,n),t.pushUndoStop())}}class JD extends L{constructor(){super({id:"editor.action.reindentselectedlines",label:u("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:_.writable})}run(e,t){const i=e.get(Ne),o=t.getModel();if(!o)return;const n=t.getSelections();if(n===null)return;const s=[];for(const a of n){let l=a.startLineNumber,c=a.endLineNumber;if(l!==c&&a.endColumn===1&&c--,l===1){if(l===c)continue}else l--;const d=pv(o,i,l,c);s.push(...d)}s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class eT{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(const i of e)i.range&&typeof i.text=="string"&&this._edits.push(i)}getEditOperations(e,t){for(const o of this._edits)t.addEditOperation(b.lift(o.range),o.text);let i=!1;Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),i||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}let Bs=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new R,this.callOnModel=new R,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(9)<4||this.editor.getOption(52))&&this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste(({range:e})=>{this.trigger(e)}))}trigger(e){const t=this.editor.getSelections();if(t===null||t.length>1)return;const i=this.editor.getModel();if(!i||!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const o=this.editor.getOption(9),{tabSize:n,indentSize:s,insertSpaces:a}=i.getOptions(),l=[],c={shiftIndent:p=>go.shiftIndent(p,p.length+1,n,s,a),unshiftIndent:p=>go.unshiftIndent(p,p.length+1,n,s,a)};let d=e.startLineNumber;for(;d<=e.endLineNumber;){if(this.shouldIgnoreLine(i,d)){d++;continue}break}if(d>e.endLineNumber)return;let h=i.getLineContent(d);if(!/\S/.test(h.substring(0,e.startColumn-1))){const p=gs(o,i,i.getLanguageId(),d,c,this._languageConfigurationService);if(p!==null){const f=be(h),m=ze(p,n),v=ze(f,n);if(m!==v){const C=vs(m,n,a);l.push({range:new b(d,1,d,f.length+1),text:C}),h=C+h.substr(f.length)}else{const C=im(i,d,this._languageConfigurationService);if(C===0||C===8)return}}}const g=d;for(;di.tokenization.getLineTokens(m),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(m,v)=>i.getLanguageIdAtPosition(m,v)},getLineContent:m=>m===g?h:i.getLineContent(m)},i.getLanguageId(),d+1,c,this._languageConfigurationService);if(f!==null){const m=ze(f,n),v=ze(be(i.getLineContent(d+1)),n);if(m!==v){const C=m-v;for(let S=d+1;S<=e.endLineNumber;S++){const y=i.getLineContent(S),I=be(y),j=ze(I,n)+C,U=vs(j,n,a);U!==I&&l.push({range:new b(S,1,S,I.length+1),text:U})}}}}if(l.length>0){this.editor.pushUndoStop();const p=new eT(l,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",p),this.editor.pushUndoStop()}}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);const i=e.getLineFirstNonWhitespaceColumn(t);if(i===0)return!0;const o=e.tokenization.getLineTokens(t);if(o.getCount()>0){const n=o.findTokenIndexAtOffset(i);if(n>=0&&o.getStandardTokenType(n)===1)return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};Bs.ID="editor.contrib.autoIndentOnPaste";Bs=XD([QD(1,Ne)],Bs);function fv(r,e,t,i){if(r.getLineCount()===1&&r.getLineMaxColumn(1)===1)return;let o="";for(let s=0;sthis._currentResolve=void 0)),yield this._currentResolve}})}_doResolve(e){var t,i;return Ua(this,void 0,void 0,function*(){try{const o=yield Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=(t=o==null?void 0:o.tooltip)!==null&&t!==void 0?t:this.hint.tooltip,this.hint.label=(i=o==null?void 0:o.label)!==null&&i!==void 0?i:this.hint.label,this._isResolved=!0}catch(o){ye(o),this._isResolved=!1}})}}class Us{static create(e,t,i,o){return Ua(this,void 0,void 0,function*(){const n=[],s=e.ordered(t).reverse().map(a=>i.map(l=>Ua(this,void 0,void 0,function*(){try{const c=yield a.provideInlayHints(t,l,o);c!=null&&c.hints.length&&n.push([c,a])}catch(c){ye(c)}})));if(yield Promise.all(s.flat()),o.isCancellationRequested||t.isDisposed())throw new Lf;return new Us(i,n,t)})}constructor(e,t,i){this._disposables=new R,this.ranges=e,this.provider=new Set;const o=[];for(const[n,s]of t){this._disposables.add(n),this.provider.add(s);for(const a of n.hints){const l=i.validatePosition(a.position);let c="before";const d=Us._getRangeAtPosition(i,l);let h;d.getStartPosition().isBefore(l)?(h=b.fromPositions(d.getStartPosition(),l),c="after"):(h=b.fromPositions(l,d.getEndPosition()),c="before"),o.push(new Pu(a,new mv(h,c),s))}}this.items=o.sort((n,s)=>H.compare(n.hint.position,s.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){const i=t.lineNumber,o=e.getWordAtPosition(t);if(o)return new b(i,o.startColumn,i,o.endColumn);e.tokenization.tokenizeIfCheap(i);const n=e.tokenization.getLineTokens(i),s=t.column-1,a=n.findTokenIndexAtOffset(s);let l=n.getStartOffset(a),c=n.getEndOffset(a);return c-l===1&&(l===s&&a>1?(l=n.getStartOffset(a-1),c=n.getEndOffset(a-1)):c===s&&adS(f)?f.command.id:""));for(const f of ke.all())g.has(f.desc.id)&&h.push(new un(f.desc.id,ho.label(f.desc,{renderShortTitle:!0}),void 0,!0,()=>bs(this,void 0,void 0,function*(){const m=yield n.createModelReference(d.uri);try{yield l.invokeFunction(f.run.bind(f),e,new fo(m.object.textEditorModel,b.getStartPosition(d.range)))}finally{m.dispose()}})));if(i.part.command){const{command:f}=i.part;h.push(new nn),h.push(new un(f.id,f.title,void 0,!0,()=>bs(this,void 0,void 0,function*(){var m;try{yield a.executeCommand(f.id,...(m=f.arguments)!==null&&m!==void 0?m:[])}catch(v){c.notify({severity:nm.Error,source:i.item.provider.displayName,message:v})}})))}const p=e.getOption(121);s.showContextMenu({domForShadowRoot:p&&(o=e.getDomNode())!==null&&o!==void 0?o:void 0,getAnchor:()=>{const f=Gt(t);return{x:f.left,y:f.top+f.height+8}},getActions:()=>h,onHide:()=>{e.focus()},autoSelectFirstItem:!0})})}function _v(r,e,t,i){return bs(this,void 0,void 0,function*(){const n=yield r.get(Pt).createModelReference(i.uri);yield t.invokeWithinContext(s=>bs(this,void 0,void 0,function*(){const a=e.hasSideBySideModifier,l=s.get(Q),c=Ue.inPeekEditor.getValue(l),d=!a&&t.getOption(83)&&!c;return new mr({openToSide:a,openInPeek:d,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(s,new fo(n.object.textEditorModel,b.getStartPosition(i.range)),b.lift(i.range))})),n.dispose()})}var sT=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},qn=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},Qn=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};class $a{constructor(){this._entries=new nr(50)}get(e){const t=$a._key(e);return this._entries.get(t)}set(e,t){const i=$a._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const vv=Wi("IInlayHintsCache");Hi(vv,$a,1);class ah{constructor(e,t){this.item=e,this.index=t}get part(){const e=this.item.hint.label;return typeof e=="string"?{label:e}:e[this.index]}}class rT{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}let xn=class lh{static get(e){var t;return(t=e.getContribution(lh.ID))!==null&&t!==void 0?t:void 0}constructor(e,t,i,o,n,s,a){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=o,this._commandService=n,this._notificationService=s,this._instaService=a,this._disposables=new R,this._sessionDisposables=new R,this._decorationsMetadata=new Map,this._ruleFactory=new uf(this._editor),this._activeRenderMode=0,this._debounceInfo=i.for(t.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(l=>{l.hasChanged(134)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const e=this._editor.getOption(134);if(e.enabled==="off")return;const t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;const i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(ce(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let o;const n=new Set,s=new _e(()=>Qn(this,void 0,void 0,function*(){const a=Date.now();o==null||o.dispose(!0),o=new dt;const l=t.onWillDispose(()=>o==null?void 0:o.cancel());try{const c=o.token,d=yield Us.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),c);if(s.delay=this._debounceInfo.update(t,Date.now()-a),c.isCancellationRequested){d.dispose();return}for(const h of d.provider)typeof h.onDidChangeInlayHints=="function"&&!n.has(h)&&(n.add(h),this._sessionDisposables.add(h.onDidChangeInlayHints(()=>{s.isScheduled()||s.schedule()})));this._sessionDisposables.add(d),this._updateHintsDecorators(d.ranges,d.items),this._cacheHintsForFastRestore(t)}catch(c){ie(c)}finally{o.dispose(),l.dispose()}}),this._debounceInfo.get(t));if(this._sessionDisposables.add(s),this._sessionDisposables.add(ce(()=>o==null?void 0:o.dispose(!0))),s.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(a=>{(a.scrollTopChanged||!s.isScheduled())&&s.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeModelContent(a=>{const l=Math.max(s.delay,1250);s.schedule(l)})),e.enabled==="on")this._activeRenderMode=0;else{let a,l;e.enabled==="onUnlessPressed"?(a=0,l=1):(a=1,l=0),this._activeRenderMode=a,this._sessionDisposables.add(cS.getInstance().event(c=>{if(!this._editor.hasModel())return;const d=c.altKey&&c.ctrlKey&&!(c.shiftKey||c.metaKey)?l:a;if(d!==this._activeRenderMode){this._activeRenderMode=d;const h=this._editor.getModel(),g=this._copyInlayHintsWithCurrentAnchor(h);this._updateHintsDecorators([h.getFullModelRange()],g),s.schedule(0)}}))}this._sessionDisposables.add(this._installDblClickGesture(()=>s.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new R,t=e.add(new vl(this._editor)),i=new R;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown(o=>{const[n]=o,s=this._getInlayHintLabelPart(n),a=this._editor.getModel();if(!s||!a){i.clear();return}const l=new dt;i.add(ce(()=>l.dispose(!0))),s.item.resolve(l.token),this._activeInlayHintPart=s.part.command||s.part.location?new rT(s,n.hasTriggerModifier):void 0;const c=a.validatePosition(s.item.hint.position).lineNumber,d=new b(c,1,c,a.getLineMaxColumn(c)),h=this._getInlineHintsForRange(d);this._updateHintsDecorators([d],h),i.add(ce(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([d],h)}))})),e.add(t.onCancel(()=>i.clear())),e.add(t.onExecute(o=>Qn(this,void 0,void 0,function*(){const n=this._getInlayHintLabelPart(o);if(n){const s=n.part;s.location?this._instaService.invokeFunction(_v,o,this._editor,s.location):hS.is(s.command)&&(yield this._invokeCommand(s.command,n.item))}}))),e}_getInlineHintsForRange(e){const t=new Set;for(const i of this._decorationsMetadata.values())e.containsRange(i.item.anchor.range)&&t.add(i.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp(t=>Qn(this,void 0,void 0,function*(){if(t.event.detail!==2)return;const i=this._getInlayHintLabelPart(t);if(i&&(t.event.preventDefault(),yield i.item.resolve(q.None),Ge(i.item.hint.textEdits))){const o=i.item.hint.textEdits.map(n=>ae.replace(b.lift(n.range),n.text));this._editor.executeEdits("inlayHint.default",o),e()}}))}_installContextMenu(){return this._editor.onContextMenu(e=>Qn(this,void 0,void 0,function*(){if(!(e.event.target instanceof HTMLElement))return;const t=this._getInlayHintLabelPart(e);t&&(yield this._instaService.invokeFunction(oT,this._editor,e.event.target,t))}))}_getInlayHintLabelPart(e){var t;if(e.target.type!==6)return;const i=(t=e.target.detail.injectedText)===null||t===void 0?void 0:t.options;if(i instanceof $h&&(i==null?void 0:i.attachedData)instanceof ah)return i.attachedData}_invokeCommand(e,t){var i;return Qn(this,void 0,void 0,function*(){try{yield this._commandService.executeCommand(e.id,...(i=e.arguments)!==null&&i!==void 0?i:[])}catch(o){this._notificationService.notify({severity:nm.Error,source:t.provider.displayName,message:o})}})}_cacheHintsForFastRestore(e){const t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){const t=new Map;for(const[i,o]of this._decorationsMetadata){if(t.has(o.item))continue;const n=e.getDecorationRange(i);if(n){const s=new mv(n,o.item.anchor.direction),a=o.item.with({anchor:s});t.set(o.item,a)}}return Array.from(t.values())}_getHintsRanges(){const t=this._editor.getModel(),i=this._editor.getVisibleRangesPlusViewportAboveBelow(),o=[];for(const n of i.sort(b.compareRangesUsingStarts)){const s=t.validateRange(new b(n.startLineNumber-30,n.startColumn,n.endLineNumber+30,n.endColumn));o.length===0||!b.areIntersectingOrTouching(o[o.length-1],s)?o.push(s):o[o.length-1]=b.plusRange(o[o.length-1],s)}return o}_updateHintsDecorators(e,t){var i,o;const n=[],s=(m,v,C,S,y)=>{const I={content:C,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:v.className,cursorStops:S,attachedData:y};n.push({item:m,classNameRef:v,decoration:{range:m.anchor.range,options:{description:"InlayHint",showIfCollapsed:m.anchor.range.isEmpty(),collapseOnReplaceEdit:!m.anchor.range.isEmpty(),stickiness:0,[m.anchor.direction]:this._activeRenderMode===0?I:void 0}}})},a=(m,v)=>{const C=this._ruleFactory.createClassNameRef({width:`${l/3|0}px`,display:"inline-block"});s(m,C," ",v?os.Right:os.None)},{fontSize:l,fontFamily:c,padding:d,isUniform:h}=this._getLayoutInfo(),g="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(g,c);for(const m of t){m.hint.paddingLeft&&a(m,!1);const v=typeof m.hint.label=="string"?[{label:m.hint.label}]:m.hint.label;for(let C=0;Clh._MAX_DECORATORS)break}const p=[];for(const m of e)for(const{id:v}of(o=this._editor.getDecorationsInRange(m))!==null&&o!==void 0?o:[]){const C=this._decorationsMetadata.get(v);C&&(p.push(v),C.classNameRef.dispose(),this._decorationsMetadata.delete(v))}const f=co.capture(this._editor);this._editor.changeDecorations(m=>{const v=m.deltaDecorations(p,n.map(C=>C.decoration));for(let C=0;Ci)&&(n=i);const s=e.fontFamily||o;return{fontSize:n,fontFamily:s,padding:t,isUniform:!t&&s===o&&n===i}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}};xn.ID="editor.contrib.InlayHints";xn._MAX_DECORATORS=1500;xn=sT([qn(1,V),qn(2,Mt),qn(3,vv),qn(4,$e),qn(5,it),qn(6,G)],xn);function aT(r){const e=" ";return r.replace(/[ \t]/g,e)}se.registerCommand("_executeInlayHintProvider",(r,...e)=>Qn(void 0,void 0,void 0,function*(){const[t,i]=e;re(te.isUri(t)),re(b.isIRange(i));const{inlayHintsProvider:o}=r.get(V),n=yield r.get(Pt).createModelReference(t);try{const s=yield Us.create(o,n.object.textEditorModel,[b.lift(i)],q.None),a=s.items.map(l=>l.hint);return setTimeout(()=>s.dispose(),0),a}finally{n.dispose()}}));var lT=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Jo=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},Pp=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})},dT=globalThis&&globalThis.__asyncValues||function(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof __values=="function"?__values(r):r[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(n){t[n]=r[n]&&function(s){return new Promise(function(a,l){s=r[n](s),o(a,l,s.done,s.value)})}}function o(n,s,a,l){Promise.resolve(l).then(function(c){n({value:c,done:a})},s)}};class Ap extends aa{constructor(e,t,i,o){super(10,t,e.item.anchor.range,i,o,!0),this.part=e}}let dh=class extends Pa{constructor(e,t,i,o,n,s){super(e,t,i,o,s),this._resolverService=n,this.hoverOrdinal=6}suggestHoverAnchor(e){var t;if(!xn.get(this._editor)||e.target.type!==6)return null;const o=(t=e.target.detail.injectedText)===null||t===void 0?void 0:t.options;return o instanceof $h&&o.attachedData instanceof ah?new Ap(o.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof Ap?new It(o=>Pp(this,void 0,void 0,function*(){var n,s,a,l;const{part:c}=e;if(yield c.item.resolve(i),i.isCancellationRequested)return;let d;typeof c.item.hint.tooltip=="string"?d=new je().appendText(c.item.hint.tooltip):c.item.hint.tooltip&&(d=c.item.hint.tooltip),d&&o.emitOne(new Lt(this,e.range,[d],!1,0)),Ge(c.item.hint.textEdits)&&o.emitOne(new Lt(this,e.range,[new je().appendText(u("hint.dbl","Double-click to insert"))],!1,10001));let h;if(typeof c.part.tooltip=="string"?h=new je().appendText(c.part.tooltip):c.part.tooltip&&(h=c.part.tooltip),h&&o.emitOne(new Lt(this,e.range,[h],!1,1)),c.part.location||c.part.command){let v;const S=this._editor.getOption(74)==="altKey"?vt?u("links.navigate.kb.meta.mac","cmd + click"):u("links.navigate.kb.meta","ctrl + click"):vt?u("links.navigate.kb.alt.mac","option + click"):u("links.navigate.kb.alt","alt + click");c.part.location&&c.part.command?v=new je().appendText(u("hint.defAndCommand","Go to Definition ({0}), right click for more",S)):c.part.location?v=new je().appendText(u("hint.def","Go to Definition ({0})",S)):c.part.command&&(v=new je(`[${u("hint.cmd","Execute Command")}](${nT(c.part.command)} "${c.part.command.title}") (${S})`,{isTrusted:!0})),v&&o.emitOne(new Lt(this,e.range,[v],!1,1e4))}const g=yield this._resolveInlayHintLabelPartHover(c,i);try{for(var p=!0,f=dT(g),m;m=yield f.next(),n=m.done,!n;){l=m.value,p=!1;try{const v=l;o.emitOne(v)}finally{p=!0}}}catch(v){s={error:v}}finally{try{!p&&!n&&(a=f.return)&&(yield a.call(f))}finally{if(s)throw s.error}}})):It.EMPTY}_resolveInlayHintLabelPartHover(e,t){return Pp(this,void 0,void 0,function*(){if(!e.part.location)return It.EMPTY;const{uri:i,range:o}=e.part.location,n=yield this._resolverService.createModelReference(i);try{const s=n.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(s)?Cu(this._languageFeaturesService.hoverProvider,s,new H(o.startLineNumber,o.startColumn),t).filter(a=>!Is(a.hover.contents)).map(a=>new Lt(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):It.EMPTY}finally{n.dispose()}})}};dh=lT([Jo(1,bt),Jo(2,Ct),Jo(3,he),Jo(4,Pt),Jo(5,V)],dh);K(xn.ID,xn,1);Hn.register(dh);class cT{constructor(e,t,i){this._editRange=e,this._originalSelection=t,this._text=i}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){const o=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new B(o.endLineNumber,Math.min(this._originalSelection.positionColumn,o.endColumn),o.endLineNumber,Math.min(this._originalSelection.positionColumn,o.endColumn)):new B(o.endLineNumber,o.endColumn-this._text.length,o.endLineNumber,o.endColumn)}}var hT=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},uT=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let Pi=class ch{static get(e){return e.getContribution(ch.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){var i;(i=this.currentRequest)===null||i===void 0||i.cancel();const o=this.editor.getSelection(),n=this.editor.getModel();if(!n||!o)return;let s=o;if(s.startLineNumber!==s.endLineNumber)return;const a=new wf(this.editor,5),l=n.uri;return this.editorWorkerService.canNavigateValueSet(l)?(this.currentRequest=Ce(c=>this.editorWorkerService.navigateValueSet(l,s,t)),this.currentRequest.then(c=>{var d;if(!c||!c.range||!c.value||!a.validate(this.editor))return;const h=b.lift(c.range);let g=c.range;const p=c.value.length-(s.endColumn-s.startColumn);g={startLineNumber:g.startLineNumber,startColumn:g.startColumn,endLineNumber:g.endLineNumber,endColumn:g.startColumn+c.value.length},p>1&&(s=new B(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const f=new cT(h,s,c.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,f),this.editor.pushUndoStop(),this.decorations.set([{range:g,options:ch.DECORATION}]),(d=this.decorationRemover)===null||d===void 0||d.cancel(),this.decorationRemover=Yh(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(ie)}).catch(ie)):Promise.resolve(void 0)}};Pi.ID="editor.contrib.inPlaceReplaceController";Pi.DECORATION=X.register({description:"in-place-replace",className:"valueSetReplacement"});Pi=hT([uT(1,rr)],Pi);class gT extends L{constructor(){super({id:"editor.action.inPlaceReplace.up",label:u("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:_.writable,kbOpts:{kbExpr:_.editorTextFocus,primary:3154,weight:100}})}run(e,t){const i=Pi.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}class pT extends L{constructor(){super({id:"editor.action.inPlaceReplace.down",label:u("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:_.writable,kbOpts:{kbExpr:_.editorTextFocus,primary:3156,weight:100}})}run(e,t){const i=Pi.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}K(Pi.ID,Pi,4);w(gT);w(pT);class fT extends L{constructor(){super({id:"expandLineSelection",label:u("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:_.textInputFocus,primary:2090}})}run(e,t,i){if(i=i||{},!t.hasModel())return;const o=t._getViewModel();o.model.pushStackElement(),o.setCursorStates(i.source,3,Jh.expandLineSelection(o,o.getCursorStates())),o.revealPrimaryCursor(i.source,!0)}}w(fT);class mT{constructor(e,t){this._selection=e,this._cursors=t,this._selectionId=null}getEditOperations(e,t){const i=_T(e,this._cursors);for(let o=0,n=i.length;os.lineNumber===a.lineNumber?s.column-a.column:s.lineNumber-a.lineNumber);for(let s=e.length-2;s>=0;s--)e[s].lineNumber===e[s+1].lineNumber&&e.splice(s,1);const t=[];let i=0,o=0;const n=e.length;for(let s=1,a=r.getLineCount();s<=a;s++){const l=r.getLineContent(s),c=l.length+1;let d=0;if(o=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},bT=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let hh=class{constructor(e,t,i,o){this._languageConfigurationService=o,this._selection=e,this._isMovingDown=t,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(e,t){const i=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===i){this._selectionId=t.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=t.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let o=this._selection;o.startLineNumbere.tokenization.getLineTokens(d),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(d,h)=>e.getLanguageIdAtPosition(d,h)},getLineContent:null};if(o.startLineNumber===o.endLineNumber&&e.getLineMaxColumn(o.startLineNumber)===1){const d=o.startLineNumber,h=this._isMovingDown?d+1:d-1;e.getLineMaxColumn(h)===1?t.addEditOperation(new b(1,1,1,1),null):(t.addEditOperation(new b(d,1,d,1),e.getLineContent(h)),t.addEditOperation(new b(h,1,h,e.getLineMaxColumn(h)),null)),o=new B(h,1,h,1)}else{let d,h;if(this._isMovingDown){d=o.endLineNumber+1,h=e.getLineContent(d),t.addEditOperation(new b(d-1,e.getLineMaxColumn(d-1),d,e.getLineMaxColumn(d)),null);let g=h;if(this.shouldAutoIndent(e,o)){const p=this.matchEnterRule(e,l,n,d,o.startLineNumber-1);if(p!==null){const m=be(e.getLineContent(d)),v=p+ze(m,n);g=vs(v,n,a)+this.trimLeft(h)}else{c.getLineContent=v=>v===o.startLineNumber?e.getLineContent(d):e.getLineContent(v);const m=gs(this._autoIndent,c,e.getLanguageIdAtPosition(d,1),o.startLineNumber,l,this._languageConfigurationService);if(m!==null){const v=be(e.getLineContent(d)),C=ze(m,n),S=ze(v,n);C!==S&&(g=vs(C,n,a)+this.trimLeft(h))}}t.addEditOperation(new b(o.startLineNumber,1,o.startLineNumber,1),g+` `);const f=this.matchEnterRuleMovingDown(e,l,n,o.startLineNumber,d,g);if(f!==null)f!==0&&this.getIndentEditsOfMovingBlock(e,t,o,n,a,f);else{c.getLineContent=v=>v===o.startLineNumber?g:v>=o.startLineNumber+1&&v<=o.endLineNumber+1?e.getLineContent(v-1):e.getLineContent(v);const m=gs(this._autoIndent,c,e.getLanguageIdAtPosition(d,1),o.startLineNumber+1,l,this._languageConfigurationService);if(m!==null){const v=be(e.getLineContent(o.startLineNumber)),C=ze(m,n),S=ze(v,n);if(C!==S){const y=C-S;this.getIndentEditsOfMovingBlock(e,t,o,n,a,y)}}}}else t.addEditOperation(new b(o.startLineNumber,1,o.startLineNumber,1),g+` `)}else if(d=o.startLineNumber-1,h=e.getLineContent(d),t.addEditOperation(new b(d,1,d+1,1),null),t.addEditOperation(new b(o.endLineNumber,e.getLineMaxColumn(o.endLineNumber),o.endLineNumber,e.getLineMaxColumn(o.endLineNumber)),` `+h),this.shouldAutoIndent(e,o)){c.getLineContent=p=>p===d?e.getLineContent(o.startLineNumber):e.getLineContent(p);const g=this.matchEnterRule(e,l,n,o.startLineNumber,o.startLineNumber-2);if(g!==null)g!==0&&this.getIndentEditsOfMovingBlock(e,t,o,n,a,g);else{const p=gs(this._autoIndent,c,e.getLanguageIdAtPosition(o.startLineNumber,1),d,l,this._languageConfigurationService);if(p!==null){const f=be(e.getLineContent(o.startLineNumber)),m=ze(p,n),v=ze(f,n);if(m!==v){const C=m-v;this.getIndentEditsOfMovingBlock(e,t,o,n,a,C)}}}}}this._selectionId=t.trackSelection(o)}buildIndentConverter(e,t,i){return{shiftIndent:o=>go.shiftIndent(o,o.length+1,e,t,i),unshiftIndent:o=>go.unshiftIndent(o,o.length+1,e,t,i)}}parseEnterResult(e,t,i,o,n){if(n){let s=n.indentation;n.indentAction===kr.None||n.indentAction===kr.Indent?s=n.indentation+n.appendText:n.indentAction===kr.IndentOutdent?s=n.indentation:n.indentAction===kr.Outdent&&(s=t.unshiftIndent(n.indentation)+n.appendText);const a=e.getLineContent(o);if(this.trimLeft(a).indexOf(this.trimLeft(s))>=0){const l=be(e.getLineContent(o));let c=be(s);const d=im(e,o,this._languageConfigurationService);d!==null&&d&2&&(c=t.unshiftIndent(c));const h=ze(c,i),g=ze(l,i);return h-g}}return null}matchEnterRuleMovingDown(e,t,i,o,n,s){if(oa(s)>=0){const a=e.getLineMaxColumn(n),l=dd(this._autoIndent,e,new b(n,a,n,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,o,l)}else{let a=o-1;for(;a>=1;){const d=e.getLineContent(a);if(oa(d)>=0)break;a--}if(a<1||o>e.getLineCount())return null;const l=e.getLineMaxColumn(a),c=dd(this._autoIndent,e,new b(a,l,a,l),this._languageConfigurationService);return this.parseEnterResult(e,t,i,o,c)}}matchEnterRule(e,t,i,o,n,s){let a=n;for(;a>=1;){let d;if(a===n&&s!==void 0?d=s:d=e.getLineContent(a),oa(d)>=0)break;a--}if(a<1||o>e.getLineCount())return null;const l=e.getLineMaxColumn(a),c=dd(this._autoIndent,e,new b(a,l,a,l),this._languageConfigurationService);return this.parseEnterResult(e,t,i,o,c)}trimLeft(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4||!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const i=e.getLanguageIdAtPosition(t.startLineNumber,1),o=e.getLanguageIdAtPosition(t.endLineNumber,1);return!(i!==o||this._languageConfigurationService.getLanguageConfiguration(i).indentRulesSupport===null)}getIndentEditsOfMovingBlock(e,t,i,o,n,s){for(let a=i.startLineNumber;a<=i.endLineNumber;a++){const l=e.getLineContent(a),c=be(l),h=ze(c,o)+s,g=vs(h,o,n);g!==c&&(t.addEditOperation(new b(a,1,a,c.length+1),g),a===i.endLineNumber&&i.endColumn<=c.length+1&&g===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber=o)return null;const n=[];for(let a=i;a<=o;a++)n.push(r.getLineContent(a));let s=n.slice(0);return s.sort(Li.getCollator().compare),t===!0&&(s=s.reverse()),{startLineNumber:i,endLineNumber:o,before:n,after:s}}function CT(r,e,t){const i=Cv(r,e,t);return i?ae.replace(new b(i.startLineNumber,1,i.endLineNumber,r.getLineMaxColumn(i.endLineNumber)),i.after.join(` `)):null}class Sv extends L{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const i=t.getSelections().map((s,a)=>({selection:s,index:a,ignore:!1}));i.sort((s,a)=>b.compareRangesUsingStarts(s.selection,a.selection));let o=i[0];for(let s=1;snew H(a.positionLineNumber,a.positionColumn)));const n=t.getSelection();if(n===null)return;const s=new mT(n,o);t.pushUndoStop(),t.executeCommands(this.id,[s]),t.pushUndoStop()}}ql.ID="editor.action.trimTrailingWhitespace";class RT extends L{constructor(){super({id:"editor.action.deleteLines",label:u("lines.delete","Delete Line"),alias:"Delete Line",precondition:_.writable,kbOpts:{kbExpr:_.textInputFocus,primary:3113,weight:100}})}run(e,t){if(!t.hasModel())return;const i=this._getLinesToRemove(t),o=t.getModel();if(o.getLineCount()===1&&o.getLineMaxColumn(1)===1)return;let n=0;const s=[],a=[];for(let l=0,c=i.length;l1&&(h-=1,p=o.getLineMaxColumn(h)),s.push(ae.replace(new B(h,p,g,f),"")),a.push(new B(h-n,d.positionColumn,h-n,d.positionColumn)),n+=d.endLineNumber-d.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,s,a),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map(n=>{let s=n.endLineNumber;return n.startLineNumbern.startLineNumber===s.startLineNumber?n.endLineNumber-s.endLineNumber:n.startLineNumber-s.startLineNumber);const i=[];let o=t[0];for(let n=1;n=t[n].startLineNumber?o.endLineNumber=t[n].endLineNumber:(i.push(o),o=t[n]);return i.push(o),i}}class kT extends L{constructor(){super({id:"editor.action.indentLines",label:u("lines.indent","Indent Line"),alias:"Indent Line",precondition:_.writable,kbOpts:{kbExpr:_.editorTextFocus,primary:2137,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,eu.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class NT extends L{constructor(){super({id:"editor.action.outdentLines",label:u("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:_.writable,kbOpts:{kbExpr:_.editorTextFocus,primary:2135,weight:100}})}run(e,t){na.Outdent.runEditorCommand(e,t,null)}}class MT extends L{constructor(){super({id:"editor.action.insertLineBefore",label:u("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:_.writable,kbOpts:{kbExpr:_.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,eu.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class ET extends L{constructor(){super({id:"editor.action.insertLineAfter",label:u("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:_.writable,kbOpts:{kbExpr:_.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,eu.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class xv extends L{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),o=this._getRangesToDelete(t),n=[];for(let l=0,c=o.length-1;lae.replace(l,""));t.pushUndoStop(),t.executeEdits(this.id,a,s),t.pushUndoStop()}}class PT extends xv{constructor(){super({id:"deleteAllLeft",label:u("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:_.writable,kbOpts:{kbExpr:_.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(e,t){let i=null;const o=[];let n=0;return t.forEach(s=>{let a;if(s.endColumn===1&&n>0){const l=s.startLineNumber-n;a=new B(l,s.startColumn,l,s.startColumn)}else a=new B(s.startLineNumber,s.startColumn,s.startLineNumber,s.startColumn);n+=s.endLineNumber-s.startLineNumber,s.intersectRanges(e)?i=a:o.push(a)}),i&&o.unshift(i),o}_getRangesToDelete(e){const t=e.getSelections();if(t===null)return[];let i=t;const o=e.getModel();return o===null?[]:(i.sort(b.compareRangesUsingStarts),i=i.map(n=>{if(n.isEmpty())if(n.startColumn===1){const s=Math.max(1,n.startLineNumber-1),a=n.startLineNumber===1?1:o.getLineContent(s).length+1;return new b(s,a,n.startLineNumber,1)}else return new b(n.startLineNumber,1,n.startLineNumber,n.startColumn);else return new b(n.startLineNumber,1,n.endLineNumber,n.endColumn)}),i)}}class AT extends xv{constructor(){super({id:"deleteAllRight",label:u("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:_.writable,kbOpts:{kbExpr:_.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let i=null;const o=[];for(let n=0,s=t.length,a=0;n{if(n.isEmpty()){const s=t.getLineMaxColumn(n.startLineNumber);return n.startColumn===s?new b(n.startLineNumber,n.startColumn,n.startLineNumber+1,1):new b(n.startLineNumber,n.startColumn,n.startLineNumber,s)}return n});return o.sort(b.compareRangesUsingStarts),o}}class OT extends L{constructor(){super({id:"editor.action.joinLines",label:u("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:_.writable,kbOpts:{kbExpr:_.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(e,t){const i=t.getSelections();if(i===null)return;let o=t.getSelection();if(o===null)return;i.sort(b.compareRangesUsingStarts);const n=[],s=i.reduce((g,p)=>g.isEmpty()?g.endLineNumber===p.startLineNumber?(o.equalsSelection(g)&&(o=p),p):p.startLineNumber>g.endLineNumber+1?(n.push(g),p):new B(g.startLineNumber,g.startColumn,p.endLineNumber,p.endColumn):p.startLineNumber>g.endLineNumber?(n.push(g),p):new B(g.startLineNumber,g.startColumn,p.endLineNumber,p.endColumn));n.push(s);const a=t.getModel();if(a===null)return;const l=[],c=[];let d=o,h=0;for(let g=0,p=n.length;g=1){let Fe=!0;T===""&&(Fe=!1),Fe&&(T.charAt(T.length-1)===" "||T.charAt(T.length-1)===" ")&&(Fe=!1,T=T.replace(/[\s\uFEFF\xA0]+$/g," "));const Ot=ht.substr(nt-1);T+=(Fe?" ":"")+Ot,Fe?C=Ot.length+1:C=Ot.length}else C=0}const j=new b(m,v,S,y);if(!j.isEmpty()){let U;f.isEmpty()?(l.push(ae.replace(j,T)),U=new B(j.startLineNumber-h,T.length-C+1,m-h,T.length-C+1)):f.startLineNumber===f.endLineNumber?(l.push(ae.replace(j,T)),U=new B(f.startLineNumber-h,f.startColumn,f.endLineNumber-h,f.endColumn)):(l.push(ae.replace(j,T)),U=new B(f.startLineNumber-h,f.startColumn,f.startLineNumber-h,T.length-I)),b.intersectRanges(j,o)!==null?d=U:c.push(U)}h+=j.endLineNumber-j.startLineNumber}c.unshift(d),t.pushUndoStop(),t.executeEdits(this.id,l,c),t.pushUndoStop()}}class FT extends L{constructor(){super({id:"editor.action.transpose",label:u("editor.transpose","Transpose characters around the cursor"),alias:"Transpose characters around the cursor",precondition:_.writable})}run(e,t){const i=t.getSelections();if(i===null)return;const o=t.getModel();if(o===null)return;const n=[];for(let s=0,a=i.length;s=d){if(c.lineNumber===o.getLineCount())continue;const h=new b(c.lineNumber,Math.max(1,c.column-1),c.lineNumber+1,1),g=o.getValueInRange(h).split("").reverse().join("");n.push(new er(new B(c.lineNumber,Math.max(1,c.column-1),c.lineNumber+1,1),g))}else{const h=new b(c.lineNumber,Math.max(1,c.column-1),c.lineNumber,c.column+1),g=o.getValueInRange(h).split("").reverse().join("");n.push(new Af(h,g,new B(c.lineNumber,c.column+1,c.lineNumber,c.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class Wo extends L{run(e,t){const i=t.getSelections();if(i===null)return;const o=t.getModel();if(o===null)return;const n=t.getOption(124),s=[];for(const a of i)if(a.isEmpty()){const l=a.getStartPosition(),c=t.getConfiguredWordAtPosition(l);if(!c)continue;const d=new b(l.lineNumber,c.startColumn,l.lineNumber,c.endColumn),h=o.getValueInRange(d);s.push(ae.replace(d,this._modifyText(h,n)))}else{const l=o.getValueInRange(a);s.push(ae.replace(a,this._modifyText(l,n)))}t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop()}}class WT extends Wo{constructor(){super({id:"editor.action.transformToUppercase",label:u("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:_.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class HT extends Wo{constructor(){super({id:"editor.action.transformToLowercase",label:u("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:_.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class Vn{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}}class $s extends Wo{constructor(){super({id:"editor.action.transformToTitlecase",label:u("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:_.writable})}_modifyText(e,t){const i=$s.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,o=>o.toLocaleUpperCase()):e}}$s.titleBoundary=new Vn("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");class Ii extends Wo{constructor(){super({id:"editor.action.transformToSnakecase",label:u("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:_.writable})}_modifyText(e,t){const i=Ii.caseBoundary.get(),o=Ii.singleLetters.get();return!i||!o?e:e.replace(i,"$1_$2").replace(o,"$1_$2$3").toLocaleLowerCase()}}Ii.caseBoundary=new Vn("(\\p{Ll})(\\p{Lu})","gmu");Ii.singleLetters=new Vn("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");class zs extends Wo{constructor(){super({id:"editor.action.transformToCamelcase",label:u("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:_.writable})}_modifyText(e,t){const i=zs.wordBoundary.get();if(!i)return e;const o=e.split(i);return o.shift()+o.map(s=>s.substring(0,1).toLocaleUpperCase()+s.substring(1)).join("")}}zs.wordBoundary=new Vn("[_\\s-]","gm");class ai extends Wo{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:u("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:_.writable})}_modifyText(e,t){const i=ai.caseBoundary.get(),o=ai.singleLetters.get(),n=ai.underscoreBoundary.get();return!i||!o||!n?e:e.replace(n,"$1-$3").replace(i,"$1-$2").replace(o,"$1-$2").toLocaleLowerCase()}}ai.caseBoundary=new Vn("(\\p{Ll})(\\p{Lu})","gmu");ai.singleLetters=new Vn("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu");ai.underscoreBoundary=new Vn("(\\S)(_)(\\S)","gm");w(ST);w(wT);w(yT);w(xT);w(LT);w(IT);w(DT);w(TT);w(ql);w(RT);w(kT);w(NT);w(MT);w(ET);w(PT);w(AT);w(OT);w(FT);w(WT);w(HT);Ii.caseBoundary.isSupported()&&Ii.singleLetters.isSupported()&&w(Ii);zs.wordBoundary.isSupported()&&w(zs);$s.titleBoundary.isSupported()&&w($s);ai.isSupported()&&w(ai);var VT=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Xr=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},uh=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};const Lv=new Z("LinkedEditingInputVisible",!1),BT="linked-editing-decoration";let Ai=class gh extends E{static get(e){return e.getContribution(gh.ID)}constructor(e,t,i,o,n){super(),this.languageConfigurationService=o,this._syncRangesToken=0,this._localToDispose=this._register(new R),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=Lv.bindTo(t),this._debounceInformation=n.for(this._providers,"Linked Editing",{min:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new R),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequest=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration(s=>{(s.hasChanged(66)||s.hasChanged(87))&&this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}reinitialize(e){const t=this._editor.getModel(),i=t!==null&&(this._editor.getOption(66)||this._editor.getOption(87))&&this._providers.has(t);if(i===this._enabled&&!e||(this._enabled=i,this.clearRanges(),this._localToDispose.clear(),!i||t===null))return;this._localToDispose.add(He.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const o=new uo(this._debounceInformation.get(t)),n=()=>{var l;this._rangeUpdateTriggerPromise=o.trigger(()=>this.updateRanges(),(l=this._debounceDuration)!==null&&l!==void 0?l:this._debounceInformation.get(t))},s=new uo(0),a=l=>{this._rangeSyncTriggerPromise=s.trigger(()=>this._syncRanges(l))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{n()})),this._localToDispose.add(this._editor.onDidChangeModelContent(l=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const c=this._currentDecorations.getRange(0);if(c&&l.changes.every(d=>c.intersectRanges(d.range))){a(this._syncRangesToken);return}}n()})),this._localToDispose.add({dispose:()=>{o.dispose(),s.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||this._currentDecorations.length===0)return;const t=this._editor.getModel(),i=this._currentDecorations.getRange(0);if(!i||i.startLineNumber!==i.endLineNumber)return this.clearRanges();const o=t.getValueInRange(i);if(this._currentWordPattern){const s=o.match(this._currentWordPattern);if((s?s[0].length:0)!==o.length)return this.clearRanges()}const n=[];for(let s=1,a=this._currentDecorations.length;s1){this.clearRanges();return}const i=this._editor.getModel(),o=i.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===o){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const s=this._currentDecorations.getRange(0);if(s&&s.containsPosition(t))return}}this._currentRequestPosition=t,this._currentRequestModelVersion=o;const n=Ce(s=>uh(this,void 0,void 0,function*(){try{const a=new jt(!1),l=yield Iv(this._providers,i,t,s);if(this._debounceInformation.update(i,a.elapsed()),n!==this._currentRequest||(this._currentRequest=null,o!==i.getVersionId()))return;let c=[];l!=null&&l.ranges&&(c=l.ranges),this._currentWordPattern=(l==null?void 0:l.wordPattern)||this._languageWordPattern;let d=!1;for(let g=0,p=c.length;g({range:g,options:gh.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(h),this._syncRangesToken++}catch(a){Ro(a)||ie(a),(this._currentRequest===n||!this._currentRequest)&&this.clearRanges()}}));return this._currentRequest=n,n})}};Ai.ID="editor.contrib.linkedEditing";Ai.DECORATION=X.register({description:"linked-editing",stickiness:0,className:BT});Ai=VT([Xr(1,Q),Xr(2,V),Xr(3,Ne),Xr(4,Mt)],Ai);class UT extends L{constructor(){super({id:"editor.action.linkedEditing",label:u("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:x.and(_.writable,_.hasRenameProvider),kbOpts:{kbExpr:_.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(Se),[o,n]=Array.isArray(t)&&t||[void 0,void 0];return te.isUri(o)&&H.isIPosition(n)?i.openCodeEditor({resource:o},i.getActiveCodeEditor()).then(s=>{s&&(s.setPosition(n),s.invokeWithinContext(a=>(this.reportTelemetry(a,s),this.run(a,s))))},ie):super.runCommand(e,t)}run(e,t){const i=Ai.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const $T=ct.bindToContribution(Ai.get);F(new $T({id:"cancelLinkedEditingInput",precondition:Lv,handler:r=>r.clearRanges(),kbOpts:{kbExpr:_.editorTextFocus,weight:100+99,primary:9,secondary:[1033]}}));function Iv(r,e,t,i){const o=r.ordered(e);return om(o.map(n=>()=>uh(this,void 0,void 0,function*(){try{return yield n.provideLinkedEditingRanges(e,t,i)}catch(s){ye(s);return}})),n=>!!n&&Ge(n==null?void 0:n.ranges))}A("editor.linkedEditingBackground",{dark:J.fromHex("#f00").transparent(.3),light:J.fromHex("#f00").transparent(.3),hcDark:J.fromHex("#f00").transparent(.3),hcLight:J.white},u("editorLinkedEditingBackground","Background color when the editor auto renames on type."));Qt("_executeLinkedEditingProvider",(r,e,t)=>{const{linkedEditingRangeProvider:i}=r.get(V);return Iv(i,e,t,q.None)});K(Ai.ID,Ai,1);w(UT);var Dv=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};let zT=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}resolve(e){return Dv(this,void 0,void 0,function*(){return this._link.url?this._link.url:typeof this._provider.resolveLink=="function"?Promise.resolve(this._provider.resolveLink(this._link,e)).then(t=>(this._link=t||this._link,this._link.url?this.resolve(e):Promise.reject(new Error("missing")))):Promise.reject(new Error("missing"))})}};class za{constructor(e){this._disposables=new R;let t=[];for(const[i,o]of e){const n=i.links.map(s=>new zT(s,o));t=za._union(t,n),If(i)&&this._disposables.add(i)}this.links=t}dispose(){this._disposables.dispose(),this.links.length=0}static _union(e,t){const i=[];let o,n,s,a;for(o=0,s=0,n=e.length,a=t.length;oPromise.resolve(n.provideLinks(e,t)).then(a=>{a&&(i[s]=[a,n])},ye));return Promise.all(o).then(()=>{const n=new za(tr(i));return t.isCancellationRequested?(n.dispose(),new za([])):n})}se.registerCommand("_executeLinkProvider",(r,...e)=>Dv(void 0,void 0,void 0,function*(){let[t,i]=e;re(t instanceof te),typeof i!="number"&&(i=0);const{linkProvider:o}=r.get(V),n=r.get(Qe).getModel(t);if(!n)return[];const s=yield Tv(o,n,q.None);if(!s)return[];for(let l=0;l=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Qr=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},KT=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};let bo=class Rv extends E{static get(e){return e.getContribution(Rv.ID)}constructor(e,t,i,o,n){super(),this.editor=e,this.openerService=t,this.notificationService=i,this.languageFeaturesService=o,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=n.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new _e(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const s=this._register(new vl(e));this._register(s.onMouseMoveOrRelevantKeyDown(([a,l])=>{this._onEditorMouseMove(a,l)})),this._register(s.onExecute(a=>{this.onEditorMouseUp(a)})),this._register(s.onCancel(a=>{this.cleanUpActiveLinkDecoration()})),this._register(e.onDidChangeConfiguration(a=>{a.hasChanged(67)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(e.onDidChangeModelContent(a=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(e.onDidChangeModel(a=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(e.onDidChangeModelLanguage(a=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(a=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}computeLinksNow(){return KT(this,void 0,void 0,function*(){if(!this.editor.hasModel()||!this.editor.getOption(67))return;const e=this.editor.getModel();if(this.providers.has(e)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=Ce(t=>Tv(this.providers,e,t));try{const t=new jt(!1);if(this.activeLinksList=yield this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){ie(t)}finally{this.computePromise=null}}})}updateDecorations(e){const t=this.editor.getOption(74)==="altKey",i=[],o=Object.keys(this.currentOccurrences);for(const s of o){const a=this.currentOccurrences[s];i.push(a.decorationId)}const n=[];if(e)for(const s of e)n.push(ao.decoration(s,t));this.editor.changeDecorations(s=>{const a=s.deltaDecorations(i,n);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let l=0,c=a.length;l{o.activate(n,i),this.activeLinkDecorationId=o.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const e=this.editor.getOption(74)==="altKey";if(this.activeLinkDecorationId){const t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations(i=>{t.deactivate(i,e)}),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;const t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,i=!1){if(!this.openerService)return;const{link:o}=e;o.resolve(q.None).then(n=>{if(typeof n=="string"&&this.editor.hasModel()){const s=this.editor.getModel().uri;if(s.scheme===Ci.file&&n.startsWith(`${Ci.file}:`)){const a=te.parse(n);if(a.scheme===Ci.file){const l=CS(a);let c=null;l.startsWith("/./")?c=`.${l.substr(1)}`:l.startsWith("//./")&&(c=`.${l.substr(2)}`),c&&(n=SS(s,c))}}}return this.openerService.open(n,{openToSide:t,fromUserGesture:i,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},n=>{const s=n instanceof Error?n.message:n;s==="invalid"?this.notificationService.warn(u("invalid.url","Failed to open this link because it is not well-formed: {0}",o.url.toString())):s==="missing"?this.notificationService.warn(u("missing.url","Failed to open this link because its target is missing.")):ie(n)})}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;const t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(const i of t){const o=this.currentOccurrences[i.id];if(o)return o}return null}isEnabled(e,t){return Boolean(e.target.type===6&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey))}stop(){var e;this.computeLinks.cancel(),this.activeLinksList&&((e=this.activeLinksList)===null||e===void 0||e.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};bo.ID="editor.linkDetector";bo=jT([Qr(1,Ct),Qr(2,it),Qr(3,V),Qr(4,Mt)],bo);const Op={general:X.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:X.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class ao{static decoration(e,t){return{range:e.range,options:ao._getOptions(e,t,!1)}}static _getOptions(e,t,i){const o=Object.assign({},i?Op.active:Op.general);return o.hoverMessage=qT(e,t),o}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,ao._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,ao._getOptions(this.link,t,!1))}}function qT(r,e){const t=r.url&&/^command:/i.test(r.url.toString()),i=r.tooltip?r.tooltip:t?u("links.navigate.executeCmd","Execute command"):u("links.navigate.follow","Follow link"),o=e?vt?u("links.navigate.kb.meta.mac","cmd + click"):u("links.navigate.kb.meta","ctrl + click"):vt?u("links.navigate.kb.alt.mac","option + click"):u("links.navigate.kb.alt","alt + click");if(r.url){let n="";if(/^command:/i.test(r.url.toString())){const a=r.url.toString().match(/^command:([^?#]+)/);if(a){const l=a[1];n=u("tooltip.explanation","Execute command {0}",l)}}return new je("",!0).appendLink(r.url.toString(!0).replace(/ /g,"%20"),i,n).appendMarkdown(` (${o})`)}else return new je().appendText(`${i} (${o})`)}class GT extends L{constructor(){super({id:"editor.action.openLink",label:u("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=bo.get(t);if(!i||!t.hasModel())return;const o=t.getSelections();for(const n of o){const s=i.getLinkOccurrence(n.getEndPosition());s&&i.openLinkOccurrence(s,!1)}}}K(bo.ID,bo,1);w(GT);class ph extends E{constructor(e){super(),this._editor=e,this._register(this._editor.onMouseDown(t=>{const i=this._editor.getOption(111);i>=0&&t.target.type===6&&t.target.position.column>=i&&this._editor.updateOptions({stopRenderingLineAfter:-1})}))}}ph.ID="editor.contrib.longLinesHelper";K(ph.ID,ph,2);const Yr=A("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},u("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);A("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},u("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);A("editor.wordHighlightTextBackground",{light:Yr,dark:Yr,hcDark:Yr,hcLight:Yr},u("wordHighlightText","Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const Jr=A("editor.wordHighlightBorder",{light:null,dark:null,hcDark:hn,hcLight:hn},u("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));A("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:hn,hcLight:hn},u("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));A("editor.wordHighlightTextBorder",{light:Jr,dark:Jr,hcDark:Jr,hcLight:Jr},u("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const ZT=A("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},u("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),XT=A("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hcDark:"#C0A0C0CC",hcLight:"#C0A0C0CC"},u("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),QT=A("editorOverviewRuler.wordHighlightTextForeground",{dark:ss,light:ss,hcDark:ss,hcLight:ss},u("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),YT=X.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:ue(XT),position:qt.Center},minimap:{color:ue(sl),position:En.Inline}}),JT=X.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:ue(QT),position:qt.Center},minimap:{color:ue(sl),position:En.Inline}}),eR=X.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:ue(ss),position:qt.Center},minimap:{color:ue(sl),position:En.Inline}}),tR=X.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),iR=X.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:ue(ZT),position:qt.Center},minimap:{color:ue(sl),position:En.Inline}});function nR(r){return r===rc.Write?YT:r===rc.Text?JT:iR}function oR(r){return r?tR:eR}qh((r,e)=>{const t=r.getColor(wS);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var sR=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},rR=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};function zi(r,e){const t=e.filter(i=>!r.find(o=>o.equals(i)));if(t.length>=1){const i=t.map(n=>`line ${n.viewState.position.lineNumber} column ${n.viewState.position.column}`).join(", "),o=t.length===1?u("cursorAdded","Cursor added: {0}",i):u("cursorsAdded","Cursors added: {0}",i);yS(o)}}class aR extends L{constructor(){super({id:"editor.action.insertCursorAbove",label:u("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:_.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:O.MenubarSelectionMenu,group:"3_multi",title:u({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})}run(e,t,i){if(!t.hasModel())return;let o=!0;i&&i.logicalLine===!1&&(o=!1);const n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const s=n.getCursorStates();n.setCursorStates(i.source,3,Jh.addCursorUp(n,s,o)),n.revealTopMostCursor(i.source),zi(s,n.getCursorStates())}}class lR extends L{constructor(){super({id:"editor.action.insertCursorBelow",label:u("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:_.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:O.MenubarSelectionMenu,group:"3_multi",title:u({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})}run(e,t,i){if(!t.hasModel())return;let o=!0;i&&i.logicalLine===!1&&(o=!1);const n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const s=n.getCursorStates();n.setCursorStates(i.source,3,Jh.addCursorDown(n,s,o)),n.revealBottomMostCursor(i.source),zi(s,n.getCursorStates())}}class dR extends L{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:u("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:_.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:O.MenubarSelectionMenu,group:"3_multi",title:u({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(e,t,i){if(!e.isEmpty()){for(let o=e.startLineNumber;o1&&i.push(new B(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;const i=t.getModel(),o=t.getSelections(),n=t._getViewModel(),s=n.getCursorStates(),a=[];o.forEach(l=>this.getCursorsForSelection(l,i,a)),a.length>0&&t.setSelections(a),zi(s,n.getCursorStates())}}class cR extends L{constructor(){super({id:"editor.action.addCursorsToBottom",label:u("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),o=t.getModel().getLineCount(),n=[];for(let l=i[0].startLineNumber;l<=o;l++)n.push(new B(l,i[0].startColumn,l,i[0].endColumn));const s=t._getViewModel(),a=s.getCursorStates();n.length>0&&t.setSelections(n),zi(a,s.getCursorStates())}}class hR extends L{constructor(){super({id:"editor.action.addCursorsToTop",label:u("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),o=[];for(let a=i[0].startLineNumber;a>=1;a--)o.push(new B(a,i[0].startColumn,a,i[0].endColumn));const n=t._getViewModel(),s=n.getCursorStates();o.length>0&&t.setSelections(o),zi(s,n.getCursorStates())}}class ea{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class js{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new js(e,t,!1,i.searchString,i.wholeWord,i.matchCase,null);let o=!1,n,s;const a=e.getSelections();a.length===1&&a[0].isEmpty()?(o=!0,n=!0,s=!0):(n=i.wholeWord,s=i.matchCase);const l=e.getSelection();let c,d=null;if(l.isEmpty()){const h=e.getConfiguredWordAtPosition(l.getStartPosition());if(!h)return null;c=h.word,d=new B(l.startLineNumber,h.startColumn,l.startLineNumber,h.endColumn)}else c=e.getModel().getValueInRange(l).replace(/\r\n/g,` `);return new js(e,t,o,c,n,s,d)}constructor(e,t,i,o,n,s,a){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=i,this.searchText=o,this.wholeWord=n,this.matchCase=s,this.currentMatch=a}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new ea(t.concat(e),e,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new ea(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const o=this.currentMatch;return this.currentMatch=null,o}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(124):null,!1);return i?new B(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new ea(t.concat(e),e,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new ea(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const o=this.currentMatch;return this.currentMatch=null,o}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(124):null,!1);return i?new B(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(124):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(124):null,!1,1073741824)}}class Ln extends E{static get(e){return e.getContribution(Ln.ID)}constructor(e){super(),this._sessionDispose=this._register(new R),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=js.create(this._editor,e);if(!t)return;this._session=t;const i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(o=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(o=>{(o.matchCase||o.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const e={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(e,!1)}this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;const i=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return i?new B(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){const t=this._editor.getSelections();if(t.length>1){const o=e.getState().matchCase;if(!Nv(this._editor.getModel(),t,o)){const s=this._editor.getModel(),a=[];for(let l=0,c=t.length;l0&&i.isRegex){const o=this._editor.getModel();i.searchScope?t=o.findMatches(i.searchString,i.searchScope,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(124):null,!1,1073741824):t=o.findMatches(i.searchString,!0,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(124):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(i.searchScope)}if(t.length>0){const o=this._editor.getSelection();for(let n=0,s=t.length;nnew B(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn)))}}}Ln.ID="editor.contrib.multiCursorController";class Ho extends L{run(e,t){const i=Ln.get(t);if(!i)return;const o=t._getViewModel();if(o){const n=o.getCursorStates(),s=Ae.get(t);if(s)this._run(i,s);else{const a=e.get(G).createInstance(Ae,t);this._run(i,a),a.dispose()}zi(n,o.getCursorStates())}}}class uR extends Ho{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:u("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:_.focus,primary:2082,weight:100},menuOpts:{menuId:O.MenubarSelectionMenu,group:"3_multi",title:u({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class gR extends Ho{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:u("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:O.MenubarSelectionMenu,group:"3_multi",title:u({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class pR extends Ho{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:u("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:_.focus,primary:fe(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class fR extends Ho{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:u("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)}}class mR extends Ho{constructor(){super({id:"editor.action.selectHighlights",label:u("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:_.focus,primary:3114,weight:100},menuOpts:{menuId:O.MenubarSelectionMenu,group:"3_multi",title:u({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class _R extends Ho{constructor(){super({id:"editor.action.changeAll",label:u("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:x.and(_.writable,_.editorTextFocus),kbOpts:{kbExpr:_.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class vR{constructor(e,t,i,o,n){this._model=e,this._searchText=t,this._matchCase=i,this._wordSeparators=o,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,n&&this._model===n._model&&this._searchText===n._searchText&&this._matchCase===n._matchCase&&this._wordSeparators===n._wordSeparators&&this._modelVersionId===n._modelVersionId&&(this._cachedFindMatches=n._cachedFindMatches)}findMatches(){return this._cachedFindMatches===null&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map(e=>e.range),this._cachedFindMatches.sort(b.compareRangesUsingStarts)),this._cachedFindMatches}}let Ks=class kv extends E{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(102),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new _e(()=>this._update(),300)),this.state=null,this._register(e.onDidChangeConfiguration(o=>{this._isEnabled=e.getOption(102)})),this._register(e.onDidChangeCursorSelection(o=>{this._isEnabled&&(o.selection.isEmpty()?o.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(e.onDidChangeModel(o=>{this._setState(null)})),this._register(e.onDidChangeModelContent(o=>{this._isEnabled&&this.updateSoon.schedule()}));const i=Ae.get(e);i&&this._register(i.getState().onFindReplaceStateChange(o=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(kv._createState(this.state,this._isEnabled,this.editor))}static _createState(e,t,i){if(!t||!i.hasModel())return null;const o=i.getSelection();if(o.startLineNumber!==o.endLineNumber)return null;const n=Ln.get(i);if(!n)return null;const s=Ae.get(i);if(!s)return null;let a=n.getSession(s);if(!a){const d=i.getSelections();if(d.length>1){const g=s.getState().matchCase;if(!Nv(i.getModel(),d,g))return null}a=js.create(i,s)}if(!a||a.currentMatch||/^[ \t]+$/.test(a.searchText)||a.searchText.length>200)return null;const l=s.getState(),c=l.matchCase;if(l.isRevealed){let d=l.searchString;c||(d=d.toLowerCase());let h=a.searchText;if(c||(h=h.toLowerCase()),d===h&&a.matchCase===l.matchCase&&a.wholeWord===l.wholeWord&&!l.isRegex)return null}return new vR(i.getModel(),a.searchText,a.matchCase,a.wholeWord?i.getOption(124):null,e)}_setState(e){if(this.state=e,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;const t=this.editor.getModel();if(t.isTooLargeForTokenization())return;const i=this.state.findMatches(),o=this.editor.getSelections();o.sort(b.compareRangesUsingStarts);const n=[];for(let l=0,c=0,d=i.length,h=o.length;l=h)n.push(g),l++;else{const p=b.compareRangesUsingStarts(g,o[c]);p<0?((o[c].isEmpty()||!b.areIntersecting(g,o[c]))&&n.push(g),l++):(p>0||l++,c++)}}const s=this._languageFeaturesService.documentHighlightProvider.has(t)&&this.editor.getOption(77),a=n.map(l=>({range:l,options:oR(s)}));this._decorations.set(a)}dispose(){this._setState(null),super.dispose()}};Ks.ID="editor.contrib.selectionHighlighter";Ks=sR([rR(1,V)],Ks);function Nv(r,e,t){const i=Fp(r,e[0],!t);for(let o=1,n=e.length;oMv(void 0,void 0,void 0,function*(){const[t,i,o]=e;re(te.isUri(t)),re(H.isIPosition(i)),re(typeof o=="string"||!o);const n=r.get(V),s=yield r.get(Pt).createModelReference(t);try{const a=yield Ev(n.signatureHelpProvider,s.object.textEditorModel,H.lift(i),{triggerKind:wi.Invoke,isRetrigger:!1,triggerCharacter:o},q.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{s.dispose()}}));var SR=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})},gi;(function(r){r.Default={type:0};class e{constructor(o,n){this.request=o,this.previouslyActiveHints=n,this.type=2}}r.Pending=e;class t{constructor(o){this.hints=o,this.type=1}}r.Active=t})(gi||(gi={}));class Gl extends E{constructor(e,t,i=Gl.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new z),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=gi.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Ve),this.triggerChars=new xa,this.retriggerChars=new xa,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new uo(i),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(o=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(o=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(o=>this.onCursorChange(o))),this._register(this.editor.onDidChangeModelContent(o=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(o=>this.onDidType(o))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){this._state.type===2&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=gi.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const i=this.editor.getModel();if(!i||!this.providers.has(i))return;const o=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger(()=>this.doTrigger(o),t).catch(ie)}next(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e===e-1,o=this.editor.getOption(81).cycle;if((e<2||i)&&!o){this.cancel();return}this.updateActiveSignature(i&&o?0:t+1)}previous(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t===0,o=this.editor.getOption(81).cycle;if((e<2||i)&&!o){this.cancel();return}this.updateActiveSignature(i&&o?e-1:t-1)}updateActiveSignature(e){this.state.type===1&&(this.state=new gi.Active(Object.assign(Object.assign({},this.state.hints),{activeSignature:e})),this._onChangedHints.fire(this.state.hints))}doTrigger(e){return SR(this,void 0,void 0,function*(){const t=this.state.type===1||this.state.type===2,i=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;const o=this._pendingTriggers.reduce(wR);this._pendingTriggers=[];const n={triggerKind:o.triggerKind,triggerCharacter:o.triggerCharacter,isRetrigger:t,activeSignatureHelp:i};if(!this.editor.hasModel())return!1;const s=this.editor.getModel(),a=this.editor.getPosition();this.state=new gi.Pending(Ce(l=>Ev(this.providers,s,a,n,l)),i);try{const l=yield this.state.request;return e!==this.triggerId?(l==null||l.dispose(),!1):!l||!l.value.signatures||l.value.signatures.length===0?(l==null||l.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new gi.Active(l.value),this._lastSignatureHelpResult.value=l,this._onChangedHints.fire(this.state.hints),!0)}catch(l){return e===this.triggerId&&(this.state=gi.Default),ie(l),!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();const e=this.editor.getModel();if(e)for(const t of this.providers.ordered(e)){for(const i of t.signatureHelpTriggerCharacters||[])if(i.length){const o=i.charCodeAt(0);this.triggerChars.add(o),this.retriggerChars.add(o)}for(const i of t.signatureHelpRetriggerCharacters||[])i.length&&this.retriggerChars.add(i.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:wi.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:wi.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:wi.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(81).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}Gl.DEFAULT_DELAY=120;function wR(r,e){switch(e.triggerKind){case wi.Invoke:return e;case wi.ContentChange:return r;case wi.TriggerCharacter:default:return e}}var yR=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Ud=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};const Ye=P,xR=Ie("parameter-hints-next",Y.chevronDown,u("parameterHintsNextIcon","Icon for show next parameter hint.")),LR=Ie("parameter-hints-previous",Y.chevronUp,u("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let ja=class Pv extends E{constructor(e,t,i,o,n){super(),this.editor=e,this.model=t,this.renderDisposeables=this._register(new R),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new hi({editor:e},n,o)),this.keyVisible=In.Visible.bindTo(i),this.keyMultipleSignatures=In.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=Ye(".editor-widget.parameter-hints-widget"),t=M(e,Ye(".phwrapper"));t.tabIndex=-1;const i=M(t,Ye(".controls")),o=M(i,Ye(".button"+ee.asCSSSelector(LR))),n=M(i,Ye(".overloads")),s=M(i,Ye(".button"+ee.asCSSSelector(xR)));this._register(de(o,"click",g=>{ba.stop(g),this.previous()})),this._register(de(s,"click",g=>{ba.stop(g),this.next()}));const a=Ye(".body"),l=new zh(a,{alwaysConsumeMouseWheel:!0});this._register(l),t.appendChild(l.getDomNode());const c=M(a,Ye(".signature")),d=M(a,Ye(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:c,overloads:n,docs:d,scrollbar:l},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(g=>{this.visible&&this.editor.layoutContentWidget(this)}));const h=()=>{if(!this.domNodes)return;const g=this.editor.getOption(47);this.domNodes.element.style.fontSize=`${g.fontSize}px`,this.domNodes.element.style.lineHeight=`${g.lineHeight/g.fontSize}`};h(),this._register(He.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(g=>g.hasChanged(47)).on(h,null)),this._register(this.editor.onDidLayoutChange(g=>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===void 0||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===void 0||e.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){var t;if(this.renderDisposeables.clear(),!this.domNodes)return;const i=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",i),this.keyMultipleSignatures.set(i),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const o=e.signatures[e.activeSignature];if(!o)return;const n=M(this.domNodes.signature,Ye(".code")),s=this.editor.getOption(47);n.style.fontSize=`${s.fontSize}px`,n.style.fontFamily=s.fontFamily;const a=o.parameters.length>0,l=(t=o.activeParameter)!==null&&t!==void 0?t:e.activeParameter;if(a)this.renderParameters(n,o,l);else{const h=M(n,Ye("span"));h.textContent=o.label}const c=o.parameters[l];if(c!=null&&c.documentation){const h=Ye("span.documentation");if(typeof c.documentation=="string")h.textContent=c.documentation;else{const g=this.renderMarkdownDocs(c.documentation);h.appendChild(g.element)}M(this.domNodes.docs,Ye("p",{},h))}if(o.documentation!==void 0)if(typeof o.documentation=="string")M(this.domNodes.docs,Ye("p",{},o.documentation));else{const h=this.renderMarkdownDocs(o.documentation);M(this.domNodes.docs,h.element)}const d=this.hasDocs(o,c);if(this.domNodes.signature.classList.toggle("has-docs",d),this.domNodes.docs.classList.toggle("empty",!d),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,c){let h="";const g=o.parameters[l];Array.isArray(g.label)?h=o.label.substring(g.label[0],g.label[1]):h=g.label,g.documentation&&(h+=typeof g.documentation=="string"?`, ${g.documentation}`:`, ${g.documentation.value}`),o.documentation&&(h+=typeof o.documentation=="string"?`, ${o.documentation}`:`, ${o.documentation.value}`),this.announcedLabel!==h&&(lt(u("hint","{0}, hint",h)),this.announcedLabel=h)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{var i;(i=this.domNodes)===null||i===void 0||i.scrollbar.scanDomNode()}}));return t.element.classList.add("markdown-docs"),t}hasDocs(e,t){return!!(t&&typeof t.documentation=="string"&&eo(t.documentation).length>0||t&&typeof t.documentation=="object"&&eo(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&eo(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&eo(e.documentation.value).length>0)}renderParameters(e,t,i){const[o,n]=this.getParameterLabelOffsets(t,i),s=document.createElement("span");s.textContent=t.label.substring(0,o);const a=document.createElement("span");a.textContent=t.label.substring(o,n),a.className="parameter active";const l=document.createElement("span");l.textContent=t.label.substring(n),M(e,s,a,l)}getParameterLabelOffsets(e,t){const i=e.parameters[t];if(i){if(Array.isArray(i.label))return i.label;if(i.label.length){const o=new RegExp(`(\\W|^)${Cs(i.label)}(?=\\W|$)`,"g");o.test(e.label);const n=o.lastIndex-i.label.length;return n>=0?[n,o.lastIndex]:[0,0]}else return[0,0]}else return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return Pv.ID}updateMaxHeight(){if(!this.domNodes)return;const t=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=t;const i=this.domNodes.element.getElementsByClassName("phwrapper");i.length&&(i[0].style.maxHeight=t)}};ja.ID="editor.widget.parameterHintsWidget";ja=yR([Ud(2,Q),Ud(3,Ct),Ud(4,bt)],ja);A("editorHoverWidget.highlightForeground",{dark:mi,light:mi,hcDark:mi,hcLight:mi},u("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var IR=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Wp=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let Dn=class Av extends E{static get(e){return e.getContribution(Av.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new Gl(e,i.signatureHelpProvider)),this._register(this.model.onChangedHints(o=>{var n;o?(this.widget.value.show(),this.widget.value.render(o)):(n=this.widget.rawValue)===null||n===void 0||n.hide()})),this.widget=new Ya(()=>this._register(t.createInstance(ja,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){var e;(e=this.widget.rawValue)===null||e===void 0||e.previous()}next(){var e;(e=this.widget.rawValue)===null||e===void 0||e.next()}trigger(e){this.model.trigger(e,0)}};Dn.ID="editor.controller.parameterHints";Dn=IR([Wp(1,G),Wp(2,V)],Dn);class DR extends L{constructor(){super({id:"editor.action.triggerParameterHints",label:u("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:_.hasSignatureHelpProvider,kbOpts:{kbExpr:_.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=Dn.get(t);i==null||i.trigger({triggerKind:wi.Invoke})}}K(Dn.ID,Dn,2);w(DR);const Au=100+75,Ou=ct.bindToContribution(Dn.get);F(new Ou({id:"closeParameterHints",precondition:In.Visible,handler:r=>r.cancel(),kbOpts:{weight:Au,kbExpr:_.focus,primary:9,secondary:[1033]}}));F(new Ou({id:"showPrevParameterHint",precondition:x.and(In.Visible,In.MultipleSignatures),handler:r=>r.previous(),kbOpts:{weight:Au,kbExpr:_.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));F(new Ou({id:"showNextParameterHint",precondition:x.and(In.Visible,In.MultipleSignatures),handler:r=>r.next(),kbOpts:{weight:Au,kbExpr:_.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var TR=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},$d=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};const Zl=new Z("renameInputVisible",!1,u("renameInputVisible","Whether the rename input widget is visible"));let fh=class{constructor(e,t,i,o,n){this._editor=e,this._acceptKeybindings=t,this._themeService=i,this._keybindingService=o,this._disposables=new R,this.allowEditorOverflow=!0,this._visibleContextKey=Zl.bindTo(n),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(s=>{s.hasChanged(47)&&this._updateFont()})),this._disposables.add(i.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){if(!this._domNode){this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._input=document.createElement("input"),this._input.className="rename-input",this._input.type="text",this._input.setAttribute("aria-label",u("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._input),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label);const e=()=>{var t,i;const[o,n]=this._acceptKeybindings;this._keybindingService.lookupKeybinding(o),this._label.innerText=u({key:"label",comment:['placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"']},"{0} to Rename, {1} to Preview",(t=this._keybindingService.lookupKeybinding(o))===null||t===void 0?void 0:t.getLabel(),(i=this._keybindingService.lookupKeybinding(n))===null||i===void 0?void 0:i.getLabel())};e(),this._disposables.add(this._keybindingService.onDidUpdateKeybindings(e)),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())}return this._domNode}_updateStyles(e){var t,i,o,n;if(!this._input||!this._domNode)return;const s=e.getColor(Vf),a=e.getColor(Bf);this._domNode.style.backgroundColor=String((t=e.getColor(to))!==null&&t!==void 0?t:""),this._domNode.style.boxShadow=s?` 0 0 8px 2px ${s}`:"",this._domNode.style.border=a?`1px solid ${a}`:"",this._domNode.style.color=String((i=e.getColor(xS))!==null&&i!==void 0?i:""),this._input.style.backgroundColor=String((o=e.getColor(LS))!==null&&o!==void 0?o:"");const l=e.getColor(IS);this._input.style.borderWidth=l?"1px":"0px",this._input.style.borderStyle=l?"solid":"none",this._input.style.borderColor=(n=l==null?void 0:l.toString())!==null&&n!==void 0?n:"none"}_updateFont(){if(!this._input||!this._label)return;const e=this._editor.getOption(47);this._input.style.fontFamily=e.fontFamily,this._input.style.fontWeight=e.fontWeight,this._input.style.fontSize=`${e.fontSize}px`,this._label.style.fontSize=`${e.fontSize*.8}px`}getPosition(){return this._visible?{position:this._position,preference:[2,1]}:null}afterRender(e){e||this.cancelInput(!0)}acceptInput(e){var t;(t=this._currentAcceptInput)===null||t===void 0||t.call(this,e)}cancelInput(e){var t;(t=this._currentCancelInput)===null||t===void 0||t.call(this,e)}getInput(e,t,i,o,n,s){this._domNode.classList.toggle("preview",n),this._position=new H(e.startLineNumber,e.startColumn),this._input.value=t,this._input.setAttribute("selectionStart",i.toString()),this._input.setAttribute("selectionEnd",o.toString()),this._input.size=Math.max((e.endColumn-e.startColumn)*1.1,20);const a=new R;return new Promise(l=>{this._currentCancelInput=c=>(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,l(c),!0),this._currentAcceptInput=c=>{if(this._input.value.trim().length===0||this._input.value===t){this.cancelInput(!0);return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,l({newName:this._input.value,wantsPreview:n&&c})},a.add(s.onCancellationRequested(()=>this.cancelInput(!0))),a.add(this._editor.onDidBlurEditorWidget(()=>this.cancelInput(!document.hasFocus()))),this._show()}).finally(()=>{a.dispose(),this._hide()})}_show(){this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._input.focus(),this._input.setSelectionRange(parseInt(this._input.getAttribute("selectionStart")),parseInt(this._input.getAttribute("selectionEnd")))},100)}_hide(){this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}};fh=TR([$d(2,Et),$d(3,xe),$d(4,Q)],fh);var RR=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Xi=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},ln=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};class Fu{constructor(e,t,i){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=i.ordered(e)}hasProvider(){return this._providers.length>0}resolveRenameLocation(e){return ln(this,void 0,void 0,function*(){const t=[];for(this._providerRenameIdx=0;this._providerRenameIdx0?t.join(` `):void 0}:{range:b.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join(` `):void 0}})}provideRenameEdits(e,t){return ln(this,void 0,void 0,function*(){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)})}_provideRenameEdits(e,t,i,o){return ln(this,void 0,void 0,function*(){const n=this._providers[t];if(!n)return{edits:[],rejectReason:i.join(` `)};const s=yield n.provideRenameEdits(this.model,this.position,e,o);if(s){if(s.rejectReason)return this._provideRenameEdits(e,t+1,i.concat(s.rejectReason),o)}else return this._provideRenameEdits(e,t+1,i.concat(u("no result","No result.")),o);return s})}}function kR(r,e,t,i){return ln(this,void 0,void 0,function*(){const o=new Fu(e,t,r),n=yield o.resolveRenameLocation(q.None);return n!=null&&n.rejectReason?{edits:[],rejectReason:n.rejectReason}:o.provideRenameEdits(i,q.None)})}let Tn=class Ov{static get(e){return e.getContribution(Ov.ID)}constructor(e,t,i,o,n,s,a,l){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=o,this._progressService=n,this._logService=s,this._configService=a,this._languageFeaturesService=l,this._disposableStore=new R,this._cts=new dt,this._renameInputField=this._disposableStore.add(this._instaService.createInstance(fh,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}run(){var e,t;return ln(this,void 0,void 0,function*(){if(this._cts.dispose(!0),!this.editor.hasModel())return;const i=this.editor.getPosition(),o=new Fu(this.editor.getModel(),i,this._languageFeaturesService.renameProvider);if(!o.hasProvider())return;this._cts=new Ls(this.editor,5);let n;try{const g=o.resolveRenameLocation(this._cts.token);this._progressService.showWhile(g,250),n=yield g}catch(g){(e=Xe.get(this.editor))===null||e===void 0||e.showMessage(g||u("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),i);return}if(!n)return;if(n.rejectReason){(t=Xe.get(this.editor))===null||t===void 0||t.showMessage(n.rejectReason,i);return}if(this._cts.token.isCancellationRequested)return;this._cts.dispose(),this._cts=new Ls(this.editor,5,n.range);const s=this.editor.getSelection();let a=0,l=n.text.length;!b.isEmpty(s)&&!b.spansMultipleLines(s)&&b.containsRange(n.range,s)&&(a=Math.max(0,s.startColumn-n.range.startColumn),l=Math.min(n.range.endColumn,s.endColumn)-n.range.startColumn);const c=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),d=yield this._renameInputField.getInput(n.range,n.text,a,l,c,this._cts.token);if(typeof d=="boolean"){d&&this.editor.focus();return}this.editor.focus();const h=il(o.provideRenameEdits(d.newName,this._cts.token),this._cts.token).then(g=>ln(this,void 0,void 0,function*(){if(!(!g||!this.editor.hasModel())){if(g.rejectReason){this._notificationService.info(g.rejectReason);return}this.editor.setSelection(b.fromPositions(this.editor.getSelection().getPosition())),this._bulkEditService.apply(g,{editor:this.editor,showPreview:d.wantsPreview,label:u("label","Renaming '{0}' to '{1}'",n==null?void 0:n.text,d.newName),code:"undoredo.rename",quotableLabel:u("quotableLabel","Renaming {0} to {1}",n==null?void 0:n.text,d.newName),respectAutoSaveConfig:!0}).then(p=>{p.ariaSummary&<(u("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",n.text,d.newName,p.ariaSummary))}).catch(p=>{this._notificationService.error(u("rename.failedApply","Rename failed to apply edits")),this._logService.error(p)})}}),g=>{this._notificationService.error(u("rename.failed","Rename failed to compute edits")),this._logService.error(g)});return this._progressService.showWhile(h,250),h})}acceptRenameInput(e){this._renameInputField.acceptInput(e)}cancelRenameInput(){this._renameInputField.cancelInput(!0)}};Tn.ID="editor.contrib.renameController";Tn=RR([Xi(1,G),Xi(2,it),Xi(3,Qa),Xi(4,ir),Xi(5,ol),Xi(6,DS),Xi(7,V)],Tn);class NR extends L{constructor(){super({id:"editor.action.rename",label:u("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:x.and(_.writable,_.hasRenameProvider),kbOpts:{kbExpr:_.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(Se),[o,n]=Array.isArray(t)&&t||[void 0,void 0];return te.isUri(o)&&H.isIPosition(n)?i.openCodeEditor({resource:o},i.getActiveCodeEditor()).then(s=>{s&&(s.setPosition(n),s.invokeWithinContext(a=>(this.reportTelemetry(a,s),this.run(a,s))))},ie):super.runCommand(e,t)}run(e,t){const i=Tn.get(t);return i?i.run():Promise.resolve()}}K(Tn.ID,Tn,4);w(NR);const Wu=ct.bindToContribution(Tn.get);F(new Wu({id:"acceptRenameInput",precondition:Zl,handler:r=>r.acceptRenameInput(!1),kbOpts:{weight:100+99,kbExpr:_.focus,primary:3}}));F(new Wu({id:"acceptRenameInputWithPreview",precondition:x.and(Zl,x.has("config.editor.rename.enablePreview")),handler:r=>r.acceptRenameInput(!0),kbOpts:{weight:100+99,kbExpr:_.focus,primary:1024+3}}));F(new Wu({id:"cancelRenameInput",precondition:Zl,handler:r=>r.cancelRenameInput(),kbOpts:{weight:100+99,kbExpr:_.focus,primary:9,secondary:[1033]}}));Qt("_executeDocumentRenameProvider",function(r,e,t,...i){const[o]=i;re(typeof o=="string");const{renameProvider:n}=r.get(V);return kR(n,e,t,o)});Qt("_executePrepareRename",function(r,e,t){return ln(this,void 0,void 0,function*(){const{renameProvider:i}=r.get(V),n=yield new Fu(e,t,i).resolveRenameLocation(q.None);if(n!=null&&n.rejectReason)throw new Error(n.rejectReason);return n})});Zt.as(Wh.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:u("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});function MR(r){for(let e=0,t=r.length;e0?t[0]:[]}function Vv(r,e,t,i,o){return Oi(this,void 0,void 0,function*(){const n=OR(r,e),s=yield Promise.all(n.map(a=>Oi(this,void 0,void 0,function*(){let l,c=null;try{l=yield a.provideDocumentSemanticTokens(e,a===t?i:null,o)}catch(d){c=d,l=null}return(!l||!Xl(l)&&!Wv(l))&&(l=null),new AR(a,l,c)})));for(const a of s){if(a.error)throw a.error;if(a.tokens)return a}return s.length>0?s[0]:null})}function FR(r,e){const t=r.orderedGroups(e);return t.length>0?t[0]:null}class WR{constructor(e,t){this.provider=e,this.tokens=t}}function HR(r,e){return r.has(e)}function Bv(r,e){const t=r.orderedGroups(e);return t.length>0?t[0]:[]}function Hu(r,e,t,i){return Oi(this,void 0,void 0,function*(){const o=Bv(r,e),n=yield Promise.all(o.map(s=>Oi(this,void 0,void 0,function*(){let a;try{a=yield s.provideDocumentRangeSemanticTokens(e,t,i)}catch(l){ye(l),a=null}return(!a||!Xl(a))&&(a=null),new WR(s,a)})));for(const s of n)if(s.tokens)return s;return n.length>0?n[0]:null})}se.registerCommand("_provideDocumentSemanticTokensLegend",(r,...e)=>Oi(void 0,void 0,void 0,function*(){const[t]=e;re(t instanceof te);const i=r.get(Qe).getModel(t);if(!i)return;const{documentSemanticTokensProvider:o}=r.get(V),n=FR(o,i);return n?n[0].getLegend():r.get($e).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)}));se.registerCommand("_provideDocumentSemanticTokens",(r,...e)=>Oi(void 0,void 0,void 0,function*(){const[t]=e;re(t instanceof te);const i=r.get(Qe).getModel(t);if(!i)return;const{documentSemanticTokensProvider:o}=r.get(V);if(!Hv(o,i))return r.get($e).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const n=yield Vv(o,i,null,null,q.None);if(!n)return;const{provider:s,tokens:a}=n;if(!a||!Xl(a))return;const l=Fv({id:0,type:"full",data:a.data});return a.resultId&&s.releaseDocumentSemanticTokens(a.resultId),l}));se.registerCommand("_provideDocumentRangeSemanticTokensLegend",(r,...e)=>Oi(void 0,void 0,void 0,function*(){const[t,i]=e;re(t instanceof te);const o=r.get(Qe).getModel(t);if(!o)return;const{documentRangeSemanticTokensProvider:n}=r.get(V),s=Bv(n,o);if(s.length===0)return;if(s.length===1)return s[0].getLegend();if(!i||!b.isIRange(i))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),s[0].getLegend();const a=yield Hu(n,o,b.lift(i),q.None);if(a)return a.provider.getLegend()}));se.registerCommand("_provideDocumentRangeSemanticTokens",(r,...e)=>Oi(void 0,void 0,void 0,function*(){const[t,i]=e;re(t instanceof te),re(b.isIRange(i));const o=r.get(Qe).getModel(t);if(!o)return;const{documentRangeSemanticTokensProvider:n}=r.get(V),s=yield Hu(n,o,b.lift(i),q.None);if(!(!s||!s.tokens))return Fv({id:0,type:"full",data:s.tokens.data})}));const Vu="editor.semanticHighlighting";function mh(r,e,t){var i;const o=(i=t.getValue(Vu,{overrideIdentifier:r.getLanguageId(),resource:r.uri}))===null||i===void 0?void 0:i.enabled;return typeof o=="boolean"?o:e.getColorTheme().semanticHighlighting}var Uv=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Bt=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let _h=class extends E{constructor(e,t,i,o,n,s){super(),this._watchers=Object.create(null);const a=d=>{this._watchers[d.uri.toString()]=new qs(d,e,i,n,s)},l=(d,h)=>{h.dispose(),delete this._watchers[d.uri.toString()]},c=()=>{for(const d of t.getModels()){const h=this._watchers[d.uri.toString()];mh(d,i,o)?h||a(d):h&&l(d,h)}};this._register(t.onModelAdded(d=>{mh(d,i,o)&&a(d)})),this._register(t.onModelRemoved(d=>{const h=this._watchers[d.uri.toString()];h&&l(d,h)})),this._register(o.onDidChangeConfiguration(d=>{d.affectsConfiguration(Vu)&&c()})),this._register(i.onDidColorThemeChange(c))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};_h=Uv([Bt(0,tu),Bt(1,Qe),Bt(2,Et),Bt(3,he),Bt(4,Mt),Bt(5,V)],_h);let qs=class Qi extends E{constructor(e,t,i,o,n){super(),this._semanticTokensStylingService=t,this._isDisposed=!1,this._model=e,this._provider=n.documentSemanticTokensProvider,this._debounceInformation=o.for(this._provider,"DocumentSemanticTokens",{min:Qi.REQUEST_MIN_DELAY,max:Qi.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new _e(()=>this._fetchDocumentSemanticTokensNow(),Qi.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.onDidChangeLanguage(()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)}));const s=()=>{We(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const a of this._provider.all(e))typeof a.onDidChange=="function"&&this._documentProvidersChangeListeners.push(a.onDidChange(()=>{if(this._currentDocumentRequestCancellationTokenSource){this._providersChangedDuringRequest=!0;return}this._fetchDocumentSemanticTokens.schedule(0)}))};s(),this._register(this._provider.onDidChange(()=>{s(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(i.onDidColorThemeChange(a=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!Hv(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}const e=new dt,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,o=Vv(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const n=[],s=this._model.onDidChangeContent(l=>{n.push(l)}),a=new jt(!1);o.then(l=>{if(this._debounceInformation.update(this._model,a.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),!l)this._setDocumentSemanticTokens(null,null,null,n);else{const{provider:c,tokens:d}=l,h=this._semanticTokensStylingService.getStyling(c);this._setDocumentSemanticTokens(c,d||null,h,n)}},l=>{l&&(Ro(l)||typeof l.message=="string"&&l.message.indexOf("busy")!==-1)||ie(l),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),(n.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,i,o,n){n=Math.min(n,i.length-o,e.length-t);for(let s=0;s{(o.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){e&&t&&e.releaseDocumentSemanticTokens(t.resultId);return}if(!e||!i){this._model.tokenization.setSemanticTokens(null,!1);return}if(!t){this._model.tokenization.setSemanticTokens(null,!0),s();return}if(Wv(t)){if(!n){this._model.tokenization.setSemanticTokens(null,!0);return}if(t.edits.length===0)t={resultId:t.resultId,data:n.data};else{let a=0;for(const g of t.edits)a+=(g.data?g.data.length:0)-g.deleteCount;const l=n.data,c=new Uint32Array(l.length+a);let d=l.length,h=c.length;for(let g=t.edits.length-1;g>=0;g--){const p=t.edits[g];if(p.start>l.length){i.warnInvalidEditStart(n.resultId,t.resultId,g,p.start,l.length),this._model.tokenization.setSemanticTokens(null,!0);return}const f=d-(p.start+p.deleteCount);f>0&&(Qi._copy(l,d-f,c,h-f,f),h-=f),p.data&&(Qi._copy(p.data,0,c,h-p.data.length,p.data.length),h-=p.data.length),d=p.start}d>0&&Qi._copy(l,0,c,0,d),t={resultId:t.resultId,data:c}}}if(Xl(t)){this._currentDocumentResponse=new VR(e,t.resultId,t.data);const a=sm(t,i,this._model.getLanguageId());if(o.length>0)for(const l of o)for(const c of a)for(const d of l.changes)c.applyEdit(d.range,d.text);this._model.tokenization.setSemanticTokens(a,!0)}else this._model.tokenization.setSemanticTokens(null,!0);s()}};qs.REQUEST_MIN_DELAY=300;qs.REQUEST_MAX_DELAY=2e3;qs=Uv([Bt(1,tu),Bt(2,Et),Bt(3,Mt),Bt(4,V)],qs);class VR{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}kS(_h);var BR=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},es=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let Gs=class extends E{constructor(e,t,i,o,n,s){super(),this._semanticTokensStylingService=t,this._themeService=i,this._configurationService=o,this._editor=e,this._provider=s.documentRangeSemanticTokensProvider,this._debounceInformation=n.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new _e(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];const a=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{a()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),a()})),this._register(this._editor.onDidChangeModelContent(l=>{this._cancelAll(),a()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),a()})),this._register(this._configurationService.onDidChangeConfiguration(l=>{l.affectsConfiguration(Vu)&&(this._cancelAll(),a())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),a()})),a()}_cancelAll(){for(const e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,i=this._outstandingRequests.length;tthis._requestRange(e,i)))}_requestRange(e,t){const i=e.getVersionId(),o=Ce(s=>Promise.resolve(Hu(this._provider,e,t,s))),n=new jt(!1);return o.then(s=>{if(this._debounceInformation.update(e,n.elapsed()),!s||!s.tokens||e.isDisposed()||e.getVersionId()!==i)return;const{provider:a,tokens:l}=s,c=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,sm(l,c,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(o),()=>this._removeOutstandingRequest(o)),o}};Gs.ID="editor.contrib.viewportSemanticTokens";Gs=BR([es(1,tu),es(2,Et),es(3,he),es(4,Mt),es(5,V)],Gs);K(Gs.ID,Gs,1);class UR{provideSelectionRanges(e,t){const i=[];for(const o of t){const n=[];i.push(n),this._addInWordRanges(n,e,o),this._addWordRanges(n,e,o),this._addWhitespaceLine(n,e,o),n.push({range:e.getFullModelRange()})}return i}_addInWordRanges(e,t,i){const o=t.getWordAtPosition(i);if(!o)return;const{word:n,startColumn:s}=o,a=i.column-s;let l=a,c=a,d=0;for(;l>=0;l--){const h=n.charCodeAt(l);if(l!==a&&(h===95||h===45))break;if(vg(h)&&bg(d))break;d=h}for(l+=1;c0&&t.getLineFirstNonWhitespaceColumn(i.lineNumber)===0&&t.getLineLastNonWhitespaceColumn(i.lineNumber)===0&&e.push({range:new b(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var $R=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},zR=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},Ql=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};class Bu{constructor(e,t){this.index=e,this.ranges=t}mov(e){const t=this.index+(e?1:-1);if(t<0||t>=this.ranges.length)return this;const i=new Bu(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}let Co=class $v{static get(e){return e.getContribution($v.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){var e;(e=this._selectionListener)===null||e===void 0||e.dispose()}run(e){return Ql(this,void 0,void 0,function*(){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),i=this._editor.getModel();if(this._state||(yield jv(this._languageFeaturesService.selectionRangeProvider,i,t.map(n=>n.getPosition()),this._editor.getOption(107),q.None).then(n=>{var s;if(!(!Ge(n)||n.length!==t.length)&&!(!this._editor.hasModel()||!Xa(this._editor.getSelections(),t,(a,l)=>a.equalsSelection(l)))){for(let a=0;al.containsPosition(t[a].getStartPosition())&&l.containsPosition(t[a].getEndPosition())),n[a].unshift(t[a]);this._state=n.map(a=>new Bu(0,a)),(s=this._selectionListener)===null||s===void 0||s.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{var a;this._ignoreSelection||((a=this._selectionListener)===null||a===void 0||a.dispose(),this._state=void 0)})}})),!this._state)return;this._state=this._state.map(n=>n.mov(e));const o=this._state.map(n=>B.fromPositions(n.ranges[n.index].getStartPosition(),n.ranges[n.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(o)}finally{this._ignoreSelection=!1}})}};Co.ID="editor.contrib.smartSelectController";Co=$R([zR(1,V)],Co);class zv extends L{constructor(e,t){super(t),this._forward=e}run(e,t){return Ql(this,void 0,void 0,function*(){const i=Co.get(t);i&&(yield i.run(this._forward))})}}class jR extends zv{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:u("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:_.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:O.MenubarSelectionMenu,group:"1_basic",title:u({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}se.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class KR extends zv{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:u("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:_.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:O.MenubarSelectionMenu,group:"1_basic",title:u({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}K(Co.ID,Co,4);w(jR);w(KR);function jv(r,e,t,i,o){return Ql(this,void 0,void 0,function*(){const n=r.all(e).concat(new UR);n.length===1&&n.unshift(new Je);const s=[],a=[];for(const l of n)s.push(Promise.resolve(l.provideSelectionRanges(e,t,o)).then(c=>{if(Ge(c)&&c.length===t.length)for(let d=0;d{if(l.length===0)return[];l.sort((g,p)=>H.isBefore(g.getStartPosition(),p.getStartPosition())?1:H.isBefore(p.getStartPosition(),g.getStartPosition())||H.isBefore(g.getEndPosition(),p.getEndPosition())?-1:H.isBefore(p.getEndPosition(),g.getEndPosition())?1:0);const c=[];let d;for(const g of l)(!d||b.containsRange(g,d)&&!b.equalsRange(g,d))&&(c.push(g),d=g);if(!i.selectLeadingAndTrailingWhitespace)return c;const h=[c[0]];for(let g=1;g=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Hp=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},QR=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})},zd;class Vp{constructor(e,t){this.lineNumbers=e,this.lastLineRelativePosition=t}}const Bp=(zd=window.trustedTypes)===null||zd===void 0?void 0:zd.createPolicy("stickyScrollViewLayer",{createHTML:r=>r});let vh=class extends E{constructor(e,t,i){super(),this._editor=e,this._languageFeatureService=t,this._instaService=i,this._rootDomNode=document.createElement("div"),this._disposableStore=this._register(new R),this._lineNumbers=[],this._lastLineRelativePosition=0,this._hoverOnLine=-1,this._hoverOnColumn=-1,this._candidateDefinitionsLength=-1,this._layoutInfo=this._editor.getLayoutInfo(),this._rootDomNode=document.createElement("div"),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",e instanceof Di),this._rootDomNode.style.width=`${this._layoutInfo.width-this._layoutInfo.minimap.minimapCanvasOuterWidth-this._layoutInfo.verticalScrollbarWidth}px`,this._register(this._updateLinkGesture())}_updateLinkGesture(){const e=new R,t=new R;e.add(t);const i=new vl(this._editor,!0);return e.add(i),e.add(i.onMouseMoveOrRelevantKeyDown(([o,n])=>{if(!this._editor.hasModel()||!o.hasTriggerModifier){t.clear();return}const s=o.target;if(s.detail===this.getId()&&s.element.innerText===s.element.innerHTML){const a=s.element.innerText;if(this._hoverOnColumn===-1)return;const l=this._hoverOnLine,c=this._hoverOnColumn,d=new b(l,c,l,c+a.length);if(!d.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=d,t.clear();else if(s.element.style.textDecoration==="underline")return;const h=new dt;t.add(ce(()=>h.dispose(!0)));let g;xl(this._languageFeatureService.definitionProvider,this._editor.getModel(),new H(l,c+1),h.token).then(p=>{if(!h.token.isCancellationRequested)if(p.length!==0){this._candidateDefinitionsLength=p.length;const f=s.element;g!==f?(t.clear(),g=f,g.style.textDecoration="underline",t.add(ce(()=>{g.style.textDecoration="none"}))):g||(g=f,g.style.textDecoration="underline",t.add(ce(()=>{g.style.textDecoration="none"})))}else t.clear()})}else t.clear()})),e.add(i.onCancel(()=>{t.clear()})),e.add(i.onExecute(o=>QR(this,void 0,void 0,function*(){if(o.target.detail===this.getId()){if(o.hasTriggerModifier)this._candidateDefinitionsLength>1&&this._editor.revealPosition({lineNumber:this._hoverOnLine,column:1}),this._instaService.invokeFunction(_v,o,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor});else if(!o.isRightClick){const n={lineNumber:this._hoverOnLine,column:this._hoverOnColumn};this._editor.revealPosition(n),this._editor.setSelection(b.fromPositions(n)),this._editor.focus()}}}))),e}getCurrentLines(){return this._lineNumbers}setState(e){this._disposableStore.clear(),this._lineNumbers.length=0,Rt(this._rootDomNode),this._lastLineRelativePosition=e.lastLineRelativePosition,this._lineNumbers=e.lineNumbers,this._renderRootNode()}_renderChildNode(e,t){const i=document.createElement("div"),o=this._editor._getViewModel(),n=o.coordinatesConverter.convertModelPositionToViewPosition(new H(t,1)).lineNumber,s=o.getViewLineRenderingData(n),a=this._editor.getLayoutInfo(),l=a.width-a.minimap.minimapCanvasOuterWidth-a.verticalScrollbarWidth,c=this._editor.getOption(69).side,d=this._editor.getOption(63),h=this._editor.getOption(64);let g;try{g=sc.filter(s.inlineDecorations,n,s.minColumn,s.maxColumn)}catch{g=[]}const p=new em(!0,!0,s.content,s.continuesWithWrappedLine,s.isBasicASCII,s.containsRTL,0,s.tokens,g,s.tabSize,s.startVisibleColumn,1,1,1,500,"none",!0,!0,null),f=new tm(2e3);Jf(p,f);let m;Bp?m=Bp.createHTML(f.build()):m=f.build();const v=document.createElement("span");v.className="sticky-line",v.classList.add(`stickyLine${t}`),v.style.lineHeight=`${d}px`,v.innerHTML=m;const C=document.createElement("span");C.className="sticky-line",C.style.lineHeight=`${d}px`,c==="left"?C.style.width=`${a.contentLeft-a.minimap.minimapCanvasOuterWidth}px`:c==="right"&&(C.style.width=`${a.contentLeft}px`);const S=document.createElement("span");return h.renderType===1||h.renderType===3&&t%10===0?S.innerText=t.toString():h.renderType===2&&(S.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),S.className="sticky-line-number",S.style.lineHeight=`${d}px`,S.style.width=`${a.lineNumbersWidth}px`,c==="left"?S.style.paddingLeft=`${a.lineNumbersLeft-a.minimap.minimapCanvasOuterWidth}px`:c==="right"&&(S.style.paddingLeft=`${a.lineNumbersLeft}px`),C.appendChild(S),this._editor.applyFontInfo(v),this._editor.applyFontInfo(S),i.appendChild(C),i.appendChild(v),i.className="sticky-line-root",i.style.lineHeight=`${d}px`,i.style.width=`${l}px`,i.style.height=`${d}px`,i.style.zIndex="0",e===this._lineNumbers.length-1&&(i.style.position="relative",i.style.zIndex="-1",i.style.top=this._lastLineRelativePosition+"px"),this._disposableStore.add(de(i,"mouseover",y=>{if(this._editor.hasModel()){const T=new NS(y).target.innerText;this._hoverOnLine=t,this._hoverOnColumn=this._editor.getModel().getLineContent(t).indexOf(T)+1||-1}})),i}_renderRootNode(){if(!this._editor._getViewModel())return;for(const[o,n]of this._lineNumbers.entries())this._rootDomNode.appendChild(this._renderChildNode(o,n));const e=this._editor.getOption(63),t=this._lineNumbers.length*e+this._lastLineRelativePosition;this._rootDomNode.style.display=t>0?"block":"none",this._rootDomNode.style.height=t.toString()+"px",this._editor.getOption(69).side==="left"&&(this._rootDomNode.style.marginLeft=this._editor.getLayoutInfo().minimap.minimapCanvasOuterWidth+"px")}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:null}}};vh=XR([Hp(1,V),Hp(2,G)],vh);var YR=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},JR=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},Up=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};class hs{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class ek{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let bh=class extends E{constructor(e,t){super(),this._onDidChangeStickyScroll=this._store.add(new z),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._sessionStore=new R,this._editor=e,this._languageFeaturesService=t,this._updateSoon=this._register(new _e(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(109)&&this.readConfiguration()})),this.readConfiguration()}dispose(){super.dispose(),this._sessionStore.dispose()}readConfiguration(){if(this._editor.getOption(109).enabled===!1){this._sessionStore.clear();return}else this._sessionStore.add(this._editor.onDidChangeModel(()=>{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.update()}getVersionId(){var e;return(e=this._model)===null||e===void 0?void 0:e.version}update(){var e;return Up(this,void 0,void 0,function*(){(e=this._cts)===null||e===void 0||e.dispose(!0),this._cts=new dt,yield this.updateOutlineModel(this._cts.token),this._onDidChangeStickyScroll.fire()})}updateOutlineModel(e){var t;return Up(this,void 0,void 0,function*(){if(!this._editor.hasModel())return;const i=this._editor.getModel(),o=i.getVersionId(),s=(this._model?!Oh(this._model.uri,i.uri):!1)?setTimeout(()=>{e.isCancellationRequested||(this._model=new jd(i.uri,i.getVersionId(),void 0,void 0),this._onDidChangeStickyScroll.fire())},75):void 0,a=yield ii.create(this._languageFeaturesService.documentSymbolProvider,i,e);if(!e.isCancellationRequested){if(a.children.size!==0){const{stickyOutlineElement:l,providerID:c}=St.fromOutlineModel(a,(t=this._model)===null||t===void 0?void 0:t.outlineProviderId);this._model=new jd(i.uri,o,l,c)}else{const l=Ei.get(this._editor),c=yield l==null?void 0:l.getFoldingModel();if(e.isCancellationRequested)return;if(c&&c.regions.length!==0){const d=St.fromFoldingModel(c);this._model=new jd(i.uri,o,d,void 0)}else this._model=void 0}clearTimeout(s)}})}updateIndex(e){return e===-1?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromOutline(e,t,i,o,n){if(t.children.length===0)return;let s=n;const a=[];for(let d=0;dd-h)),c=this.updateIndex(Ca(a,e.startLineNumber+o,(d,h)=>d-h));for(let d=l;d<=c;d++){const h=t.children[d];if(!h)return;if(h.range){const g=h.range.startLineNumber,p=h.range.endLineNumber;e.startLineNumber<=p+1&&g-1<=e.endLineNumber&&g!==s&&(s=g,i.push(new ek(g,p-1,o+1)),this.getCandidateStickyLinesIntersectingFromOutline(e,h,i,o+1,g))}else this.getCandidateStickyLinesIntersectingFromOutline(e,h,i,o,n)}}getCandidateStickyLinesIntersecting(e){var t,i;if(!(!((t=this._model)===null||t===void 0)&&t.element))return[];let o=[];this.getCandidateStickyLinesIntersectingFromOutline(e,this._model.element,o,0,-1);const n=(i=this._editor._getViewModel())===null||i===void 0?void 0:i.getHiddenAreas();if(n)for(const s of n)o=o.filter(a=>!(a.startLineNumber>=s.startLineNumber&&a.endLineNumber<=s.endLineNumber+1));return o}};bh=YR([JR(1,V)],bh);class St{static comparator(e,t){return e.startLineNumber!==t.startLineNumber?e.startLineNumber-t.startLineNumber:t.endLineNumber-e.endLineNumber}static fromOutlineElement(e,t){const i=[];for(const n of e.children.values())if(n.symbol.selectionRange.startLineNumber!==n.symbol.range.endLineNumber)if(n.symbol.selectionRange.startLineNumber!==t)i.push(St.fromOutlineElement(n,n.symbol.selectionRange.startLineNumber));else for(const s of n.children.values())i.push(St.fromOutlineElement(s,n.symbol.selectionRange.startLineNumber));i.sort((n,s)=>this.comparator(n.range,s.range));const o=new hs(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new St(o,i,void 0)}static fromOutlineModel(e,t){let i;if(Si.first(e.children.values())instanceof ev){const a=Si.find(e.children.values(),l=>l.id===t);if(a)i=a.children;else{let l="",c=-1,d;for(const[h,g]of e.children.entries()){const p=St.findSumOfRangesOfGroup(g);p>c&&(d=g,c=p,l=g.id)}t=l,i=d.children}}else i=e.children;const o=[],n=Array.from(i.values()).sort((a,l)=>{const c=new hs(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),d=new hs(l.symbol.range.startLineNumber,l.symbol.range.endLineNumber);return this.comparator(c,d)});for(const a of n)o.push(St.fromOutlineElement(a,a.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new St(void 0,o,void 0),providerID:t}}static findSumOfRangesOfGroup(e){let t=0;for(const i of e.children.values())t+=this.findSumOfRangesOfGroup(i);return e instanceof Kc?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}static fromFoldingModel(e){const t=e.regions,i=t.length;let o;const n=[],s=new St(void 0,[],void 0);let a=s;for(let l=0;ln[n.length-1].endLineNumber);)n.pop(),a.parent!==void 0&&(a=a.parent);const c=new St(o,[],a);a.children.push(c),a=c,n.push(o)}return s}constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class jd{constructor(e,t,i,o){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=o}}var tk=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Kd=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},ik=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};let Zs=class extends E{constructor(e,t,i,o){super(),this._editor=e,this._contextMenuService=t,this._sessionStore=new R,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._stickyScrollWidget=new vh(this._editor,i,o),this._stickyLineCandidateProvider=new bh(this._editor,i),this._widgetState=new Vp([],0),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(109)&&this._readConfiguration()})),this._readConfiguration(),this._register(de(this._stickyScrollWidget.getDomNode(),at.CONTEXT_MENU,n=>ik(this,void 0,void 0,function*(){this._onContextMenu(n)})))}_onContextMenu(e){this._contextMenuService.showContextMenu({menuId:O.StickyScrollContext,getAnchor:()=>e})}_readConfiguration(){if(this._editor.getOption(109).enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear();return}else this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(()=>this._renderStickyScroll())),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(i=>this._onTokensChange(i))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>this._renderStickyScroll())),this._editor.getOption(64).renderType===2&&this._sessionStore.add(this._editor.onDidChangeCursorPosition(()=>this._renderStickyScroll()))}_needsUpdate(e){const t=this._stickyScrollWidget.getCurrentLines();for(const i of t)for(const o of e.ranges)if(i>=o.fromLineNumber&&i<=o.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll()}_onDidResize(){const e=this._editor.getLayoutInfo(),t=e.width-e.minimap.minimapCanvasOuterWidth-e.verticalScrollbarWidth;this._stickyScrollWidget.getDomNode().style.width=`${t}px`;const i=e.height/this._editor.getOption(63);this._maxStickyLines=Math.round(i*.25)}_renderStickyScroll(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._stickyLineCandidateProvider.getVersionId();(t===void 0||t===e.getVersionId())&&(this._widgetState=this.getScrollWidgetState(),this._stickyScrollWidget.setState(this._widgetState))}getScrollWidgetState(){const e=this._editor.getOption(63),t=Math.min(this._maxStickyLines,this._editor.getOption(109).maxLineCount),i=this._editor.getScrollTop();let o=0;const n=[],s=this._editor.getVisibleRanges();if(s.length!==0){const a=new hs(s[0].startLineNumber,s[s.length-1].endLineNumber),l=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(a);for(const c of l){const d=c.startLineNumber,h=c.endLineNumber,g=c.nestingDepth;if(h-d>0){const p=(g-1)*e,f=g*e,m=this._editor.getBottomForLineNumber(d)-i,v=this._editor.getTopForLineNumber(h)-i,C=this._editor.getBottomForLineNumber(h)-i;if(p>v&&p<=C){n.push(d),o=C-f;break}else f>m&&f<=C&&n.push(d);if(n.length===t)break}}}return new Vp(n,o)}dispose(){super.dispose(),this._sessionStore.dispose()}};Zs.ID="store.contrib.stickyScrollController";Zs=tk([Kd(1,or),Kd(2,V),Kd(3,G)],Zs);K(Zs.ID,Zs,1);Le(ZR);var Uu=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},dn=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},nk=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};class ok{constructor(e,t,i,o,n,s){this.range=e,this.insertText=t,this.filterText=i,this.additionalTextEdits=o,this.command=n,this.completion=s}}let Ch=class extends MS{constructor(e,t,i,o,n,s){super(n.disposable),this.model=e,this.line=t,this.word=i,this.completionModel=o,this._suggestMemoryService=s}canBeReused(e,t,i){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===i.startColumn&&this.word.endColumn=0&&l.resolve(q.None)}return t}};Ch=Uu([dn(5,Al)],Ch);let Sh=class{constructor(e,t,i,o){this._getEditorOption=e,this._languageFeatureService=t,this._clipboardService=i,this._suggestMemoryService=o}provideInlineCompletions(e,t,i,o){var n;return nk(this,void 0,void 0,function*(){if(i.selectedSuggestionInfo)return;const s=this._getEditorOption(84,e);if(no.isAllOff(s))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const a=e.tokenization.getLineTokens(t.lineNumber),l=a.getStandardTokenType(a.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(no.valueFor(s,l)!=="inline")return;let c=e.getWordAtPosition(t),d;if(c!=null&&c.word||(d=this._getTriggerCharacterInfo(e,t)),!(c!=null&&c.word)&&!d||(c||(c=e.getWordUntilPosition(t)),c.endColumn!==t.column))return;let h;const g=e.getValueInRange(new b(t.lineNumber,1,t.lineNumber,t.column));if(!d&&(!((n=this._lastResult)===null||n===void 0)&&n.canBeReused(e,t.lineNumber,c))){const p=new Rp(g,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=p,this._lastResult.acquire(),h=this._lastResult}else{const p=yield _u(this._languageFeatureService.completionProvider,e,t,new Ms(void 0,void 0,d==null?void 0:d.providers),d&&{triggerKind:1,triggerCharacter:d.ch},o);let f;p.needsClipboard&&(f=yield this._clipboardService.readText());const m=new pi(p.items,t.column,new Rp(g,0),xt.None,this._getEditorOption(112,e),this._getEditorOption(106,e),{boostFullMatch:!1,firstMatchCanBeWeak:!1},f);h=new Ch(e,t.lineNumber,c,m,p,this._suggestMemoryService)}return this._lastResult=h,h})}handleItemDidShow(e,t){t.completion.resolve(q.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var i;const o=e.getValueInRange(b.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),n=new Set;for(const s of this._languageFeatureService.completionProvider.all(e))!((i=s.triggerCharacters)===null||i===void 0)&&i.includes(o)&&n.add(s);if(n.size!==0)return{providers:n,ch:o}}};Sh=Uu([dn(1,V),dn(2,Do),dn(3,Al)],Sh);let Ka=class Yn{constructor(e,t,i,o){if(++Yn._counter===1){const n=o.createInstance(Sh,(s,a)=>{var l;return((l=i.listCodeEditors().find(d=>d.getModel()===a))!==null&&l!==void 0?l:e).getOption(s)});Yn._disposable=t.inlineCompletionsProvider.register("*",n)}}dispose(){var e;--Yn._counter===0&&((e=Yn._disposable)===null||e===void 0||e.dispose(),Yn._disposable=void 0)}};Ka._counter=0;Ka=Uu([dn(1,V),dn(2,Se),dn(3,G)],Ka);K("suggest.inlineCompletionsProvider",Ka,0);class sk extends L{constructor(){super({id:"editor.action.forceRetokenize",label:u("forceRetokenize","Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getModel();i.tokenization.resetTokenization();const o=new jt(!0);i.tokenization.forceTokenization(i.getLineCount()),o.stop(),console.log(`tokenization took ${o.elapsed()}`)}}w(sk);class So extends Vi{constructor(){super({id:So.ID,title:{value:u({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),original:"Toggle Tab Key Moves Focus"},precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},f1:!0})}run(e){const t=e.get(Q).getContextKeyValue("focusedView")==="terminal"?"terminalFocus":"editorFocus",o=!Cg.getTabFocusMode(t);Cg.setTabFocusMode(o,t),o?lt(u("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):lt(u("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}}So.ID="editor.action.toggleTabFocusMode";Le(So);var rk=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},ak=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let wh=class extends E{get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=e}constructor(e,t,i={},o){var n;super(),this._link=t,this._enabled=!0,this.el=M(e,P("a.monaco-link",{tabIndex:(n=t.tabIndex)!==null&&n!==void 0?n:0,href:t.href,title:t.title},t.label)),this.el.setAttribute("role","button");const s=this._register(new cd(this.el,"click")),a=this._register(new cd(this.el,"keypress")),l=He.chain(a.event).map(h=>new yf(h)).filter(h=>h.keyCode===3).event,c=this._register(new cd(this.el,PS.Tap)).event;this._register(af.addTarget(this.el));const d=He.any(s.event,l,c);this._register(d(h=>{this.enabled&&(ba.stop(h,!0),i!=null&&i.opener?i.opener(this._link.href):o.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}};wh=rk([ak(3,Ct)],wh);var Kv=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},qv=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};const lk=26;let yh=class extends E{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(xh))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show(Object.assign(Object.assign({},e),{onClose:()=>{var t;this.hide(),(t=e.onClose)===null||t===void 0||t.call(e)}})),this._editor.setBanner(this.banner.element,lk)}};yh=Kv([qv(1,G)],yh);let xh=class extends E{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(hi,{}),this.element=P("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"){const t=P("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Rt(this.element)}show(e){Rt(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=M(this.element,P("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(P(`div${ee.asCSSSelector(e.icon)}`));const o=M(this.element,P("div.message-container"));if(o.setAttribute("aria-hidden","true"),o.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=M(this.element,P("div.message-actions-container")),e.actions)for(const s of e.actions)this._register(this.instantiationService.createInstance(wh,this.messageActionsContainer,Object.assign(Object.assign({},s),{tabIndex:-1}),{}));const n=M(this.element,P("div.action-container"));this.actionBar=this._register(new cn(n)),this.actionBar.push(this._register(new un("banner.close","Close Banner",ee.asClassName(Hf),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};xh=Kv([qv(0,G)],xh);var $u=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},lo=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},we=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};const dk=Ie("extensions-warning-message",Y.warning,u("warningIcon","Icon shown with a warning message in the extensions editor."));let wo=class extends E{constructor(e,t,i,o){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=n=>{if(n&&n.hasMore){if(this._bannerClosed)return;const s=Math.max(n.ambiguousCharacterCount,n.nonBasicAsciiCharacterCount,n.invisibleCharacterCount);let a;if(n.nonBasicAsciiCharacterCount>=s)a={message:u("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new Bo};else if(n.ambiguousCharacterCount>=s)a={message:u("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new ji};else if(n.invisibleCharacterCount>=s)a={message:u("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new Vo};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:dk,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(o.createInstance(yh,e)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=e.getOption(119),this._register(i.onDidChangeTrust(n=>{this._updateHighlighter()})),this._register(e.onDidChangeConfiguration(n=>{n.hasChanged(119)&&(this._options=e.getOption(119),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const e=ck(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every(i=>i===!1))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map(i=>i.codePointAt(0)),allowedLocales:Object.keys(e.allowedLocales).map(i=>i==="_os"?new Intl.NumberFormat().resolvedOptions().locale:i==="_vscode"?OS:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new Lh(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new hk(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}};wo.ID="editor.contrib.unicodeHighlighter";wo=$u([lo(1,rr),lo(2,AS),lo(3,G)],wo);function ck(r,e){return{nonBasicASCII:e.nonBasicASCII===hd?!r:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===hd?!r:e.includeComments,includeStrings:e.includeStrings===hd?!r:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let Lh=class extends E{constructor(e,t,i,o){super(),this._editor=e,this._options=t,this._updateState=i,this._editorWorkerService=o,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new _e(()=>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}const 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);const i=[];if(!t.hasMore)for(const o of t.ranges)i.push({range:o,options:qa.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!rm(t,e))return null;const i=t.getValueInRange(e.range);return{reason:Gv(i,this._options),inComment:am(t,e),inString:lm(t,e)}}};Lh=$u([lo(3,rr)],Lh);class hk extends E{constructor(e,t,i){super(),this._editor=e,this._options=t,this._updateState=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new _e(()=>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}const e=this._editor.getVisibleRanges(),t=[],i={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const o of e){const n=dm.computeUnicodeHighlights(this._model,this._options,o);for(const s of n.ranges)i.ranges.push(s);i.ambiguousCharacterCount+=i.ambiguousCharacterCount,i.invisibleCharacterCount+=i.invisibleCharacterCount,i.nonBasicAsciiCharacterCount+=i.nonBasicAsciiCharacterCount,i.hasMore=i.hasMore||n.hasMore}if(!i.hasMore)for(const o of i.ranges)t.push({range:o,options:qa.instance.getDecorationFromOptions(this._options)});this._updateState(i),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),i=t.getValueInRange(e.range);return rm(t,e)?{reason:Gv(i,this._options),inComment:am(t,e),inString:lm(t,e)}:null}}let Ih=class{constructor(e,t,i){this._editor=e,this._languageService=t,this._openerService=i,this.hoverOrdinal=4}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),o=this._editor.getContribution(wo.ID);if(!o)return[];const n=[];let s=300;for(const a of t){const l=o.getDecorationInfo(a);if(!l)continue;const d=i.getValueInRange(a.range).codePointAt(0),h=$p(d);let g;switch(l.reason.kind){case 0:g=u("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",h,$p(l.reason.confusableWith.codePointAt(0)));break;case 1:g=u("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",h);break;case 2:g=u("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",h);break}const p={codePoint:d,reason:l.reason,inComment:l.inComment,inString:l.inString},f=u("unicodeHighlight.adjustSettings","Adjust settings"),m=`command:${br.ID}?${encodeURIComponent(JSON.stringify(p))}`,v=new je("",!0).appendMarkdown(g).appendText(" ").appendLink(m,f);n.push(new Lt(this,a.range,[v],!1,s++))}return n}renderHoverParts(e,t){return L_(e,t,this._editor,this._languageService,this._openerService)}};Ih=$u([lo(1,bt),lo(2,Ct)],Ih);function Dh(r){return`U+${r.toString(16).padStart(4,"0")}`}function $p(r){let e=`\`${Dh(r)}\``;return cm.isInvisibleCharacter(r)||(e+=` "${`${uk(r)}`}"`),e}function uk(r){return r===96?"`` ` ``":"`"+String.fromCodePoint(r)+"`"}function Gv(r,e){return dm.computeUnicodeHighlightReason(r,e)}class qa{constructor(){this.map=new Map}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const i=`${e}${t}`;let o=this.map.get(i);return o||(o=X.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(i,o)),o}}qa.instance=new qa;class gk extends L{constructor(){super({id:ji.ID,label:u("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=u("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}run(e,t,i){return we(this,void 0,void 0,function*(){const o=e==null?void 0:e.get(he);o&&this.runAction(o)})}runAction(e){return we(this,void 0,void 0,function*(){yield e.updateValue(di.includeComments,!1,2)})}}class pk extends L{constructor(){super({id:ji.ID,label:u("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=u("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}run(e,t,i){return we(this,void 0,void 0,function*(){const o=e==null?void 0:e.get(he);o&&this.runAction(o)})}runAction(e){return we(this,void 0,void 0,function*(){yield e.updateValue(di.includeStrings,!1,2)})}}class ji extends L{constructor(){super({id:ji.ID,label:u("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=u("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}run(e,t,i){return we(this,void 0,void 0,function*(){const o=e==null?void 0:e.get(he);o&&this.runAction(o)})}runAction(e){return we(this,void 0,void 0,function*(){yield e.updateValue(di.ambiguousCharacters,!1,2)})}}ji.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";class Vo extends L{constructor(){super({id:Vo.ID,label:u("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=u("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}run(e,t,i){return we(this,void 0,void 0,function*(){const o=e==null?void 0:e.get(he);o&&this.runAction(o)})}runAction(e){return we(this,void 0,void 0,function*(){yield e.updateValue(di.invisibleCharacters,!1,2)})}}Vo.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";class Bo extends L{constructor(){super({id:Bo.ID,label:u("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=u("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}run(e,t,i){return we(this,void 0,void 0,function*(){const o=e==null?void 0:e.get(he);o&&this.runAction(o)})}runAction(e){return we(this,void 0,void 0,function*(){yield e.updateValue(di.nonBasicASCII,!1,2)})}}Bo.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";class br extends L{constructor(){super({id:br.ID,label:u("action.unicodeHighlight.showExcludeOptions","Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}run(e,t,i){return we(this,void 0,void 0,function*(){const{codePoint:o,reason:n,inString:s,inComment:a}=i,l=String.fromCodePoint(o),c=e.get(Ui),d=e.get(he);function h(f){return cm.isInvisibleCharacter(f)?u("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",Dh(f)):u("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${Dh(f)} "${l}"`)}const g=[];if(n.kind===0)for(const f of n.notAmbiguousInLocales)g.push({label:u("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',f),run:()=>we(this,void 0,void 0,function*(){mk(d,[f])})});if(g.push({label:h(o),run:()=>fk(d,[o])}),a){const f=new gk;g.push({label:f.label,run:()=>we(this,void 0,void 0,function*(){return f.runAction(d)})})}else if(s){const f=new pk;g.push({label:f.label,run:()=>we(this,void 0,void 0,function*(){return f.runAction(d)})})}if(n.kind===0){const f=new ji;g.push({label:f.label,run:()=>we(this,void 0,void 0,function*(){return f.runAction(d)})})}else if(n.kind===1){const f=new Vo;g.push({label:f.label,run:()=>we(this,void 0,void 0,function*(){return f.runAction(d)})})}else if(n.kind===2){const f=new Bo;g.push({label:f.label,run:()=>we(this,void 0,void 0,function*(){return f.runAction(d)})})}else _k(n);const p=yield c.pick(g,{title:u("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options")});p&&(yield p.run())})}}br.ID="editor.action.unicodeHighlight.showExcludeOptions";function fk(r,e){return we(this,void 0,void 0,function*(){const t=r.getValue(di.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const o of e)i[String.fromCodePoint(o)]=!0;yield r.updateValue(di.allowedCharacters,i,2)})}function mk(r,e){var t;return we(this,void 0,void 0,function*(){const i=(t=r.inspect(di.allowedLocales).user)===null||t===void 0?void 0:t.value;let o;typeof i=="object"&&i?o=Object.assign({},i):o={};for(const n of e)o[n]=!0;yield r.updateValue(di.allowedLocales,o,2)})}function _k(r){throw new Error(`Unexpected value: ${r}`)}w(ji);w(Vo);w(Bo);w(br);K(wo.ID,wo,1);Hn.register(Ih);var vk=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},zp=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},bk=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};const Zv="ignoreUnusualLineTerminators";function Ck(r,e,t){r.setModelProperty(e.uri,Zv,t)}function Sk(r,e){return r.getModelProperty(e.uri,Zv)}let Xs=class extends E{constructor(e,t,i){super(),this._editor=e,this._dialogService=t,this._codeEditorService=i,this._isPresentingDialog=!1,this._config=this._editor.getOption(120),this._register(this._editor.onDidChangeConfiguration(o=>{o.hasChanged(120)&&(this._config=this._editor.getOption(120),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(o=>{o.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}_checkForUnusualLineTerminators(){return bk(this,void 0,void 0,function*(){if(this._config==="off"||!this._editor.hasModel())return;const e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators()||Sk(this._codeEditorService,e)===!0||this._editor.getOption(86))return;if(this._config==="auto"){e.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let i;try{this._isPresentingDialog=!0,i=yield this._dialogService.confirm({title:u("unusualLineTerminators.title","Unusual Line Terminators"),message:u("unusualLineTerminators.message","Detected unusual line terminators"),detail:u("unusualLineTerminators.detail","The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",Kt(e.uri)),primaryButton:u({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:u("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){Ck(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())})}};Xs.ID="editor.contrib.unusualLineTerminatorsDetector";Xs=vk([zp(1,iu),zp(2,Se)],Xs);K(Xs.ID,Xs,1);var wk=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},jp=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};const Yl=new Z("hasWordHighlights",!1);function Xv(r,e,t,i){const o=r.ordered(e);return om(o.map(n=>()=>Promise.resolve(n.provideDocumentHighlights(e,t,i)).then(void 0,ye)),Ge)}class Qv{constructor(e,t,i){this._model=e,this._selection=t,this._wordSeparators=i,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=Ce(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new b(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):null}isValid(e,t,i){const o=t.startLineNumber,n=t.startColumn,s=t.endColumn,a=this._getCurrentWordRange(e,t);let l=Boolean(this._wordRange&&this._wordRange.equalsRange(a));for(let c=0,d=i.length;!l&&c=s&&(l=!0)}return l}cancel(){this.result.cancel()}}class yk extends Qv{constructor(e,t,i,o){super(e,t,i),this._providers=o}_compute(e,t,i,o){return Xv(this._providers,e,t.getPosition(),o).then(n=>n||[])}}class xk extends Qv{constructor(e,t,i){super(e,t,i),this._selectionIsEmpty=t.isEmpty()}_compute(e,t,i,o){return Yh(250,o).then(()=>{if(!t.isEmpty())return[];const n=e.getWordAtPosition(t.getPosition());return!n||n.word.length>1e3?[]:e.findMatches(n.word,!0,!1,!0,i,!1).map(a=>({range:a.range,kind:rc.Text}))})}isValid(e,t,i){const o=t.isEmpty();return this._selectionIsEmpty!==o?!1:super.isValid(e,t,i)}}function Lk(r,e,t,i){return r.has(e)?new yk(e,t,i,r):new xk(e,t,i)}Qt("_executeDocumentHighlights",(r,e,t)=>{const i=r.get(V);return Xv(i.documentHighlightProvider,e,t,q.None)});class Ik{constructor(e,t,i){this.toUnhook=new R,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=[],this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this.providers=t,this._hasWordHighlights=Yl.bindTo(i),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(77),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(o=>{this._ignorePositionChangeEvent||this.occurrencesHighlight&&this._onPositionChanged(o)})),this.toUnhook.add(e.onDidChangeModelContent(o=>{this._stopAll()})),this.toUnhook.add(e.onDidChangeConfiguration(o=>{const n=this.editor.getOption(77);this.occurrencesHighlight!==n&&(this.occurrencesHighlight=n,this._stopAll())})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight&&this._run()}_getSortedHighlights(){return this.decorations.getRanges().sort(b.compareRangesUsingStarts)}moveNext(){const e=this._getSortedHighlights(),i=(e.findIndex(n=>n.containsPosition(this.editor.getPosition()))+1)%e.length,o=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(o.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(o);const n=this._getWord();if(n){const s=this.editor.getModel().getLineContent(o.startLineNumber);lt(`${s}, ${i+1} of ${e.length} for '${n.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const e=this._getSortedHighlights(),i=(e.findIndex(n=>n.containsPosition(this.editor.getPosition()))-1+e.length)%e.length,o=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(o.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(o);const n=this._getWord();if(n){const s=this.editor.getModel().getLineContent(o.startLineNumber);lt(`${s}, ${i+1} of ${e.length} for '${n.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeDecorations(){this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1))}_stopAll(){this._removeDecorations(),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(e){if(!this.occurrencesHighlight){this._stopAll();return}if(e.reason!==3){this._stopAll();return}this._run()}_getWord(){const e=this.editor.getSelection(),t=e.startLineNumber,i=e.startColumn;return this.model.getWordAtPosition({lineNumber:t,column:i})}_run(){const e=this.editor.getSelection();if(e.startLineNumber!==e.endLineNumber){this._stopAll();return}const t=e.startColumn,i=e.endColumn,o=this._getWord();if(!o||o.startColumn>t||o.endColumn{s===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=a||[],this._beginRenderDecorations())},ie)}}_beginRenderDecorations(){const e=new Date().getTime(),t=this.lastCursorPositionChangeTime+250;e>=t?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},t-e)}renderDecorations(){this.renderDecorationsTimer=-1;const e=[];for(const t of this.workerRequestValue)t.range&&e.push({range:t.range,options:nR(t.kind)});this.decorations.set(e),this._hasWordHighlights.set(this.hasDecorations())}dispose(){this._stopAll(),this.toUnhook.dispose()}}let Rn=class Yv extends E{static get(e){return e.getContribution(Yv.ID)}constructor(e,t,i){super(),this.wordHighlighter=null;const o=()=>{e.hasModel()&&(this.wordHighlighter=new Ik(e,i.documentHighlightProvider,t))};this._register(e.onDidChangeModel(n=>{this.wordHighlighter&&(this.wordHighlighter.dispose(),this.wordHighlighter=null),o()})),o()}saveViewState(){return!!(this.wordHighlighter&&this.wordHighlighter.hasDecorations())}moveNext(){var e;(e=this.wordHighlighter)===null||e===void 0||e.moveNext()}moveBack(){var e;(e=this.wordHighlighter)===null||e===void 0||e.moveBack()}restoreViewState(e){this.wordHighlighter&&e&&this.wordHighlighter.restore()}dispose(){this.wordHighlighter&&(this.wordHighlighter.dispose(),this.wordHighlighter=null),super.dispose()}};Rn.ID="editor.contrib.wordHighlighter";Rn=wk([jp(1,Q),jp(2,V)],Rn);class Jv extends L{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Rn.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class Dk extends Jv{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:u("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:Yl,kbOpts:{kbExpr:_.editorTextFocus,primary:65,weight:100}})}}class Tk extends Jv{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:u("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:Yl,kbOpts:{kbExpr:_.editorTextFocus,primary:1089,weight:100}})}}class Rk extends L{constructor(){super({id:"editor.action.wordHighlight.trigger",label:u("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:Yl.toNegated(),kbOpts:{kbExpr:_.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const o=Rn.get(t);o&&o.restoreViewState(!0)}}K(Rn.ID,Rn,0);w(Dk);w(Tk);w(Rk);class Jl extends ct{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const o=Pn(t.getOption(124)),n=t.getModel(),a=t.getSelections().map(l=>{const c=new H(l.positionLineNumber,l.positionColumn),d=this._move(o,n,c,this._wordNavigationType);return this._moveTo(l,d,this._inSelectionMode)});if(n.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,a.map(l=>FS.fromModelSelection(l))),a.length===1){const l=new H(a[0].positionLineNumber,a[0].positionColumn);t.revealPosition(l,0)}}_moveTo(e,t,i){return i?new B(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new B(t.lineNumber,t.column,t.lineNumber,t.column)}}class Ki extends Jl{_move(e,t,i,o){return ar.moveWordLeft(e,t,i,o)}}class qi extends Jl{_move(e,t,i,o){return ar.moveWordRight(e,t,i,o)}}class kk extends Ki{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class Nk extends Ki{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class Mk extends Ki{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:x.and(_.textInputFocus,(e=x.and(rl,al))===null||e===void 0?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class Ek extends Ki{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class Pk extends Ki{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class Ak extends Ki{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:x.and(_.textInputFocus,(e=x.and(rl,al))===null||e===void 0?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class Ok extends Ki{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,o){return super._move(Pn(ll.wordSeparators.defaultValue),t,i,o)}}class Fk extends Ki{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,o){return super._move(Pn(ll.wordSeparators.defaultValue),t,i,o)}}class Wk extends qi{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class Hk extends qi{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:x.and(_.textInputFocus,(e=x.and(rl,al))===null||e===void 0?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class Vk extends qi{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class Bk extends qi{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class Uk extends qi{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:x.and(_.textInputFocus,(e=x.and(rl,al))===null||e===void 0?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class $k extends qi{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class zk extends qi{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,o){return super._move(Pn(ll.wordSeparators.defaultValue),t,i,o)}}class jk extends qi{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,o){return super._move(Pn(ll.wordSeparators.defaultValue),t,i,o)}}class ed extends ct{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const o=e.get(Ne);if(!t.hasModel())return;const n=Pn(t.getOption(124)),s=t.getModel(),a=t.getSelections(),l=t.getOption(5),c=t.getOption(8),d=o.getLanguageConfiguration(s.getLanguageId()).getAutoClosingPairs(),h=t._getViewModel(),g=a.map(p=>{const f=this._delete({wordSeparators:n,model:s,selection:p,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(6),autoClosingBrackets:l,autoClosingQuotes:c,autoClosingPairs:d,autoClosedCharacters:h.getCursorAutoClosedCharacters()},this._wordNavigationType);return new er(f,"")});t.pushUndoStop(),t.executeCommands(this.id,g),t.pushUndoStop()}}class zu extends ed{_delete(e,t){const i=ar.deleteWordLeft(e,t);return i||new b(1,1,1,1)}}class ju extends ed{_delete(e,t){const i=ar.deleteWordRight(e,t);if(i)return i;const o=e.model.getLineCount(),n=e.model.getLineMaxColumn(o);return new b(o,n,o,n)}}class Kk extends zu{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:_.writable})}}class qk extends zu{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:_.writable})}}class Gk extends zu{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:_.writable,kbOpts:{kbExpr:_.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class Zk extends ju{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:_.writable})}}class Xk extends ju{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:_.writable})}}class Qk extends ju{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:_.writable,kbOpts:{kbExpr:_.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class Yk extends L{constructor(){super({id:"deleteInsideWord",precondition:_.writable,label:u("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const o=Pn(t.getOption(124)),n=t.getModel(),a=t.getSelections().map(l=>{const c=ar.deleteInsideWord(o,n,l);return new er(c,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}F(new kk);F(new Nk);F(new Mk);F(new Ek);F(new Pk);F(new Ak);F(new Wk);F(new Hk);F(new Vk);F(new Bk);F(new Uk);F(new $k);F(new Ok);F(new Fk);F(new zk);F(new jk);F(new Kk);F(new qk);F(new Gk);F(new Zk);F(new Xk);F(new Qk);w(Yk);class Jk extends ed{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:_.writable,kbOpts:{kbExpr:_.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=dl.deleteWordPartLeft(e);return i||new b(1,1,1,1)}}class eN extends ed{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:_.writable,kbOpts:{kbExpr:_.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=dl.deleteWordPartRight(e);if(i)return i;const o=e.model.getLineCount(),n=e.model.getLineMaxColumn(o);return new b(o,n,o,n)}}class eb extends Jl{_move(e,t,i,o){return dl.moveWordPartLeft(e,t,i)}}class tN extends eb{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:_.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}se.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class iN extends eb{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:_.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}se.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class tb extends Jl{_move(e,t,i,o){return dl.moveWordPartRight(e,t,i)}}class nN extends tb{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:_.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class oN extends tb{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:_.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}F(new Jk);F(new eN);F(new tN);F(new iN);F(new nN);F(new oN);class Th extends E{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=Xe.get(this.editor);e&&this.editor.hasModel()&&(this.editor.isSimpleWidget?e.showMessage(u("editor.simple.readonly","Cannot edit in read-only input"),this.editor.getPosition()):e.showMessage(u("editor.readonly","Cannot edit in read-only editor"),this.editor.getPosition()))}}Th.ID="editor.contrib.readOnlyMessageController";K(Th.ID,Th,2);var ib=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},pa=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};const nb=new Z("accessibilityHelpWidgetVisible",!1);let kn=class ob extends E{static get(e){return e.getContribution(ob.ID)}constructor(e,t){super(),this._editor=e,this._widget=this._register(t.createInstance(yo,this._editor))}show(){this._widget.show()}hide(){this._widget.hide()}};kn.ID="editor.contrib.accessibilityHelpController";kn=ib([pa(1,G)],kn);function sN(r,e){return!r||r.length===0?ge.noSelection:r.length===1?e?ni(ge.singleSelectionRange,r[0].positionLineNumber,r[0].positionColumn,e):ni(ge.singleSelection,r[0].positionLineNumber,r[0].positionColumn):e?ni(ge.multiSelectionRange,r.length,e):r.length>0?ni(ge.multiSelection,r.length):""}let yo=class fa extends No{constructor(e,t,i,o){super(),this._contextKeyService=t,this._keybindingService=i,this._openerService=o,this._editor=e,this._isVisibleKey=nb.bindTo(this._contextKeyService),this._domNode=Sg(document.createElement("div")),this._domNode.setClassName("accessibilityHelpWidget"),this._domNode.setDisplay("none"),this._domNode.setAttribute("role","dialog"),this._domNode.setAttribute("aria-hidden","true"),this._contentDomNode=Sg(document.createElement("div")),this._contentDomNode.setAttribute("role","document"),this._domNode.appendChild(this._contentDomNode),this._isVisible=!1,this._register(this._editor.onDidLayoutChange(()=>{this._isVisible&&this._layout()})),this._register(Mn(this._contentDomNode.domNode,"keydown",n=>{if(this._isVisible&&(n.equals(2083)&&(lt(ge.emergencyConfOn),this._editor.updateOptions({accessibilitySupport:"on"}),Rt(this._contentDomNode.domNode),this._buildContent(),this._contentDomNode.domNode.focus(),n.preventDefault(),n.stopPropagation()),n.equals(2086))){lt(ge.openingDocs);let s=this._editor.getRawOptions().accessibilityHelpUrl;typeof s>"u"&&(s="https://go.microsoft.com/fwlink/?linkid=852450"),this._openerService.open(te.parse(s)),n.preventDefault(),n.stopPropagation()}})),this.onblur(this._contentDomNode.domNode,()=>{this.hide()}),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return fa.ID}getDomNode(){return this._domNode.domNode}getPosition(){return{preference:null}}show(){this._isVisible||(this._isVisible=!0,this._isVisibleKey.set(!0),this._layout(),this._domNode.setDisplay("block"),this._domNode.setAttribute("aria-hidden","false"),this._contentDomNode.domNode.tabIndex=0,this._buildContent(),this._contentDomNode.domNode.focus())}_descriptionForCommand(e,t,i){const o=this._keybindingService.lookupKeybinding(e);return o?ni(t,o.getAriaLabel()):ni(i,e)}_buildContent(){const e=this._editor.getOptions(),t=this._editor.getSelections();let i=0;if(t){const a=this._editor.getModel();a&&t.forEach(l=>{i+=a.getValueLengthInRange(l)})}let o=sN(t,i);e.get(58)?e.get(86)?o+=ge.readonlyDiffEditor:o+=ge.editableDiffEditor:e.get(86)?o+=ge.readonlyEditor:o+=ge.editableEditor;const n=vt?ge.changeConfigToOnMac:ge.changeConfigToOnWinLinux;switch(e.get(2)){case 0:o+=` - `+n;break;case 2:o+=` - `+ge.auto_on;break;case 1:o+=` - `+ge.auto_off,o+=" "+n;break}e.get(137)?o+=` - `+this._descriptionForCommand(So.ID,ge.tabFocusModeOnMsg,ge.tabFocusModeOnMsgNoKb):o+=` - `+this._descriptionForCommand(So.ID,ge.tabFocusModeOffMsg,ge.tabFocusModeOffMsgNoKb);const s=vt?ge.openDocMac:ge.openDocWinLinux;o+=` - `+s,o+=` `+ge.outroMsg,this._contentDomNode.domNode.appendChild(WS(o)),this._contentDomNode.domNode.setAttribute("aria-label",o)}hide(){this._isVisible&&(this._isVisible=!1,this._isVisibleKey.reset(),this._domNode.setDisplay("none"),this._domNode.setAttribute("aria-hidden","true"),this._contentDomNode.domNode.tabIndex=-1,Rt(this._contentDomNode.domNode),this._editor.focus())}_layout(){const e=this._editor.getLayoutInfo(),t=Math.max(5,Math.min(fa.WIDTH,e.width-40)),i=Math.max(5,Math.min(fa.HEIGHT,e.height-40));this._domNode.setWidth(t),this._domNode.setHeight(i);const o=Math.round((e.height-i)/2);this._domNode.setTop(o);const n=Math.round((e.width-t)/2);this._domNode.setLeft(n)}};yo.ID="editor.contrib.accessibilityHelpWidget";yo.WIDTH=500;yo.HEIGHT=300;yo=ib([pa(1,Q),pa(2,xe),pa(3,Ct)],yo);class rN extends L{constructor(){super({id:"editor.action.showAccessibilityHelp",label:ge.showAccessibilityHelpAction,alias:"Show Accessibility Help",precondition:void 0,kbOpts:{primary:571,weight:100,linux:{primary:1595,secondary:[571]}}})}run(e,t){const i=kn.get(t);i==null||i.show()}}K(kn.ID,kn,4);w(rN);const aN=ct.bindToContribution(kn.get);F(new aN({id:"closeAccessibilityHelp",precondition:nb,handler:r=>r.hide(),kbOpts:{weight:100+100,kbExpr:_.focus,primary:9,secondary:[1033]}}));class Rh extends E{constructor(e){super(),this.editor=e,this.widget=null,oc&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(86);!this.widget&&e?this.widget=new td(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}}Rh.ID="editor.contrib.iPadShowKeyboard";class td extends E{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(de(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(de(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return td.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}td.ID="editor.contrib.ShowKeyboardWidget";K(Rh.ID,Rh,3);var lN=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Kp=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let xo=class sb extends E{static get(e){return e.getContribution(sb.ID)}constructor(e,t,i){super(),this._editor=e,this._languageService=i,this._widget=null,this._register(this._editor.onDidChangeModel(o=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(o=>this.stop())),this._register(nl.onDidChange(o=>this.stop())),this._register(this._editor.onKeyUp(o=>o.keyCode===9&&this.stop()))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new id(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};xo.ID="editor.contrib.inspectTokens";xo=lN([Kp(1,hm),Kp(2,bt)],xo);class dN extends L{constructor(){super({id:"editor.action.inspectTokens",label:HS.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=xo.get(t);i==null||i.launch()}}function cN(r){let e="";for(let t=0,i=r.length;tVS,tokenize:(o,n,s)=>BS(e,s),tokenizeEncoded:(o,n,s)=>US(i,s)}}class id extends E{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=hN(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(i=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return id._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let l=t.tokens1.length-1;l>=0;l--){const c=t.tokens1[l];if(e.column-1>=c.offset){i=l;break}}let o=0;for(let l=t.tokens2.length>>>1;l>=0;l--)if(e.column-1>=t.tokens2[l<<1]){o=l;break}const n=this._model.getLineContent(e.lineNumber);let s="";if(i=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},qp=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let Ga=class ma{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=Zt.as(lr.Quickaccess)}provide(e){const t=new R;return t.add(e.onDidAccept(()=>{const[i]=e.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})})),t.add(e.onDidChangeValue(i=>{const o=this.registry.getQuickAccessProvider(i.substr(ma.PREFIX.length));o&&o.prefix&&o.prefix!==ma.PREFIX&&this.quickInputService.quickAccess.show(o.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==ma.PREFIX),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort((t,i)=>t.prefix.localeCompare(i.prefix)).flatMap(t=>this.createPicks(t))}createPicks(e){return e.helpEntries.map(t=>{const i=t.prefix||e.prefix,o=i||"…";return{prefix:i,label:o,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:u("helpPickAriaLabel","{0}, {1}",o,t.description),description:t.description}})}};Ga.PREFIX="?";Ga=uN([qp(0,Ui),qp(1,xe)],Ga);Zt.as(lr.Quickaccess).registerQuickAccessProvider({ctor:Ga,prefix:"",helpEntries:[{description:$S.helpQuickAccessActionLabel}]});class rb{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t){var i;const o=new R;e.canAcceptInBackground=!!(!((i=this.options)===null||i===void 0)&&i.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const n=o.add(new Ve);return n.value=this.doProvide(e,t),o.add(this.onDidActiveTextEditorControlChange(()=>{n.value=void 0,n.value=this.doProvide(e,t)})),o}doProvide(e,t){const i=new R,o=this.activeTextEditorControl;if(o&&this.canProvideWithTextEditor(o)){const n={editor:o},s=um(o);if(s){let a=Nt(o.saveViewState());i.add(s.onDidChangeCursorPosition(()=>{a=Nt(o.saveViewState())})),n.restoreViewState=()=>{a&&o===this.activeTextEditorControl&&o.restoreViewState(a)},i.add(df(t.onCancellationRequested)(()=>{var l;return(l=n.restoreViewState)===null||l===void 0?void 0:l.call(n)}))}i.add(ce(()=>this.clearDecorations(o))),i.add(this.provideWithTextEditor(n,e,t))}else i.add(this.provideWithoutTextEditor(e,t));return i}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus()}getModel(e){var t;return zS(e)?(t=e.getModel())===null||t===void 0?void 0:t.modified:e.getModel()}addDecorations(e,t){e.changeDecorations(i=>{const o=[];this.rangeHighlightDecorationId&&(o.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),o.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const n=[{range:t,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:ue(zf),position:qt.Full}}}],[s,a]=i.deltaDecorations(o,n);this.rangeHighlightDecorationId={rangeHighlightId:s,overviewRulerDecorationId:a}})}clearDecorations(e){const t=this.rangeHighlightDecorationId;t&&(e.changeDecorations(i=>{i.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}}class nd extends rb{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=u("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,E.None}provideWithTextEditor(e,t,i){const o=e.editor,n=new R;n.add(t.onDidAccept(l=>{const[c]=t.selectedItems;if(c){if(!this.isValidLineNumber(o,c.lineNumber))return;this.gotoLocation(e,{range:this.toRange(c.lineNumber,c.column),keyMods:t.keyMods,preserveFocus:l.inBackground}),l.inBackground||t.hide()}}));const s=()=>{const l=this.parsePosition(o,t.value.trim().substr(nd.PREFIX.length)),c=this.getPickLabel(o,l.lineNumber,l.column);if(t.items=[{lineNumber:l.lineNumber,column:l.column,label:c}],t.ariaLabel=c,!this.isValidLineNumber(o,l.lineNumber)){this.clearDecorations(o);return}const d=this.toRange(l.lineNumber,l.column);o.revealRangeInCenter(d,0),this.addDecorations(o,d)};s(),n.add(t.onDidChangeValue(()=>s()));const a=um(o);return a&&a.getOptions().get(64).renderType===2&&(a.updateOptions({lineNumbers:"on"}),n.add(ce(()=>a.updateOptions({lineNumbers:"relative"})))),n}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){const i=t.split(/,|:|#/).map(n=>parseInt(n,10)).filter(n=>!isNaN(n)),o=this.lineCount(e)+1;return{lineNumber:i[0]>0?i[0]:o+i[0],column:i[1]}}getPickLabel(e,t,i){if(this.isValidLineNumber(e,t))return this.isValidColumn(e,t,i)?u("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):u("gotoLineLabel","Go to line {0}.",t);const o=e.getPosition()||{lineNumber:1,column:1},n=this.lineCount(e);return n>1?u("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",o.lineNumber,o.column,n):u("gotoLineLabelEmpty","Current Line: {0}, Character: {1}. Type a line number to navigate to.",o.lineNumber,o.column)}isValidLineNumber(e,t){return!t||typeof t!="number"?!1:t>0&&t<=this.lineCount(e)}isValidColumn(e,t,i){if(!i||typeof i!="number")return!1;const o=this.getModel(e);if(!o)return!1;const n={lineNumber:t,column:i};return o.validatePosition(n).equals(n)}lineCount(e){var t,i;return(i=(t=this.getModel(e))===null||t===void 0?void 0:t.getLineCount())!==null&&i!==void 0?i:0}}nd.PREFIX=":";var gN=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},pN=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let Qs=class extends nd{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=He.None}get activeTextEditorControl(){return Nt(this.editorService.getFocusedCodeEditor())}};Qs=gN([pN(0,Se)],Qs);let od=class extends L{constructor(){super({id:od.ID,label:gm.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:_.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Ui).quickAccess.show(Qs.PREFIX)}};od.ID="editor.action.gotoLine";w(od);Zt.as(lr.Quickaccess).registerQuickAccessProvider({ctor:Qs,prefix:Qs.PREFIX,helpEntries:[{description:gm.gotoLineActionLabel,commandId:od.ID}]});const ab=[void 0,[]];function qd(r,e,t=0,i=0){const o=e;return o.values&&o.values.length>1?fN(r,o.values,t,i):lb(r,e,t,i)}function fN(r,e,t,i){let o=0;const n=[];for(const s of e){const[a,l]=lb(r,s,t,i);if(typeof a!="number")return ab;o+=a,n.push(...l)}return[o,mN(n)]}function lb(r,e,t,i){const o=Qf(e.original,e.originalLowercase,t,r,r.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return o?[o[0],tl(o)]:ab}function mN(r){const e=r.sort((o,n)=>o.start-n.start),t=[];let i;for(const o of e)!i||!_N(i,o)?(i=o,t.push(o)):(i.start=Math.min(i.start,o.start),i.end=Math.max(i.end,o.end));return t}function _N(r,e){return!(r.end=0,s=Gp(r);let a;const l=r.split(db);if(l.length>1)for(const c of l){const d=Gp(c),{pathNormalized:h,normalized:g,normalizedLowercase:p}=Zp(c);g&&(a||(a=[]),a.push({original:c,originalLowercase:c.toLowerCase(),pathNormalized:h,normalized:g,normalizedLowercase:p,expectContiguousMatch:d}))}return{original:r,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:o,values:a,containsPathSeparator:n,expectContiguousMatch:s}}function Zp(r){let e;Xh?e=r.replace(/\//g,ac):e=r.replace(/\\/g,ac);const t=jS(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function Xp(r){return Array.isArray(r)?kh(r.map(e=>e.original).join(db)):kh(r.original)}var vN=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Qp=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},ts=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};let _t=class Nh extends rb{constructor(e,t,i=Object.create(null)){super(i),this._languageFeaturesService=e,this._outlineModelService=t,this.options=i,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,u("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),E.None}provideWithTextEditor(e,t,i){const o=e.editor,n=this.getModel(o);return n?this._languageFeaturesService.documentSymbolProvider.has(n)?this.doProvideWithEditorSymbols(e,n,t,i):this.doProvideWithoutEditorSymbols(e,n,t,i):E.None}doProvideWithoutEditorSymbols(e,t,i,o){const n=new R;return this.provideLabelPick(i,u("cannotRunGotoSymbolWithoutSymbolProvider","The active text editor does not provide symbol information.")),ts(this,void 0,void 0,function*(){!(yield this.waitForLanguageSymbolRegistry(t,n))||o.isCancellationRequested||n.add(this.doProvideWithEditorSymbols(e,t,i,o))}),n}provideLabelPick(e,t){e.items=[{label:t,index:0,kind:14}],e.ariaLabel=t}waitForLanguageSymbolRegistry(e,t){return ts(this,void 0,void 0,function*(){if(this._languageFeaturesService.documentSymbolProvider.has(e))return!0;const i=new KS,o=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(o.dispose(),i.complete(!0))}));return t.add(ce(()=>i.complete(!1))),i.p})}doProvideWithEditorSymbols(e,t,i,o){var n;const s=e.editor,a=new R;a.add(i.onDidAccept(h=>{const[g]=i.selectedItems;g&&g.range&&(this.gotoLocation(e,{range:g.range.selection,keyMods:i.keyMods,preserveFocus:h.inBackground}),h.inBackground||i.hide())})),a.add(i.onDidTriggerItemButton(({item:h})=>{h&&h.range&&(this.gotoLocation(e,{range:h.range.selection,keyMods:i.keyMods,forceSideBySide:!0}),i.hide())}));const l=this.getDocumentSymbols(t,o);let c;const d=h=>ts(this,void 0,void 0,function*(){c==null||c.dispose(!0),i.busy=!1,c=new dt(o),i.busy=!0;try{const g=kh(i.value.substr(Nh.PREFIX.length).trim()),p=yield this.doGetSymbolPicks(l,g,void 0,c.token);if(o.isCancellationRequested)return;if(p.length>0){if(i.items=p,h&&g.original.length===0){const f=ZS(p,m=>Boolean(m.type!=="separator"&&m.range&&b.containsPosition(m.range.decoration,h)));f&&(i.activeItems=[f])}}else g.original.length>0?this.provideLabelPick(i,u("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,u("noSymbolResults","No editor symbols"))}finally{o.isCancellationRequested||(i.busy=!1)}});return a.add(i.onDidChangeValue(()=>d(void 0))),d((n=s.getSelection())===null||n===void 0?void 0:n.getPosition()),a.add(i.onDidChangeActive(()=>{const[h]=i.activeItems;h&&h.range&&(s.revealRangeInCenter(h.range.selection,0),this.addDecorations(s,h.range.decoration))})),a}doGetSymbolPicks(e,t,i,o){var n,s;return ts(this,void 0,void 0,function*(){const a=yield e;if(o.isCancellationRequested)return[];const l=t.original.indexOf(Nh.SCOPE_PREFIX)===0,c=l?1:0;let d,h;t.values&&t.values.length>1?(d=Xp(t.values[0]),h=Xp(t.values.slice(1))):d=t;let g;const p=(s=(n=this.options)===null||n===void 0?void 0:n.openSideBySideDirection)===null||s===void 0?void 0:s.call(n);p&&(g=[{iconClass:p==="right"?ee.asClassName(Y.splitHorizontal):ee.asClassName(Y.splitVertical),tooltip:p==="right"?u("openToSide","Open to the Side"):u("openToBottom","Open to the Bottom")}]);const f=[];for(let C=0;Cc){let Ku=!1;if(d!==t&&([U,ht]=qd(I,Object.assign(Object.assign({},t),{values:void 0}),c,T),typeof U=="number"&&(Ku=!0)),typeof U!="number"&&([U,ht]=qd(I,d,c,T),typeof U!="number"))continue;if(!Ku&&h){if(j&&h.original.length>0&&([nt,Fe]=qd(j,h)),typeof nt!="number")continue;typeof U=="number"&&(U+=nt)}}const Ot=S.tags&&S.tags.indexOf(1)>=0;f.push({index:C,kind:S.kind,score:U,label:I,ariaLabel:y,description:j,highlights:Ot?void 0:{label:ht,description:Fe},range:{selection:b.collapseToStart(S.selectionRange),decoration:S.range},strikethrough:Ot,buttons:g})}const m=f.sort((C,S)=>l?this.compareByKindAndScore(C,S):this.compareByScore(C,S));let v=[];if(l){let I=function(){S&&typeof C=="number"&&y>0&&(S.label=ni(Zd[C]||Gd,y))},C,S,y=0;for(const T of m)C!==T.kind?(I(),C=T.kind,y=1,S={type:"separator"},v.push(S)):y++,v.push(T);I()}else m.length>0&&(v=[{label:u("symbols","symbols ({0})",f.length),type:"separator"},...m]);return v})}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.scoret.index?1:0}compareByKindAndScore(e,t){const i=Zd[e.kind]||Gd,o=Zd[t.kind]||Gd,n=i.localeCompare(o);return n===0?this.compareByScore(e,t):n}getDocumentSymbols(e,t){return ts(this,void 0,void 0,function*(){const i=yield this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:i.asListOfDocumentSymbols()})}};_t.PREFIX="@";_t.SCOPE_PREFIX=":";_t.PREFIX_BY_CATEGORY=`${_t.PREFIX}${_t.SCOPE_PREFIX}`;_t=vN([Qp(0,V),Qp(1,El)],_t);const Gd=u("property","properties ({0})"),Zd={[5]:u("method","methods ({0})"),[11]:u("function","functions ({0})"),[8]:u("_constructor","constructors ({0})"),[12]:u("variable","variables ({0})"),[4]:u("class","classes ({0})"),[22]:u("struct","structs ({0})"),[23]:u("event","events ({0})"),[24]:u("operator","operators ({0})"),[10]:u("interface","interfaces ({0})"),[2]:u("namespace","namespaces ({0})"),[3]:u("package","packages ({0})"),[25]:u("typeParameter","type parameters ({0})"),[1]:u("modules","modules ({0})"),[6]:u("property","properties ({0})"),[9]:u("enum","enumerations ({0})"),[21]:u("enumMember","enumeration members ({0})"),[14]:u("string","strings ({0})"),[0]:u("file","files ({0})"),[17]:u("array","arrays ({0})"),[15]:u("number","numbers ({0})"),[16]:u("boolean","booleans ({0})"),[18]:u("object","objects ({0})"),[19]:u("key","keys ({0})"),[7]:u("field","fields ({0})"),[13]:u("constant","constants ({0})")};var bN=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Xd=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let Mh=class extends _t{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=He.None}get activeTextEditorControl(){return Nt(this.editorService.getFocusedCodeEditor())}};Mh=bN([Xd(0,Se),Xd(1,V),Xd(2,El)],Mh);class Cr extends L{constructor(){super({id:Cr.ID,label:lc.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:_.hasDocumentSymbolProvider,kbOpts:{kbExpr:_.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(Ui).quickAccess.show(_t.PREFIX,{itemActivation:XS.NONE})}}Cr.ID="editor.action.quickOutline";w(Cr);Zt.as(lr.Quickaccess).registerQuickAccessProvider({ctor:Mh,prefix:_t.PREFIX,helpEntries:[{description:lc.quickOutlineActionLabel,prefix:_t.PREFIX,commandId:Cr.ID},{description:lc.quickOutlineByCategoryActionLabel,prefix:_t.PREFIX_BY_CATEGORY}]});function Qd(r,e){return e&&(r.stack||r.stacktrace)?u("stackTrace.format","{0}: {1}",Jp(r),Yp(r.stack)||Yp(r.stacktrace)):Jp(r)}function Yp(r){return Array.isArray(r)?r.join(` `):r}function Jp(r){return typeof r.code=="string"&&typeof r.errno=="number"&&typeof r.syscall=="string"?u("nodeExceptionMessage","A system error occurred ({0})",r.message):r.message||u("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function cb(r=null,e=!1){if(!r)return u("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(r)){const t=tr(r),i=cb(t[0],e);return t.length>1?u("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(qf(r))return r;if(r.detail){const t=r.detail;if(t.error)return Qd(t.error,e);if(t.exception)return Qd(t.exception,e)}return r.stack?Qd(r,e):r.message?r.message:u("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var ta=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})},so;(function(r){r[r.NO_ACTION=0]="NO_ACTION",r[r.CLOSE_PICKER=1]="CLOSE_PICKER",r[r.REFRESH_PICKER=2]="REFRESH_PICKER",r[r.REMOVE_ITEM=3]="REMOVE_ITEM"})(so||(so={}));function Yd(r){const e=r;return Array.isArray(e.items)}function CN(r){const e=r;return!!e.picks&&e.additionalPicks instanceof Promise}class sd extends E{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var o;const n=new R;e.canAcceptInBackground=!!(!((o=this.options)===null||o===void 0)&&o.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const a=n.add(new Ve),l=()=>ta(this,void 0,void 0,function*(){const c=a.value=new R;s==null||s.dispose(!0),e.busy=!1,s=new dt(t);const d=s.token,h=e.value.substr(this.prefix.length).trim(),g=this._getPicks(h,c,d,i),p=(f,m)=>{var v;let C,S;if(Yd(f)?(C=f.items,S=f.active):C=f,C.length===0){if(m)return!1;h.length>0&&(!((v=this.options)===null||v===void 0)&&v.noResultsPick)&&(C=[this.options.noResultsPick])}return e.items=C,S&&(e.activeItems=[S]),!0};if(g!==null)if(CN(g)){let f=!1,m=!1;yield Promise.all([(()=>ta(this,void 0,void 0,function*(){yield Yh(sd.FAST_PICKS_RACE_DELAY),!d.isCancellationRequested&&(m||(f=p(g.picks,!0)))}))(),(()=>ta(this,void 0,void 0,function*(){e.busy=!0;try{const v=yield g.additionalPicks;if(d.isCancellationRequested)return;let C,S;Yd(g.picks)?(C=g.picks.items,S=g.picks.active):C=g.picks;let y,I;if(Yd(v)?(y=v.items,I=v.active):y=v,y.length>0||!f){let T;if(!S&&!I){const j=e.activeItems[0];j&&C.indexOf(j)!==-1&&(T=j)}p({items:[...C,...y],active:S||I||T})}}finally{d.isCancellationRequested||(e.busy=!1),m=!0}}))()])}else if(!(g instanceof Promise))p(g);else{e.busy=!0;try{const f=yield g;if(d.isCancellationRequested)return;p(f)}finally{d.isCancellationRequested||(e.busy=!1)}}});return n.add(e.onDidChangeValue(()=>l())),l(),n.add(e.onDidAccept(c=>{const[d]=e.selectedItems;typeof(d==null?void 0:d.accept)=="function"&&(c.inBackground||e.hide(),d.accept(e.keyMods,c))})),n.add(e.onDidTriggerItemButton(({button:c,item:d})=>ta(this,void 0,void 0,function*(){var h,g;if(typeof d.trigger=="function"){const p=(g=(h=d.buttons)===null||h===void 0?void 0:h.indexOf(c))!==null&&g!==void 0?g:-1;if(p>=0){const f=d.trigger(p,e.keyMods),m=typeof f=="number"?f:yield f;if(t.isCancellationRequested)return;switch(m){case so.NO_ACTION:break;case so.CLOSE_PICKER:e.hide();break;case so.REFRESH_PICKER:l();break;case so.REMOVE_ITEM:{const v=e.items.indexOf(d);if(v!==-1){const C=e.items.slice(),S=C.splice(v,1),y=e.activeItems.filter(T=>T!==S[0]),I=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=C,y&&(e.activeItems=y),e.keepScrollPosition=I}break}}}}}))),n}}sd.FAST_PICKS_RACE_DELAY=200;var hb=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},en=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},ef=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};let Ys=class _a extends sd{constructor(e,t,i,o,n,s){super(_a.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=o,this.telemetryService=n,this.dialogService=s,this.commandsHistory=this._register(this.instantiationService.createInstance(Nn)),this.options=e}_getPicks(e,t,i,o){var n,s;return ef(this,void 0,void 0,function*(){const a=yield this.getCommandPicks(i);if(i.isCancellationRequested)return[];const l=[];for(const p of a){const f=Nt(_a.WORD_FILTER(e,p.label)),m=p.commandAlias?Nt(_a.WORD_FILTER(e,p.commandAlias)):void 0;f||m?(p.highlights={label:f,detail:this.options.showAlias?m:void 0},l.push(p)):e===p.commandId&&l.push(p)}const c=new Map;for(const p of l){const f=c.get(p.label);f?(p.description=p.commandId,f.description=f.commandId):c.set(p.label,p)}l.sort((p,f)=>{const m=this.commandsHistory.peek(p.commandId),v=this.commandsHistory.peek(f.commandId);if(m&&v)return m>v?-1:1;if(m)return-1;if(v)return 1;if(this.options.suggestedCommandIds){const C=this.options.suggestedCommandIds.has(p.commandId),S=this.options.suggestedCommandIds.has(f.commandId);if(C&&S)return 0;if(C)return-1;if(S)return 1}return p.label.localeCompare(f.label)});const d=[];let h=!1,g=!!this.options.suggestedCommandIds;for(let p=0;pef(this,void 0,void 0,function*(){var C;this.commandsHistory.push(f.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:f.commandId,from:(C=o==null?void 0:o.from)!==null&&C!==void 0?C:"quick open"});try{yield this.commandService.executeCommand(f.commandId)}catch(S){Ro(S)||this.dialogService.error(u("canNotRun","Command '{0}' resulted in an error",f.label),cb(S))}})}))}return d})}};Ys.PREFIX=">";Ys.WORD_FILTER=QS(ew,JS,YS);Ys=hb([en(1,G),en(2,xe),en(3,$e),en(4,Fi),en(5,iu)],Ys);let Nn=class me extends E{constructor(e,t){super(),this.storageService=e,this.configurationService=t,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>this.updateConfiguration(e)))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=me.getConfiguredCommandHistoryLength(this.configurationService),me.cache&&me.cache.limit!==this.configuredCommandsHistoryLength&&(me.cache.limit=this.configuredCommandsHistoryLength,me.saveState(this.storageService)))}load(){const e=this.storageService.get(me.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch{}const i=me.cache=new nr(this.configuredCommandsHistoryLength,1);if(t){let o;t.usesLRU?o=t.entries:o=t.entries.sort((n,s)=>n.value-s.value),o.forEach(n=>i.set(n.key,n.value))}me.counter=this.storageService.getNumber(me.PREF_KEY_COUNTER,0,me.counter)}push(e){me.cache&&(me.cache.set(e,me.counter++),me.saveState(this.storageService))}peek(e){var t;return(t=me.cache)===null||t===void 0?void 0:t.peek(e)}static saveState(e){if(!me.cache)return;const t={usesLRU:!0,entries:[]};me.cache.forEach((i,o)=>t.entries.push({key:o,value:i})),e.store(me.PREF_KEY_CACHE,JSON.stringify(t),0,0),e.store(me.PREF_KEY_COUNTER,me.counter,0,0)}static getConfiguredCommandHistoryLength(e){var t,i;const n=(i=(t=e.getValue().workbench)===null||t===void 0?void 0:t.commandPalette)===null||i===void 0?void 0:i.history;return typeof n=="number"?n:me.DEFAULT_COMMANDS_HISTORY_LENGTH}};Nn.DEFAULT_COMMANDS_HISTORY_LENGTH=50;Nn.PREF_KEY_CACHE="commandPalette.mru.cache";Nn.PREF_KEY_COUNTER="commandPalette.mru.counter";Nn.counter=1;Nn=hb([en(0,Bi),en(1,he)],Nn);class SN extends Ys{constructor(e,t,i,o,n,s){super(e,t,i,o,n,s)}getCodeEditorCommandPicks(){const e=this.activeTextEditorControl;if(!e)return[];const t=[];for(const i of e.getSupportedActions())t.push({commandId:i.id,commandAlias:i.alias,label:tw(i.label)||i.id});return t}}var wN=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Gn=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}},yN=globalThis&&globalThis.__awaiter||function(r,e,t,i){function o(n){return n instanceof t?n:new t(function(s){s(n)})}return new(t||(t=Promise))(function(n,s){function a(d){try{c(i.next(d))}catch(h){s(h)}}function l(d){try{c(i.throw(d))}catch(h){s(h)}}function c(d){d.done?n(d.value):o(d.value).then(a,l)}c((i=i.apply(r,e||[])).next())})};let Js=class extends SN{get activeTextEditorControl(){return Nt(this.codeEditorService.getFocusedCodeEditor())}constructor(e,t,i,o,n,s){super({showAlias:!1},e,i,o,n,s),this.codeEditorService=t}getCommandPicks(){return yN(this,void 0,void 0,function*(){return this.getCodeEditorCommandPicks()})}};Js=wN([Gn(0,G),Gn(1,Se),Gn(2,xe),Gn(3,$e),Gn(4,Fi),Gn(5,iu)],Js);class Sr extends L{constructor(){super({id:Sr.ID,label:pm.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:_.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(Ui).quickAccess.show(Js.PREFIX)}}Sr.ID="editor.action.quickCommand";w(Sr);Zt.as(lr.Quickaccess).registerQuickAccessProvider({ctor:Js,prefix:Js.PREFIX,helpEntries:[{description:pm.quickCommandHelp,commandId:Sr.ID}]});var xN=globalThis&&globalThis.__decorate||function(r,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(s=r[a])&&(n=(o<3?s(n):o>3?s(e,t,n):s(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Zn=globalThis&&globalThis.__param||function(r,e){return function(t,i){e(t,i,r)}};let Eh=class extends Ri{constructor(e,t,i,o,n,s,a){super(!0,e,t,i,o,n,s,a)}};Eh=xN([Zn(1,Q),Zn(2,Se),Zn(3,it),Zn(4,G),Zn(5,Bi),Zn(6,he)],Eh);K(Ri.ID,Eh,4);class LN extends L{constructor(){super({id:"editor.action.toggleHighContrast",label:iw.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(hm),o=i.getColorTheme();ya(o.type)?(i.setTheme(this._originalThemeName||(wg(o.type)?nw:ow)),this._originalThemeName=null):(i.setTheme(wg(o.type)?sw:rw),this._originalThemeName=o.themeName)}}w(LN);const IN={__name:"index",props:{modelValue:[String,Number],theme:{type:String,default:"vs-dark"},language:{type:String,default:"json"}},emits:["update:modelValue"],setup(r,{expose:e,emit:t}){const i=r,o=dw();let n;cw(()=>{const l=yg.createModel(i.modelValue,i.language);n=yg.create(o.value,{model:l,tabSize:2,automaticLayout:!0,scrollBeyondLastLine:!1,theme:i.theme,formatOnPaste:!0}),n.onDidChangeModelContent(()=>{const c=n.getValue();t("update:modelValue",c)})});const s=()=>{var l;n&&((l=n.getAction("editor.action.formatDocument"))==null||l.run())};hw(()=>{setTimeout(()=>{s()},300)});const a=l=>{if(!n)return;const c=n.getPosition();n.executeEdits(n.getValue(),[{range:new aw(c==null?void 0:c.lineNumber,c==null?void 0:c.column,c==null?void 0:c.lineNumber,c==null?void 0:c.column),text:l}])};return uw(()=>i.modelValue,l=>{if(!n)return;const c=n.getPosition();n.setValue(l),n.setPosition(c)}),e({editorFormat:s,insert:a}),(l,c)=>(gw(),pw("div",{class:"editor",ref_key:"dom",ref:o},null,512))}},iE=lw(IN,[["__scopeId","data-v-3e326650"]]);export{iE as M};