factoriomod-debug 2.0.4 → 2.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.c8rc.json +2 -2
- package/.mocharc.json +1 -1
- package/CHANGELOG.md +34 -0
- package/dist/ModSettingsWebview.js +274 -292
- package/dist/ScriptDatWebview.js +1 -1
- package/dist/chunk-M5LZ6CNU.js +3420 -0
- package/dist/chunk-ZLQDNPPN.js +36 -0
- package/dist/fmtk-cli.js +99 -194
- package/dist/fmtk-vscode.js +25 -58
- package/dist/multipart-parser-3M5RC66T.js +7 -0
- package/doc/debugapi.md +4 -0
- package/doc/internal/noncharacters.md +1 -0
- package/doc/language-lua.md +0 -4
- package/eslint.config.ts +102 -0
- package/language/factorio-changelog.tmLanguage.json +1 -1
- package/package.json +33 -26
- package/schema/campaign.json +1 -1
- package/schema/datainfo.json +4 -4
- package/schema/localeinfo.json +1 -1
- package/schema/mapgen.json +1 -1
- package/schema/mapsettings.json +1 -1
- package/schema/migration.json +1 -1
- package/schema/modinfo.json +1 -1
- package/schema/scenario.json +1 -1
- package/schema/serversettings.json +1 -1
- package/dist/fmtk.js +0 -3406
package/dist/fmtk-vscode.js
CHANGED
|
@@ -1,56 +1,33 @@
|
|
|
1
|
-
"use strict";var aw=Object.create;var go=Object.defineProperty;var cw=Object.getOwnPropertyDescriptor;var uw=Object.getOwnPropertyNames;var lw=Object.getPrototypeOf,dw=Object.prototype.hasOwnProperty;var E=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),fw=(n,e)=>{for(var t in e)go(n,t,{get:e[t],enumerable:!0})},Rf=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of uw(e))!dw.call(n,i)&&i!==t&&go(n,i,{get:()=>e[i],enumerable:!(r=cw(e,i))||r.enumerable});return n};var mt=(n,e,t)=>(t=n!=null?aw(lw(n)):{},Rf(e||!n||!n.__esModule?go(t,"default",{value:n,enumerable:!0}):t,n)),pw=n=>Rf(go({},"__esModule",{value:!0}),n);var Ri=E((hP,Pf)=>{"use strict";var hw="2.0.0",gw=Number.MAX_SAFE_INTEGER||9007199254740991,mw=16,vw=250,yw=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Pf.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:mw,MAX_SAFE_BUILD_LENGTH:vw,MAX_SAFE_INTEGER:gw,RELEASE_TYPES:yw,SEMVER_SPEC_VERSION:hw,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Pi=E((gP,kf)=>{"use strict";var bw=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...n)=>console.error("SEMVER",...n):()=>{};kf.exports=bw});var $r=E((Gn,Ef)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:Ra,MAX_SAFE_BUILD_LENGTH:ww,MAX_LENGTH:Cw}=Ri(),Dw=Pi();Gn=Ef.exports={};var Sw=Gn.re=[],_w=Gn.safeRe=[],X=Gn.src=[],Q=Gn.t={},Tw=0,Pa="[a-zA-Z0-9-]",Rw=[["\\s",1],["\\d",Cw],[Pa,ww]],Pw=n=>{for(let[e,t]of Rw)n=n.split(`${e}*`).join(`${e}{0,${t}}`).split(`${e}+`).join(`${e}{1,${t}}`);return n},ge=(n,e,t)=>{let r=Pw(e),i=Tw++;Dw(n,i,e),Q[n]=i,X[i]=e,Sw[i]=new RegExp(e,t?"g":void 0),_w[i]=new RegExp(r,t?"g":void 0)};ge("NUMERICIDENTIFIER","0|[1-9]\\d*");ge("NUMERICIDENTIFIERLOOSE","\\d+");ge("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Pa}*`);ge("MAINVERSION",`(${X[Q.NUMERICIDENTIFIER]})\\.(${X[Q.NUMERICIDENTIFIER]})\\.(${X[Q.NUMERICIDENTIFIER]})`);ge("MAINVERSIONLOOSE",`(${X[Q.NUMERICIDENTIFIERLOOSE]})\\.(${X[Q.NUMERICIDENTIFIERLOOSE]})\\.(${X[Q.NUMERICIDENTIFIERLOOSE]})`);ge("PRERELEASEIDENTIFIER",`(?:${X[Q.NUMERICIDENTIFIER]}|${X[Q.NONNUMERICIDENTIFIER]})`);ge("PRERELEASEIDENTIFIERLOOSE",`(?:${X[Q.NUMERICIDENTIFIERLOOSE]}|${X[Q.NONNUMERICIDENTIFIER]})`);ge("PRERELEASE",`(?:-(${X[Q.PRERELEASEIDENTIFIER]}(?:\\.${X[Q.PRERELEASEIDENTIFIER]})*))`);ge("PRERELEASELOOSE",`(?:-?(${X[Q.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${X[Q.PRERELEASEIDENTIFIERLOOSE]})*))`);ge("BUILDIDENTIFIER",`${Pa}+`);ge("BUILD",`(?:\\+(${X[Q.BUILDIDENTIFIER]}(?:\\.${X[Q.BUILDIDENTIFIER]})*))`);ge("FULLPLAIN",`v?${X[Q.MAINVERSION]}${X[Q.PRERELEASE]}?${X[Q.BUILD]}?`);ge("FULL",`^${X[Q.FULLPLAIN]}$`);ge("LOOSEPLAIN",`[v=\\s]*${X[Q.MAINVERSIONLOOSE]}${X[Q.PRERELEASELOOSE]}?${X[Q.BUILD]}?`);ge("LOOSE",`^${X[Q.LOOSEPLAIN]}$`);ge("GTLT","((?:<|>)?=?)");ge("XRANGEIDENTIFIERLOOSE",`${X[Q.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);ge("XRANGEIDENTIFIER",`${X[Q.NUMERICIDENTIFIER]}|x|X|\\*`);ge("XRANGEPLAIN",`[v=\\s]*(${X[Q.XRANGEIDENTIFIER]})(?:\\.(${X[Q.XRANGEIDENTIFIER]})(?:\\.(${X[Q.XRANGEIDENTIFIER]})(?:${X[Q.PRERELEASE]})?${X[Q.BUILD]}?)?)?`);ge("XRANGEPLAINLOOSE",`[v=\\s]*(${X[Q.XRANGEIDENTIFIERLOOSE]})(?:\\.(${X[Q.XRANGEIDENTIFIERLOOSE]})(?:\\.(${X[Q.XRANGEIDENTIFIERLOOSE]})(?:${X[Q.PRERELEASELOOSE]})?${X[Q.BUILD]}?)?)?`);ge("XRANGE",`^${X[Q.GTLT]}\\s*${X[Q.XRANGEPLAIN]}$`);ge("XRANGELOOSE",`^${X[Q.GTLT]}\\s*${X[Q.XRANGEPLAINLOOSE]}$`);ge("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Ra}})(?:\\.(\\d{1,${Ra}}))?(?:\\.(\\d{1,${Ra}}))?`);ge("COERCE",`${X[Q.COERCEPLAIN]}(?:$|[^\\d])`);ge("COERCEFULL",X[Q.COERCEPLAIN]+`(?:${X[Q.PRERELEASE]})?(?:${X[Q.BUILD]})?(?:$|[^\\d])`);ge("COERCERTL",X[Q.COERCE],!0);ge("COERCERTLFULL",X[Q.COERCEFULL],!0);ge("LONETILDE","(?:~>?)");ge("TILDETRIM",`(\\s*)${X[Q.LONETILDE]}\\s+`,!0);Gn.tildeTrimReplace="$1~";ge("TILDE",`^${X[Q.LONETILDE]}${X[Q.XRANGEPLAIN]}$`);ge("TILDELOOSE",`^${X[Q.LONETILDE]}${X[Q.XRANGEPLAINLOOSE]}$`);ge("LONECARET","(?:\\^)");ge("CARETTRIM",`(\\s*)${X[Q.LONECARET]}\\s+`,!0);Gn.caretTrimReplace="$1^";ge("CARET",`^${X[Q.LONECARET]}${X[Q.XRANGEPLAIN]}$`);ge("CARETLOOSE",`^${X[Q.LONECARET]}${X[Q.XRANGEPLAINLOOSE]}$`);ge("COMPARATORLOOSE",`^${X[Q.GTLT]}\\s*(${X[Q.LOOSEPLAIN]})$|^$`);ge("COMPARATOR",`^${X[Q.GTLT]}\\s*(${X[Q.FULLPLAIN]})$|^$`);ge("COMPARATORTRIM",`(\\s*)${X[Q.GTLT]}\\s*(${X[Q.LOOSEPLAIN]}|${X[Q.XRANGEPLAIN]})`,!0);Gn.comparatorTrimReplace="$1$2$3";ge("HYPHENRANGE",`^\\s*(${X[Q.XRANGEPLAIN]})\\s+-\\s+(${X[Q.XRANGEPLAIN]})\\s*$`);ge("HYPHENRANGELOOSE",`^\\s*(${X[Q.XRANGEPLAINLOOSE]})\\s+-\\s+(${X[Q.XRANGEPLAINLOOSE]})\\s*$`);ge("STAR","(<|>)?=?\\s*\\*");ge("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");ge("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var mo=E((mP,xf)=>{"use strict";var kw=Object.freeze({loose:!0}),Ew=Object.freeze({}),xw=n=>n?typeof n!="object"?kw:n:Ew;xf.exports=xw});var ka=E((vP,Ff)=>{"use strict";var qf=/^[0-9]+$/,If=(n,e)=>{let t=qf.test(n),r=qf.test(e);return t&&r&&(n=+n,e=+e),n===e?0:t&&!r?-1:r&&!t?1:n<e?-1:1},qw=(n,e)=>If(e,n);Ff.exports={compareIdentifiers:If,rcompareIdentifiers:qw}});var Rt=E((yP,Lf)=>{"use strict";var vo=Pi(),{MAX_LENGTH:Of,MAX_SAFE_INTEGER:yo}=Ri(),{safeRe:Mf,t:Af}=$r(),Iw=mo(),{compareIdentifiers:Ur}=ka(),Ea=class n{constructor(e,t){if(t=Iw(t),e instanceof n){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>Of)throw new TypeError(`version is longer than ${Of} characters`);vo("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let r=e.trim().match(t.loose?Mf[Af.LOOSE]:Mf[Af.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>yo||this.major<0)throw new TypeError("Invalid major version");if(this.minor>yo||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>yo||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map(i=>{if(/^[0-9]+$/.test(i)){let o=+i;if(o>=0&&o<yo)return o}return i}):this.prerelease=[],this.build=r[5]?r[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(vo("SemVer.compare",this.version,this.options,e),!(e instanceof n)){if(typeof e=="string"&&e===this.version)return 0;e=new n(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof n||(e=new n(e,this.options)),Ur(this.major,e.major)||Ur(this.minor,e.minor)||Ur(this.patch,e.patch)}comparePre(e){if(e instanceof n||(e=new n(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{let r=this.prerelease[t],i=e.prerelease[t];if(vo("prerelease compare",t,r,i),r===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(r===void 0)return-1;if(r===i)continue;return Ur(r,i)}while(++t)}compareBuild(e){e instanceof n||(e=new n(e,this.options));let t=0;do{let r=this.build[t],i=e.build[t];if(vo("build compare",t,r,i),r===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(r===void 0)return-1;if(r===i)continue;return Ur(r,i)}while(++t)}inc(e,t,r){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,r),this.inc("pre",t,r);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t,r),this.inc("pre",t,r);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let i=Number(r)?1:0;if(!t&&r===!1)throw new Error("invalid increment argument: identifier is empty");if(this.prerelease.length===0)this.prerelease=[i];else{let o=this.prerelease.length;for(;--o>=0;)typeof this.prerelease[o]=="number"&&(this.prerelease[o]++,o=-2);if(o===-1){if(t===this.prerelease.join(".")&&r===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(i)}}if(t){let o=[t,i];r===!1&&(o=[t]),Ur(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=o):this.prerelease=o}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};Lf.exports=Ea});var ar=E((bP,jf)=>{"use strict";var Nf=Rt(),Fw=(n,e,t=!1)=>{if(n instanceof Nf)return n;try{return new Nf(n,e)}catch(r){if(!t)return null;throw r}};jf.exports=Fw});var Uf=E((wP,$f)=>{"use strict";var Ow=ar(),Mw=(n,e)=>{let t=Ow(n,e);return t?t.version:null};$f.exports=Mw});var Wf=E((CP,Hf)=>{"use strict";var Aw=ar(),Lw=(n,e)=>{let t=Aw(n.trim().replace(/^[=v]+/,""),e);return t?t.version:null};Hf.exports=Lw});var zf=E((DP,Vf)=>{"use strict";var Kf=Rt(),Nw=(n,e,t,r,i)=>{typeof t=="string"&&(i=r,r=t,t=void 0);try{return new Kf(n instanceof Kf?n.version:n,t).inc(e,r,i).version}catch{return null}};Vf.exports=Nw});var Jf=E((SP,Gf)=>{"use strict";var Bf=ar(),jw=(n,e)=>{let t=Bf(n,null,!0),r=Bf(e,null,!0),i=t.compare(r);if(i===0)return null;let o=i>0,s=o?t:r,a=o?r:t,c=!!s.prerelease.length;if(!!a.prerelease.length&&!c)return!a.patch&&!a.minor?"major":s.patch?"patch":s.minor?"minor":"major";let d=c?"pre":"";return t.major!==r.major?d+"major":t.minor!==r.minor?d+"minor":t.patch!==r.patch?d+"patch":"prerelease"};Gf.exports=jw});var Qf=E((_P,Xf)=>{"use strict";var $w=Rt(),Uw=(n,e)=>new $w(n,e).major;Xf.exports=Uw});var Zf=E((TP,Yf)=>{"use strict";var Hw=Rt(),Ww=(n,e)=>new Hw(n,e).minor;Yf.exports=Ww});var tp=E((RP,ep)=>{"use strict";var Kw=Rt(),Vw=(n,e)=>new Kw(n,e).patch;ep.exports=Vw});var rp=E((PP,np)=>{"use strict";var zw=ar(),Bw=(n,e)=>{let t=zw(n,e);return t&&t.prerelease.length?t.prerelease:null};np.exports=Bw});var sn=E((kP,op)=>{"use strict";var ip=Rt(),Gw=(n,e,t)=>new ip(n,t).compare(new ip(e,t));op.exports=Gw});var ap=E((EP,sp)=>{"use strict";var Jw=sn(),Xw=(n,e,t)=>Jw(e,n,t);sp.exports=Xw});var up=E((xP,cp)=>{"use strict";var Qw=sn(),Yw=(n,e)=>Qw(n,e,!0);cp.exports=Yw});var bo=E((qP,dp)=>{"use strict";var lp=Rt(),Zw=(n,e,t)=>{let r=new lp(n,t),i=new lp(e,t);return r.compare(i)||r.compareBuild(i)};dp.exports=Zw});var pp=E((IP,fp)=>{"use strict";var eC=bo(),tC=(n,e)=>n.sort((t,r)=>eC(t,r,e));fp.exports=tC});var gp=E((FP,hp)=>{"use strict";var nC=bo(),rC=(n,e)=>n.sort((t,r)=>nC(r,t,e));hp.exports=rC});var ki=E((OP,mp)=>{"use strict";var iC=sn(),oC=(n,e,t)=>iC(n,e,t)>0;mp.exports=oC});var wo=E((MP,vp)=>{"use strict";var sC=sn(),aC=(n,e,t)=>sC(n,e,t)<0;vp.exports=aC});var xa=E((AP,yp)=>{"use strict";var cC=sn(),uC=(n,e,t)=>cC(n,e,t)===0;yp.exports=uC});var qa=E((LP,bp)=>{"use strict";var lC=sn(),dC=(n,e,t)=>lC(n,e,t)!==0;bp.exports=dC});var Co=E((NP,wp)=>{"use strict";var fC=sn(),pC=(n,e,t)=>fC(n,e,t)>=0;wp.exports=pC});var Do=E((jP,Cp)=>{"use strict";var hC=sn(),gC=(n,e,t)=>hC(n,e,t)<=0;Cp.exports=gC});var Ia=E(($P,Dp)=>{"use strict";var mC=xa(),vC=qa(),yC=ki(),bC=Co(),wC=wo(),CC=Do(),DC=(n,e,t,r)=>{switch(e){case"===":return typeof n=="object"&&(n=n.version),typeof t=="object"&&(t=t.version),n===t;case"!==":return typeof n=="object"&&(n=n.version),typeof t=="object"&&(t=t.version),n!==t;case"":case"=":case"==":return mC(n,t,r);case"!=":return vC(n,t,r);case">":return yC(n,t,r);case">=":return bC(n,t,r);case"<":return wC(n,t,r);case"<=":return CC(n,t,r);default:throw new TypeError(`Invalid operator: ${e}`)}};Dp.exports=DC});var _p=E((UP,Sp)=>{"use strict";var SC=Rt(),_C=ar(),{safeRe:So,t:_o}=$r(),TC=(n,e)=>{if(n instanceof SC)return n;if(typeof n=="number"&&(n=String(n)),typeof n!="string")return null;e=e||{};let t=null;if(!e.rtl)t=n.match(e.includePrerelease?So[_o.COERCEFULL]:So[_o.COERCE]);else{let c=e.includePrerelease?So[_o.COERCERTLFULL]:So[_o.COERCERTL],l;for(;(l=c.exec(n))&&(!t||t.index+t[0].length!==n.length);)(!t||l.index+l[0].length!==t.index+t[0].length)&&(t=l),c.lastIndex=l.index+l[1].length+l[2].length;c.lastIndex=-1}if(t===null)return null;let r=t[2],i=t[3]||"0",o=t[4]||"0",s=e.includePrerelease&&t[5]?`-${t[5]}`:"",a=e.includePrerelease&&t[6]?`+${t[6]}`:"";return _C(`${r}.${i}.${o}${s}${a}`,e)};Sp.exports=TC});var Rp=E((HP,Tp)=>{"use strict";var Fa=class{constructor(){this.max=1e3,this.map=new Map}get(e){let t=this.map.get(e);if(t!==void 0)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&t!==void 0){if(this.map.size>=this.max){let i=this.map.keys().next().value;this.delete(i)}this.map.set(e,t)}return this}};Tp.exports=Fa});var an=E((WP,xp)=>{"use strict";var RC=/\s+/g,Oa=class n{constructor(e,t){if(t=kC(t),e instanceof n)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new n(e.raw,t);if(e instanceof Ma)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(RC," "),this.set=this.raw.split("||").map(r=>this.parseRange(r.trim())).filter(r=>r.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let r=this.set[0];if(this.set=this.set.filter(i=>!kp(i[0])),this.set.length===0)this.set=[r];else if(this.set.length>1){for(let i of this.set)if(i.length===1&&MC(i[0])){this.set=[i];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");let t=this.set[e];for(let r=0;r<t.length;r++)r>0&&(this.formatted+=" "),this.formatted+=t[r].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let r=((this.options.includePrerelease&&FC)|(this.options.loose&&OC))+":"+e,i=Pp.get(r);if(i)return i;let o=this.options.loose,s=o?jt[Ot.HYPHENRANGELOOSE]:jt[Ot.HYPHENRANGE];e=e.replace(s,VC(this.options.includePrerelease)),ze("hyphen replace",e),e=e.replace(jt[Ot.COMPARATORTRIM],xC),ze("comparator trim",e),e=e.replace(jt[Ot.TILDETRIM],qC),ze("tilde trim",e),e=e.replace(jt[Ot.CARETTRIM],IC),ze("caret trim",e);let a=e.split(" ").map(g=>AC(g,this.options)).join(" ").split(/\s+/).map(g=>KC(g,this.options));o&&(a=a.filter(g=>(ze("loose invalid filter",g,this.options),!!g.match(jt[Ot.COMPARATORLOOSE])))),ze("range list",a);let c=new Map,l=a.map(g=>new Ma(g,this.options));for(let g of l){if(kp(g))return[g];c.set(g.value,g)}c.size>1&&c.has("")&&c.delete("");let d=[...c.values()];return Pp.set(r,d),d}intersects(e,t){if(!(e instanceof n))throw new TypeError("a Range is required");return this.set.some(r=>Ep(r,t)&&e.set.some(i=>Ep(i,t)&&r.every(o=>i.every(s=>o.intersects(s,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new EC(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(zC(this.set[t],e,this.options))return!0;return!1}};xp.exports=Oa;var PC=Rp(),Pp=new PC,kC=mo(),Ma=Ei(),ze=Pi(),EC=Rt(),{safeRe:jt,t:Ot,comparatorTrimReplace:xC,tildeTrimReplace:qC,caretTrimReplace:IC}=$r(),{FLAG_INCLUDE_PRERELEASE:FC,FLAG_LOOSE:OC}=Ri(),kp=n=>n.value==="<0.0.0-0",MC=n=>n.value==="",Ep=(n,e)=>{let t=!0,r=n.slice(),i=r.pop();for(;t&&r.length;)t=r.every(o=>i.intersects(o,e)),i=r.pop();return t},AC=(n,e)=>(ze("comp",n,e),n=jC(n,e),ze("caret",n),n=LC(n,e),ze("tildes",n),n=UC(n,e),ze("xrange",n),n=WC(n,e),ze("stars",n),n),Mt=n=>!n||n.toLowerCase()==="x"||n==="*",LC=(n,e)=>n.trim().split(/\s+/).map(t=>NC(t,e)).join(" "),NC=(n,e)=>{let t=e.loose?jt[Ot.TILDELOOSE]:jt[Ot.TILDE];return n.replace(t,(r,i,o,s,a)=>{ze("tilde",n,r,i,o,s,a);let c;return Mt(i)?c="":Mt(o)?c=`>=${i}.0.0 <${+i+1}.0.0-0`:Mt(s)?c=`>=${i}.${o}.0 <${i}.${+o+1}.0-0`:a?(ze("replaceTilde pr",a),c=`>=${i}.${o}.${s}-${a} <${i}.${+o+1}.0-0`):c=`>=${i}.${o}.${s} <${i}.${+o+1}.0-0`,ze("tilde return",c),c})},jC=(n,e)=>n.trim().split(/\s+/).map(t=>$C(t,e)).join(" "),$C=(n,e)=>{ze("caret",n,e);let t=e.loose?jt[Ot.CARETLOOSE]:jt[Ot.CARET],r=e.includePrerelease?"-0":"";return n.replace(t,(i,o,s,a,c)=>{ze("caret",n,i,o,s,a,c);let l;return Mt(o)?l="":Mt(s)?l=`>=${o}.0.0${r} <${+o+1}.0.0-0`:Mt(a)?o==="0"?l=`>=${o}.${s}.0${r} <${o}.${+s+1}.0-0`:l=`>=${o}.${s}.0${r} <${+o+1}.0.0-0`:c?(ze("replaceCaret pr",c),o==="0"?s==="0"?l=`>=${o}.${s}.${a}-${c} <${o}.${s}.${+a+1}-0`:l=`>=${o}.${s}.${a}-${c} <${o}.${+s+1}.0-0`:l=`>=${o}.${s}.${a}-${c} <${+o+1}.0.0-0`):(ze("no pr"),o==="0"?s==="0"?l=`>=${o}.${s}.${a}${r} <${o}.${s}.${+a+1}-0`:l=`>=${o}.${s}.${a}${r} <${o}.${+s+1}.0-0`:l=`>=${o}.${s}.${a} <${+o+1}.0.0-0`),ze("caret return",l),l})},UC=(n,e)=>(ze("replaceXRanges",n,e),n.split(/\s+/).map(t=>HC(t,e)).join(" ")),HC=(n,e)=>{n=n.trim();let t=e.loose?jt[Ot.XRANGELOOSE]:jt[Ot.XRANGE];return n.replace(t,(r,i,o,s,a,c)=>{ze("xRange",n,r,i,o,s,a,c);let l=Mt(o),d=l||Mt(s),g=d||Mt(a),m=g;return i==="="&&m&&(i=""),c=e.includePrerelease?"-0":"",l?i===">"||i==="<"?r="<0.0.0-0":r="*":i&&m?(d&&(s=0),a=0,i===">"?(i=">=",d?(o=+o+1,s=0,a=0):(s=+s+1,a=0)):i==="<="&&(i="<",d?o=+o+1:s=+s+1),i==="<"&&(c="-0"),r=`${i+o}.${s}.${a}${c}`):d?r=`>=${o}.0.0${c} <${+o+1}.0.0-0`:g&&(r=`>=${o}.${s}.0${c} <${o}.${+s+1}.0-0`),ze("xRange return",r),r})},WC=(n,e)=>(ze("replaceStars",n,e),n.trim().replace(jt[Ot.STAR],"")),KC=(n,e)=>(ze("replaceGTE0",n,e),n.trim().replace(jt[e.includePrerelease?Ot.GTE0PRE:Ot.GTE0],"")),VC=n=>(e,t,r,i,o,s,a,c,l,d,g,m)=>(Mt(r)?t="":Mt(i)?t=`>=${r}.0.0${n?"-0":""}`:Mt(o)?t=`>=${r}.${i}.0${n?"-0":""}`:s?t=`>=${t}`:t=`>=${t}${n?"-0":""}`,Mt(l)?c="":Mt(d)?c=`<${+l+1}.0.0-0`:Mt(g)?c=`<${l}.${+d+1}.0-0`:m?c=`<=${l}.${d}.${g}-${m}`:n?c=`<${l}.${d}.${+g+1}-0`:c=`<=${c}`,`${t} ${c}`.trim()),zC=(n,e,t)=>{for(let r=0;r<n.length;r++)if(!n[r].test(e))return!1;if(e.prerelease.length&&!t.includePrerelease){for(let r=0;r<n.length;r++)if(ze(n[r].semver),n[r].semver!==Ma.ANY&&n[r].semver.prerelease.length>0){let i=n[r].semver;if(i.major===e.major&&i.minor===e.minor&&i.patch===e.patch)return!0}return!1}return!0}});var Ei=E((KP,Ap)=>{"use strict";var xi=Symbol("SemVer ANY"),Na=class n{static get ANY(){return xi}constructor(e,t){if(t=qp(t),e instanceof n){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),La("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===xi?this.value="":this.value=this.operator+this.semver.version,La("comp",this)}parse(e){let t=this.options.loose?Ip[Fp.COMPARATORLOOSE]:Ip[Fp.COMPARATOR],r=e.match(t);if(!r)throw new TypeError(`Invalid comparator: ${e}`);this.operator=r[1]!==void 0?r[1]:"",this.operator==="="&&(this.operator=""),r[2]?this.semver=new Op(r[2],this.options.loose):this.semver=xi}toString(){return this.value}test(e){if(La("Comparator.test",e,this.options.loose),this.semver===xi||e===xi)return!0;if(typeof e=="string")try{e=new Op(e,this.options)}catch{return!1}return Aa(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof n))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Mp(e.value,t).test(this.value):e.operator===""?e.value===""?!0:new Mp(this.value,t).test(e.semver):(t=qp(t),t.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||Aa(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||Aa(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};Ap.exports=Na;var qp=mo(),{safeRe:Ip,t:Fp}=$r(),Aa=Ia(),La=Pi(),Op=Rt(),Mp=an()});var Hr=E((VP,Lp)=>{"use strict";var BC=an(),GC=(n,e,t)=>{try{e=new BC(e,t)}catch{return!1}return e.test(n)};Lp.exports=GC});var jp=E((zP,Np)=>{"use strict";var JC=an(),XC=(n,e)=>new JC(n,e).set.map(t=>t.map(r=>r.value).join(" ").trim().split(" "));Np.exports=XC});var Up=E((BP,$p)=>{"use strict";var QC=Rt(),YC=an(),ZC=(n,e,t)=>{let r=null,i=null,o=null;try{o=new YC(e,t)}catch{return null}return n.forEach(s=>{o.test(s)&&(!r||i.compare(s)===-1)&&(r=s,i=new QC(r,t))}),r};$p.exports=ZC});var Wp=E((GP,Hp)=>{"use strict";var eD=Rt(),tD=an(),nD=(n,e,t)=>{let r=null,i=null,o=null;try{o=new tD(e,t)}catch{return null}return n.forEach(s=>{o.test(s)&&(!r||i.compare(s)===1)&&(r=s,i=new eD(r,t))}),r};Hp.exports=nD});var zp=E((JP,Vp)=>{"use strict";var ja=Rt(),rD=an(),Kp=ki(),iD=(n,e)=>{n=new rD(n,e);let t=new ja("0.0.0");if(n.test(t)||(t=new ja("0.0.0-0"),n.test(t)))return t;t=null;for(let r=0;r<n.set.length;++r){let i=n.set[r],o=null;i.forEach(s=>{let a=new ja(s.semver.version);switch(s.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!o||Kp(a,o))&&(o=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${s.operator}`)}}),o&&(!t||Kp(t,o))&&(t=o)}return t&&n.test(t)?t:null};Vp.exports=iD});var Gp=E((XP,Bp)=>{"use strict";var oD=an(),sD=(n,e)=>{try{return new oD(n,e).range||"*"}catch{return null}};Bp.exports=sD});var To=E((QP,Yp)=>{"use strict";var aD=Rt(),Qp=Ei(),{ANY:cD}=Qp,uD=an(),lD=Hr(),Jp=ki(),Xp=wo(),dD=Do(),fD=Co(),pD=(n,e,t,r)=>{n=new aD(n,r),e=new uD(e,r);let i,o,s,a,c;switch(t){case">":i=Jp,o=dD,s=Xp,a=">",c=">=";break;case"<":i=Xp,o=fD,s=Jp,a="<",c="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(lD(n,e,r))return!1;for(let l=0;l<e.set.length;++l){let d=e.set[l],g=null,m=null;if(d.forEach(y=>{y.semver===cD&&(y=new Qp(">=0.0.0")),g=g||y,m=m||y,i(y.semver,g.semver,r)?g=y:s(y.semver,m.semver,r)&&(m=y)}),g.operator===a||g.operator===c||(!m.operator||m.operator===a)&&o(n,m.semver))return!1;if(m.operator===c&&s(n,m.semver))return!1}return!0};Yp.exports=pD});var eh=E((YP,Zp)=>{"use strict";var hD=To(),gD=(n,e,t)=>hD(n,e,">",t);Zp.exports=gD});var nh=E((ZP,th)=>{"use strict";var mD=To(),vD=(n,e,t)=>mD(n,e,"<",t);th.exports=vD});var oh=E((ek,ih)=>{"use strict";var rh=an(),yD=(n,e,t)=>(n=new rh(n,t),e=new rh(e,t),n.intersects(e,t));ih.exports=yD});var ah=E((tk,sh)=>{"use strict";var bD=Hr(),wD=sn();sh.exports=(n,e,t)=>{let r=[],i=null,o=null,s=n.sort((d,g)=>wD(d,g,t));for(let d of s)bD(d,e,t)?(o=d,i||(i=d)):(o&&r.push([i,o]),o=null,i=null);i&&r.push([i,null]);let a=[];for(let[d,g]of r)d===g?a.push(d):!g&&d===s[0]?a.push("*"):g?d===s[0]?a.push(`<=${g}`):a.push(`${d} - ${g}`):a.push(`>=${d}`);let c=a.join(" || "),l=typeof e.raw=="string"?e.raw:String(e);return c.length<l.length?c:e}});var ph=E((nk,fh)=>{"use strict";var ch=an(),Ua=Ei(),{ANY:$a}=Ua,qi=Hr(),Ha=sn(),CD=(n,e,t={})=>{if(n===e)return!0;n=new ch(n,t),e=new ch(e,t);let r=!1;e:for(let i of n.set){for(let o of e.set){let s=SD(i,o,t);if(r=r||s!==null,s)continue e}if(r)return!1}return!0},DD=[new Ua(">=0.0.0-0")],uh=[new Ua(">=0.0.0")],SD=(n,e,t)=>{if(n===e)return!0;if(n.length===1&&n[0].semver===$a){if(e.length===1&&e[0].semver===$a)return!0;t.includePrerelease?n=DD:n=uh}if(e.length===1&&e[0].semver===$a){if(t.includePrerelease)return!0;e=uh}let r=new Set,i,o;for(let y of n)y.operator===">"||y.operator===">="?i=lh(i,y,t):y.operator==="<"||y.operator==="<="?o=dh(o,y,t):r.add(y.semver);if(r.size>1)return null;let s;if(i&&o){if(s=Ha(i.semver,o.semver,t),s>0)return null;if(s===0&&(i.operator!==">="||o.operator!=="<="))return null}for(let y of r){if(i&&!qi(y,String(i),t)||o&&!qi(y,String(o),t))return null;for(let v of e)if(!qi(y,String(v),t))return!1;return!0}let a,c,l,d,g=o&&!t.includePrerelease&&o.semver.prerelease.length?o.semver:!1,m=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1;g&&g.prerelease.length===1&&o.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let y of e){if(d=d||y.operator===">"||y.operator===">=",l=l||y.operator==="<"||y.operator==="<=",i){if(m&&y.semver.prerelease&&y.semver.prerelease.length&&y.semver.major===m.major&&y.semver.minor===m.minor&&y.semver.patch===m.patch&&(m=!1),y.operator===">"||y.operator===">="){if(a=lh(i,y,t),a===y&&a!==i)return!1}else if(i.operator===">="&&!qi(i.semver,String(y),t))return!1}if(o){if(g&&y.semver.prerelease&&y.semver.prerelease.length&&y.semver.major===g.major&&y.semver.minor===g.minor&&y.semver.patch===g.patch&&(g=!1),y.operator==="<"||y.operator==="<="){if(c=dh(o,y,t),c===y&&c!==o)return!1}else if(o.operator==="<="&&!qi(o.semver,String(y),t))return!1}if(!y.operator&&(o||i)&&s!==0)return!1}return!(i&&l&&!o&&s!==0||o&&d&&!i&&s!==0||m||g)},lh=(n,e,t)=>{if(!n)return e;let r=Ha(n.semver,e.semver,t);return r>0?n:r<0||e.operator===">"&&n.operator===">="?e:n},dh=(n,e,t)=>{if(!n)return e;let r=Ha(n.semver,e.semver,t);return r<0?n:r>0||e.operator==="<"&&n.operator==="<="?e:n};fh.exports=CD});var vh=E((rk,mh)=>{"use strict";var Wa=$r(),hh=Ri(),_D=Rt(),gh=ka(),TD=ar(),RD=Uf(),PD=Wf(),kD=zf(),ED=Jf(),xD=Qf(),qD=Zf(),ID=tp(),FD=rp(),OD=sn(),MD=ap(),AD=up(),LD=bo(),ND=pp(),jD=gp(),$D=ki(),UD=wo(),HD=xa(),WD=qa(),KD=Co(),VD=Do(),zD=Ia(),BD=_p(),GD=Ei(),JD=an(),XD=Hr(),QD=jp(),YD=Up(),ZD=Wp(),eS=zp(),tS=Gp(),nS=To(),rS=eh(),iS=nh(),oS=oh(),sS=ah(),aS=ph();mh.exports={parse:TD,valid:RD,clean:PD,inc:kD,diff:ED,major:xD,minor:qD,patch:ID,prerelease:FD,compare:OD,rcompare:MD,compareLoose:AD,compareBuild:LD,sort:ND,rsort:jD,gt:$D,lt:UD,eq:HD,neq:WD,gte:KD,lte:VD,cmp:zD,coerce:BD,Comparator:GD,Range:JD,satisfies:XD,toComparators:QD,maxSatisfying:YD,minSatisfying:ZD,minVersion:eS,validRange:tS,outside:nS,gtr:rS,ltr:iS,intersects:oS,simplifyRange:sS,subset:aS,SemVer:_D,re:Wa.re,src:Wa.src,tokens:Wa.t,SEMVER_SPEC_VERSION:hh.SEMVER_SPEC_VERSION,RELEASE_TYPES:hh.RELEASE_TYPES,compareIdentifiers:gh.compareIdentifiers,rcompareIdentifiers:gh.rcompareIdentifiers}});var wh=E((ok,bh)=>{"use strict";function Tr(n,e){var t,r;if(typeof e=="function")r=e(n),r!==void 0&&(n=r);else if(Array.isArray(e))for(t=0;t<e.length;t++)r=e[t](n),r!==void 0&&(n=r);return n}function cS(n,e){return n[0]==="-"&&Array.isArray(e)&&/^-\d+$/.test(n)?e.length+parseInt(n,10):n}function uS(n){return/^\d+$/.test(n)}function Po(n){return Object.prototype.toString.call(n)==="[object Object]"}function Ii(n){return Object(n)===n}function ko(n){return Object.keys(n).length===0}var lS=["__proto__","prototype","constructor"],dS=function(n){return lS.indexOf(n)===-1};function Eo(n,e){n.indexOf("[")>=0&&(n=n.replace(/\[/g,e).replace(/]/g,""));var t=n.split(e),r=t.filter(dS);if(r.length!==t.length)throw Error("Refusing to update blacklisted property "+n);return t}var yh=Object.prototype.hasOwnProperty;function ke(n,e,t,r){if(!(this instanceof ke))return new ke(n,e,t,r);typeof e>"u"&&(e=!1),typeof t>"u"&&(t=!0),typeof r>"u"&&(r=!0),this.separator=n||".",this.override=e,this.useArray=t,this.useBrackets=r,this.keepArray=!1,this.cleanup=[]}var Wr=new ke(".",!1,!0,!0);function Cn(n){return function(){return Wr[n].apply(Wr,arguments)}}ke.prototype._fill=function(n,e,t,r){var i=n.shift();if(n.length>0){if(e[i]=e[i]||(this.useArray&&uS(n[0])?[]:{}),!Ii(e[i]))if(this.override)e[i]={};else{if(!(Ii(t)&&ko(t)))throw new Error("Trying to redefine `"+i+"` which is a "+typeof e[i]);return}this._fill(n,e[i],t,r)}else{if(!this.override&&Ii(e[i])&&!ko(e[i])){if(!(Ii(t)&&ko(t)))throw new Error("Trying to redefine non-empty obj['"+i+"']");return}e[i]=Tr(t,r)}};ke.prototype.object=function(n,e){var t=this;return Object.keys(n).forEach(function(r){var i=e===void 0?null:e[r],o=Eo(r,t.separator).join(t.separator);o.indexOf(t.separator)!==-1?(t._fill(o.split(t.separator),n,n[r],i),delete n[r]):n[r]=Tr(n[r],i)}),n};ke.prototype.str=function(n,e,t,r){var i=Eo(n,this.separator).join(this.separator);return n.indexOf(this.separator)!==-1?this._fill(i.split(this.separator),t,e,r):t[n]=Tr(e,r),t};ke.prototype.pick=function(n,e,t,r){var i,o,s,a,c;for(o=Eo(n,this.separator),i=0;i<o.length;i++)if(a=cS(o[i],e),e&&typeof e=="object"&&a in e){if(i===o.length-1)return t?(s=e[a],r&&Array.isArray(e)?e.splice(a,1):delete e[a],Array.isArray(e)&&(c=o.slice(0,-1).join("."),this.cleanup.indexOf(c)===-1&&this.cleanup.push(c)),s):e[a];e=e[a]}else return;return t&&Array.isArray(e)&&(e=e.filter(function(l){return l!==void 0})),e};ke.prototype.delete=function(n,e){return this.remove(n,e,!0)};ke.prototype.remove=function(n,e,t){var r;if(this.cleanup=[],Array.isArray(n)){for(r=0;r<n.length;r++)this.pick(n[r],e,!0,t);return t||this._cleanup(e),e}else return this.pick(n,e,!0,t)};ke.prototype._cleanup=function(n){var e,t,r,i;if(this.cleanup.length){for(t=0;t<this.cleanup.length;t++)r=this.cleanup[t].split("."),i=r.splice(0,-1).join("."),e=i?this.pick(i,n):n,e=e[r[0]].filter(function(o){return o!==void 0}),this.set(this.cleanup[t],e,n);this.cleanup=[]}};ke.prototype.del=ke.prototype.remove;ke.prototype.move=function(n,e,t,r,i){return typeof r=="function"||Array.isArray(r)?this.set(e,Tr(this.pick(n,t,!0),r),t,i):(i=r,this.set(e,this.pick(n,t,!0),t,i)),t};ke.prototype.transfer=function(n,e,t,r,i,o){return typeof i=="function"||Array.isArray(i)?this.set(e,Tr(this.pick(n,t,!0),i),r,o):(o=i,this.set(e,this.pick(n,t,!0),r,o)),r};ke.prototype.copy=function(n,e,t,r,i,o){return typeof i=="function"||Array.isArray(i)?this.set(e,Tr(JSON.parse(JSON.stringify(this.pick(n,t,!1))),i),r,o):(o=i,this.set(e,this.pick(n,t,!1),r,o)),r};ke.prototype.set=function(n,e,t,r){var i,o,s,a;if(typeof e>"u")return t;for(s=Eo(n,this.separator),i=0;i<s.length;i++){if(a=s[i],i===s.length-1)if(r&&Po(e)&&Po(t[a]))for(o in e)yh.call(e,o)&&(t[a][o]=e[o]);else if(r&&Array.isArray(t[a])&&Array.isArray(e))for(var c=0;c<e.length;c++)t[s[i]].push(e[c]);else t[a]=e;else(!yh.call(t,a)||!Po(t[a])&&!Array.isArray(t[a]))&&(/^\d+$/.test(s[i+1])?t[a]=[]:t[a]={});t=t[a]}return t};ke.prototype.transform=function(n,e,t){return e=e||{},t=t||{},Object.keys(n).forEach(function(r){this.set(n[r],this.pick(r,e),t)}.bind(this)),t};ke.prototype.dot=function(n,e,t){e=e||{},t=t||[];var r=Array.isArray(n);return Object.keys(n).forEach(function(i){var o=r&&this.useBrackets?"["+i+"]":i;if(Ii(n[i])&&(Po(n[i])&&!ko(n[i])||Array.isArray(n[i])&&!this.keepArray&&n[i].length!==0))if(r&&this.useBrackets){var s=t[t.length-1]||"";return this.dot(n[i],e,t.slice(0,-1).concat(s+o))}else return this.dot(n[i],e,t.concat(o));else r&&this.useBrackets?e[t.join(this.separator).concat("["+i+"]")]=n[i]:e[t.concat(o).join(this.separator)]=n[i]}.bind(this)),e};ke.pick=Cn("pick");ke.move=Cn("move");ke.transfer=Cn("transfer");ke.transform=Cn("transform");ke.copy=Cn("copy");ke.object=Cn("object");ke.str=Cn("str");ke.set=Cn("set");ke.delete=Cn("delete");ke.del=ke.remove=Cn("remove");ke.dot=Cn("dot");["override","overwrite"].forEach(function(n){Object.defineProperty(ke,n,{get:function(){return Wr.override},set:function(e){Wr.override=!!e}})});["useArray","keepArray","useBrackets"].forEach(function(n){Object.defineProperty(ke,n,{get:function(){return Wr[n]},set:function(e){Wr[n]=e}})});ke._process=Tr;bh.exports=ke});var Rh=E((gk,gS)=>{gS.exports=`<!DOCTYPE html>\r
|
|
1
|
+
|
|
2
|
+
import {createRequire} from 'module'
|
|
3
|
+
const require = createRequire(import.meta.url)
|
|
4
|
+
|
|
5
|
+
import{E as qa,F as Ia,H as cn,I as Pr,J as Rr,K as Ea,L as Ma,b as Yn,g as ft,h as Pe,i as an,j as Tr,k as L,l as Fa,n as kr,o as Od,p as Ad,q as Ld}from"./chunk-M5LZ6CNU.js";import{a as I,c as F,e as br}from"./chunk-ZLQDNPPN.js";var La=F((bp,Aa)=>{"use strict";function St(s,e){var t,n;if(typeof e=="function")n=e(s),n!==void 0&&(s=n);else if(Array.isArray(e))for(t=0;t<e.length;t++)n=e[t](s),n!==void 0&&(s=n);return s}function Ud(s,e){return s[0]==="-"&&Array.isArray(e)&&/^-\d+$/.test(s)?e.length+parseInt(s,10):s}function Nd(s){return/^\d+$/.test(s)}function Zn(s){return Object.prototype.toString.call(s)==="[object Object]"}function dn(s){return Object(s)===s}function ei(s){return Object.keys(s).length===0}var Kd=["__proto__","prototype","constructor"],Hd=function(s){return Kd.indexOf(s)===-1};function ti(s,e){s.indexOf("[")>=0&&(s=s.replace(/\[/g,e).replace(/]/g,""));var t=s.split(e),n=t.filter(Hd);if(n.length!==t.length)throw Error("Refusing to update blacklisted property "+s);return t}var Oa=Object.prototype.hasOwnProperty;function $(s,e,t,n){if(!(this instanceof $))return new $(s,e,t,n);typeof e>"u"&&(e=!1),typeof t>"u"&&(t=!0),typeof n>"u"&&(n=!0),this.separator=s||".",this.override=e,this.useArray=t,this.useBrackets=n,this.keepArray=!1,this.cleanup=[]}var Ut=new $(".",!1,!0,!0);function Ke(s){return function(){return Ut[s].apply(Ut,arguments)}}$.prototype._fill=function(s,e,t,n){var i=s.shift();if(s.length>0){if(e[i]=e[i]||(this.useArray&&Nd(s[0])?[]:{}),!dn(e[i]))if(this.override)e[i]={};else{if(!(dn(t)&&ei(t)))throw new Error("Trying to redefine `"+i+"` which is a "+typeof e[i]);return}this._fill(s,e[i],t,n)}else{if(!this.override&&dn(e[i])&&!ei(e[i])){if(!(dn(t)&&ei(t)))throw new Error("Trying to redefine non-empty obj['"+i+"']");return}e[i]=St(t,n)}};$.prototype.object=function(s,e){var t=this;return Object.keys(s).forEach(function(n){var i=e===void 0?null:e[n],r=ti(n,t.separator).join(t.separator);r.indexOf(t.separator)!==-1?(t._fill(r.split(t.separator),s,s[n],i),delete s[n]):s[n]=St(s[n],i)}),s};$.prototype.str=function(s,e,t,n){var i=ti(s,this.separator).join(this.separator);return s.indexOf(this.separator)!==-1?this._fill(i.split(this.separator),t,e,n):t[s]=St(e,n),t};$.prototype.pick=function(s,e,t,n){var i,r,o,c,d;for(r=ti(s,this.separator),i=0;i<r.length;i++)if(c=Ud(r[i],e),e&&typeof e=="object"&&c in e){if(i===r.length-1)return t?(o=e[c],n&&Array.isArray(e)?e.splice(c,1):delete e[c],Array.isArray(e)&&(d=r.slice(0,-1).join("."),this.cleanup.indexOf(d)===-1&&this.cleanup.push(d)),o):e[c];e=e[c]}else return;return t&&Array.isArray(e)&&(e=e.filter(function(l){return l!==void 0})),e};$.prototype.delete=function(s,e){return this.remove(s,e,!0)};$.prototype.remove=function(s,e,t){var n;if(this.cleanup=[],Array.isArray(s)){for(n=0;n<s.length;n++)this.pick(s[n],e,!0,t);return t||this._cleanup(e),e}else return this.pick(s,e,!0,t)};$.prototype._cleanup=function(s){var e,t,n,i;if(this.cleanup.length){for(t=0;t<this.cleanup.length;t++)n=this.cleanup[t].split("."),i=n.splice(0,-1).join("."),e=i?this.pick(i,s):s,e=e[n[0]].filter(function(r){return r!==void 0}),this.set(this.cleanup[t],e,s);this.cleanup=[]}};$.prototype.del=$.prototype.remove;$.prototype.move=function(s,e,t,n,i){return typeof n=="function"||Array.isArray(n)?this.set(e,St(this.pick(s,t,!0),n),t,i):(i=n,this.set(e,this.pick(s,t,!0),t,i)),t};$.prototype.transfer=function(s,e,t,n,i,r){return typeof i=="function"||Array.isArray(i)?this.set(e,St(this.pick(s,t,!0),i),n,r):(r=i,this.set(e,this.pick(s,t,!0),n,r)),n};$.prototype.copy=function(s,e,t,n,i,r){return typeof i=="function"||Array.isArray(i)?this.set(e,St(JSON.parse(JSON.stringify(this.pick(s,t,!1))),i),n,r):(r=i,this.set(e,this.pick(s,t,!1),n,r)),n};$.prototype.set=function(s,e,t,n){var i,r,o,c;if(typeof e>"u")return t;for(o=ti(s,this.separator),i=0;i<o.length;i++){if(c=o[i],i===o.length-1)if(n&&Zn(e)&&Zn(t[c]))for(r in e)Oa.call(e,r)&&(t[c][r]=e[r]);else if(n&&Array.isArray(t[c])&&Array.isArray(e))for(var d=0;d<e.length;d++)t[o[i]].push(e[d]);else t[c]=e;else(!Oa.call(t,c)||!Zn(t[c])&&!Array.isArray(t[c]))&&(/^\d+$/.test(o[i+1])?t[c]=[]:t[c]={});t=t[c]}return t};$.prototype.transform=function(s,e,t){return e=e||{},t=t||{},Object.keys(s).forEach(function(n){this.set(s[n],this.pick(n,e),t)}.bind(this)),t};$.prototype.dot=function(s,e,t){e=e||{},t=t||[];var n=Array.isArray(s);return Object.keys(s).forEach(function(i){var r=n&&this.useBrackets?"["+i+"]":i;if(dn(s[i])&&(Zn(s[i])&&!ei(s[i])||Array.isArray(s[i])&&!this.keepArray&&s[i].length!==0))if(n&&this.useBrackets){var o=t[t.length-1]||"";return this.dot(s[i],e,t.slice(0,-1).concat(o+r))}else return this.dot(s[i],e,t.concat(r));else n&&this.useBrackets?e[t.join(this.separator).concat("["+i+"]")]=s[i]:e[t.concat(r).join(this.separator)]=s[i]}.bind(this)),e};$.pick=Ke("pick");$.move=Ke("move");$.transfer=Ke("transfer");$.transform=Ke("transform");$.copy=Ke("copy");$.object=Ke("object");$.str=Ke("str");$.set=Ke("set");$.delete=Ke("delete");$.del=$.remove=Ke("remove");$.dot=Ke("dot");["override","overwrite"].forEach(function(s){Object.defineProperty($,s,{get:function(){return Ut.override},set:function(e){Ut.override=!!e}})});["useArray","keepArray","useBrackets"].forEach(function(s){Object.defineProperty($,s,{get:function(){return Ut[s]},set:function(e){Ut[s]=e}})});$._process=St;Aa.exports=$});var Ee=F(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.asPromise=oe.thenable=oe.typedArray=oe.stringArray=oe.array=oe.func=oe.error=oe.number=oe.string=oe.boolean=void 0;function Jd(s){return s===!0||s===!1}oe.boolean=Jd;function ja(s){return typeof s=="string"||s instanceof String}oe.string=ja;function Qd(s){return typeof s=="number"||s instanceof Number}oe.number=Qd;function Gd(s){return s instanceof Error}oe.error=Gd;function za(s){return typeof s=="function"}oe.func=za;function Va(s){return Array.isArray(s)}oe.array=Va;function Yd(s){return Va(s)&&s.every(e=>ja(e))}oe.stringArray=Yd;function Xd(s,e){return Array.isArray(s)&&s.every(e)}oe.typedArray=Xd;function Ba(s){return s&&za(s.then)}oe.thenable=Ba;function Zd(s){return s instanceof Promise?s:Ba(s)?new Promise((e,t)=>{s.then(n=>e(n),n=>t(n))}):Promise.resolve(s)}oe.asPromise=Zd});var ui=F(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.forEach=Ce.mapAsync=Ce.map=Ce.clearTestMode=Ce.setTestMode=Ce.Semaphore=Ce.Delayer=void 0;var ln=L(),Lr=class{constructor(e){this.defaultDelay=e,this.timeout=void 0,this.completionPromise=void 0,this.onSuccess=void 0,this.task=void 0}trigger(e,t=this.defaultDelay){return this.task=e,t>=0&&this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(n=>{this.onSuccess=n}).then(()=>{this.completionPromise=void 0,this.onSuccess=void 0;var n=this.task();return this.task=void 0,n})),(t>=0||this.timeout===void 0)&&(this.timeout=(0,ln.RAL)().timer.setTimeout(()=>{this.timeout=void 0,this.onSuccess(void 0)},t>=0?t:this.defaultDelay)),this.completionPromise}forceDelivery(){if(!this.completionPromise)return;this.cancelTimeout();let e=this.task();return this.completionPromise=void 0,this.onSuccess=void 0,this.task=void 0,e}isTriggered(){return this.timeout!==void 0}cancel(){this.cancelTimeout(),this.completionPromise=void 0}cancelTimeout(){this.timeout!==void 0&&(this.timeout.dispose(),this.timeout=void 0)}};Ce.Delayer=Lr;var Ur=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,ln.RAL)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let t=e.thunk();t instanceof Promise?t.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}};Ce.Semaphore=Ur;var Nr=!1;function eu(){Nr=!0}Ce.setTestMode=eu;function tu(){Nr=!1}Ce.clearTestMode=tu;var Ja=15,un=class{constructor(e=Ja){this.yieldAfter=Nr===!0?Math.max(e,2):Math.max(e,Ja),this.startTime=Date.now(),this.counter=0,this.total=0,this.counterInterval=1}start(){this.counter=0,this.total=0,this.counterInterval=1,this.startTime=Date.now()}shouldYield(){if(++this.counter>=this.counterInterval){let e=Date.now()-this.startTime,t=Math.max(0,this.yieldAfter-e);if(this.total+=this.counter,this.counter=0,e>=this.yieldAfter||t<=1)return this.counterInterval=1,this.total=0,!0;switch(e){case 0:case 1:this.counterInterval=this.total*2;break}}return!1}};async function nu(s,e,t,n){if(s.length===0)return[];let i=new Array(s.length),r=new un(n?.yieldAfter);function o(d){r.start();for(let l=d;l<s.length;l++)if(i[l]=e(s[l]),r.shouldYield())return n?.yieldCallback&&n.yieldCallback(),l+1;return-1}let c=o(0);for(;c!==-1&&!(t!==void 0&&t.isCancellationRequested);)c=await new Promise(d=>{(0,ln.RAL)().timer.setImmediate(()=>{d(o(c))})});return i}Ce.map=nu;async function iu(s,e,t,n){if(s.length===0)return[];let i=new Array(s.length),r=new un(n?.yieldAfter);async function o(d){r.start();for(let l=d;l<s.length;l++)if(i[l]=await e(s[l],t),r.shouldYield())return n?.yieldCallback&&n.yieldCallback(),l+1;return-1}let c=await o(0);for(;c!==-1&&!(t!==void 0&&t.isCancellationRequested);)c=await new Promise(d=>{(0,ln.RAL)().timer.setImmediate(()=>{d(o(c))})});return i}Ce.mapAsync=iu;async function ru(s,e,t,n){if(s.length===0)return;let i=new un(n?.yieldAfter);function r(c){i.start();for(let d=c;d<s.length;d++)if(e(s[d]),i.shouldYield())return n?.yieldCallback&&n.yieldCallback(),d+1;return-1}let o=r(0);for(;o!==-1&&!(t!==void 0&&t.isCancellationRequested);)o=await new Promise(c=>{(0,ln.RAL)().timer.setImmediate(()=>{c(r(o))})})}Ce.forEach=ru});var $r=F(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});var su=I("vscode"),Kr=class extends su.CompletionItem{constructor(e){super(e)}};Hr.default=Kr});var zr=F(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});var ou=I("vscode"),Wr=class extends ou.CodeLens{constructor(e){super(e)}};jr.default=Wr});var Jr=F(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});var au=I("vscode"),Vr=class extends au.DocumentLink{constructor(e,t){super(e,t)}};Br.default=Vr});var Yr=F(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});var cu=I("vscode"),Qr=class extends cu.CodeAction{constructor(e,t){super(e),this.data=t}};Gr.default=Qr});var es=F($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});$t.ProtocolDiagnostic=$t.DiagnosticCode=void 0;var du=I("vscode"),Xr=Ee(),Qa;(function(s){function e(t){let n=t;return n!=null&&(Xr.number(n.value)||Xr.string(n.value))&&Xr.string(n.target)}s.is=e})(Qa||($t.DiagnosticCode=Qa={}));var Zr=class extends du.Diagnostic{constructor(e,t,n,i){super(e,t,n),this.data=i,this.hasDiagnosticCode=!1}};$t.ProtocolDiagnostic=Zr});var is=F(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});var uu=I("vscode"),ts=class extends uu.CallHierarchyItem{constructor(e,t,n,i,r,o,c){super(e,t,n,i,r,o),c!==void 0&&(this.data=c)}};ns.default=ts});var os=F(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});var lu=I("vscode"),rs=class extends lu.TypeHierarchyItem{constructor(e,t,n,i,r,o,c){super(e,t,n,i,r,o),c!==void 0&&(this.data=c)}};ss.default=rs});var ds=F(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});var li=I("vscode"),as=class extends li.SymbolInformation{constructor(e,t,n,i,r){let o=!(i instanceof li.Uri);super(e,t,n,o?i:new li.Location(i,new li.Range(0,0,0,0))),this.hasRange=o,r!==void 0&&(this.data=r)}};cs.default=as});var ps=F(ls=>{"use strict";Object.defineProperty(ls,"__esModule",{value:!0});var pu=I("vscode"),us=class extends pu.InlayHint{constructor(e,t,n){super(e,t,n)}};ls.default=us});var Za=F(pi=>{"use strict";Object.defineProperty(pi,"__esModule",{value:!0});pi.createConverter=void 0;var de=I("vscode"),A=L(),bt=Ee(),Ga=ui(),fu=$r(),hu=zr(),gu=Jr(),Ya=Yr(),Xa=es(),mu=is(),vu=os(),yu=ds(),Cu=ps(),fs;(function(s){function e(t){let n=t;return n&&!!n.inserting&&!!n.replacing}s.is=e})(fs||(fs={}));function wu(s){let t=s||(u=>u.toString());function n(u){return t(u)}function i(u){return{uri:t(u.uri)}}function r(u){return{uri:t(u.uri),languageId:u.languageId,version:u.version,text:u.getText()}}function o(u){return{uri:t(u.uri),version:u.version}}function c(u){return{textDocument:r(u)}}function d(u){let C=u;return!!C.document&&!!C.contentChanges}function l(u){let C=u;return!!C.uri&&!!C.version}function p(u,C,R){if(l(u))return{textDocument:{uri:t(u.uri),version:u.version},contentChanges:[{text:u.getText()}]};if(d(u)){let B=C,G=R;return{textDocument:{uri:t(B),version:G},contentChanges:u.contentChanges.map(ke=>{let ze=ke.range;return{range:{start:{line:ze.start.line,character:ze.start.character},end:{line:ze.end.line,character:ze.end.character}},rangeLength:ke.rangeLength,text:ke.text}})}}else throw Error("Unsupported text document change parameter")}function g(u){return{textDocument:i(u)}}function h(u,C=!1){let R={textDocument:i(u)};return C&&(R.text=u.getText()),R}function v(u){switch(u){case de.TextDocumentSaveReason.Manual:return A.TextDocumentSaveReason.Manual;case de.TextDocumentSaveReason.AfterDelay:return A.TextDocumentSaveReason.AfterDelay;case de.TextDocumentSaveReason.FocusOut:return A.TextDocumentSaveReason.FocusOut}return A.TextDocumentSaveReason.Manual}function f(u){return{textDocument:i(u.document),reason:v(u.reason)}}function y(u){return{files:u.files.map(C=>({uri:t(C)}))}}function w(u){return{files:u.files.map(C=>({oldUri:t(C.oldUri),newUri:t(C.newUri)}))}}function b(u){return{files:u.files.map(C=>({uri:t(C)}))}}function T(u){return{files:u.files.map(C=>({uri:t(C)}))}}function P(u){return{files:u.files.map(C=>({oldUri:t(C.oldUri),newUri:t(C.newUri)}))}}function q(u){return{files:u.files.map(C=>({uri:t(C)}))}}function ce(u,C){return{textDocument:i(u),position:dt(C)}}function V(u){switch(u){case de.CompletionTriggerKind.TriggerCharacter:return A.CompletionTriggerKind.TriggerCharacter;case de.CompletionTriggerKind.TriggerForIncompleteCompletions:return A.CompletionTriggerKind.TriggerForIncompleteCompletions;default:return A.CompletionTriggerKind.Invoked}}function Z(u,C,R){return{textDocument:i(u),position:dt(C),context:{triggerKind:V(R.triggerKind),triggerCharacter:R.triggerCharacter}}}function Ye(u){switch(u){case de.SignatureHelpTriggerKind.Invoke:return A.SignatureHelpTriggerKind.Invoked;case de.SignatureHelpTriggerKind.TriggerCharacter:return A.SignatureHelpTriggerKind.TriggerCharacter;case de.SignatureHelpTriggerKind.ContentChange:return A.SignatureHelpTriggerKind.ContentChange}}function ot(u){return{label:u.label}}function Xe(u){return u.map(ot)}function at(u){return{label:u.label,parameters:Xe(u.parameters)}}function Et(u){return u.map(at)}function Mt(u){return u===void 0?u:{signatures:Et(u.signatures),activeSignature:u.activeSignature,activeParameter:u.activeParameter}}function ct(u,C,R){return{textDocument:i(u),position:dt(C),context:{isRetrigger:R.isRetrigger,triggerCharacter:R.triggerCharacter,triggerKind:Ye(R.triggerKind),activeSignatureHelp:Mt(R.activeSignatureHelp)}}}function dt(u){return{line:u.line,character:u.character}}function Ue(u){return u==null?u:{line:u.line>A.uinteger.MAX_VALUE?A.uinteger.MAX_VALUE:u.line,character:u.character>A.uinteger.MAX_VALUE?A.uinteger.MAX_VALUE:u.character}}function cr(u,C){return Ga.map(u,Ue,C)}function Mn(u){return u.map(Ue)}function pe(u){return u==null?u:{start:Ue(u.start),end:Ue(u.end)}}function On(u){return u.map(pe)}function ut(u){return u==null?u:A.Location.create(n(u.uri),pe(u.range))}function Ze(u){switch(u){case de.DiagnosticSeverity.Error:return A.DiagnosticSeverity.Error;case de.DiagnosticSeverity.Warning:return A.DiagnosticSeverity.Warning;case de.DiagnosticSeverity.Information:return A.DiagnosticSeverity.Information;case de.DiagnosticSeverity.Hint:return A.DiagnosticSeverity.Hint}}function dr(u){if(!u)return;let C=[];for(let R of u){let B=An(R);B!==void 0&&C.push(B)}return C.length>0?C:void 0}function An(u){switch(u){case de.DiagnosticTag.Unnecessary:return A.DiagnosticTag.Unnecessary;case de.DiagnosticTag.Deprecated:return A.DiagnosticTag.Deprecated;default:return}}function Ln(u){return{message:u.message,location:ut(u.location)}}function Un(u){return u.map(Ln)}function ur(u){if(u!=null)return bt.number(u)||bt.string(u)?u:{value:u.value,target:n(u.target)}}function en(u){let C=A.Diagnostic.create(pe(u.range),u.message),R=u instanceof Xa.ProtocolDiagnostic?u:void 0;R!==void 0&&R.data!==void 0&&(C.data=R.data);let B=ur(u.code);return Xa.DiagnosticCode.is(B)?R!==void 0&&R.hasDiagnosticCode?C.code=B:(C.code=B.value,C.codeDescription={href:B.target}):C.code=B,bt.number(u.severity)&&(C.severity=Ze(u.severity)),Array.isArray(u.tags)&&(C.tags=dr(u.tags)),u.relatedInformation&&(C.relatedInformation=Un(u.relatedInformation)),u.source&&(C.source=u.source),C}function Ot(u,C){return u==null?u:Ga.map(u,en,C)}function At(u){return u==null?u:u.map(en)}function lr(u,C){switch(u){case"$string":return C;case A.MarkupKind.PlainText:return{kind:u,value:C};case A.MarkupKind.Markdown:return{kind:u,value:C.value};default:return`Unsupported Markup content received. Kind is: ${u}`}}function lt(u){switch(u){case de.CompletionItemTag.Deprecated:return A.CompletionItemTag.Deprecated}}function Nn(u){if(u===void 0)return u;let C=[];for(let R of u){let B=lt(R);B!==void 0&&C.push(B)}return C}function Lt(u,C){return C!==void 0?C:u+1}function Kn(u,C=!1){let R,B;bt.string(u.label)?R=u.label:(R=u.label.label,C&&(u.label.detail!==void 0||u.label.description!==void 0)&&(B={detail:u.label.detail,description:u.label.description}));let G={label:R};B!==void 0&&(G.labelDetails=B);let fe=u instanceof fu.default?u:void 0;u.detail&&(G.detail=u.detail),u.documentation&&(!fe||fe.documentationFormat==="$string"?G.documentation=u.documentation:G.documentation=lr(fe.documentationFormat,u.documentation)),u.filterText&&(G.filterText=u.filterText),pr(G,u),bt.number(u.kind)&&(G.kind=Lt(u.kind,fe&&fe.originalItemKind)),u.sortText&&(G.sortText=u.sortText),u.additionalTextEdits&&(G.additionalTextEdits=Ne(u.additionalTextEdits)),u.commitCharacters&&(G.commitCharacters=u.commitCharacters.slice()),u.command&&(G.command=et(u.command)),(u.preselect===!0||u.preselect===!1)&&(G.preselect=u.preselect);let ke=Nn(u.tags);if(fe){if(fe.data!==void 0&&(G.data=fe.data),fe.deprecated===!0||fe.deprecated===!1){if(fe.deprecated===!0&&ke!==void 0&&ke.length>0){let ze=ke.indexOf(de.CompletionItemTag.Deprecated);ze!==-1&&ke.splice(ze,1)}G.deprecated=fe.deprecated}fe.insertTextMode!==void 0&&(G.insertTextMode=fe.insertTextMode)}return ke!==void 0&&ke.length>0&&(G.tags=ke),G.insertTextMode===void 0&&u.keepWhitespace===!0&&(G.insertTextMode=A.InsertTextMode.adjustIndentation),G}function pr(u,C){let R=A.InsertTextFormat.PlainText,B,G;C.textEdit?(B=C.textEdit.newText,G=C.textEdit.range):C.insertText instanceof de.SnippetString?(R=A.InsertTextFormat.Snippet,B=C.insertText.value):B=C.insertText,C.range&&(G=C.range),u.insertTextFormat=R,C.fromEdit&&B!==void 0&&G!==void 0?u.textEdit=tn(B,G):u.insertText=B}function tn(u,C){return fs.is(C)?A.InsertReplaceEdit.create(u,pe(C.inserting),pe(C.replacing)):{newText:u,range:pe(C)}}function nn(u){return{range:pe(u.range),newText:u.newText}}function Ne(u){return u==null?u:u.map(nn)}function Dt(u){return u<=de.SymbolKind.TypeParameter?u+1:A.SymbolKind.Property}function Ie(u){return u}function pt(u){return u.map(Ie)}function fr(u,C,R){return{textDocument:i(u),position:dt(C),context:{includeDeclaration:R.includeDeclaration}}}async function Hn(u,C){let R=A.CodeAction.create(u.title);if(u instanceof Ya.default&&u.data!==void 0&&(R.data=u.data),u.kind!==void 0&&(R.kind=Wn(u.kind)),u.diagnostics!==void 0&&(R.diagnostics=await Ot(u.diagnostics,C)),u.edit!==void 0)throw new Error("VS Code code actions can only be converted to a protocol code action without an edit.");return u.command!==void 0&&(R.command=et(u.command)),u.isPreferred!==void 0&&(R.isPreferred=u.isPreferred),u.disabled!==void 0&&(R.disabled={reason:u.disabled.reason}),R}function hr(u){let C=A.CodeAction.create(u.title);if(u instanceof Ya.default&&u.data!==void 0&&(C.data=u.data),u.kind!==void 0&&(C.kind=Wn(u.kind)),u.diagnostics!==void 0&&(C.diagnostics=At(u.diagnostics)),u.edit!==void 0)throw new Error("VS Code code actions can only be converted to a protocol code action without an edit.");return u.command!==void 0&&(C.command=et(u.command)),u.isPreferred!==void 0&&(C.isPreferred=u.isPreferred),u.disabled!==void 0&&(C.disabled={reason:u.disabled.reason}),C}async function $n(u,C){if(u==null)return u;let R;return u.only&&bt.string(u.only.value)&&(R=[u.only.value]),A.CodeActionContext.create(await Ot(u.diagnostics,C),R,rn(u.triggerKind))}function gr(u){if(u==null)return u;let C;return u.only&&bt.string(u.only.value)&&(C=[u.only.value]),A.CodeActionContext.create(At(u.diagnostics),C,rn(u.triggerKind))}function rn(u){switch(u){case de.CodeActionTriggerKind.Invoke:return A.CodeActionTriggerKind.Invoked;case de.CodeActionTriggerKind.Automatic:return A.CodeActionTriggerKind.Automatic;default:return}}function Wn(u){if(u!=null)return u.value}function jn(u){return u==null?u:A.InlineValueContext.create(u.frameId,pe(u.stoppedLocation))}function mr(u,C,R){return{context:A.InlineCompletionContext.create(R.triggerKind,R.selectedCompletionInfo),textDocument:i(u),position:Ue(C)}}function et(u){let C=A.Command.create(u.title,u.command);return u.arguments&&(C.arguments=u.arguments),C}function zn(u){let C=A.CodeLens.create(pe(u.range));return u.command&&(C.command=et(u.command)),u instanceof hu.default&&u.data&&(C.data=u.data),C}function vr(u,C){let R={tabSize:u.tabSize,insertSpaces:u.insertSpaces};return C.trimTrailingWhitespace&&(R.trimTrailingWhitespace=!0),C.trimFinalNewlines&&(R.trimFinalNewlines=!0),C.insertFinalNewline&&(R.insertFinalNewline=!0),R}function Vn(u){return{textDocument:i(u)}}function yr(u){return{textDocument:i(u)}}function Bn(u){let C=A.DocumentLink.create(pe(u.range));u.target&&(C.target=n(u.target)),u.tooltip!==void 0&&(C.tooltip=u.tooltip);let R=u instanceof gu.default?u:void 0;return R&&R.data&&(C.data=R.data),C}function Jn(u){return{textDocument:i(u)}}function Cr(u){let C={name:u.name,kind:Dt(u.kind),uri:n(u.uri),range:pe(u.range),selectionRange:pe(u.selectionRange)};return u.detail!==void 0&&u.detail.length>0&&(C.detail=u.detail),u.tags!==void 0&&(C.tags=pt(u.tags)),u instanceof mu.default&&u.data!==void 0&&(C.data=u.data),C}function sn(u){let C={name:u.name,kind:Dt(u.kind),uri:n(u.uri),range:pe(u.range),selectionRange:pe(u.selectionRange)};return u.detail!==void 0&&u.detail.length>0&&(C.detail=u.detail),u.tags!==void 0&&(C.tags=pt(u.tags)),u instanceof vu.default&&u.data!==void 0&&(C.data=u.data),C}function wr(u){let C=u instanceof yu.default?{name:u.name,kind:Dt(u.kind),location:u.hasRange?ut(u.location):{uri:t(u.location.uri)},data:u.data}:{name:u.name,kind:Dt(u.kind),location:ut(u.location)};return u.tags!==void 0&&(C.tags=pt(u.tags)),u.containerName!==""&&(C.containerName=u.containerName),C}function Qn(u){let C=typeof u.label=="string"?u.label:u.label.map(Dr),R=A.InlayHint.create(Ue(u.position),C);return u.kind!==void 0&&(R.kind=u.kind),u.textEdits!==void 0&&(R.textEdits=Ne(u.textEdits)),u.tooltip!==void 0&&(R.tooltip=on(u.tooltip)),u.paddingLeft!==void 0&&(R.paddingLeft=u.paddingLeft),u.paddingRight!==void 0&&(R.paddingRight=u.paddingRight),u instanceof Cu.default&&u.data!==void 0&&(R.data=u.data),R}function Dr(u){let C=A.InlayHintLabelPart.create(u.value);return u.location!==void 0&&(C.location=ut(u.location)),u.command!==void 0&&(C.command=et(u.command)),u.tooltip!==void 0&&(C.tooltip=on(u.tooltip)),C}function on(u){return typeof u=="string"?u:{kind:A.MarkupKind.Markdown,value:u.value}}return{asUri:n,asTextDocumentIdentifier:i,asTextDocumentItem:r,asVersionedTextDocumentIdentifier:o,asOpenTextDocumentParams:c,asChangeTextDocumentParams:p,asCloseTextDocumentParams:g,asSaveTextDocumentParams:h,asWillSaveTextDocumentParams:f,asDidCreateFilesParams:y,asDidRenameFilesParams:w,asDidDeleteFilesParams:b,asWillCreateFilesParams:T,asWillRenameFilesParams:P,asWillDeleteFilesParams:q,asTextDocumentPositionParams:ce,asCompletionParams:Z,asSignatureHelpParams:ct,asWorkerPosition:dt,asRange:pe,asRanges:On,asPosition:Ue,asPositions:cr,asPositionsSync:Mn,asLocation:ut,asDiagnosticSeverity:Ze,asDiagnosticTag:An,asDiagnostic:en,asDiagnostics:Ot,asDiagnosticsSync:At,asCompletionItem:Kn,asTextEdit:nn,asSymbolKind:Dt,asSymbolTag:Ie,asSymbolTags:pt,asReferenceParams:fr,asCodeAction:Hn,asCodeActionSync:hr,asCodeActionContext:$n,asCodeActionContextSync:gr,asInlineValueContext:jn,asCommand:et,asCodeLens:zn,asFormattingOptions:vr,asDocumentSymbolParams:Vn,asCodeLensParams:yr,asDocumentLink:Bn,asDocumentLinkParams:Jn,asCallHierarchyItem:Cr,asTypeHierarchyItem:sn,asInlayHint:Qn,asWorkspaceSymbol:wr,asInlineCompletionParams:mr}}pi.createConverter=wu});var nc=F(hi=>{"use strict";Object.defineProperty(hi,"__esModule",{value:!0});hi.createConverter=void 0;var k=I("vscode"),E=L(),Me=Ee(),j=ui(),Du=$r(),Su=zr(),_u=Jr(),bu=Yr(),ec=es(),Tu=is(),ku=os(),Pu=ds(),Ru=ps(),tc=L(),fi;(function(s){function e(t){let n=t;return n&&Me.string(n.language)&&Me.string(n.value)}s.is=e})(fi||(fi={}));function xu(s,e,t){let i=s||(a=>k.Uri.parse(a));function r(a){return i(a)}function o(a){let m=[];for(let D of a)if(typeof D=="string")m.push(D);else if(tc.NotebookCellTextDocumentFilter.is(D))if(typeof D.notebook=="string")m.push({notebookType:D.notebook,language:D.language});else{let x=D.notebook.notebookType??"*";m.push({notebookType:x,scheme:D.notebook.scheme,pattern:D.notebook.pattern,language:D.language})}else tc.TextDocumentFilter.is(D)&&m.push({language:D.language,scheme:D.scheme,pattern:D.pattern});return m}async function c(a,m){return j.map(a,l,m)}function d(a){let m=new Array(a.length);for(let D=0;D<a.length;D++)m[D]=l(a[D]);return m}function l(a){let m=new ec.ProtocolDiagnostic(f(a.range),a.message,w(a.severity),a.data);if(a.code!==void 0){if(typeof a.code=="string"||typeof a.code=="number")E.CodeDescription.is(a.codeDescription)?m.code={value:a.code,target:r(a.codeDescription.href)}:m.code=a.code;else if(ec.DiagnosticCode.is(a.code)){m.hasDiagnosticCode=!0;let D=a.code;m.code={value:D.value,target:r(D.target)}}}return a.source&&(m.source=a.source),a.relatedInformation&&(m.relatedInformation=p(a.relatedInformation)),Array.isArray(a.tags)&&(m.tags=g(a.tags)),m}function p(a){let m=new Array(a.length);for(let D=0;D<a.length;D++){let x=a[D];m[D]=new k.DiagnosticRelatedInformation(Ze(x.location),x.message)}return m}function g(a){if(!a)return;let m=[];for(let D of a){let x=h(D);x!==void 0&&m.push(x)}return m.length>0?m:void 0}function h(a){switch(a){case E.DiagnosticTag.Unnecessary:return k.DiagnosticTag.Unnecessary;case E.DiagnosticTag.Deprecated:return k.DiagnosticTag.Deprecated;default:return}}function v(a){return a?new k.Position(a.line,a.character):void 0}function f(a){return a?new k.Range(a.start.line,a.start.character,a.end.line,a.end.character):void 0}async function y(a,m){return j.map(a,D=>new k.Range(D.start.line,D.start.character,D.end.line,D.end.character),m)}function w(a){if(a==null)return k.DiagnosticSeverity.Error;switch(a){case E.DiagnosticSeverity.Error:return k.DiagnosticSeverity.Error;case E.DiagnosticSeverity.Warning:return k.DiagnosticSeverity.Warning;case E.DiagnosticSeverity.Information:return k.DiagnosticSeverity.Information;case E.DiagnosticSeverity.Hint:return k.DiagnosticSeverity.Hint}return k.DiagnosticSeverity.Error}function b(a){if(Me.string(a))return P(a);if(fi.is(a))return P().appendCodeblock(a.value,a.language);if(Array.isArray(a)){let m=[];for(let D of a){let x=P();fi.is(D)?x.appendCodeblock(D.value,D.language):x.appendMarkdown(D),m.push(x)}return m}else return P(a)}function T(a){if(Me.string(a))return a;switch(a.kind){case E.MarkupKind.Markdown:return P(a.value);case E.MarkupKind.PlainText:return a.value;default:return`Unsupported Markup content received. Kind is: ${a.kind}`}}function P(a){let m;if(a===void 0||typeof a=="string")m=new k.MarkdownString(a);else switch(a.kind){case E.MarkupKind.Markdown:m=new k.MarkdownString(a.value);break;case E.MarkupKind.PlainText:m=new k.MarkdownString,m.appendText(a.value);break;default:m=new k.MarkdownString,m.appendText(`Unsupported Markup content received. Kind is: ${a.kind}`);break}return m.isTrusted=e,m.supportHtml=t,m}function q(a){if(a)return new k.Hover(b(a.contents),f(a.range))}async function ce(a,m,D){if(!a)return;if(Array.isArray(a))return j.map(a,Ve=>Xe(Ve,m),D);let x=a,{defaultRange:he,commitCharacters:ye}=V(x,m),Q=await j.map(x.items,Ve=>Xe(Ve,ye,he,x.itemDefaults?.insertTextMode,x.itemDefaults?.insertTextFormat,x.itemDefaults?.data),D);return new k.CompletionList(Q,x.isIncomplete)}function V(a,m){let D=a.itemDefaults?.editRange,x=a.itemDefaults?.commitCharacters??m;return E.Range.is(D)?{defaultRange:f(D),commitCharacters:x}:D!==void 0?{defaultRange:{inserting:f(D.insert),replacing:f(D.replace)},commitCharacters:x}:{defaultRange:void 0,commitCharacters:x}}function Z(a){return E.CompletionItemKind.Text<=a&&a<=E.CompletionItemKind.TypeParameter?[a-1,void 0]:[k.CompletionItemKind.Text,a]}function Ye(a){switch(a){case E.CompletionItemTag.Deprecated:return k.CompletionItemTag.Deprecated}}function ot(a){if(a==null)return[];let m=[];for(let D of a){let x=Ye(D);x!==void 0&&m.push(x)}return m}function Xe(a,m,D,x,he,ye){let Q=ot(a.tags),Ve=at(a),Y=new Du.default(Ve);a.detail&&(Y.detail=a.detail),a.documentation&&(Y.documentation=T(a.documentation),Y.documentationFormat=Me.string(a.documentation)?"$string":a.documentation.kind),a.filterText&&(Y.filterText=a.filterText);let Gn=Et(a,D,he);if(Gn&&(Y.insertText=Gn.text,Y.range=Gn.range,Y.fromEdit=Gn.fromEdit),Me.number(a.kind)){let[Md,xa]=Z(a.kind);Y.kind=Md,xa&&(Y.originalItemKind=xa)}a.sortText&&(Y.sortText=a.sortText),a.additionalTextEdits&&(Y.additionalTextEdits=Ue(a.additionalTextEdits));let Pa=a.commitCharacters!==void 0?Me.stringArray(a.commitCharacters)?a.commitCharacters:void 0:m;Pa&&(Y.commitCharacters=Pa.slice()),a.command&&(Y.command=Ne(a.command)),(a.deprecated===!0||a.deprecated===!1)&&(Y.deprecated=a.deprecated,a.deprecated===!0&&Q.push(k.CompletionItemTag.Deprecated)),(a.preselect===!0||a.preselect===!1)&&(Y.preselect=a.preselect);let Ra=a.data??ye;Ra!==void 0&&(Y.data=Ra),Q.length>0&&(Y.tags=Q);let _r=a.insertTextMode??x;return _r!==void 0&&(Y.insertTextMode=_r,_r===E.InsertTextMode.asIs&&(Y.keepWhitespace=!0)),Y}function at(a){return E.CompletionItemLabelDetails.is(a.labelDetails)?{label:a.label,detail:a.labelDetails.detail,description:a.labelDetails.description}:a.label}function Et(a,m,D){let x=a.insertTextFormat??D;if(a.textEdit!==void 0||m!==void 0){let[he,ye]=a.textEdit!==void 0?Mt(a.textEdit):[m,a.textEditText??a.label];return x===E.InsertTextFormat.Snippet?{text:new k.SnippetString(ye),range:he,fromEdit:!0}:{text:ye,range:he,fromEdit:!0}}else return a.insertText?x===E.InsertTextFormat.Snippet?{text:new k.SnippetString(a.insertText),fromEdit:!1}:{text:a.insertText,fromEdit:!1}:void 0}function Mt(a){return E.InsertReplaceEdit.is(a)?[{inserting:f(a.insert),replacing:f(a.replace)},a.newText]:[f(a.range),a.newText]}function ct(a){if(a)return new k.TextEdit(f(a.range),a.newText)}async function dt(a,m){if(a)return j.map(a,ct,m)}function Ue(a){if(!a)return;let m=new Array(a.length);for(let D=0;D<a.length;D++)m[D]=ct(a[D]);return m}async function cr(a,m){if(!a)return;let D=new k.SignatureHelp;return Me.number(a.activeSignature)?D.activeSignature=a.activeSignature:D.activeSignature=0,Me.number(a.activeParameter)?D.activeParameter=a.activeParameter:D.activeParameter=0,a.signatures&&(D.signatures=await Mn(a.signatures,m)),D}async function Mn(a,m){return j.mapAsync(a,pe,m)}async function pe(a,m){let D=new k.SignatureInformation(a.label);return a.documentation!==void 0&&(D.documentation=T(a.documentation)),a.parameters!==void 0&&(D.parameters=await On(a.parameters,m)),a.activeParameter!==void 0&&(D.activeParameter=a.activeParameter),D}function On(a,m){return j.map(a,ut,m)}function ut(a){let m=new k.ParameterInformation(a.label);return a.documentation&&(m.documentation=T(a.documentation)),m}function Ze(a){return a?new k.Location(i(a.uri),f(a.range)):void 0}async function dr(a,m){if(a)return Un(a,m)}async function An(a,m){if(a)return Un(a,m)}function Ln(a){if(!a)return;let m={targetUri:i(a.targetUri),targetRange:f(a.targetRange),originSelectionRange:f(a.originSelectionRange),targetSelectionRange:f(a.targetSelectionRange)};if(!m.targetSelectionRange)throw new Error("targetSelectionRange must not be undefined or null");return m}async function Un(a,m){if(a)if(Me.array(a)){if(a.length===0)return[];if(E.LocationLink.is(a[0])){let D=a;return j.map(D,Ln,m)}else{let D=a;return j.map(D,Ze,m)}}else return E.LocationLink.is(a)?[Ln(a)]:Ze(a)}async function ur(a,m){if(a)return j.map(a,Ze,m)}async function en(a,m){if(a)return j.map(a,Ot,m)}function Ot(a){let m=new k.DocumentHighlight(f(a.range));return Me.number(a.kind)&&(m.kind=At(a.kind)),m}function At(a){switch(a){case E.DocumentHighlightKind.Text:return k.DocumentHighlightKind.Text;case E.DocumentHighlightKind.Read:return k.DocumentHighlightKind.Read;case E.DocumentHighlightKind.Write:return k.DocumentHighlightKind.Write}return k.DocumentHighlightKind.Text}async function lr(a,m){if(a)return j.map(a,Kn,m)}function lt(a){return a<=E.SymbolKind.TypeParameter?a-1:k.SymbolKind.Property}function Nn(a){switch(a){case E.SymbolTag.Deprecated:return k.SymbolTag.Deprecated;default:return}}function Lt(a){if(a==null)return;let m=[];for(let D of a){let x=Nn(D);x!==void 0&&m.push(x)}return m.length===0?void 0:m}function Kn(a){let m=a.data,D=a.location,x=D.range===void 0||m!==void 0?new Pu.default(a.name,lt(a.kind),a.containerName??"",D.range===void 0?i(D.uri):new k.Location(i(a.location.uri),f(D.range)),m):new k.SymbolInformation(a.name,lt(a.kind),a.containerName??"",new k.Location(i(a.location.uri),f(D.range)));return nn(x,a),x}async function pr(a,m){if(a!=null)return j.map(a,tn,m)}function tn(a){let m=new k.DocumentSymbol(a.name,a.detail||"",lt(a.kind),f(a.range),f(a.selectionRange));if(nn(m,a),a.children!==void 0&&a.children.length>0){let D=[];for(let x of a.children)D.push(tn(x));m.children=D}return m}function nn(a,m){a.tags=Lt(m.tags),m.deprecated&&(a.tags?a.tags.includes(k.SymbolTag.Deprecated)||(a.tags=a.tags.concat(k.SymbolTag.Deprecated)):a.tags=[k.SymbolTag.Deprecated])}function Ne(a){let m={title:a.title,command:a.command};return a.arguments&&(m.arguments=a.arguments),m}async function Dt(a,m){if(a)return j.map(a,Ne,m)}let Ie=new Map;Ie.set(E.CodeActionKind.Empty,k.CodeActionKind.Empty),Ie.set(E.CodeActionKind.QuickFix,k.CodeActionKind.QuickFix),Ie.set(E.CodeActionKind.Refactor,k.CodeActionKind.Refactor),Ie.set(E.CodeActionKind.RefactorExtract,k.CodeActionKind.RefactorExtract),Ie.set(E.CodeActionKind.RefactorInline,k.CodeActionKind.RefactorInline),Ie.set(E.CodeActionKind.RefactorRewrite,k.CodeActionKind.RefactorRewrite),Ie.set(E.CodeActionKind.Source,k.CodeActionKind.Source),Ie.set(E.CodeActionKind.SourceOrganizeImports,k.CodeActionKind.SourceOrganizeImports);function pt(a){if(a==null)return;let m=Ie.get(a);if(m)return m;let D=a.split(".");m=k.CodeActionKind.Empty;for(let x of D)m=m.append(x);return m}function fr(a){if(a!=null)return a.map(m=>pt(m))}async function Hn(a,m){if(a==null)return;let D=new bu.default(a.title,a.data);return a.kind!==void 0&&(D.kind=pt(a.kind)),a.diagnostics!==void 0&&(D.diagnostics=d(a.diagnostics)),a.edit!==void 0&&(D.edit=await rn(a.edit,m)),a.command!==void 0&&(D.command=Ne(a.command)),a.isPreferred!==void 0&&(D.isPreferred=a.isPreferred),a.disabled!==void 0&&(D.disabled={reason:a.disabled.reason}),D}function hr(a,m){return j.mapAsync(a,async D=>E.Command.is(D)?Ne(D):Hn(D,m),m)}function $n(a){if(!a)return;let m=new Su.default(f(a.range));return a.command&&(m.command=Ne(a.command)),a.data!==void 0&&a.data!==null&&(m.data=a.data),m}async function gr(a,m){if(a)return j.map(a,$n,m)}async function rn(a,m){if(!a)return;let D=new Map;if(a.changeAnnotations!==void 0){let ye=a.changeAnnotations;await j.forEach(Object.keys(ye),Q=>{let Ve=Wn(ye[Q]);D.set(Q,Ve)},m)}let x=ye=>{if(ye!==void 0)return D.get(ye)},he=new k.WorkspaceEdit;if(a.documentChanges){let ye=a.documentChanges;await j.forEach(ye,Q=>{if(E.CreateFile.is(Q))he.createFile(i(Q.uri),Q.options,x(Q.annotationId));else if(E.RenameFile.is(Q))he.renameFile(i(Q.oldUri),i(Q.newUri),Q.options,x(Q.annotationId));else if(E.DeleteFile.is(Q))he.deleteFile(i(Q.uri),Q.options,x(Q.annotationId));else if(E.TextDocumentEdit.is(Q)){let Ve=i(Q.textDocument.uri);for(let Y of Q.edits)E.AnnotatedTextEdit.is(Y)?he.replace(Ve,f(Y.range),Y.newText,x(Y.annotationId)):he.replace(Ve,f(Y.range),Y.newText)}else throw new Error(`Unknown workspace edit change received:
|
|
6
|
+
${JSON.stringify(Q,void 0,4)}`)},m)}else if(a.changes){let ye=a.changes;await j.forEach(Object.keys(ye),Q=>{he.set(i(Q),Ue(ye[Q]))},m)}return he}function Wn(a){if(a!==void 0)return{label:a.label,needsConfirmation:!!a.needsConfirmation,description:a.description}}function jn(a){let m=f(a.range),D=a.target?r(a.target):void 0,x=new _u.default(m,D);return a.tooltip!==void 0&&(x.tooltip=a.tooltip),a.data!==void 0&&a.data!==null&&(x.data=a.data),x}async function mr(a,m){if(a)return j.map(a,jn,m)}function et(a){return new k.Color(a.red,a.green,a.blue,a.alpha)}function zn(a){return new k.ColorInformation(f(a.range),et(a.color))}async function vr(a,m){if(a)return j.map(a,zn,m)}function Vn(a){let m=new k.ColorPresentation(a.label);return m.additionalTextEdits=Ue(a.additionalTextEdits),a.textEdit&&(m.textEdit=ct(a.textEdit)),m}async function yr(a,m){if(a)return j.map(a,Vn,m)}function Bn(a){if(a)switch(a){case E.FoldingRangeKind.Comment:return k.FoldingRangeKind.Comment;case E.FoldingRangeKind.Imports:return k.FoldingRangeKind.Imports;case E.FoldingRangeKind.Region:return k.FoldingRangeKind.Region}}function Jn(a){return new k.FoldingRange(a.startLine,a.endLine,Bn(a.kind))}async function Cr(a,m){if(a)return j.map(a,Jn,m)}function sn(a){return new k.SelectionRange(f(a.range),a.parent?sn(a.parent):void 0)}async function wr(a,m){return Array.isArray(a)?j.map(a,sn,m):[]}function Qn(a){return E.InlineValueText.is(a)?new k.InlineValueText(f(a.range),a.text):E.InlineValueVariableLookup.is(a)?new k.InlineValueVariableLookup(f(a.range),a.variableName,a.caseSensitiveLookup):new k.InlineValueEvaluatableExpression(f(a.range),a.expression)}async function Dr(a,m){return Array.isArray(a)?j.map(a,Qn,m):[]}async function on(a,m){let D=typeof a.label=="string"?a.label:await j.map(a.label,u,m),x=new Ru.default(v(a.position),D);return a.kind!==void 0&&(x.kind=a.kind),a.textEdits!==void 0&&(x.textEdits=await dt(a.textEdits,m)),a.tooltip!==void 0&&(x.tooltip=C(a.tooltip)),a.paddingLeft!==void 0&&(x.paddingLeft=a.paddingLeft),a.paddingRight!==void 0&&(x.paddingRight=a.paddingRight),a.data!==void 0&&(x.data=a.data),x}function u(a){let m=new k.InlayHintLabelPart(a.value);return a.location!==void 0&&(m.location=Ze(a.location)),a.tooltip!==void 0&&(m.tooltip=C(a.tooltip)),a.command!==void 0&&(m.command=Ne(a.command)),m}function C(a){return typeof a=="string"?a:P(a)}async function R(a,m){if(Array.isArray(a))return j.mapAsync(a,on,m)}function B(a){if(a===null)return;let m=new Tu.default(lt(a.kind),a.name,a.detail||"",r(a.uri),f(a.range),f(a.selectionRange),a.data);return a.tags!==void 0&&(m.tags=Lt(a.tags)),m}async function G(a,m){if(a!==null)return j.map(a,B,m)}async function fe(a,m){return new k.CallHierarchyIncomingCall(B(a.from),await y(a.fromRanges,m))}async function ke(a,m){if(a!==null)return j.mapAsync(a,fe,m)}async function ze(a,m){return new k.CallHierarchyOutgoingCall(B(a.to),await y(a.fromRanges,m))}async function Td(a,m){if(a!==null)return j.mapAsync(a,ze,m)}async function kd(a,m){if(a!=null)return new k.SemanticTokens(new Uint32Array(a.data),a.resultId)}function Ta(a){return new k.SemanticTokensEdit(a.start,a.deleteCount,a.data!==void 0?new Uint32Array(a.data):void 0)}async function Pd(a,m){if(a!=null)return new k.SemanticTokensEdits(a.edits.map(Ta),a.resultId)}function Rd(a){return a}async function xd(a,m){if(a!=null)return new k.LinkedEditingRanges(await y(a.ranges,m),Fd(a.wordPattern))}function Fd(a){if(a!=null)return new RegExp(a)}function ka(a){if(a===null)return;let m=new ku.default(lt(a.kind),a.name,a.detail||"",r(a.uri),f(a.range),f(a.selectionRange),a.data);return a.tags!==void 0&&(m.tags=Lt(a.tags)),m}async function qd(a,m){if(a!==null)return j.map(a,ka,m)}function Id(a){if(Me.string(a))return a;if(E.RelativePattern.is(a)){if(E.URI.is(a.baseUri))return new k.RelativePattern(r(a.baseUri),a.pattern);if(E.WorkspaceFolder.is(a.baseUri)){let m=k.workspace.getWorkspaceFolder(r(a.baseUri.uri));return m!==void 0?new k.RelativePattern(m,a.pattern):void 0}}}async function Ed(a,m){if(!a)return;if(Array.isArray(a))return j.map(a,he=>Sr(he),m);let D=a,x=await j.map(D.items,he=>Sr(he),m);return new k.InlineCompletionList(x)}function Sr(a){let m;typeof a.insertText=="string"?m=a.insertText:m=new k.SnippetString(a.insertText.value);let D;a.command&&(D=Ne(a.command));let x=new k.InlineCompletionItem(m,f(a.range),D);return a.filterText&&(x.filterText=a.filterText),x}return{asUri:r,asDocumentSelector:o,asDiagnostics:c,asDiagnostic:l,asRange:f,asRanges:y,asPosition:v,asDiagnosticSeverity:w,asDiagnosticTag:h,asHover:q,asCompletionResult:ce,asCompletionItem:Xe,asTextEdit:ct,asTextEdits:dt,asSignatureHelp:cr,asSignatureInformations:Mn,asSignatureInformation:pe,asParameterInformations:On,asParameterInformation:ut,asDeclarationResult:dr,asDefinitionResult:An,asLocation:Ze,asReferences:ur,asDocumentHighlights:en,asDocumentHighlight:Ot,asDocumentHighlightKind:At,asSymbolKind:lt,asSymbolTag:Nn,asSymbolTags:Lt,asSymbolInformations:lr,asSymbolInformation:Kn,asDocumentSymbols:pr,asDocumentSymbol:tn,asCommand:Ne,asCommands:Dt,asCodeAction:Hn,asCodeActionKind:pt,asCodeActionKinds:fr,asCodeActionResult:hr,asCodeLens:$n,asCodeLenses:gr,asWorkspaceEdit:rn,asDocumentLink:jn,asDocumentLinks:mr,asFoldingRangeKind:Bn,asFoldingRange:Jn,asFoldingRanges:Cr,asColor:et,asColorInformation:zn,asColorInformations:vr,asColorPresentation:Vn,asColorPresentations:yr,asSelectionRange:sn,asSelectionRanges:wr,asInlineValue:Qn,asInlineValues:Dr,asInlayHint:on,asInlayHints:R,asSemanticTokensLegend:Rd,asSemanticTokens:kd,asSemanticTokensEdit:Ta,asSemanticTokensEdits:Pd,asCallHierarchyItem:B,asCallHierarchyItems:G,asCallHierarchyIncomingCall:fe,asCallHierarchyIncomingCalls:ke,asCallHierarchyOutgoingCall:ze,asCallHierarchyOutgoingCalls:Td,asLinkedEditingRanges:xd,asTypeHierarchyItem:ka,asTypeHierarchyItems:qd,asGlobPattern:Id,asInlineCompletionResult:Ed,asInlineCompletionItem:Sr}}hi.createConverter=xu});var te=F(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.generateUuid=Oe.parse=Oe.isUUID=Oe.v4=Oe.empty=void 0;var pn=class{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}},fn=class s extends pn{static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return s._oneOf(s._chars)}constructor(){super([s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),"-",s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),"-","4",s._randomHex(),s._randomHex(),s._randomHex(),"-",s._oneOf(s._timeHighBits),s._randomHex(),s._randomHex(),s._randomHex(),"-",s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex()].join(""))}};fn._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"];fn._timeHighBits=["8","9","a","b"];Oe.empty=new pn("00000000-0000-0000-0000-000000000000");function ic(){return new fn}Oe.v4=ic;var Fu=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function rc(s){return Fu.test(s)}Oe.isUUID=rc;function qu(s){if(!rc(s))throw new Error("invalid uuid");return new pn(s)}Oe.parse=qu;function Iu(){return ic().asHex()}Oe.generateUuid=Iu});var gs=F(gi=>{"use strict";Object.defineProperty(gi,"__esModule",{value:!0});gi.ProgressPart=void 0;var sc=I("vscode"),oc=L(),ac=Ee(),hs=class{constructor(e,t,n){this._client=e,this._token=t,this._reported=0,this._infinite=!1,this._lspProgressDisposable=this._client.onProgress(oc.WorkDoneProgress.type,this._token,i=>{switch(i.kind){case"begin":this.begin(i);break;case"report":this.report(i);break;case"end":this.done(),n&&n(this);break}})}begin(e){this._infinite=e.percentage===void 0,this._lspProgressDisposable!==void 0&&sc.window.withProgress({location:sc.ProgressLocation.Window,cancellable:e.cancellable,title:e.title},async(t,n)=>{if(this._lspProgressDisposable!==void 0)return this._progress=t,this._cancellationToken=n,this._tokenDisposable=this._cancellationToken.onCancellationRequested(()=>{this._client.sendNotification(oc.WorkDoneProgressCancelNotification.type,{token:this._token})}),this.report(e),new Promise((i,r)=>{this._resolve=i,this._reject=r})})}report(e){if(this._infinite&&ac.string(e.message))this._progress!==void 0&&this._progress.report({message:e.message});else if(ac.number(e.percentage)){let t=Math.max(0,Math.min(e.percentage,100)),n=Math.max(0,t-this._reported);this._reported+=n,this._progress!==void 0&&this._progress.report({message:e.message,increment:n})}}cancel(){this.cleanup(),this._reject!==void 0&&(this._reject(),this._resolve=void 0,this._reject=void 0)}done(){this.cleanup(),this._resolve!==void 0&&(this._resolve(),this._resolve=void 0,this._reject=void 0)}cleanup(){this._lspProgressDisposable!==void 0&&(this._lspProgressDisposable.dispose(),this._lspProgressDisposable=void 0),this._tokenDisposable!==void 0&&(this._tokenDisposable.dispose(),this._tokenDisposable=void 0),this._progress=void 0,this._cancellationToken=void 0}};gi.ProgressPart=hs});var W=F(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.WorkspaceFeature=ge.TextDocumentLanguageFeature=ge.TextDocumentEventFeature=ge.DynamicDocumentFeature=ge.DynamicFeature=ge.StaticFeature=ge.ensure=ge.LSPCancellationError=void 0;var Tt=I("vscode"),ms=L(),Se=Ee(),cc=te(),vs=class extends Tt.CancellationError{constructor(e){super(),this.data=e}};ge.LSPCancellationError=vs;function Eu(s,e){return s[e]===void 0&&(s[e]={}),s[e]}ge.ensure=Eu;var dc;(function(s){function e(t){let n=t;return n!=null&&Se.func(n.fillClientCapabilities)&&Se.func(n.initialize)&&Se.func(n.getState)&&Se.func(n.clear)&&(n.fillInitializeParams===void 0||Se.func(n.fillInitializeParams))}s.is=e})(dc||(ge.StaticFeature=dc={}));var uc;(function(s){function e(t){let n=t;return n!=null&&Se.func(n.fillClientCapabilities)&&Se.func(n.initialize)&&Se.func(n.getState)&&Se.func(n.clear)&&(n.fillInitializeParams===void 0||Se.func(n.fillInitializeParams))&&Se.func(n.register)&&Se.func(n.unregister)&&n.registrationType!==void 0}s.is=e})(uc||(ge.DynamicFeature=uc={}));var hn=class{constructor(e){this._client=e}getState(){let e=this.getDocumentSelectors(),t=0;for(let i of e){t++;for(let r of Tt.workspace.textDocuments)if(Tt.languages.match(i,r)>0)return{kind:"document",id:this.registrationType.method,registrations:!0,matches:!0}}let n=t>0;return{kind:"document",id:this.registrationType.method,registrations:n,matches:!1}}};ge.DynamicDocumentFeature=hn;var ys=class extends hn{static textDocumentFilter(e,t){for(let n of e)if(Tt.languages.match(n,t)>0)return!0;return!1}constructor(e,t,n,i,r,o,c){super(e),this._event=t,this._type=n,this._middleware=i,this._createParams=r,this._textDocument=o,this._selectorFilter=c,this._selectors=new Map,this._onNotificationSent=new Tt.EventEmitter}getStateInfo(){return[this._selectors.values(),!1]}getDocumentSelectors(){return this._selectors.values()}register(e){e.registerOptions.documentSelector&&(this._listener||(this._listener=this._event(t=>{this.callback(t).catch(n=>{this._client.error(`Sending document notification ${this._type.method} failed.`,n)})})),this._selectors.set(e.id,this._client.protocol2CodeConverter.asDocumentSelector(e.registerOptions.documentSelector)))}async callback(e){let t=async n=>{let i=this._createParams(n);await this._client.sendNotification(this._type,i),this.notificationSent(this.getTextDocument(n),this._type,i)};if(this.matches(e)){let n=this._middleware();return n?n(e,i=>t(i)):t(e)}}matches(e){return this._client.hasDedicatedTextSynchronizationFeature(this._textDocument(e))?!1:!this._selectorFilter||this._selectorFilter(this._selectors.values(),e)}get onNotificationSent(){return this._onNotificationSent.event}notificationSent(e,t,n){this._onNotificationSent.fire({textDocument:e,type:t,params:n})}unregister(e){this._selectors.delete(e),this._selectors.size===0&&this._listener&&(this._listener.dispose(),this._listener=void 0)}clear(){this._selectors.clear(),this._onNotificationSent.dispose(),this._listener&&(this._listener.dispose(),this._listener=void 0)}getProvider(e){for(let t of this._selectors.values())if(Tt.languages.match(t,e)>0)return{send:n=>this.callback(n)}}};ge.TextDocumentEventFeature=ys;var Cs=class extends hn{constructor(e,t){super(e),this._registrationType=t,this._registrations=new Map}*getDocumentSelectors(){for(let e of this._registrations.values()){let t=e.data.registerOptions.documentSelector;t!==null&&(yield this._client.protocol2CodeConverter.asDocumentSelector(t))}}get registrationType(){return this._registrationType}register(e){if(!e.registerOptions.documentSelector)return;let t=this.registerLanguageProvider(e.registerOptions,e.id);this._registrations.set(e.id,{disposable:t[0],data:e,provider:t[1]})}unregister(e){let t=this._registrations.get(e);t!==void 0&&t.disposable.dispose()}clear(){this._registrations.forEach(e=>{e.disposable.dispose()}),this._registrations.clear()}getRegistration(e,t){if(t){if(ms.TextDocumentRegistrationOptions.is(t)){let n=ms.StaticRegistrationOptions.hasId(t)?t.id:cc.generateUuid(),i=t.documentSelector??e;if(i)return[n,Object.assign({},t,{documentSelector:i})]}else if(Se.boolean(t)&&t===!0||ms.WorkDoneProgressOptions.is(t)){if(!e)return[void 0,void 0];let n=Se.boolean(t)&&t===!0?{documentSelector:e}:Object.assign({},t,{documentSelector:e});return[cc.generateUuid(),n]}}else return[void 0,void 0];return[void 0,void 0]}getRegistrationOptions(e,t){if(!(!e||!t))return Se.boolean(t)&&t===!0?{documentSelector:e}:Object.assign({},t,{documentSelector:e})}getProvider(e){for(let t of this._registrations.values()){let n=t.data.registerOptions.documentSelector;if(n!==null&&Tt.languages.match(this._client.protocol2CodeConverter.asDocumentSelector(n),e)>0)return t.provider}}getAllProviders(){let e=[];for(let t of this._registrations.values())e.push(t.provider);return e}};ge.TextDocumentLanguageFeature=Cs;var ws=class{constructor(e,t){this._client=e,this._registrationType=t,this._registrations=new Map}getState(){let e=this._registrations.size>0;return{kind:"workspace",id:this._registrationType.method,registrations:e}}get registrationType(){return this._registrationType}register(e){let t=this.registerLanguageProvider(e.registerOptions);this._registrations.set(e.id,{disposable:t[0],provider:t[1]})}unregister(e){let t=this._registrations.get(e);t!==void 0&&t.disposable.dispose()}clear(){this._registrations.forEach(e=>{e.disposable.dispose()}),this._registrations.clear()}getProviders(){let e=[];for(let t of this._registrations.values())e.push(t.provider);return e}};ge.WorkspaceFeature=ws});var Rs=F(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.DiagnosticFeature=gt.DiagnosticPullMode=gt.vsdiag=void 0;var Mu=kr(),K=I("vscode"),ae=L(),Ou=te(),Ds=W();function mi(s,e){return s[e]===void 0&&(s[e]={}),s[e]}var Ae;(function(s){let e;(function(t){t.full="full",t.unChanged="unChanged"})(e=s.DocumentDiagnosticReportKind||(s.DocumentDiagnosticReportKind={}))})(Ae||(gt.vsdiag=Ae={}));var vi;(function(s){s.onType="onType",s.onSave="onSave"})(vi||(gt.DiagnosticPullMode=vi={}));var we;(function(s){s.active="open",s.reschedule="reschedule",s.outDated="drop"})(we||(we={}));var Ss=class s{constructor(){this.open=new Set,this._onOpen=new K.EventEmitter,this._onClose=new K.EventEmitter,s.fillTabResources(this.open);let e=t=>{if(t.closed.length===0&&t.opened.length===0)return;let n=this.open,i=new Set;s.fillTabResources(i);let r=new Set,o=new Set(i);for(let c of n.values())i.has(c)?o.delete(c):r.add(c);if(this.open=i,r.size>0){let c=new Set;for(let d of r)c.add(K.Uri.parse(d));this._onClose.fire(c)}if(o.size>0){let c=new Set;for(let d of o)c.add(K.Uri.parse(d));this._onOpen.fire(c)}};K.window.tabGroups.onDidChangeTabs!==void 0?this.disposable=K.window.tabGroups.onDidChangeTabs(e):this.disposable={dispose:()=>{}}}get onClose(){return this._onClose.event}get onOpen(){return this._onOpen.event}dispose(){this.disposable.dispose()}isActive(e){return e instanceof K.Uri?K.window.activeTextEditor?.document.uri===e:K.window.activeTextEditor?.document===e}isVisible(e){let t=e instanceof K.Uri?e:e.uri;return this.open.has(t.toString())}getTabResources(){let e=new Set;return s.fillTabResources(new Set,e),e}static fillTabResources(e,t){let n=e??new Set;for(let i of K.window.tabGroups.all)for(let r of i.tabs){let o=r.input,c;o instanceof K.TabInputText?c=o.uri:o instanceof K.TabInputTextDiff?c=o.modified:o instanceof K.TabInputCustom&&(c=o.uri),c!==void 0&&!n.has(c.toString())&&(n.add(c.toString()),t!==void 0&&t.add(c))}}},le;(function(s){s[s.document=1]="document",s[s.workspace=2]="workspace"})(le||(le={}));var tt;(function(s){function e(t){return t instanceof K.Uri?t.toString():t.uri.toString()}s.asKey=e})(tt||(tt={}));var _s=class{constructor(){this.documentPullStates=new Map,this.workspacePullStates=new Map}track(e,t,n){let i=e===le.document?this.documentPullStates:this.workspacePullStates,[r,o,c]=t instanceof K.Uri?[t.toString(),t,n]:[t.uri.toString(),t.uri,t.version],d=i.get(r);return d===void 0&&(d={document:o,pulledVersion:c,resultId:void 0},i.set(r,d)),d}update(e,t,n,i){let r=e===le.document?this.documentPullStates:this.workspacePullStates,[o,c,d,l]=t instanceof K.Uri?[t.toString(),t,n,i]:[t.uri.toString(),t.uri,t.version,n],p=r.get(o);p===void 0?(p={document:c,pulledVersion:d,resultId:l},r.set(o,p)):(p.pulledVersion=d,p.resultId=l)}unTrack(e,t){let n=tt.asKey(t);(e===le.document?this.documentPullStates:this.workspacePullStates).delete(n)}tracks(e,t){let n=tt.asKey(t);return(e===le.document?this.documentPullStates:this.workspacePullStates).has(n)}getResultId(e,t){let n=tt.asKey(t);return(e===le.document?this.documentPullStates:this.workspacePullStates).get(n)?.resultId}getAllResultIds(){let e=[];for(let[t,n]of this.workspacePullStates)this.documentPullStates.has(t)&&(n=this.documentPullStates.get(t)),n.resultId!==void 0&&e.push({uri:t,value:n.resultId});return e}},bs=class{constructor(e,t,n){this.client=e,this.tabs=t,this.options=n,this.isDisposed=!1,this.onDidChangeDiagnosticsEmitter=new K.EventEmitter,this.provider=this.createProvider(),this.diagnostics=K.languages.createDiagnosticCollection(n.identifier),this.openRequests=new Map,this.documentStates=new _s,this.workspaceErrorCounter=0}knows(e,t){let n=t instanceof K.Uri?t:t.uri;return this.documentStates.tracks(e,t)||this.openRequests.has(n.toString())}forget(e,t){this.documentStates.unTrack(e,t)}pull(e,t){if(this.isDisposed)return;let n=e instanceof K.Uri?e:e.uri;this.pullAsync(e).then(()=>{t&&t()},i=>{this.client.error(`Document pull failed for text document ${n.toString()}`,i,!1)})}async pullAsync(e,t){if(this.isDisposed)return;let n=e instanceof K.Uri,i=n?e:e.uri,r=i.toString();t=n?t:e.version;let o=this.openRequests.get(r),c=n?this.documentStates.track(le.document,e,t):this.documentStates.track(le.document,e);if(o===void 0){let d=new K.CancellationTokenSource;this.openRequests.set(r,{state:we.active,document:e,version:t,tokenSource:d});let l,p;try{l=await this.provider.provideDiagnostics(e,c.resultId,d.token)??{kind:Ae.DocumentDiagnosticReportKind.full,items:[]}}catch(g){if(g instanceof Ds.LSPCancellationError&&ae.DiagnosticServerCancellationData.is(g.data)&&g.data.retriggerRequest===!1&&(p={state:we.outDated,document:e}),p===void 0&&g instanceof K.CancellationError)p={state:we.reschedule,document:e};else throw g}if(p=p??this.openRequests.get(r),p===void 0){this.client.error(`Lost request state in diagnostic pull model. Clearing diagnostics for ${r}`),this.diagnostics.delete(i);return}if(this.openRequests.delete(r),!this.tabs.isVisible(e)){this.documentStates.unTrack(le.document,e);return}if(p.state===we.outDated)return;l!==void 0&&(l.kind===Ae.DocumentDiagnosticReportKind.full&&this.diagnostics.set(i,l.items),c.pulledVersion=t,c.resultId=l.resultId),p.state===we.reschedule&&this.pull(e)}else o.state===we.active?(o.tokenSource.cancel(),this.openRequests.set(r,{state:we.reschedule,document:o.document})):o.state===we.outDated&&this.openRequests.set(r,{state:we.reschedule,document:o.document})}forgetDocument(e){let t=e instanceof K.Uri?e:e.uri,n=t.toString(),i=this.openRequests.get(n);this.options.workspaceDiagnostics?i!==void 0?this.openRequests.set(n,{state:we.reschedule,document:e}):this.pull(e,()=>{this.forget(le.document,e)}):(i!==void 0&&(i.state===we.active&&i.tokenSource.cancel(),this.openRequests.set(n,{state:we.outDated,document:e})),this.diagnostics.delete(t),this.forget(le.document,e))}pullWorkspace(){this.isDisposed||this.pullWorkspaceAsync().then(()=>{this.workspaceTimeout=(0,ae.RAL)().timer.setTimeout(()=>{this.pullWorkspace()},2e3)},e=>{!(e instanceof Ds.LSPCancellationError)&&!ae.DiagnosticServerCancellationData.is(e.data)&&(this.client.error("Workspace diagnostic pull failed.",e,!1),this.workspaceErrorCounter++),this.workspaceErrorCounter<=5&&(this.workspaceTimeout=(0,ae.RAL)().timer.setTimeout(()=>{this.pullWorkspace()},2e3))})}async pullWorkspaceAsync(){if(!this.provider.provideWorkspaceDiagnostics||this.isDisposed)return;this.workspaceCancellation!==void 0&&(this.workspaceCancellation.cancel(),this.workspaceCancellation=void 0),this.workspaceCancellation=new K.CancellationTokenSource;let e=this.documentStates.getAllResultIds().map(t=>({uri:this.client.protocol2CodeConverter.asUri(t.uri),value:t.value}));await this.provider.provideWorkspaceDiagnostics(e,this.workspaceCancellation.token,t=>{if(!(!t||this.isDisposed))for(let n of t.items)n.kind===Ae.DocumentDiagnosticReportKind.full&&(this.documentStates.tracks(le.document,n.uri)||this.diagnostics.set(n.uri,n.items)),this.documentStates.update(le.workspace,n.uri,n.version??void 0,n.resultId)})}createProvider(){let e={onDidChangeDiagnostics:this.onDidChangeDiagnosticsEmitter.event,provideDiagnostics:(t,n,i)=>{let r=(c,d,l)=>{let p={identifier:this.options.identifier,textDocument:{uri:this.client.code2ProtocolConverter.asUri(c instanceof K.Uri?c:c.uri)},previousResultId:d};return this.isDisposed===!0||!this.client.isRunning()?{kind:Ae.DocumentDiagnosticReportKind.full,items:[]}:this.client.sendRequest(ae.DocumentDiagnosticRequest.type,p,l).then(async g=>g==null||this.isDisposed||l.isCancellationRequested?{kind:Ae.DocumentDiagnosticReportKind.full,items:[]}:g.kind===ae.DocumentDiagnosticReportKind.Full?{kind:Ae.DocumentDiagnosticReportKind.full,resultId:g.resultId,items:await this.client.protocol2CodeConverter.asDiagnostics(g.items,l)}:{kind:Ae.DocumentDiagnosticReportKind.unChanged,resultId:g.resultId},g=>this.client.handleFailedRequest(ae.DocumentDiagnosticRequest.type,l,g,{kind:Ae.DocumentDiagnosticReportKind.full,items:[]}))},o=this.client.middleware;return o.provideDiagnostics?o.provideDiagnostics(t,n,i,r):r(t,n,i)}};return this.options.workspaceDiagnostics&&(e.provideWorkspaceDiagnostics=(t,n,i)=>{let r=async l=>l.kind===ae.DocumentDiagnosticReportKind.Full?{kind:Ae.DocumentDiagnosticReportKind.full,uri:this.client.protocol2CodeConverter.asUri(l.uri),resultId:l.resultId,version:l.version,items:await this.client.protocol2CodeConverter.asDiagnostics(l.items,n)}:{kind:Ae.DocumentDiagnosticReportKind.unChanged,uri:this.client.protocol2CodeConverter.asUri(l.uri),resultId:l.resultId,version:l.version},o=l=>{let p=[];for(let g of l)p.push({uri:this.client.code2ProtocolConverter.asUri(g.uri),value:g.value});return p},c=(l,p)=>{let g=(0,Ou.generateUuid)(),h=this.client.onProgress(ae.WorkspaceDiagnosticRequest.partialResult,g,async f=>{if(f==null){i(null);return}let y={items:[]};for(let w of f.items)try{y.items.push(await r(w))}catch(b){this.client.error("Converting workspace diagnostics failed.",b)}i(y)}),v={identifier:this.options.identifier,previousResultIds:o(l),partialResultToken:g};return this.isDisposed===!0||!this.client.isRunning()?{items:[]}:this.client.sendRequest(ae.WorkspaceDiagnosticRequest.type,v,p).then(async f=>{if(p.isCancellationRequested)return{items:[]};let y={items:[]};for(let w of f.items)y.items.push(await r(w));return h.dispose(),i(y),{items:[]}},f=>(h.dispose(),this.client.handleFailedRequest(ae.DocumentDiagnosticRequest.type,p,f,{items:[]})))},d=this.client.middleware;return d.provideWorkspaceDiagnostics?d.provideWorkspaceDiagnostics(t,n,i,c):c(t,n,i)}),e}dispose(){this.isDisposed=!0,this.workspaceCancellation?.cancel(),this.workspaceTimeout?.dispose();for(let[e,t]of this.openRequests)t.state===we.active&&t.tokenSource.cancel(),this.openRequests.set(e,{state:we.outDated,document:t.document});this.diagnostics.dispose()}},Ts=class{constructor(e){this.diagnosticRequestor=e,this.documents=new ae.LinkedMap,this.isDisposed=!1}add(e){if(this.isDisposed===!0)return;let t=tt.asKey(e);this.documents.has(t)||(this.documents.set(t,e,ae.Touch.Last),this.trigger())}remove(e){let t=tt.asKey(e);this.documents.delete(t),this.documents.size===0?this.stop():t===this.endDocumentKey()&&(this.endDocument=this.documents.last)}trigger(){if(this.isDisposed!==!0){if(this.intervalHandle!==void 0){this.endDocument=this.documents.last;return}this.endDocument=this.documents.last,this.intervalHandle=(0,ae.RAL)().timer.setInterval(()=>{let e=this.documents.first;if(e!==void 0){let t=tt.asKey(e);this.diagnosticRequestor.pull(e),this.documents.set(t,e,ae.Touch.Last),t===this.endDocumentKey()&&this.stop()}},200)}}dispose(){this.isDisposed=!0,this.stop(),this.documents.clear()}stop(){this.intervalHandle?.dispose(),this.intervalHandle=void 0,this.endDocument=void 0}endDocumentKey(){return this.endDocument!==void 0?tt.asKey(this.endDocument):void 0}},ks=class{constructor(e,t,n){let i=e.clientOptions.diagnosticPullOptions??{onChange:!0,onSave:!1},r=e.protocol2CodeConverter.asDocumentSelector(n.documentSelector),o=[],c=f=>{let y=n.documentSelector;if(i.match!==void 0)return i.match(y,f);for(let w of y)if(ae.TextDocumentFilter.is(w)){if(typeof w=="string"||w.language!==void 0&&w.language!=="*"||w.scheme!==void 0&&w.scheme!=="*"&&w.scheme!==f.scheme)return!1;if(w.pattern!==void 0){let b=new Mu.Minimatch(w.pattern,{noext:!0});if(!b.makeRe()||!b.match(f.fsPath))return!1}}return!0},d=f=>f instanceof K.Uri?c(f):K.languages.match(r,f)>0&&t.isVisible(f),l=f=>f instanceof K.Uri?this.activeTextDocument?.uri.toString()===f.toString():this.activeTextDocument===f;this.diagnosticRequestor=new bs(e,t,n),this.backgroundScheduler=new Ts(this.diagnosticRequestor);let p=f=>{!d(f)||!n.interFileDependencies||l(f)||this.backgroundScheduler.add(f)};this.activeTextDocument=K.window.activeTextEditor?.document,K.window.onDidChangeActiveTextEditor(f=>{let y=this.activeTextDocument;this.activeTextDocument=f?.document,y!==void 0&&p(y),this.activeTextDocument!==void 0&&this.backgroundScheduler.remove(this.activeTextDocument)});let g=e.getFeature(ae.DidOpenTextDocumentNotification.method);o.push(g.onNotificationSent(f=>{let y=f.textDocument;this.diagnosticRequestor.knows(le.document,y)||d(y)&&this.diagnosticRequestor.pull(y,()=>{p(y)})})),o.push(t.onOpen(f=>{for(let y of f){if(this.diagnosticRequestor.knows(le.document,y))continue;let w=y.toString(),b;for(let T of K.workspace.textDocuments)if(w===T.uri.toString()){b=T;break}b!==void 0&&d(b)&&this.diagnosticRequestor.pull(b,()=>{p(b)})}}));let h=new Set;for(let f of K.workspace.textDocuments)d(f)&&(this.diagnosticRequestor.pull(f,()=>{p(f)}),h.add(f.uri.toString()));if(i.onTabs===!0)for(let f of t.getTabResources())!h.has(f.toString())&&d(f)&&this.diagnosticRequestor.pull(f,()=>{p(f)});if(i.onChange===!0){let f=e.getFeature(ae.DidChangeTextDocumentNotification.method);o.push(f.onNotificationSent(async y=>{let w=y.textDocument;(i.filter===void 0||!i.filter(w,vi.onType))&&this.diagnosticRequestor.knows(le.document,w)&&this.diagnosticRequestor.pull(w,()=>{this.backgroundScheduler.trigger()})}))}if(i.onSave===!0){let f=e.getFeature(ae.DidSaveTextDocumentNotification.method);o.push(f.onNotificationSent(y=>{let w=y.textDocument;(i.filter===void 0||!i.filter(w,vi.onSave))&&this.diagnosticRequestor.knows(le.document,w)&&this.diagnosticRequestor.pull(y.textDocument,()=>{this.backgroundScheduler.trigger()})}))}let v=e.getFeature(ae.DidCloseTextDocumentNotification.method);o.push(v.onNotificationSent(f=>{this.cleanUpDocument(f.textDocument)})),t.onClose(f=>{for(let y of f)this.cleanUpDocument(y)}),this.diagnosticRequestor.onDidChangeDiagnosticsEmitter.event(()=>{for(let f of K.workspace.textDocuments)d(f)&&this.diagnosticRequestor.pull(f)}),n.workspaceDiagnostics===!0&&n.identifier!=="da348dc5-c30a-4515-9d98-31ff3be38d14"&&this.diagnosticRequestor.pullWorkspace(),this.disposable=K.Disposable.from(...o,this.backgroundScheduler,this.diagnosticRequestor)}get onDidChangeDiagnosticsEmitter(){return this.diagnosticRequestor.onDidChangeDiagnosticsEmitter}get diagnostics(){return this.diagnosticRequestor.provider}cleanUpDocument(e){this.diagnosticRequestor.knows(le.document,e)&&(this.diagnosticRequestor.forgetDocument(e),this.backgroundScheduler.remove(e))}},Ps=class extends Ds.TextDocumentLanguageFeature{constructor(e){super(e,ae.DocumentDiagnosticRequest.type)}fillClientCapabilities(e){let t=mi(mi(e,"textDocument"),"diagnostic");t.dynamicRegistration=!0,t.relatedDocumentSupport=!1,mi(mi(e,"workspace"),"diagnostics").refreshSupport=!0}initialize(e,t){this._client.onRequest(ae.DiagnosticRefreshRequest.type,async()=>{for(let o of this.getAllProviders())o.onDidChangeDiagnosticsEmitter.fire()});let[i,r]=this.getRegistration(t,e.diagnosticProvider);!i||!r||this.register({id:i,registerOptions:r})}clear(){this.tabs!==void 0&&(this.tabs.dispose(),this.tabs=void 0),super.clear()}registerLanguageProvider(e){this.tabs===void 0&&(this.tabs=new Ss);let t=new ks(this._client,this.tabs,e);return[t.disposable,t]}};gt.DiagnosticFeature=Ps});var fc=F(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.NotebookDocumentSyncFeature=void 0;var De=I("vscode"),Au=kr(),nt=L(),Lu=te(),lc=Ee();function pc(s,e){return s[e]===void 0&&(s[e]={}),s[e]}var Wt;(function(s){let e;(function(t){function n(h,v){return{version:h.version,uri:v.asUri(h.uri)}}t.asVersionedNotebookDocumentIdentifier=n;function i(h,v,f){let y=nt.NotebookDocument.create(f.asUri(h.uri),h.notebookType,h.version,r(v,f));return Object.keys(h.metadata).length>0&&(y.metadata=o(h.metadata)),y}t.asNotebookDocument=i;function r(h,v){return h.map(f=>c(f,v))}t.asNotebookCells=r;function o(h){return l(new Set,h)}t.asMetadata=o;function c(h,v){let f=nt.NotebookCell.create(d(h.kind),v.asUri(h.document.uri));return Object.keys(h.metadata).length>0&&(f.metadata=o(h.metadata)),h.executionSummary!==void 0&&lc.number(h.executionSummary.executionOrder)&&lc.boolean(h.executionSummary.success)&&(f.executionSummary={executionOrder:h.executionSummary.executionOrder,success:h.executionSummary.success}),f}t.asNotebookCell=c;function d(h){switch(h){case De.NotebookCellKind.Markup:return nt.NotebookCellKind.Markup;case De.NotebookCellKind.Code:return nt.NotebookCellKind.Code}}function l(h,v){if(h.has(v))throw new Error("Can't deep copy cyclic structures.");if(Array.isArray(v)){let f=[];for(let y of v)if(y!==null&&typeof y=="object"||Array.isArray(y))f.push(l(h,y));else{if(y instanceof RegExp)throw new Error("Can't transfer regular expressions to the server");f.push(y)}return f}else{let f=Object.keys(v),y=Object.create(null);for(let w of f){let b=v[w];if(b!==null&&typeof b=="object"||Array.isArray(b))y[w]=l(h,b);else{if(b instanceof RegExp)throw new Error("Can't transfer regular expressions to the server");y[w]=b}}return y}}function p(h,v){let f=v.asChangeTextDocumentParams(h,h.document.uri,h.document.version);return{document:f.textDocument,changes:f.contentChanges}}t.asTextContentChange=p;function g(h,v){let f=Object.create(null);if(h.metadata&&(f.metadata=s.c2p.asMetadata(h.metadata)),h.cells!==void 0){let y=Object.create(null),w=h.cells;w.structure&&(y.structure={array:{start:w.structure.array.start,deleteCount:w.structure.array.deleteCount,cells:w.structure.array.cells!==void 0?w.structure.array.cells.map(b=>s.c2p.asNotebookCell(b,v)):void 0},didOpen:w.structure.didOpen!==void 0?w.structure.didOpen.map(b=>v.asOpenTextDocumentParams(b.document).textDocument):void 0,didClose:w.structure.didClose!==void 0?w.structure.didClose.map(b=>v.asCloseTextDocumentParams(b.document).textDocument):void 0}),w.data!==void 0&&(y.data=w.data.map(b=>s.c2p.asNotebookCell(b,v))),w.textContent!==void 0&&(y.textContent=w.textContent.map(b=>s.c2p.asTextContentChange(b,v))),Object.keys(y).length>0&&(f.cells=y)}return f}t.asNotebookDocumentChangeEvent=g})(e=s.c2p||(s.c2p={}))})(Wt||(Wt={}));var xs;(function(s){function e(c,d,l){let p=c.length,g=d.length,h=0;for(;h<g&&h<p&&t(c[h],d[h],l);)h++;if(h<g&&h<p){let v=p-1,f=g-1;for(;v>=0&&f>=0&&t(c[v],d[f],l);)v--,f--;let y=v+1-h,w=h===f+1?void 0:d.slice(h,f+1);return w!==void 0?{start:h,deleteCount:y,cells:w}:{start:h,deleteCount:y}}else return h<g?{start:h,deleteCount:0,cells:d.slice(h)}:h<p?{start:h,deleteCount:p-h}:void 0}s.computeDiff=e;function t(c,d,l=!0){return c.kind!==d.kind||c.document.uri.toString()!==d.document.uri.toString()||c.document.languageId!==d.document.languageId||!n(c.executionSummary,d.executionSummary)?!1:!l||l&&r(c.metadata,d.metadata)}function n(c,d){return c===d?!0:c===void 0||d===void 0?!1:c.executionOrder===d.executionOrder&&c.success===d.success&&i(c.timing,d.timing)}function i(c,d){return c===d?!0:c===void 0||d===void 0?!1:c.startTime===d.startTime&&c.endTime===d.endTime}function r(c,d){if(c===d)return!0;if(c==null||d===null||d===void 0||typeof c!=typeof d||typeof c!="object")return!1;let l=Array.isArray(c),p=Array.isArray(d);if(l!==p)return!1;if(l&&p){if(c.length!==d.length)return!1;for(let g=0;g<c.length;g++)if(!r(c[g],d[g]))return!1}if(o(c)&&o(d)){let g=Object.keys(c),h=Object.keys(d);if(g.length!==h.length||(g.sort(),h.sort(),!r(g,h)))return!1;for(let v=0;v<g.length;v++){let f=g[v];if(!r(c[f],d[f]))return!1}return!0}return!1}function o(c){return c!==null&&typeof c=="object"}s.isObjectLiteral=o})(xs||(xs={}));var Fs;(function(s){function e(t,n){if(typeof t=="string")return t==="*"||n.notebookType===t;if(t.notebookType!==void 0&&t.notebookType!=="*"&&n.notebookType!==t.notebookType)return!1;let i=n.uri;if(t.scheme!==void 0&&t.scheme!=="*"&&i.scheme!==t.scheme)return!1;if(t.pattern!==void 0){let r=new Au.Minimatch(t.pattern,{noext:!0});if(!r.makeRe()||!r.match(i.fsPath))return!1}return!0}s.matchNotebook=e})(Fs||(Fs={}));var yi;(function(s){function e(n){let i=n.notebookSelector,r=[];for(let o of i){let c=(typeof o.notebook=="string"?o.notebook:o.notebook?.notebookType)??"*",d=typeof o.notebook=="string"?void 0:o.notebook?.scheme,l=typeof o.notebook=="string"?void 0:o.notebook?.pattern;if(o.cells!==void 0)for(let p of o.cells)r.push(t(c,d,l,p.language));else r.push(t(c,d,l,void 0))}return r}s.asDocumentSelector=e;function t(n,i,r,o){return i===void 0&&r===void 0?{notebook:n,language:o}:{notebook:{notebookType:n,scheme:i,pattern:r},language:o}}})(yi||(yi={}));var Ci;(function(s){function e(t){return{cells:t,uris:new Set(t.map(n=>n.document.uri.toString()))}}s.create=e})(Ci||(Ci={}));var jt=class{constructor(e,t){this.client=e,this.options=t,this.notebookSyncInfo=new Map,this.notebookDidOpen=new Set,this.disposables=[],this.selector=e.protocol2CodeConverter.asDocumentSelector(yi.asDocumentSelector(t)),De.workspace.onDidOpenNotebookDocument(n=>{this.notebookDidOpen.add(n.uri.toString()),this.didOpen(n)},void 0,this.disposables);for(let n of De.workspace.notebookDocuments)this.notebookDidOpen.add(n.uri.toString()),this.didOpen(n);De.workspace.onDidChangeNotebookDocument(n=>this.didChangeNotebookDocument(n),void 0,this.disposables),this.options.save===!0&&De.workspace.onDidSaveNotebookDocument(n=>this.didSave(n),void 0,this.disposables),De.workspace.onDidCloseNotebookDocument(n=>{this.didClose(n),this.notebookDidOpen.delete(n.uri.toString())},void 0,this.disposables)}getState(){for(let e of De.workspace.notebookDocuments)if(this.getMatchingCells(e)!==void 0)return{kind:"document",id:"$internal",registrations:!0,matches:!0};return{kind:"document",id:"$internal",registrations:!0,matches:!1}}get mode(){return"notebook"}handles(e){return De.languages.match(this.selector,e)>0}didOpenNotebookCellTextDocument(e,t){if(De.languages.match(this.selector,t.document)===0||!this.notebookDidOpen.has(e.uri.toString()))return;let n=this.notebookSyncInfo.get(e.uri.toString()),i=this.cellMatches(e,t);if(n!==void 0){let r=n.uris.has(t.document.uri.toString());if(i&&r||!i&&!r)return;if(i){let o=this.getMatchingCells(e);if(o!==void 0){let c=this.asNotebookDocumentChangeEvent(e,void 0,n,o);c!==void 0&&this.doSendChange(c,o).catch(()=>{})}}}else i&&this.doSendOpen(e,[t]).catch(()=>{})}didChangeNotebookCellTextDocument(e,t){De.languages.match(this.selector,t.document)!==0&&this.doSendChange({notebook:e,cells:{textContent:[t]}},void 0).catch(()=>{})}didCloseNotebookCellTextDocument(e,t){let n=this.notebookSyncInfo.get(e.uri.toString());if(n===void 0)return;let i=t.document.uri,r=n.cells.findIndex(o=>o.document.uri.toString()===i.toString());if(r!==-1)if(r===0&&n.cells.length===1)this.doSendClose(e,n.cells).catch(()=>{});else{let o=n.cells.slice(),c=o.splice(r,1);this.doSendChange({notebook:e,cells:{structure:{array:{start:r,deleteCount:1},didClose:c}}},o).catch(()=>{})}}dispose(){for(let e of this.disposables)e.dispose()}didOpen(e,t=this.getMatchingCells(e),n=this.notebookSyncInfo.get(e.uri.toString())){if(n!==void 0)if(t!==void 0){let i=this.asNotebookDocumentChangeEvent(e,void 0,n,t);i!==void 0&&this.doSendChange(i,t).catch(()=>{})}else this.doSendClose(e,[]).catch(()=>{});else{if(t===void 0)return;this.doSendOpen(e,t).catch(()=>{})}}didChangeNotebookDocument(e){let t=e.notebook,n=this.notebookSyncInfo.get(t.uri.toString());if(n===void 0){if(e.contentChanges.length===0)return;let i=this.getMatchingCells(t);if(i===void 0)return;this.didOpen(t,i,n)}else{let i=this.getMatchingCells(t);if(i===void 0){this.didClose(t,n);return}let r=this.asNotebookDocumentChangeEvent(e.notebook,e,n,i);r!==void 0&&this.doSendChange(r,i).catch(()=>{})}}didSave(e){this.notebookSyncInfo.get(e.uri.toString())!==void 0&&this.doSendSave(e).catch(()=>{})}didClose(e,t=this.notebookSyncInfo.get(e.uri.toString())){if(t===void 0)return;let n=e.getCells().filter(i=>t.uris.has(i.document.uri.toString()));this.doSendClose(e,n).catch(()=>{})}async sendDidOpenNotebookDocument(e){let t=this.getMatchingCells(e);if(t!==void 0)return this.doSendOpen(e,t)}async doSendOpen(e,t){let n=async(r,o)=>{let c=Wt.c2p.asNotebookDocument(r,o,this.client.code2ProtocolConverter),d=o.map(l=>this.client.code2ProtocolConverter.asTextDocumentItem(l.document));try{await this.client.sendNotification(nt.DidOpenNotebookDocumentNotification.type,{notebookDocument:c,cellTextDocuments:d})}catch(l){throw this.client.error("Sending DidOpenNotebookDocumentNotification failed",l),l}},i=this.client.middleware?.notebooks;return this.notebookSyncInfo.set(e.uri.toString(),Ci.create(t)),i?.didOpen!==void 0?i.didOpen(e,t,n):n(e,t)}async sendDidChangeNotebookDocument(e){return this.doSendChange(e,void 0)}async doSendChange(e,t=this.getMatchingCells(e.notebook)){let n=async r=>{try{await this.client.sendNotification(nt.DidChangeNotebookDocumentNotification.type,{notebookDocument:Wt.c2p.asVersionedNotebookDocumentIdentifier(r.notebook,this.client.code2ProtocolConverter),change:Wt.c2p.asNotebookDocumentChangeEvent(r,this.client.code2ProtocolConverter)})}catch(o){throw this.client.error("Sending DidChangeNotebookDocumentNotification failed",o),o}},i=this.client.middleware?.notebooks;return e.cells?.structure!==void 0&&this.notebookSyncInfo.set(e.notebook.uri.toString(),Ci.create(t??[])),i?.didChange!==void 0?i?.didChange(e,n):n(e)}async sendDidSaveNotebookDocument(e){return this.doSendSave(e)}async doSendSave(e){let t=async i=>{try{await this.client.sendNotification(nt.DidSaveNotebookDocumentNotification.type,{notebookDocument:{uri:this.client.code2ProtocolConverter.asUri(i.uri)}})}catch(r){throw this.client.error("Sending DidSaveNotebookDocumentNotification failed",r),r}},n=this.client.middleware?.notebooks;return n?.didSave!==void 0?n.didSave(e,t):t(e)}async sendDidCloseNotebookDocument(e){return this.doSendClose(e,this.getMatchingCells(e)??[])}async doSendClose(e,t){let n=async(r,o)=>{try{await this.client.sendNotification(nt.DidCloseNotebookDocumentNotification.type,{notebookDocument:{uri:this.client.code2ProtocolConverter.asUri(r.uri)},cellTextDocuments:o.map(c=>this.client.code2ProtocolConverter.asTextDocumentIdentifier(c.document))})}catch(c){throw this.client.error("Sending DidCloseNotebookDocumentNotification failed",c),c}},i=this.client.middleware?.notebooks;return this.notebookSyncInfo.delete(e.uri.toString()),i?.didClose!==void 0?i.didClose(e,t,n):n(e,t)}asNotebookDocumentChangeEvent(e,t,n,i){if(t!==void 0&&t.notebook!==e)throw new Error("Notebook must be identical");let r={notebook:e};t?.metadata!==void 0&&(r.metadata=Wt.c2p.asMetadata(t.metadata));let o;if(t?.cellChanges!==void 0&&t.cellChanges.length>0){let c=[];o=new Set(i.map(d=>d.document.uri.toString()));for(let d of t.cellChanges)o.has(d.cell.document.uri.toString())&&(d.executionSummary!==void 0||d.metadata!==void 0)&&c.push(d.cell);c.length>0&&(r.cells=r.cells??{},r.cells.data=c)}if((t?.contentChanges!==void 0&&t.contentChanges.length>0||t===void 0)&&n!==void 0&&i!==void 0){let c=n.cells,d=i,l=xs.computeDiff(c,d,!1),p,g;if(l!==void 0){p=l.cells===void 0?new Map:new Map(l.cells.map(f=>[f.document.uri.toString(),f])),g=l.deleteCount===0?new Map:new Map(c.slice(l.start,l.start+l.deleteCount).map(f=>[f.document.uri.toString(),f]));for(let f of Array.from(g.keys()))p.has(f)&&(g.delete(f),p.delete(f));r.cells=r.cells??{};let h=[],v=[];if(p.size>0||g.size>0){for(let f of p.values())h.push(f);for(let f of g.values())v.push(f)}r.cells.structure={array:l,didOpen:h,didClose:v}}}return Object.keys(r).length>1?r:void 0}getMatchingCells(e,t=e.getCells()){if(this.options.notebookSelector!==void 0){for(let n of this.options.notebookSelector)if(n.notebook===void 0||Fs.matchNotebook(n.notebook,e)){let i=this.filterCells(e,t,n.cells);return i.length===0?void 0:i}}}cellMatches(e,t){let n=this.getMatchingCells(e,[t]);return n!==void 0&&n[0]===t}filterCells(e,t,n){let i=n!==void 0?t.filter(r=>{let o=r.document.languageId;return n.some(c=>c.language==="*"||o===c.language)}):t;return typeof this.client.clientOptions.notebookDocumentOptions?.filterCells=="function"?this.client.clientOptions.notebookDocumentOptions.filterCells(e,i):i}},wi=class s{constructor(e){this.client=e,this.registrations=new Map,this.registrationType=nt.NotebookDocumentSyncRegistrationType.type,De.workspace.onDidOpenTextDocument(t=>{if(t.uri.scheme!==s.CellScheme)return;let[n,i]=this.findNotebookDocumentAndCell(t);if(!(n===void 0||i===void 0))for(let r of this.registrations.values())r instanceof jt&&r.didOpenNotebookCellTextDocument(n,i)}),De.workspace.onDidChangeTextDocument(t=>{if(t.contentChanges.length===0)return;let n=t.document;if(n.uri.scheme!==s.CellScheme)return;let[i]=this.findNotebookDocumentAndCell(n);if(i!==void 0)for(let r of this.registrations.values())r instanceof jt&&r.didChangeNotebookCellTextDocument(i,t)}),De.workspace.onDidCloseTextDocument(t=>{if(t.uri.scheme!==s.CellScheme)return;let[n,i]=this.findNotebookDocumentAndCell(t);if(!(n===void 0||i===void 0))for(let r of this.registrations.values())r instanceof jt&&r.didCloseNotebookCellTextDocument(n,i)})}getState(){if(this.registrations.size===0)return{kind:"document",id:this.registrationType.method,registrations:!1,matches:!1};for(let e of this.registrations.values()){let t=e.getState();if(t.kind==="document"&&t.registrations===!0&&t.matches===!0)return{kind:"document",id:this.registrationType.method,registrations:!0,matches:!0}}return{kind:"document",id:this.registrationType.method,registrations:!0,matches:!1}}fillClientCapabilities(e){let t=pc(pc(e,"notebookDocument"),"synchronization");t.dynamicRegistration=!0,t.executionSummarySupport=!0}preInitialize(e){let t=e.notebookDocumentSync;t!==void 0&&(this.dedicatedChannel=this.client.protocol2CodeConverter.asDocumentSelector(yi.asDocumentSelector(t)))}initialize(e){let t=e.notebookDocumentSync;if(t===void 0)return;let n=t.id??Lu.generateUuid();this.register({id:n,registerOptions:t})}register(e){let t=new jt(this.client,e.registerOptions);this.registrations.set(e.id,t)}unregister(e){let t=this.registrations.get(e);t&&t.dispose()}clear(){for(let e of this.registrations.values())e.dispose();this.registrations.clear()}handles(e){if(e.uri.scheme!==s.CellScheme)return!1;if(this.dedicatedChannel!==void 0&&De.languages.match(this.dedicatedChannel,e)>0)return!0;for(let t of this.registrations.values())if(t.handles(e))return!0;return!1}getProvider(e){for(let t of this.registrations.values())if(t.handles(e.document))return t}findNotebookDocumentAndCell(e){let t=e.uri.toString();for(let n of De.workspace.notebookDocuments)for(let i of n.getCells())if(i.document.uri.toString()===t)return[n,i];return[void 0,void 0]}};Di.NotebookDocumentSyncFeature=wi;wi.CellScheme="vscode-notebook-cell"});var gc=F(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.SyncConfigurationFeature=mt.toJSONObject=mt.ConfigurationFeature=void 0;var zt=I("vscode"),gn=L(),Uu=Ee(),Nu=te(),hc=W(),qs=class{constructor(e){this._client=e}getState(){return{kind:"static"}}fillClientCapabilities(e){e.workspace=e.workspace||{},e.workspace.configuration=!0}initialize(){let e=this._client;e.onRequest(gn.ConfigurationRequest.type,(t,n)=>{let i=o=>{let c=[];for(let d of o.items){let l=d.scopeUri!==void 0&&d.scopeUri!==null?this._client.protocol2CodeConverter.asUri(d.scopeUri):void 0;c.push(this.getConfiguration(l,d.section!==null?d.section:void 0))}return c},r=e.middleware.workspace;return r&&r.configuration?r.configuration(t,n,i):i(t,n)})}getConfiguration(e,t){let n=null;if(t){let i=t.lastIndexOf(".");if(i===-1)n=kt(zt.workspace.getConfiguration(void 0,e).get(t));else{let r=zt.workspace.getConfiguration(t.substr(0,i),e);r&&(n=kt(r.get(t.substr(i+1))))}}else{let i=zt.workspace.getConfiguration(void 0,e);n={};for(let r of Object.keys(i))i.has(r)&&(n[r]=kt(i.get(r)))}return n===void 0&&(n=null),n}clear(){}};mt.ConfigurationFeature=qs;function kt(s){if(s){if(Array.isArray(s))return s.map(kt);if(typeof s=="object"){let e=Object.create(null);for(let t in s)Object.prototype.hasOwnProperty.call(s,t)&&(e[t]=kt(s[t]));return e}}return s}mt.toJSONObject=kt;var Is=class{constructor(e){this._client=e,this.isCleared=!1,this._listeners=new Map}getState(){return{kind:"workspace",id:this.registrationType.method,registrations:this._listeners.size>0}}get registrationType(){return gn.DidChangeConfigurationNotification.type}fillClientCapabilities(e){(0,hc.ensure)((0,hc.ensure)(e,"workspace"),"didChangeConfiguration").dynamicRegistration=!0}initialize(){this.isCleared=!1;let e=this._client.clientOptions.synchronize?.configurationSection;e!==void 0&&this.register({id:Nu.generateUuid(),registerOptions:{section:e}})}register(e){let t=zt.workspace.onDidChangeConfiguration(n=>{this.onDidChangeConfiguration(e.registerOptions.section,n)});this._listeners.set(e.id,t),e.registerOptions.section!==void 0&&this.onDidChangeConfiguration(e.registerOptions.section,void 0)}unregister(e){let t=this._listeners.get(e);t&&(this._listeners.delete(e),t.dispose())}clear(){for(let e of this._listeners.values())e.dispose();this._listeners.clear(),this.isCleared=!0}onDidChangeConfiguration(e,t){if(this.isCleared)return;let n;if(Uu.string(e)?n=[e]:n=e,n!==void 0&&t!==void 0&&!n.some(c=>t.affectsConfiguration(c)))return;let i=async o=>o===void 0?this._client.sendNotification(gn.DidChangeConfigurationNotification.type,{settings:null}):this._client.sendNotification(gn.DidChangeConfigurationNotification.type,{settings:this.extractSettingsInformation(o)}),r=this._client.middleware.workspace?.didChangeConfiguration;(r?r(n,i):i(n)).catch(o=>{this._client.error(`Sending notification ${gn.DidChangeConfigurationNotification.type.method} failed`,o)})}extractSettingsInformation(e){function t(r,o){let c=r;for(let d=0;d<o.length-1;d++){let l=c[o[d]];l||(l=Object.create(null),c[o[d]]=l),c=l}return c}let n=this._client.clientOptions.workspaceFolder?this._client.clientOptions.workspaceFolder.uri:void 0,i=Object.create(null);for(let r=0;r<e.length;r++){let o=e[r],c=o.indexOf("."),d=null;if(c>=0?d=zt.workspace.getConfiguration(o.substr(0,c),n).get(o.substr(c+1)):d=zt.workspace.getConfiguration(void 0,n).get(o),d){let l=e[r].split(".");t(i,l)[l[l.length-1]]=kt(d)}}return i}};mt.SyncConfigurationFeature=Is});var mc=F(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.DidSaveTextDocumentFeature=_e.WillSaveWaitUntilFeature=_e.WillSaveFeature=_e.DidChangeTextDocumentFeature=_e.DidCloseTextDocumentFeature=_e.DidOpenTextDocumentFeature=void 0;var Re=I("vscode"),X=L(),ie=W(),Vt=te(),Es=class extends ie.TextDocumentEventFeature{constructor(e,t){super(e,Re.workspace.onDidOpenTextDocument,X.DidOpenTextDocumentNotification.type,()=>e.middleware.didOpen,n=>e.code2ProtocolConverter.asOpenTextDocumentParams(n),n=>n,ie.TextDocumentEventFeature.textDocumentFilter),this._syncedDocuments=t}get openDocuments(){return this._syncedDocuments.values()}fillClientCapabilities(e){(0,ie.ensure)((0,ie.ensure)(e,"textDocument"),"synchronization").dynamicRegistration=!0}initialize(e,t){let n=e.resolvedTextDocumentSync;t&&n&&n.openClose&&this.register({id:Vt.generateUuid(),registerOptions:{documentSelector:t}})}get registrationType(){return X.DidOpenTextDocumentNotification.type}register(e){if(super.register(e),!e.registerOptions.documentSelector)return;let t=this._client.protocol2CodeConverter.asDocumentSelector(e.registerOptions.documentSelector);Re.workspace.textDocuments.forEach(n=>{let i=n.uri.toString();if(!this._syncedDocuments.has(i)&&Re.languages.match(t,n)>0&&!this._client.hasDedicatedTextSynchronizationFeature(n)){let r=this._client.middleware,o=c=>this._client.sendNotification(this._type,this._createParams(c));(r.didOpen?r.didOpen(n,o):o(n)).catch(c=>{this._client.error(`Sending document notification ${this._type.method} failed`,c)}),this._syncedDocuments.set(i,n)}})}getTextDocument(e){return e}notificationSent(e,t,n){this._syncedDocuments.set(e.uri.toString(),e),super.notificationSent(e,t,n)}};_e.DidOpenTextDocumentFeature=Es;var Ms=class extends ie.TextDocumentEventFeature{constructor(e,t,n){super(e,Re.workspace.onDidCloseTextDocument,X.DidCloseTextDocumentNotification.type,()=>e.middleware.didClose,i=>e.code2ProtocolConverter.asCloseTextDocumentParams(i),i=>i,ie.TextDocumentEventFeature.textDocumentFilter),this._syncedDocuments=t,this._pendingTextDocumentChanges=n}get registrationType(){return X.DidCloseTextDocumentNotification.type}fillClientCapabilities(e){(0,ie.ensure)((0,ie.ensure)(e,"textDocument"),"synchronization").dynamicRegistration=!0}initialize(e,t){let n=e.resolvedTextDocumentSync;t&&n&&n.openClose&&this.register({id:Vt.generateUuid(),registerOptions:{documentSelector:t}})}async callback(e){await super.callback(e),this._pendingTextDocumentChanges.delete(e.uri.toString())}getTextDocument(e){return e}notificationSent(e,t,n){this._syncedDocuments.delete(e.uri.toString()),super.notificationSent(e,t,n)}unregister(e){let t=this._selectors.get(e);super.unregister(e);let n=this._selectors.values();this._syncedDocuments.forEach(i=>{if(Re.languages.match(t,i)>0&&!this._selectorFilter(n,i)&&!this._client.hasDedicatedTextSynchronizationFeature(i)){let r=this._client.middleware,o=c=>this._client.sendNotification(this._type,this._createParams(c));this._syncedDocuments.delete(i.uri.toString()),(r.didClose?r.didClose(i,o):o(i)).catch(c=>{this._client.error(`Sending document notification ${this._type.method} failed`,c)})}})}};_e.DidCloseTextDocumentFeature=Ms;var Os=class extends ie.DynamicDocumentFeature{constructor(e,t){super(e),this._changeData=new Map,this._onNotificationSent=new Re.EventEmitter,this._onPendingChangeAdded=new Re.EventEmitter,this._pendingTextDocumentChanges=t,this._syncKind=X.TextDocumentSyncKind.None}get onNotificationSent(){return this._onNotificationSent.event}get onPendingChangeAdded(){return this._onPendingChangeAdded.event}get syncKind(){return this._syncKind}get registrationType(){return X.DidChangeTextDocumentNotification.type}fillClientCapabilities(e){(0,ie.ensure)((0,ie.ensure)(e,"textDocument"),"synchronization").dynamicRegistration=!0}initialize(e,t){let n=e.resolvedTextDocumentSync;t&&n&&n.change!==void 0&&n.change!==X.TextDocumentSyncKind.None&&this.register({id:Vt.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},{syncKind:n.change})})}register(e){e.registerOptions.documentSelector&&(this._listener||(this._listener=Re.workspace.onDidChangeTextDocument(this.callback,this)),this._changeData.set(e.id,{syncKind:e.registerOptions.syncKind,documentSelector:this._client.protocol2CodeConverter.asDocumentSelector(e.registerOptions.documentSelector)}),this.updateSyncKind(e.registerOptions.syncKind))}*getDocumentSelectors(){for(let e of this._changeData.values())yield e.documentSelector}async callback(e){if(e.contentChanges.length===0)return;let t=e.document.uri,n=e.document.version,i=[];for(let r of this._changeData.values())if(Re.languages.match(r.documentSelector,e.document)>0&&!this._client.hasDedicatedTextSynchronizationFeature(e.document)){let o=this._client.middleware;if(r.syncKind===X.TextDocumentSyncKind.Incremental){let c=async d=>{let l=this._client.code2ProtocolConverter.asChangeTextDocumentParams(d,t,n);await this._client.sendNotification(X.DidChangeTextDocumentNotification.type,l),this.notificationSent(d.document,X.DidChangeTextDocumentNotification.type,l)};i.push(o.didChange?o.didChange(e,d=>c(d)):c(e))}else if(r.syncKind===X.TextDocumentSyncKind.Full){let c=async d=>{let l=d.document.uri.toString();this._pendingTextDocumentChanges.set(l,d.document),this._onPendingChangeAdded.fire()};i.push(o.didChange?o.didChange(e,d=>c(d)):c(e))}}return Promise.all(i).then(void 0,r=>{throw this._client.error(`Sending document notification ${X.DidChangeTextDocumentNotification.type.method} failed`,r),r})}notificationSent(e,t,n){this._onNotificationSent.fire({textDocument:e,type:t,params:n})}unregister(e){if(this._changeData.delete(e),this._changeData.size===0)this._listener&&(this._listener.dispose(),this._listener=void 0),this._syncKind=X.TextDocumentSyncKind.None;else{this._syncKind=X.TextDocumentSyncKind.None;for(let t of this._changeData.values())if(this.updateSyncKind(t.syncKind),this._syncKind===X.TextDocumentSyncKind.Full)break}}clear(){this._pendingTextDocumentChanges.clear(),this._changeData.clear(),this._syncKind=X.TextDocumentSyncKind.None,this._listener&&(this._listener.dispose(),this._listener=void 0)}getPendingDocumentChanges(e){if(this._pendingTextDocumentChanges.size===0)return[];let t;if(e.size===0)t=Array.from(this._pendingTextDocumentChanges.values()),this._pendingTextDocumentChanges.clear();else{t=[];for(let n of this._pendingTextDocumentChanges)e.has(n[0])||(t.push(n[1]),this._pendingTextDocumentChanges.delete(n[0]))}return t}getProvider(e){for(let t of this._changeData.values())if(Re.languages.match(t.documentSelector,e)>0)return{send:n=>this.callback(n)}}updateSyncKind(e){if(this._syncKind!==X.TextDocumentSyncKind.Full)switch(e){case X.TextDocumentSyncKind.Full:this._syncKind=e;break;case X.TextDocumentSyncKind.Incremental:this._syncKind===X.TextDocumentSyncKind.None&&(this._syncKind=X.TextDocumentSyncKind.Incremental);break}}};_e.DidChangeTextDocumentFeature=Os;var As=class extends ie.TextDocumentEventFeature{constructor(e){super(e,Re.workspace.onWillSaveTextDocument,X.WillSaveTextDocumentNotification.type,()=>e.middleware.willSave,t=>e.code2ProtocolConverter.asWillSaveTextDocumentParams(t),t=>t.document,(t,n)=>ie.TextDocumentEventFeature.textDocumentFilter(t,n.document))}get registrationType(){return X.WillSaveTextDocumentNotification.type}fillClientCapabilities(e){let t=(0,ie.ensure)((0,ie.ensure)(e,"textDocument"),"synchronization");t.willSave=!0}initialize(e,t){let n=e.resolvedTextDocumentSync;t&&n&&n.willSave&&this.register({id:Vt.generateUuid(),registerOptions:{documentSelector:t}})}getTextDocument(e){return e.document}};_e.WillSaveFeature=As;var Ls=class extends ie.DynamicDocumentFeature{constructor(e){super(e),this._selectors=new Map}getDocumentSelectors(){return this._selectors.values()}get registrationType(){return X.WillSaveTextDocumentWaitUntilRequest.type}fillClientCapabilities(e){let t=(0,ie.ensure)((0,ie.ensure)(e,"textDocument"),"synchronization");t.willSaveWaitUntil=!0}initialize(e,t){let n=e.resolvedTextDocumentSync;t&&n&&n.willSaveWaitUntil&&this.register({id:Vt.generateUuid(),registerOptions:{documentSelector:t}})}register(e){e.registerOptions.documentSelector&&(this._listener||(this._listener=Re.workspace.onWillSaveTextDocument(this.callback,this)),this._selectors.set(e.id,this._client.protocol2CodeConverter.asDocumentSelector(e.registerOptions.documentSelector)))}callback(e){if(ie.TextDocumentEventFeature.textDocumentFilter(this._selectors.values(),e.document)&&!this._client.hasDedicatedTextSynchronizationFeature(e.document)){let t=this._client.middleware,n=i=>this._client.sendRequest(X.WillSaveTextDocumentWaitUntilRequest.type,this._client.code2ProtocolConverter.asWillSaveTextDocumentParams(i)).then(async r=>{let o=await this._client.protocol2CodeConverter.asTextEdits(r);return o===void 0?[]:o});e.waitUntil(t.willSaveWaitUntil?t.willSaveWaitUntil(e,n):n(e))}}unregister(e){this._selectors.delete(e),this._selectors.size===0&&this._listener&&(this._listener.dispose(),this._listener=void 0)}clear(){this._selectors.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)}};_e.WillSaveWaitUntilFeature=Ls;var Us=class extends ie.TextDocumentEventFeature{constructor(e){super(e,Re.workspace.onDidSaveTextDocument,X.DidSaveTextDocumentNotification.type,()=>e.middleware.didSave,t=>e.code2ProtocolConverter.asSaveTextDocumentParams(t,this._includeText),t=>t,ie.TextDocumentEventFeature.textDocumentFilter),this._includeText=!1}get registrationType(){return X.DidSaveTextDocumentNotification.type}fillClientCapabilities(e){(0,ie.ensure)((0,ie.ensure)(e,"textDocument"),"synchronization").didSave=!0}initialize(e,t){let n=e.resolvedTextDocumentSync;if(t&&n&&n.save){let i=typeof n.save=="boolean"?{includeText:!1}:{includeText:!!n.save.includeText};this.register({id:Vt.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},i)})}}register(e){this._includeText=!!e.registerOptions.includeText,super.register(e)}getTextDocument(e){return e}};_e.DidSaveTextDocumentFeature=Us});var vc=F(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.CompletionItemFeature=void 0;var Ku=I("vscode"),H=L(),Ns=W(),Hu=te(),$u=[H.CompletionItemKind.Text,H.CompletionItemKind.Method,H.CompletionItemKind.Function,H.CompletionItemKind.Constructor,H.CompletionItemKind.Field,H.CompletionItemKind.Variable,H.CompletionItemKind.Class,H.CompletionItemKind.Interface,H.CompletionItemKind.Module,H.CompletionItemKind.Property,H.CompletionItemKind.Unit,H.CompletionItemKind.Value,H.CompletionItemKind.Enum,H.CompletionItemKind.Keyword,H.CompletionItemKind.Snippet,H.CompletionItemKind.Color,H.CompletionItemKind.File,H.CompletionItemKind.Reference,H.CompletionItemKind.Folder,H.CompletionItemKind.EnumMember,H.CompletionItemKind.Constant,H.CompletionItemKind.Struct,H.CompletionItemKind.Event,H.CompletionItemKind.Operator,H.CompletionItemKind.TypeParameter],Ks=class extends Ns.TextDocumentLanguageFeature{constructor(e){super(e,H.CompletionRequest.type),this.labelDetailsSupport=new Map}fillClientCapabilities(e){let t=(0,Ns.ensure)((0,Ns.ensure)(e,"textDocument"),"completion");t.dynamicRegistration=!0,t.contextSupport=!0,t.completionItem={snippetSupport:!0,commitCharactersSupport:!0,documentationFormat:[H.MarkupKind.Markdown,H.MarkupKind.PlainText],deprecatedSupport:!0,preselectSupport:!0,tagSupport:{valueSet:[H.CompletionItemTag.Deprecated]},insertReplaceSupport:!0,resolveSupport:{properties:["documentation","detail","additionalTextEdits"]},insertTextModeSupport:{valueSet:[H.InsertTextMode.asIs,H.InsertTextMode.adjustIndentation]},labelDetailsSupport:!0},t.insertTextMode=H.InsertTextMode.adjustIndentation,t.completionItemKind={valueSet:$u},t.completionList={itemDefaults:["commitCharacters","editRange","insertTextFormat","insertTextMode","data"]}}initialize(e,t){let n=this.getRegistrationOptions(t,e.completionProvider);n&&this.register({id:Hu.generateUuid(),registerOptions:n})}registerLanguageProvider(e,t){this.labelDetailsSupport.set(t,!!e.completionItem?.labelDetailsSupport);let n=e.triggerCharacters??[],i=e.allCommitCharacters,r=e.documentSelector,o={provideCompletionItems:(c,d,l,p)=>{let g=this._client,h=this._client.middleware,v=(f,y,w,b)=>g.sendRequest(H.CompletionRequest.type,g.code2ProtocolConverter.asCompletionParams(f,y,w),b).then(T=>b.isCancellationRequested?null:g.protocol2CodeConverter.asCompletionResult(T,i,b),T=>g.handleFailedRequest(H.CompletionRequest.type,b,T,null));return h.provideCompletionItem?h.provideCompletionItem(c,d,p,l,v):v(c,d,p,l)},resolveCompletionItem:e.resolveProvider?(c,d)=>{let l=this._client,p=this._client.middleware,g=(h,v)=>l.sendRequest(H.CompletionResolveRequest.type,l.code2ProtocolConverter.asCompletionItem(h,!!this.labelDetailsSupport.get(t)),v).then(f=>v.isCancellationRequested?null:l.protocol2CodeConverter.asCompletionItem(f),f=>l.handleFailedRequest(H.CompletionResolveRequest.type,v,f,h));return p.resolveCompletionItem?p.resolveCompletionItem(c,d,g):g(c,d)}:void 0};return[Ku.languages.registerCompletionItemProvider(this._client.protocol2CodeConverter.asDocumentSelector(r),o,...n),o]}};Si.CompletionItemFeature=Ks});var yc=F(_i=>{"use strict";Object.defineProperty(_i,"__esModule",{value:!0});_i.HoverFeature=void 0;var Wu=I("vscode"),mn=L(),Hs=W(),ju=te(),$s=class extends Hs.TextDocumentLanguageFeature{constructor(e){super(e,mn.HoverRequest.type)}fillClientCapabilities(e){let t=(0,Hs.ensure)((0,Hs.ensure)(e,"textDocument"),"hover");t.dynamicRegistration=!0,t.contentFormat=[mn.MarkupKind.Markdown,mn.MarkupKind.PlainText]}initialize(e,t){let n=this.getRegistrationOptions(t,e.hoverProvider);n&&this.register({id:ju.generateUuid(),registerOptions:n})}registerLanguageProvider(e){let t=e.documentSelector,n={provideHover:(i,r,o)=>{let c=this._client,d=(p,g,h)=>c.sendRequest(mn.HoverRequest.type,c.code2ProtocolConverter.asTextDocumentPositionParams(p,g),h).then(v=>h.isCancellationRequested?null:c.protocol2CodeConverter.asHover(v),v=>c.handleFailedRequest(mn.HoverRequest.type,h,v,null)),l=c.middleware;return l.provideHover?l.provideHover(i,r,o,d):d(i,r,o)}};return[this.registerProvider(t,n),n]}registerProvider(e,t){return Wu.languages.registerHoverProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};_i.HoverFeature=$s});var Cc=F(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});bi.DefinitionFeature=void 0;var zu=I("vscode"),Ws=L(),js=W(),Vu=te(),zs=class extends js.TextDocumentLanguageFeature{constructor(e){super(e,Ws.DefinitionRequest.type)}fillClientCapabilities(e){let t=(0,js.ensure)((0,js.ensure)(e,"textDocument"),"definition");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){let n=this.getRegistrationOptions(t,e.definitionProvider);n&&this.register({id:Vu.generateUuid(),registerOptions:n})}registerLanguageProvider(e){let t=e.documentSelector,n={provideDefinition:(i,r,o)=>{let c=this._client,d=(p,g,h)=>c.sendRequest(Ws.DefinitionRequest.type,c.code2ProtocolConverter.asTextDocumentPositionParams(p,g),h).then(v=>h.isCancellationRequested?null:c.protocol2CodeConverter.asDefinitionResult(v,h),v=>c.handleFailedRequest(Ws.DefinitionRequest.type,h,v,null)),l=c.middleware;return l.provideDefinition?l.provideDefinition(i,r,o,d):d(i,r,o)}};return[this.registerProvider(t,n),n]}registerProvider(e,t){return zu.languages.registerDefinitionProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};bi.DefinitionFeature=zs});var Dc=F(Ti=>{"use strict";Object.defineProperty(Ti,"__esModule",{value:!0});Ti.SignatureHelpFeature=void 0;var wc=I("vscode"),vn=L(),Vs=W(),Bu=te(),Bs=class extends Vs.TextDocumentLanguageFeature{constructor(e){super(e,vn.SignatureHelpRequest.type)}fillClientCapabilities(e){let t=(0,Vs.ensure)((0,Vs.ensure)(e,"textDocument"),"signatureHelp");t.dynamicRegistration=!0,t.signatureInformation={documentationFormat:[vn.MarkupKind.Markdown,vn.MarkupKind.PlainText]},t.signatureInformation.parameterInformation={labelOffsetSupport:!0},t.signatureInformation.activeParameterSupport=!0,t.contextSupport=!0}initialize(e,t){let n=this.getRegistrationOptions(t,e.signatureHelpProvider);n&&this.register({id:Bu.generateUuid(),registerOptions:n})}registerLanguageProvider(e){let t={provideSignatureHelp:(n,i,r,o)=>{let c=this._client,d=(p,g,h,v)=>c.sendRequest(vn.SignatureHelpRequest.type,c.code2ProtocolConverter.asSignatureHelpParams(p,g,h),v).then(f=>v.isCancellationRequested?null:c.protocol2CodeConverter.asSignatureHelp(f,v),f=>c.handleFailedRequest(vn.SignatureHelpRequest.type,v,f,null)),l=c.middleware;return l.provideSignatureHelp?l.provideSignatureHelp(n,i,o,r,d):d(n,i,o,r)}};return[this.registerProvider(e,t),t]}registerProvider(e,t){let n=this._client.protocol2CodeConverter.asDocumentSelector(e.documentSelector);if(e.retriggerCharacters===void 0){let i=e.triggerCharacters||[];return wc.languages.registerSignatureHelpProvider(n,t,...i)}else{let i={triggerCharacters:e.triggerCharacters||[],retriggerCharacters:e.retriggerCharacters||[]};return wc.languages.registerSignatureHelpProvider(n,t,i)}}};Ti.SignatureHelpFeature=Bs});var Sc=F(ki=>{"use strict";Object.defineProperty(ki,"__esModule",{value:!0});ki.DocumentHighlightFeature=void 0;var Ju=I("vscode"),Js=L(),Qs=W(),Qu=te(),Gs=class extends Qs.TextDocumentLanguageFeature{constructor(e){super(e,Js.DocumentHighlightRequest.type)}fillClientCapabilities(e){(0,Qs.ensure)((0,Qs.ensure)(e,"textDocument"),"documentHighlight").dynamicRegistration=!0}initialize(e,t){let n=this.getRegistrationOptions(t,e.documentHighlightProvider);n&&this.register({id:Qu.generateUuid(),registerOptions:n})}registerLanguageProvider(e){let t=e.documentSelector,n={provideDocumentHighlights:(i,r,o)=>{let c=this._client,d=(p,g,h)=>c.sendRequest(Js.DocumentHighlightRequest.type,c.code2ProtocolConverter.asTextDocumentPositionParams(p,g),h).then(v=>h.isCancellationRequested?null:c.protocol2CodeConverter.asDocumentHighlights(v,h),v=>c.handleFailedRequest(Js.DocumentHighlightRequest.type,h,v,null)),l=c.middleware;return l.provideDocumentHighlights?l.provideDocumentHighlights(i,r,o,d):d(i,r,o)}};return[Ju.languages.registerDocumentHighlightProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),n),n]}};ki.DocumentHighlightFeature=Gs});var Zs=F(Ge=>{"use strict";Object.defineProperty(Ge,"__esModule",{value:!0});Ge.DocumentSymbolFeature=Ge.SupportedSymbolTags=Ge.SupportedSymbolKinds=void 0;var Gu=I("vscode"),z=L(),Ys=W(),Yu=te();Ge.SupportedSymbolKinds=[z.SymbolKind.File,z.SymbolKind.Module,z.SymbolKind.Namespace,z.SymbolKind.Package,z.SymbolKind.Class,z.SymbolKind.Method,z.SymbolKind.Property,z.SymbolKind.Field,z.SymbolKind.Constructor,z.SymbolKind.Enum,z.SymbolKind.Interface,z.SymbolKind.Function,z.SymbolKind.Variable,z.SymbolKind.Constant,z.SymbolKind.String,z.SymbolKind.Number,z.SymbolKind.Boolean,z.SymbolKind.Array,z.SymbolKind.Object,z.SymbolKind.Key,z.SymbolKind.Null,z.SymbolKind.EnumMember,z.SymbolKind.Struct,z.SymbolKind.Event,z.SymbolKind.Operator,z.SymbolKind.TypeParameter];Ge.SupportedSymbolTags=[z.SymbolTag.Deprecated];var Xs=class extends Ys.TextDocumentLanguageFeature{constructor(e){super(e,z.DocumentSymbolRequest.type)}fillClientCapabilities(e){let t=(0,Ys.ensure)((0,Ys.ensure)(e,"textDocument"),"documentSymbol");t.dynamicRegistration=!0,t.symbolKind={valueSet:Ge.SupportedSymbolKinds},t.hierarchicalDocumentSymbolSupport=!0,t.tagSupport={valueSet:Ge.SupportedSymbolTags},t.labelSupport=!0}initialize(e,t){let n=this.getRegistrationOptions(t,e.documentSymbolProvider);n&&this.register({id:Yu.generateUuid(),registerOptions:n})}registerLanguageProvider(e){let t=e.documentSelector,n={provideDocumentSymbols:(r,o)=>{let c=this._client,d=async(p,g)=>{try{let h=await c.sendRequest(z.DocumentSymbolRequest.type,c.code2ProtocolConverter.asDocumentSymbolParams(p),g);if(g.isCancellationRequested||h===void 0||h===null)return null;if(h.length===0)return[];{let v=h[0];return z.DocumentSymbol.is(v)?await c.protocol2CodeConverter.asDocumentSymbols(h,g):await c.protocol2CodeConverter.asSymbolInformations(h,g)}}catch(h){return c.handleFailedRequest(z.DocumentSymbolRequest.type,g,h,null)}},l=c.middleware;return l.provideDocumentSymbols?l.provideDocumentSymbols(r,o,d):d(r,o)}},i=e.label!==void 0?{label:e.label}:void 0;return[Gu.languages.registerDocumentSymbolProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),n,i),n]}};Ge.DocumentSymbolFeature=Xs});var bc=F(Pi=>{"use strict";Object.defineProperty(Pi,"__esModule",{value:!0});Pi.WorkspaceSymbolFeature=void 0;var Xu=I("vscode"),yn=L(),eo=W(),_c=Zs(),Zu=te(),to=class extends eo.WorkspaceFeature{constructor(e){super(e,yn.WorkspaceSymbolRequest.type)}fillClientCapabilities(e){let t=(0,eo.ensure)((0,eo.ensure)(e,"workspace"),"symbol");t.dynamicRegistration=!0,t.symbolKind={valueSet:_c.SupportedSymbolKinds},t.tagSupport={valueSet:_c.SupportedSymbolTags},t.resolveSupport={properties:["location.range"]}}initialize(e){e.workspaceSymbolProvider&&this.register({id:Zu.generateUuid(),registerOptions:e.workspaceSymbolProvider===!0?{workDoneProgress:!1}:e.workspaceSymbolProvider})}registerLanguageProvider(e){let t={provideWorkspaceSymbols:(n,i)=>{let r=this._client,o=(d,l)=>r.sendRequest(yn.WorkspaceSymbolRequest.type,{query:d},l).then(p=>l.isCancellationRequested?null:r.protocol2CodeConverter.asSymbolInformations(p,l),p=>r.handleFailedRequest(yn.WorkspaceSymbolRequest.type,l,p,null)),c=r.middleware;return c.provideWorkspaceSymbols?c.provideWorkspaceSymbols(n,i,o):o(n,i)},resolveWorkspaceSymbol:e.resolveProvider===!0?(n,i)=>{let r=this._client,o=(d,l)=>r.sendRequest(yn.WorkspaceSymbolResolveRequest.type,r.code2ProtocolConverter.asWorkspaceSymbol(d),l).then(p=>l.isCancellationRequested?null:r.protocol2CodeConverter.asSymbolInformation(p),p=>r.handleFailedRequest(yn.WorkspaceSymbolResolveRequest.type,l,p,null)),c=r.middleware;return c.resolveWorkspaceSymbol?c.resolveWorkspaceSymbol(n,i,o):o(n,i)}:void 0};return[Xu.languages.registerWorkspaceSymbolProvider(t),t]}};Pi.WorkspaceSymbolFeature=to});var Tc=F(Ri=>{"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});Ri.ReferencesFeature=void 0;var el=I("vscode"),no=L(),io=W(),tl=te(),ro=class extends io.TextDocumentLanguageFeature{constructor(e){super(e,no.ReferencesRequest.type)}fillClientCapabilities(e){(0,io.ensure)((0,io.ensure)(e,"textDocument"),"references").dynamicRegistration=!0}initialize(e,t){let n=this.getRegistrationOptions(t,e.referencesProvider);n&&this.register({id:tl.generateUuid(),registerOptions:n})}registerLanguageProvider(e){let t=e.documentSelector,n={provideReferences:(i,r,o,c)=>{let d=this._client,l=(g,h,v,f)=>d.sendRequest(no.ReferencesRequest.type,d.code2ProtocolConverter.asReferenceParams(g,h,v),f).then(y=>f.isCancellationRequested?null:d.protocol2CodeConverter.asReferences(y,f),y=>d.handleFailedRequest(no.ReferencesRequest.type,f,y,null)),p=d.middleware;return p.provideReferences?p.provideReferences(i,r,o,c,l):l(i,r,o,c)}};return[this.registerProvider(t,n),n]}registerProvider(e,t){return el.languages.registerReferenceProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};Ri.ReferencesFeature=ro});var kc=F(xi=>{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});xi.CodeActionFeature=void 0;var nl=I("vscode"),xe=L(),il=te(),so=W(),oo=class extends so.TextDocumentLanguageFeature{constructor(e){super(e,xe.CodeActionRequest.type)}fillClientCapabilities(e){let t=(0,so.ensure)((0,so.ensure)(e,"textDocument"),"codeAction");t.dynamicRegistration=!0,t.isPreferredSupport=!0,t.disabledSupport=!0,t.dataSupport=!0,t.resolveSupport={properties:["edit"]},t.codeActionLiteralSupport={codeActionKind:{valueSet:[xe.CodeActionKind.Empty,xe.CodeActionKind.QuickFix,xe.CodeActionKind.Refactor,xe.CodeActionKind.RefactorExtract,xe.CodeActionKind.RefactorInline,xe.CodeActionKind.RefactorRewrite,xe.CodeActionKind.Source,xe.CodeActionKind.SourceOrganizeImports]}},t.honorsChangeAnnotations=!0}initialize(e,t){let n=this.getRegistrationOptions(t,e.codeActionProvider);n&&this.register({id:il.generateUuid(),registerOptions:n})}registerLanguageProvider(e){let t=e.documentSelector,n={provideCodeActions:(i,r,o,c)=>{let d=this._client,l=async(g,h,v,f)=>{let y={textDocument:d.code2ProtocolConverter.asTextDocumentIdentifier(g),range:d.code2ProtocolConverter.asRange(h),context:d.code2ProtocolConverter.asCodeActionContextSync(v)};return d.sendRequest(xe.CodeActionRequest.type,y,f).then(w=>f.isCancellationRequested||w===null||w===void 0?null:d.protocol2CodeConverter.asCodeActionResult(w,f),w=>d.handleFailedRequest(xe.CodeActionRequest.type,f,w,null))},p=d.middleware;return p.provideCodeActions?p.provideCodeActions(i,r,o,c,l):l(i,r,o,c)},resolveCodeAction:e.resolveProvider?(i,r)=>{let o=this._client,c=this._client.middleware,d=async(l,p)=>o.sendRequest(xe.CodeActionResolveRequest.type,o.code2ProtocolConverter.asCodeActionSync(l),p).then(g=>p.isCancellationRequested?l:o.protocol2CodeConverter.asCodeAction(g,p),g=>o.handleFailedRequest(xe.CodeActionResolveRequest.type,p,g,l));return c.resolveCodeAction?c.resolveCodeAction(i,r,d):d(i,r)}:void 0};return[nl.languages.registerCodeActionsProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),n,e.codeActionKinds?{providedCodeActionKinds:this._client.protocol2CodeConverter.asCodeActionKinds(e.codeActionKinds)}:void 0),n]}};xi.CodeActionFeature=oo});var Rc=F(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});Fi.CodeLensFeature=void 0;var Pc=I("vscode"),Bt=L(),rl=te(),Cn=W(),ao=class extends Cn.TextDocumentLanguageFeature{constructor(e){super(e,Bt.CodeLensRequest.type)}fillClientCapabilities(e){(0,Cn.ensure)((0,Cn.ensure)(e,"textDocument"),"codeLens").dynamicRegistration=!0,(0,Cn.ensure)((0,Cn.ensure)(e,"workspace"),"codeLens").refreshSupport=!0}initialize(e,t){this._client.onRequest(Bt.CodeLensRefreshRequest.type,async()=>{for(let r of this.getAllProviders())r.onDidChangeCodeLensEmitter.fire()});let i=this.getRegistrationOptions(t,e.codeLensProvider);i&&this.register({id:rl.generateUuid(),registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,n=new Pc.EventEmitter,i={onDidChangeCodeLenses:n.event,provideCodeLenses:(r,o)=>{let c=this._client,d=(p,g)=>c.sendRequest(Bt.CodeLensRequest.type,c.code2ProtocolConverter.asCodeLensParams(p),g).then(h=>g.isCancellationRequested?null:c.protocol2CodeConverter.asCodeLenses(h,g),h=>c.handleFailedRequest(Bt.CodeLensRequest.type,g,h,null)),l=c.middleware;return l.provideCodeLenses?l.provideCodeLenses(r,o,d):d(r,o)},resolveCodeLens:e.resolveProvider?(r,o)=>{let c=this._client,d=(p,g)=>c.sendRequest(Bt.CodeLensResolveRequest.type,c.code2ProtocolConverter.asCodeLens(p),g).then(h=>g.isCancellationRequested?p:c.protocol2CodeConverter.asCodeLens(h),h=>c.handleFailedRequest(Bt.CodeLensResolveRequest.type,g,h,p)),l=c.middleware;return l.resolveCodeLens?l.resolveCodeLens(r,o,d):d(r,o)}:void 0};return[Pc.languages.registerCodeLensProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),i),{provider:i,onDidChangeCodeLensEmitter:n}]}};Fi.CodeLensFeature=ao});var xc=F(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.DocumentOnTypeFormattingFeature=vt.DocumentRangeFormattingFeature=vt.DocumentFormattingFeature=void 0;var qi=I("vscode"),$e=L(),po=te(),it=W(),Jt;(function(s){function e(t){let n=qi.workspace.getConfiguration("files",t);return{trimTrailingWhitespace:n.get("trimTrailingWhitespace"),trimFinalNewlines:n.get("trimFinalNewlines"),insertFinalNewline:n.get("insertFinalNewline")}}s.fromConfiguration=e})(Jt||(Jt={}));var co=class extends it.TextDocumentLanguageFeature{constructor(e){super(e,$e.DocumentFormattingRequest.type)}fillClientCapabilities(e){(0,it.ensure)((0,it.ensure)(e,"textDocument"),"formatting").dynamicRegistration=!0}initialize(e,t){let n=this.getRegistrationOptions(t,e.documentFormattingProvider);n&&this.register({id:po.generateUuid(),registerOptions:n})}registerLanguageProvider(e){let t=e.documentSelector,n={provideDocumentFormattingEdits:(i,r,o)=>{let c=this._client,d=(p,g,h)=>{let v={textDocument:c.code2ProtocolConverter.asTextDocumentIdentifier(p),options:c.code2ProtocolConverter.asFormattingOptions(g,Jt.fromConfiguration(p))};return c.sendRequest($e.DocumentFormattingRequest.type,v,h).then(f=>h.isCancellationRequested?null:c.protocol2CodeConverter.asTextEdits(f,h),f=>c.handleFailedRequest($e.DocumentFormattingRequest.type,h,f,null))},l=c.middleware;return l.provideDocumentFormattingEdits?l.provideDocumentFormattingEdits(i,r,o,d):d(i,r,o)}};return[qi.languages.registerDocumentFormattingEditProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),n),n]}};vt.DocumentFormattingFeature=co;var uo=class extends it.TextDocumentLanguageFeature{constructor(e){super(e,$e.DocumentRangeFormattingRequest.type)}fillClientCapabilities(e){let t=(0,it.ensure)((0,it.ensure)(e,"textDocument"),"rangeFormatting");t.dynamicRegistration=!0,t.rangesSupport=!0}initialize(e,t){let n=this.getRegistrationOptions(t,e.documentRangeFormattingProvider);n&&this.register({id:po.generateUuid(),registerOptions:n})}registerLanguageProvider(e){let t=e.documentSelector,n={provideDocumentRangeFormattingEdits:(i,r,o,c)=>{let d=this._client,l=(g,h,v,f)=>{let y={textDocument:d.code2ProtocolConverter.asTextDocumentIdentifier(g),range:d.code2ProtocolConverter.asRange(h),options:d.code2ProtocolConverter.asFormattingOptions(v,Jt.fromConfiguration(g))};return d.sendRequest($e.DocumentRangeFormattingRequest.type,y,f).then(w=>f.isCancellationRequested?null:d.protocol2CodeConverter.asTextEdits(w,f),w=>d.handleFailedRequest($e.DocumentRangeFormattingRequest.type,f,w,null))},p=d.middleware;return p.provideDocumentRangeFormattingEdits?p.provideDocumentRangeFormattingEdits(i,r,o,c,l):l(i,r,o,c)}};return e.rangesSupport&&(n.provideDocumentRangesFormattingEdits=(i,r,o,c)=>{let d=this._client,l=(g,h,v,f)=>{let y={textDocument:d.code2ProtocolConverter.asTextDocumentIdentifier(g),ranges:d.code2ProtocolConverter.asRanges(h),options:d.code2ProtocolConverter.asFormattingOptions(v,Jt.fromConfiguration(g))};return d.sendRequest($e.DocumentRangesFormattingRequest.type,y,f).then(w=>f.isCancellationRequested?null:d.protocol2CodeConverter.asTextEdits(w,f),w=>d.handleFailedRequest($e.DocumentRangesFormattingRequest.type,f,w,null))},p=d.middleware;return p.provideDocumentRangesFormattingEdits?p.provideDocumentRangesFormattingEdits(i,r,o,c,l):l(i,r,o,c)}),[qi.languages.registerDocumentRangeFormattingEditProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),n),n]}};vt.DocumentRangeFormattingFeature=uo;var lo=class extends it.TextDocumentLanguageFeature{constructor(e){super(e,$e.DocumentOnTypeFormattingRequest.type)}fillClientCapabilities(e){(0,it.ensure)((0,it.ensure)(e,"textDocument"),"onTypeFormatting").dynamicRegistration=!0}initialize(e,t){let n=this.getRegistrationOptions(t,e.documentOnTypeFormattingProvider);n&&this.register({id:po.generateUuid(),registerOptions:n})}registerLanguageProvider(e){let t=e.documentSelector,n={provideOnTypeFormattingEdits:(r,o,c,d,l)=>{let p=this._client,g=(v,f,y,w,b)=>{let T={textDocument:p.code2ProtocolConverter.asTextDocumentIdentifier(v),position:p.code2ProtocolConverter.asPosition(f),ch:y,options:p.code2ProtocolConverter.asFormattingOptions(w,Jt.fromConfiguration(v))};return p.sendRequest($e.DocumentOnTypeFormattingRequest.type,T,b).then(P=>b.isCancellationRequested?null:p.protocol2CodeConverter.asTextEdits(P,b),P=>p.handleFailedRequest($e.DocumentOnTypeFormattingRequest.type,b,P,null))},h=p.middleware;return h.provideOnTypeFormattingEdits?h.provideOnTypeFormattingEdits(r,o,c,d,l,g):g(r,o,c,d,l)}},i=e.moreTriggerCharacter||[];return[qi.languages.registerOnTypeFormattingEditProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),n,e.firstTriggerCharacter,...i),n]}};vt.DocumentOnTypeFormattingFeature=lo});var qc=F(Ii=>{"use strict";Object.defineProperty(Ii,"__esModule",{value:!0});Ii.RenameFeature=void 0;var sl=I("vscode"),Pt=L(),ol=te(),Fc=Ee(),fo=W(),ho=class extends fo.TextDocumentLanguageFeature{constructor(e){super(e,Pt.RenameRequest.type)}fillClientCapabilities(e){let t=(0,fo.ensure)((0,fo.ensure)(e,"textDocument"),"rename");t.dynamicRegistration=!0,t.prepareSupport=!0,t.prepareSupportDefaultBehavior=Pt.PrepareSupportDefaultBehavior.Identifier,t.honorsChangeAnnotations=!0}initialize(e,t){let n=this.getRegistrationOptions(t,e.renameProvider);n&&(Fc.boolean(e.renameProvider)&&(n.prepareProvider=!1),this.register({id:ol.generateUuid(),registerOptions:n}))}registerLanguageProvider(e){let t=e.documentSelector,n={provideRenameEdits:(i,r,o,c)=>{let d=this._client,l=(g,h,v,f)=>{let y={textDocument:d.code2ProtocolConverter.asTextDocumentIdentifier(g),position:d.code2ProtocolConverter.asPosition(h),newName:v};return d.sendRequest(Pt.RenameRequest.type,y,f).then(w=>f.isCancellationRequested?null:d.protocol2CodeConverter.asWorkspaceEdit(w,f),w=>d.handleFailedRequest(Pt.RenameRequest.type,f,w,null,!1))},p=d.middleware;return p.provideRenameEdits?p.provideRenameEdits(i,r,o,c,l):l(i,r,o,c)},prepareRename:e.prepareProvider?(i,r,o)=>{let c=this._client,d=(p,g,h)=>{let v={textDocument:c.code2ProtocolConverter.asTextDocumentIdentifier(p),position:c.code2ProtocolConverter.asPosition(g)};return c.sendRequest(Pt.PrepareRenameRequest.type,v,h).then(f=>h.isCancellationRequested?null:Pt.Range.is(f)?c.protocol2CodeConverter.asRange(f):this.isDefaultBehavior(f)?f.defaultBehavior===!0?null:Promise.reject(new Error("The element can't be renamed.")):f&&Pt.Range.is(f.range)?{range:c.protocol2CodeConverter.asRange(f.range),placeholder:f.placeholder}:Promise.reject(new Error("The element can't be renamed.")),f=>{throw typeof f.message=="string"?new Error(f.message):new Error("The element can't be renamed.")})},l=c.middleware;return l.prepareRename?l.prepareRename(i,r,o,d):d(i,r,o)}:void 0};return[this.registerProvider(t,n),n]}registerProvider(e,t){return sl.languages.registerRenameProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}isDefaultBehavior(e){let t=e;return t&&Fc.boolean(t.defaultBehavior)}};Ii.RenameFeature=ho});var Ic=F(Ei=>{"use strict";Object.defineProperty(Ei,"__esModule",{value:!0});Ei.DocumentLinkFeature=void 0;var al=I("vscode"),wn=L(),go=W(),cl=te(),mo=class extends go.TextDocumentLanguageFeature{constructor(e){super(e,wn.DocumentLinkRequest.type)}fillClientCapabilities(e){let t=(0,go.ensure)((0,go.ensure)(e,"textDocument"),"documentLink");t.dynamicRegistration=!0,t.tooltipSupport=!0}initialize(e,t){let n=this.getRegistrationOptions(t,e.documentLinkProvider);n&&this.register({id:cl.generateUuid(),registerOptions:n})}registerLanguageProvider(e){let t=e.documentSelector,n={provideDocumentLinks:(i,r)=>{let o=this._client,c=(l,p)=>o.sendRequest(wn.DocumentLinkRequest.type,o.code2ProtocolConverter.asDocumentLinkParams(l),p).then(g=>p.isCancellationRequested?null:o.protocol2CodeConverter.asDocumentLinks(g,p),g=>o.handleFailedRequest(wn.DocumentLinkRequest.type,p,g,null)),d=o.middleware;return d.provideDocumentLinks?d.provideDocumentLinks(i,r,c):c(i,r)},resolveDocumentLink:e.resolveProvider?(i,r)=>{let o=this._client,c=(l,p)=>o.sendRequest(wn.DocumentLinkResolveRequest.type,o.code2ProtocolConverter.asDocumentLink(l),p).then(g=>p.isCancellationRequested?l:o.protocol2CodeConverter.asDocumentLink(g),g=>o.handleFailedRequest(wn.DocumentLinkResolveRequest.type,p,g,l)),d=o.middleware;return d.resolveDocumentLink?d.resolveDocumentLink(i,r,c):c(i,r)}:void 0};return[al.languages.registerDocumentLinkProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),n),n]}};Ei.DocumentLinkFeature=mo});var Mc=F(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.ExecuteCommandFeature=void 0;var dl=I("vscode"),vo=L(),ul=te(),Ec=W(),yo=class{constructor(e){this._client=e,this._commands=new Map}getState(){return{kind:"workspace",id:this.registrationType.method,registrations:this._commands.size>0}}get registrationType(){return vo.ExecuteCommandRequest.type}fillClientCapabilities(e){(0,Ec.ensure)((0,Ec.ensure)(e,"workspace"),"executeCommand").dynamicRegistration=!0}initialize(e){e.executeCommandProvider&&this.register({id:ul.generateUuid(),registerOptions:Object.assign({},e.executeCommandProvider)})}register(e){let t=this._client,n=t.middleware,i=(r,o)=>{let c={command:r,arguments:o};return t.sendRequest(vo.ExecuteCommandRequest.type,c).then(void 0,d=>t.handleFailedRequest(vo.ExecuteCommandRequest.type,void 0,d,void 0))};if(e.registerOptions.commands){let r=[];for(let o of e.registerOptions.commands)r.push(dl.commands.registerCommand(o,(...c)=>n.executeCommand?n.executeCommand(o,c,i):i(o,c)));this._commands.set(e.id,r)}}unregister(e){let t=this._commands.get(e);t&&t.forEach(n=>n.dispose())}clear(){this._commands.forEach(e=>{e.forEach(t=>t.dispose())}),this._commands.clear()}};Mi.ExecuteCommandFeature=yo});var Oc=F(Ai=>{"use strict";Object.defineProperty(Ai,"__esModule",{value:!0});Ai.FileSystemWatcherFeature=void 0;var ll=I("vscode"),Rt=L(),Oi=W(),Co=class{constructor(e,t){this._client=e,this._notifyFileEvent=t,this._watchers=new Map}getState(){return{kind:"workspace",id:this.registrationType.method,registrations:this._watchers.size>0}}get registrationType(){return Rt.DidChangeWatchedFilesNotification.type}fillClientCapabilities(e){(0,Oi.ensure)((0,Oi.ensure)(e,"workspace"),"didChangeWatchedFiles").dynamicRegistration=!0,(0,Oi.ensure)((0,Oi.ensure)(e,"workspace"),"didChangeWatchedFiles").relativePatternSupport=!0}initialize(e,t){}register(e){if(!Array.isArray(e.registerOptions.watchers))return;let t=[];for(let n of e.registerOptions.watchers){let i=this._client.protocol2CodeConverter.asGlobPattern(n.globPattern);if(i===void 0)continue;let r=!0,o=!0,c=!0;n.kind!==void 0&&n.kind!==null&&(r=(n.kind&Rt.WatchKind.Create)!==0,o=(n.kind&Rt.WatchKind.Change)!==0,c=(n.kind&Rt.WatchKind.Delete)!==0);let d=ll.workspace.createFileSystemWatcher(i,!r,!o,!c);this.hookListeners(d,r,o,c,t),t.push(d)}this._watchers.set(e.id,t)}registerRaw(e,t){let n=[];for(let i of t)this.hookListeners(i,!0,!0,!0,n);this._watchers.set(e,n)}hookListeners(e,t,n,i,r){t&&e.onDidCreate(o=>this._notifyFileEvent({uri:this._client.code2ProtocolConverter.asUri(o),type:Rt.FileChangeType.Created}),null,r),n&&e.onDidChange(o=>this._notifyFileEvent({uri:this._client.code2ProtocolConverter.asUri(o),type:Rt.FileChangeType.Changed}),null,r),i&&e.onDidDelete(o=>this._notifyFileEvent({uri:this._client.code2ProtocolConverter.asUri(o),type:Rt.FileChangeType.Deleted}),null,r)}unregister(e){let t=this._watchers.get(e);if(t)for(let n of t)n.dispose()}clear(){this._watchers.forEach(e=>{for(let t of e)t.dispose()}),this._watchers.clear()}};Ai.FileSystemWatcherFeature=Co});var Ac=F(Li=>{"use strict";Object.defineProperty(Li,"__esModule",{value:!0});Li.ColorProviderFeature=void 0;var pl=I("vscode"),Dn=L(),wo=W(),Do=class extends wo.TextDocumentLanguageFeature{constructor(e){super(e,Dn.DocumentColorRequest.type)}fillClientCapabilities(e){(0,wo.ensure)((0,wo.ensure)(e,"textDocument"),"colorProvider").dynamicRegistration=!0}initialize(e,t){let[n,i]=this.getRegistration(t,e.colorProvider);!n||!i||this.register({id:n,registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,n={provideColorPresentations:(i,r,o)=>{let c=this._client,d=(p,g,h)=>{let v={color:p,textDocument:c.code2ProtocolConverter.asTextDocumentIdentifier(g.document),range:c.code2ProtocolConverter.asRange(g.range)};return c.sendRequest(Dn.ColorPresentationRequest.type,v,h).then(f=>h.isCancellationRequested?null:this._client.protocol2CodeConverter.asColorPresentations(f,h),f=>c.handleFailedRequest(Dn.ColorPresentationRequest.type,h,f,null))},l=c.middleware;return l.provideColorPresentations?l.provideColorPresentations(i,r,o,d):d(i,r,o)},provideDocumentColors:(i,r)=>{let o=this._client,c=(l,p)=>{let g={textDocument:o.code2ProtocolConverter.asTextDocumentIdentifier(l)};return o.sendRequest(Dn.DocumentColorRequest.type,g,p).then(h=>p.isCancellationRequested?null:this._client.protocol2CodeConverter.asColorInformations(h,p),h=>o.handleFailedRequest(Dn.DocumentColorRequest.type,p,h,null))},d=o.middleware;return d.provideDocumentColors?d.provideDocumentColors(i,r,c):c(i,r)}};return[pl.languages.registerColorProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),n),n]}};Li.ColorProviderFeature=Do});var Lc=F(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.ImplementationFeature=void 0;var fl=I("vscode"),So=L(),_o=W(),bo=class extends _o.TextDocumentLanguageFeature{constructor(e){super(e,So.ImplementationRequest.type)}fillClientCapabilities(e){let t=(0,_o.ensure)((0,_o.ensure)(e,"textDocument"),"implementation");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){let[n,i]=this.getRegistration(t,e.implementationProvider);!n||!i||this.register({id:n,registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,n={provideImplementation:(i,r,o)=>{let c=this._client,d=(p,g,h)=>c.sendRequest(So.ImplementationRequest.type,c.code2ProtocolConverter.asTextDocumentPositionParams(p,g),h).then(v=>h.isCancellationRequested?null:c.protocol2CodeConverter.asDefinitionResult(v,h),v=>c.handleFailedRequest(So.ImplementationRequest.type,h,v,null)),l=c.middleware;return l.provideImplementation?l.provideImplementation(i,r,o,d):d(i,r,o)}};return[this.registerProvider(t,n),n]}registerProvider(e,t){return fl.languages.registerImplementationProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};Ui.ImplementationFeature=bo});var Uc=F(Ni=>{"use strict";Object.defineProperty(Ni,"__esModule",{value:!0});Ni.TypeDefinitionFeature=void 0;var hl=I("vscode"),To=L(),Sn=W(),ko=class extends Sn.TextDocumentLanguageFeature{constructor(e){super(e,To.TypeDefinitionRequest.type)}fillClientCapabilities(e){(0,Sn.ensure)((0,Sn.ensure)(e,"textDocument"),"typeDefinition").dynamicRegistration=!0;let t=(0,Sn.ensure)((0,Sn.ensure)(e,"textDocument"),"typeDefinition");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){let[n,i]=this.getRegistration(t,e.typeDefinitionProvider);!n||!i||this.register({id:n,registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,n={provideTypeDefinition:(i,r,o)=>{let c=this._client,d=(p,g,h)=>c.sendRequest(To.TypeDefinitionRequest.type,c.code2ProtocolConverter.asTextDocumentPositionParams(p,g),h).then(v=>h.isCancellationRequested?null:c.protocol2CodeConverter.asDefinitionResult(v,h),v=>c.handleFailedRequest(To.TypeDefinitionRequest.type,h,v,null)),l=c.middleware;return l.provideTypeDefinition?l.provideTypeDefinition(i,r,o,d):d(i,r,o)}};return[this.registerProvider(t,n),n]}registerProvider(e,t){return hl.languages.registerTypeDefinitionProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};Ni.TypeDefinitionFeature=ko});var Nc=F(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.WorkspaceFoldersFeature=Qt.arrayDiff=void 0;var gl=te(),Ki=I("vscode"),_n=L();function Po(s,e){if(s!=null)return s[e]}function Ro(s,e){return s.filter(t=>e.indexOf(t)<0)}Qt.arrayDiff=Ro;var xo=class{constructor(e){this._client=e,this._listeners=new Map}getState(){return{kind:"workspace",id:this.registrationType.method,registrations:this._listeners.size>0}}get registrationType(){return _n.DidChangeWorkspaceFoldersNotification.type}fillInitializeParams(e){let t=Ki.workspace.workspaceFolders;this.initializeWithFolders(t),t===void 0?e.workspaceFolders=null:e.workspaceFolders=t.map(n=>this.asProtocol(n))}initializeWithFolders(e){this._initialFolders=e}fillClientCapabilities(e){e.workspace=e.workspace||{},e.workspace.workspaceFolders=!0}initialize(e){let t=this._client;t.onRequest(_n.WorkspaceFoldersRequest.type,r=>{let o=()=>{let d=Ki.workspace.workspaceFolders;return d===void 0?null:d.map(p=>this.asProtocol(p))},c=t.middleware.workspace;return c&&c.workspaceFolders?c.workspaceFolders(r,o):o(r)});let n=Po(Po(Po(e,"workspace"),"workspaceFolders"),"changeNotifications"),i;typeof n=="string"?i=n:n===!0&&(i=gl.generateUuid()),i&&this.register({id:i,registerOptions:void 0})}sendInitialEvent(e){let t;if(this._initialFolders&&e){let n=Ro(this._initialFolders,e),i=Ro(e,this._initialFolders);(i.length>0||n.length>0)&&(t=this.doSendEvent(i,n))}else this._initialFolders?t=this.doSendEvent([],this._initialFolders):e&&(t=this.doSendEvent(e,[]));t!==void 0&&t.catch(n=>{this._client.error(`Sending notification ${_n.DidChangeWorkspaceFoldersNotification.type.method} failed`,n)})}doSendEvent(e,t){let n={event:{added:e.map(i=>this.asProtocol(i)),removed:t.map(i=>this.asProtocol(i))}};return this._client.sendNotification(_n.DidChangeWorkspaceFoldersNotification.type,n)}register(e){let t=e.id,n=this._client,i=Ki.workspace.onDidChangeWorkspaceFolders(r=>{let o=l=>this.doSendEvent(l.added,l.removed),c=n.middleware.workspace;(c&&c.didChangeWorkspaceFolders?c.didChangeWorkspaceFolders(r,o):o(r)).catch(l=>{this._client.error(`Sending notification ${_n.DidChangeWorkspaceFoldersNotification.type.method} failed`,l)})});this._listeners.set(t,i),this.sendInitialEvent(Ki.workspace.workspaceFolders)}unregister(e){let t=this._listeners.get(e);t!==void 0&&(this._listeners.delete(e),t.dispose())}clear(){for(let e of this._listeners.values())e.dispose();this._listeners.clear()}asProtocol(e){return e===void 0?null:{uri:this._client.code2ProtocolConverter.asUri(e.uri),name:e.name}}};Qt.WorkspaceFoldersFeature=xo});var Hc=F(Hi=>{"use strict";Object.defineProperty(Hi,"__esModule",{value:!0});Hi.FoldingRangeFeature=void 0;var Kc=I("vscode"),xt=L(),bn=W(),Fo=class extends bn.TextDocumentLanguageFeature{constructor(e){super(e,xt.FoldingRangeRequest.type)}fillClientCapabilities(e){let t=(0,bn.ensure)((0,bn.ensure)(e,"textDocument"),"foldingRange");t.dynamicRegistration=!0,t.rangeLimit=5e3,t.lineFoldingOnly=!0,t.foldingRangeKind={valueSet:[xt.FoldingRangeKind.Comment,xt.FoldingRangeKind.Imports,xt.FoldingRangeKind.Region]},t.foldingRange={collapsedText:!1},(0,bn.ensure)((0,bn.ensure)(e,"workspace"),"foldingRange").refreshSupport=!0}initialize(e,t){this._client.onRequest(xt.FoldingRangeRefreshRequest.type,async()=>{for(let r of this.getAllProviders())r.onDidChangeFoldingRange.fire()});let[n,i]=this.getRegistration(t,e.foldingRangeProvider);!n||!i||this.register({id:n,registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,n=new Kc.EventEmitter,i={onDidChangeFoldingRanges:n.event,provideFoldingRanges:(r,o,c)=>{let d=this._client,l=(g,h,v)=>{let f={textDocument:d.code2ProtocolConverter.asTextDocumentIdentifier(g)};return d.sendRequest(xt.FoldingRangeRequest.type,f,v).then(y=>v.isCancellationRequested?null:d.protocol2CodeConverter.asFoldingRanges(y,v),y=>d.handleFailedRequest(xt.FoldingRangeRequest.type,v,y,null))},p=d.middleware;return p.provideFoldingRanges?p.provideFoldingRanges(r,o,c,l):l(r,o,c)}};return[Kc.languages.registerFoldingRangeProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),i),{provider:i,onDidChangeFoldingRange:n}]}};Hi.FoldingRangeFeature=Fo});var $c=F($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.DeclarationFeature=void 0;var ml=I("vscode"),qo=L(),Io=W(),Eo=class extends Io.TextDocumentLanguageFeature{constructor(e){super(e,qo.DeclarationRequest.type)}fillClientCapabilities(e){let t=(0,Io.ensure)((0,Io.ensure)(e,"textDocument"),"declaration");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){let[n,i]=this.getRegistration(t,e.declarationProvider);!n||!i||this.register({id:n,registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,n={provideDeclaration:(i,r,o)=>{let c=this._client,d=(p,g,h)=>c.sendRequest(qo.DeclarationRequest.type,c.code2ProtocolConverter.asTextDocumentPositionParams(p,g),h).then(v=>h.isCancellationRequested?null:c.protocol2CodeConverter.asDeclarationResult(v,h),v=>c.handleFailedRequest(qo.DeclarationRequest.type,h,v,null)),l=c.middleware;return l.provideDeclaration?l.provideDeclaration(i,r,o,d):d(i,r,o)}};return[this.registerProvider(t,n),n]}registerProvider(e,t){return ml.languages.registerDeclarationProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};$i.DeclarationFeature=Eo});var Wc=F(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.SelectionRangeFeature=void 0;var vl=I("vscode"),Mo=L(),Oo=W(),Ao=class extends Oo.TextDocumentLanguageFeature{constructor(e){super(e,Mo.SelectionRangeRequest.type)}fillClientCapabilities(e){let t=(0,Oo.ensure)((0,Oo.ensure)(e,"textDocument"),"selectionRange");t.dynamicRegistration=!0}initialize(e,t){let[n,i]=this.getRegistration(t,e.selectionRangeProvider);!n||!i||this.register({id:n,registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,n={provideSelectionRanges:(i,r,o)=>{let c=this._client,d=async(p,g,h)=>{let v={textDocument:c.code2ProtocolConverter.asTextDocumentIdentifier(p),positions:c.code2ProtocolConverter.asPositionsSync(g,h)};return c.sendRequest(Mo.SelectionRangeRequest.type,v,h).then(f=>h.isCancellationRequested?null:c.protocol2CodeConverter.asSelectionRanges(f,h),f=>c.handleFailedRequest(Mo.SelectionRangeRequest.type,h,f,null))},l=c.middleware;return l.provideSelectionRanges?l.provideSelectionRanges(i,r,o,d):d(i,r,o)}};return[this.registerProvider(t,n),n]}registerProvider(e,t){return vl.languages.registerSelectionRangeProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};Wi.SelectionRangeFeature=Ao});var zc=F(ji=>{"use strict";Object.defineProperty(ji,"__esModule",{value:!0});ji.ProgressFeature=void 0;var jc=L(),yl=gs();function Cl(s,e){return s[e]===void 0&&(s[e]=Object.create(null)),s[e]}var Lo=class{constructor(e){this._client=e,this.activeParts=new Set}getState(){return{kind:"window",id:jc.WorkDoneProgressCreateRequest.method,registrations:this.activeParts.size>0}}fillClientCapabilities(e){Cl(e,"window").workDoneProgress=!0}initialize(){let e=this._client,t=i=>{this.activeParts.delete(i)},n=i=>{this.activeParts.add(new yl.ProgressPart(this._client,i.token,t))};e.onRequest(jc.WorkDoneProgressCreateRequest.type,n)}clear(){for(let e of this.activeParts)e.done();this.activeParts.clear()}};ji.ProgressFeature=Lo});var Vc=F(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.CallHierarchyFeature=void 0;var wl=I("vscode"),Ft=L(),Uo=W(),No=class{constructor(e){this.client=e,this.middleware=e.middleware}prepareCallHierarchy(e,t,n){let i=this.client,r=this.middleware,o=(c,d,l)=>{let p=i.code2ProtocolConverter.asTextDocumentPositionParams(c,d);return i.sendRequest(Ft.CallHierarchyPrepareRequest.type,p,l).then(g=>l.isCancellationRequested?null:i.protocol2CodeConverter.asCallHierarchyItems(g,l),g=>i.handleFailedRequest(Ft.CallHierarchyPrepareRequest.type,l,g,null))};return r.prepareCallHierarchy?r.prepareCallHierarchy(e,t,n,o):o(e,t,n)}provideCallHierarchyIncomingCalls(e,t){let n=this.client,i=this.middleware,r=(o,c)=>{let d={item:n.code2ProtocolConverter.asCallHierarchyItem(o)};return n.sendRequest(Ft.CallHierarchyIncomingCallsRequest.type,d,c).then(l=>c.isCancellationRequested?null:n.protocol2CodeConverter.asCallHierarchyIncomingCalls(l,c),l=>n.handleFailedRequest(Ft.CallHierarchyIncomingCallsRequest.type,c,l,null))};return i.provideCallHierarchyIncomingCalls?i.provideCallHierarchyIncomingCalls(e,t,r):r(e,t)}provideCallHierarchyOutgoingCalls(e,t){let n=this.client,i=this.middleware,r=(o,c)=>{let d={item:n.code2ProtocolConverter.asCallHierarchyItem(o)};return n.sendRequest(Ft.CallHierarchyOutgoingCallsRequest.type,d,c).then(l=>c.isCancellationRequested?null:n.protocol2CodeConverter.asCallHierarchyOutgoingCalls(l,c),l=>n.handleFailedRequest(Ft.CallHierarchyOutgoingCallsRequest.type,c,l,null))};return i.provideCallHierarchyOutgoingCalls?i.provideCallHierarchyOutgoingCalls(e,t,r):r(e,t)}},Ko=class extends Uo.TextDocumentLanguageFeature{constructor(e){super(e,Ft.CallHierarchyPrepareRequest.type)}fillClientCapabilities(e){let t=e,n=(0,Uo.ensure)((0,Uo.ensure)(t,"textDocument"),"callHierarchy");n.dynamicRegistration=!0}initialize(e,t){let[n,i]=this.getRegistration(t,e.callHierarchyProvider);!n||!i||this.register({id:n,registerOptions:i})}registerLanguageProvider(e){let t=this._client,n=new No(t);return[wl.languages.registerCallHierarchyProvider(this._client.protocol2CodeConverter.asDocumentSelector(e.documentSelector),n),n]}};zi.CallHierarchyFeature=Ko});var Bc=F(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.SemanticTokensFeature=void 0;var Vi=I("vscode"),U=L(),Tn=W(),Dl=Ee(),Ho=class extends Tn.TextDocumentLanguageFeature{constructor(e){super(e,U.SemanticTokensRegistrationType.type)}fillClientCapabilities(e){let t=(0,Tn.ensure)((0,Tn.ensure)(e,"textDocument"),"semanticTokens");t.dynamicRegistration=!0,t.tokenTypes=[U.SemanticTokenTypes.namespace,U.SemanticTokenTypes.type,U.SemanticTokenTypes.class,U.SemanticTokenTypes.enum,U.SemanticTokenTypes.interface,U.SemanticTokenTypes.struct,U.SemanticTokenTypes.typeParameter,U.SemanticTokenTypes.parameter,U.SemanticTokenTypes.variable,U.SemanticTokenTypes.property,U.SemanticTokenTypes.enumMember,U.SemanticTokenTypes.event,U.SemanticTokenTypes.function,U.SemanticTokenTypes.method,U.SemanticTokenTypes.macro,U.SemanticTokenTypes.keyword,U.SemanticTokenTypes.modifier,U.SemanticTokenTypes.comment,U.SemanticTokenTypes.string,U.SemanticTokenTypes.number,U.SemanticTokenTypes.regexp,U.SemanticTokenTypes.operator,U.SemanticTokenTypes.decorator],t.tokenModifiers=[U.SemanticTokenModifiers.declaration,U.SemanticTokenModifiers.definition,U.SemanticTokenModifiers.readonly,U.SemanticTokenModifiers.static,U.SemanticTokenModifiers.deprecated,U.SemanticTokenModifiers.abstract,U.SemanticTokenModifiers.async,U.SemanticTokenModifiers.modification,U.SemanticTokenModifiers.documentation,U.SemanticTokenModifiers.defaultLibrary],t.formats=[U.TokenFormat.Relative],t.requests={range:!0,full:{delta:!0}},t.multilineTokenSupport=!1,t.overlappingTokenSupport=!1,t.serverCancelSupport=!0,t.augmentsSyntaxTokens=!0,(0,Tn.ensure)((0,Tn.ensure)(e,"workspace"),"semanticTokens").refreshSupport=!0}initialize(e,t){this._client.onRequest(U.SemanticTokensRefreshRequest.type,async()=>{for(let o of this.getAllProviders())o.onDidChangeSemanticTokensEmitter.fire()});let[i,r]=this.getRegistration(t,e.semanticTokensProvider);!i||!r||this.register({id:i,registerOptions:r})}registerLanguageProvider(e){let t=e.documentSelector,n=Dl.boolean(e.full)?e.full:e.full!==void 0,i=e.full!==void 0&&typeof e.full!="boolean"&&e.full.delta===!0,r=new Vi.EventEmitter,o=n?{onDidChangeSemanticTokens:r.event,provideDocumentSemanticTokens:(v,f)=>{let y=this._client,w=y.middleware,b=(T,P)=>{let q={textDocument:y.code2ProtocolConverter.asTextDocumentIdentifier(T)};return y.sendRequest(U.SemanticTokensRequest.type,q,P).then(ce=>P.isCancellationRequested?null:y.protocol2CodeConverter.asSemanticTokens(ce,P),ce=>y.handleFailedRequest(U.SemanticTokensRequest.type,P,ce,null))};return w.provideDocumentSemanticTokens?w.provideDocumentSemanticTokens(v,f,b):b(v,f)},provideDocumentSemanticTokensEdits:i?(v,f,y)=>{let w=this._client,b=w.middleware,T=(P,q,ce)=>{let V={textDocument:w.code2ProtocolConverter.asTextDocumentIdentifier(P),previousResultId:q};return w.sendRequest(U.SemanticTokensDeltaRequest.type,V,ce).then(async Z=>ce.isCancellationRequested?null:U.SemanticTokens.is(Z)?await w.protocol2CodeConverter.asSemanticTokens(Z,ce):await w.protocol2CodeConverter.asSemanticTokensEdits(Z,ce),Z=>w.handleFailedRequest(U.SemanticTokensDeltaRequest.type,ce,Z,null))};return b.provideDocumentSemanticTokensEdits?b.provideDocumentSemanticTokensEdits(v,f,y,T):T(v,f,y)}:void 0}:void 0,d=e.range===!0?{provideDocumentRangeSemanticTokens:(v,f,y)=>{let w=this._client,b=w.middleware,T=(P,q,ce)=>{let V={textDocument:w.code2ProtocolConverter.asTextDocumentIdentifier(P),range:w.code2ProtocolConverter.asRange(q)};return w.sendRequest(U.SemanticTokensRangeRequest.type,V,ce).then(Z=>ce.isCancellationRequested?null:w.protocol2CodeConverter.asSemanticTokens(Z,ce),Z=>w.handleFailedRequest(U.SemanticTokensRangeRequest.type,ce,Z,null))};return b.provideDocumentRangeSemanticTokens?b.provideDocumentRangeSemanticTokens(v,f,y,T):T(v,f,y)}}:void 0,l=[],p=this._client,g=p.protocol2CodeConverter.asSemanticTokensLegend(e.legend),h=p.protocol2CodeConverter.asDocumentSelector(t);return o!==void 0&&l.push(Vi.languages.registerDocumentSemanticTokensProvider(h,o,g)),d!==void 0&&l.push(Vi.languages.registerDocumentRangeSemanticTokensProvider(h,d,g)),[new Vi.Disposable(()=>l.forEach(v=>v.dispose())),{range:d,full:o,onDidChangeSemanticTokensEmitter:r}]}};Bi.SemanticTokensFeature=Ho});var Gc=F(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});be.WillDeleteFilesFeature=be.WillRenameFilesFeature=be.WillCreateFilesFeature=be.DidDeleteFilesFeature=be.DidRenameFilesFeature=be.DidCreateFilesFeature=void 0;var Le=I("vscode"),Sl=kr(),rt=L(),_l=te();function Jc(s,e){return s[e]===void 0&&(s[e]={}),s[e]}function bl(s,e){return s[e]}function Qc(s,e,t){s[e]=t}var kn=class s{constructor(e,t,n,i,r){this._client=e,this._event=t,this._registrationType=n,this._clientCapability=i,this._serverCapability=r,this._filters=new Map}getState(){return{kind:"workspace",id:this._registrationType.method,registrations:this._filters.size>0}}filterSize(){return this._filters.size}get registrationType(){return this._registrationType}fillClientCapabilities(e){let t=Jc(Jc(e,"workspace"),"fileOperations");Qc(t,"dynamicRegistration",!0),Qc(t,this._clientCapability,!0)}initialize(e){let t=e.workspace?.fileOperations,n=t!==void 0?bl(t,this._serverCapability):void 0;if(n?.filters!==void 0)try{this.register({id:_l.generateUuid(),registerOptions:{filters:n.filters}})}catch(i){this._client.warn(`Ignoring invalid glob pattern for ${this._serverCapability} registration: ${i}`)}}register(e){this._listener||(this._listener=this._event(this.send,this));let t=e.registerOptions.filters.map(n=>{let i=new Sl.Minimatch(n.pattern.glob,s.asMinimatchOptions(n.pattern.options));if(!i.makeRe())throw new Error(`Invalid pattern ${n.pattern.glob}!`);return{scheme:n.scheme,matcher:i,kind:n.pattern.matches}});this._filters.set(e.id,t)}unregister(e){this._filters.delete(e),this._filters.size===0&&this._listener&&(this._listener.dispose(),this._listener=void 0)}clear(){this._filters.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)}getFileType(e){return s.getFileType(e)}async filter(e,t){let n=await Promise.all(e.files.map(async r=>{let o=t(r),c=o.fsPath.replace(/\\/g,"/");for(let d of this._filters.values())for(let l of d)if(!(l.scheme!==void 0&&l.scheme!==o.scheme)){if(l.matcher.match(c)){if(l.kind===void 0)return!0;let p=await this.getFileType(o);if(p===void 0)return this._client.error(`Failed to determine file type for ${o.toString()}.`),!0;if(p===Le.FileType.File&&l.kind===rt.FileOperationPatternKind.file||p===Le.FileType.Directory&&l.kind===rt.FileOperationPatternKind.folder)return!0}else if(l.kind===rt.FileOperationPatternKind.folder&&await s.getFileType(o)===Le.FileType.Directory&&l.matcher.match(`${c}/`))return!0}return!1})),i=e.files.filter((r,o)=>n[o]);return{...e,files:i}}static async getFileType(e){try{return(await Le.workspace.fs.stat(e)).type}catch{return}}static asMinimatchOptions(e){let t={dot:!0};return e?.ignoreCase===!0&&(t.nocase=!0),t}},Ji=class extends kn{constructor(e,t,n,i,r,o,c){super(e,t,n,i,r),this._notificationType=n,this._accessUri=o,this._createParams=c}async send(e){let t=await this.filter(e,this._accessUri);if(t.files.length){let n=async i=>this._client.sendNotification(this._notificationType,this._createParams(i));return this.doSend(t,n)}}},Qi=class extends Ji{constructor(){super(...arguments),this._fsPathFileTypes=new Map}async getFileType(e){let t=e.fsPath;if(this._fsPathFileTypes.has(t))return this._fsPathFileTypes.get(t);let n=await kn.getFileType(e);return n&&this._fsPathFileTypes.set(t,n),n}async cacheFileTypes(e,t){await this.filter(e,t)}clearFileTypeCache(){this._fsPathFileTypes.clear()}unregister(e){super.unregister(e),this.filterSize()===0&&this._willListener&&(this._willListener.dispose(),this._willListener=void 0)}clear(){super.clear(),this._willListener&&(this._willListener.dispose(),this._willListener=void 0)}},$o=class extends Ji{constructor(e){super(e,Le.workspace.onDidCreateFiles,rt.DidCreateFilesNotification.type,"didCreate","didCreate",t=>t,e.code2ProtocolConverter.asDidCreateFilesParams)}doSend(e,t){let n=this._client.middleware.workspace;return n?.didCreateFiles?n.didCreateFiles(e,t):t(e)}};be.DidCreateFilesFeature=$o;var Wo=class extends Qi{constructor(e){super(e,Le.workspace.onDidRenameFiles,rt.DidRenameFilesNotification.type,"didRename","didRename",t=>t.oldUri,e.code2ProtocolConverter.asDidRenameFilesParams)}register(e){this._willListener||(this._willListener=Le.workspace.onWillRenameFiles(this.willRename,this)),super.register(e)}willRename(e){e.waitUntil(this.cacheFileTypes(e,t=>t.oldUri))}doSend(e,t){this.clearFileTypeCache();let n=this._client.middleware.workspace;return n?.didRenameFiles?n.didRenameFiles(e,t):t(e)}};be.DidRenameFilesFeature=Wo;var jo=class extends Qi{constructor(e){super(e,Le.workspace.onDidDeleteFiles,rt.DidDeleteFilesNotification.type,"didDelete","didDelete",t=>t,e.code2ProtocolConverter.asDidDeleteFilesParams)}register(e){this._willListener||(this._willListener=Le.workspace.onWillDeleteFiles(this.willDelete,this)),super.register(e)}willDelete(e){e.waitUntil(this.cacheFileTypes(e,t=>t))}doSend(e,t){this.clearFileTypeCache();let n=this._client.middleware.workspace;return n?.didDeleteFiles?n.didDeleteFiles(e,t):t(e)}};be.DidDeleteFilesFeature=jo;var Pn=class extends kn{constructor(e,t,n,i,r,o,c){super(e,t,n,i,r),this._requestType=n,this._accessUri=o,this._createParams=c}async send(e){let t=this.waitUntil(e);e.waitUntil(t)}async waitUntil(e){let t=await this.filter(e,this._accessUri);if(t.files.length){let n=i=>this._client.sendRequest(this._requestType,this._createParams(i),i.token).then(this._client.protocol2CodeConverter.asWorkspaceEdit);return this.doSend(t,n)}else return}},zo=class extends Pn{constructor(e){super(e,Le.workspace.onWillCreateFiles,rt.WillCreateFilesRequest.type,"willCreate","willCreate",t=>t,e.code2ProtocolConverter.asWillCreateFilesParams)}doSend(e,t){let n=this._client.middleware.workspace;return n?.willCreateFiles?n.willCreateFiles(e,t):t(e)}};be.WillCreateFilesFeature=zo;var Vo=class extends Pn{constructor(e){super(e,Le.workspace.onWillRenameFiles,rt.WillRenameFilesRequest.type,"willRename","willRename",t=>t.oldUri,e.code2ProtocolConverter.asWillRenameFilesParams)}doSend(e,t){let n=this._client.middleware.workspace;return n?.willRenameFiles?n.willRenameFiles(e,t):t(e)}};be.WillRenameFilesFeature=Vo;var Bo=class extends Pn{constructor(e){super(e,Le.workspace.onWillDeleteFiles,rt.WillDeleteFilesRequest.type,"willDelete","willDelete",t=>t,e.code2ProtocolConverter.asWillDeleteFilesParams)}doSend(e,t){let n=this._client.middleware.workspace;return n?.willDeleteFiles?n.willDeleteFiles(e,t):t(e)}};be.WillDeleteFilesFeature=Bo});var Yc=F(Gi=>{"use strict";Object.defineProperty(Gi,"__esModule",{value:!0});Gi.LinkedEditingFeature=void 0;var Tl=I("vscode"),Jo=L(),Qo=W(),Go=class extends Qo.TextDocumentLanguageFeature{constructor(e){super(e,Jo.LinkedEditingRangeRequest.type)}fillClientCapabilities(e){let t=(0,Qo.ensure)((0,Qo.ensure)(e,"textDocument"),"linkedEditingRange");t.dynamicRegistration=!0}initialize(e,t){let[n,i]=this.getRegistration(t,e.linkedEditingRangeProvider);!n||!i||this.register({id:n,registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,n={provideLinkedEditingRanges:(i,r,o)=>{let c=this._client,d=(p,g,h)=>c.sendRequest(Jo.LinkedEditingRangeRequest.type,c.code2ProtocolConverter.asTextDocumentPositionParams(p,g),h).then(v=>h.isCancellationRequested?null:c.protocol2CodeConverter.asLinkedEditingRanges(v,h),v=>c.handleFailedRequest(Jo.LinkedEditingRangeRequest.type,h,v,null)),l=c.middleware;return l.provideLinkedEditingRange?l.provideLinkedEditingRange(i,r,o,d):d(i,r,o)}};return[this.registerProvider(t,n),n]}registerProvider(e,t){return Tl.languages.registerLinkedEditingRangeProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};Gi.LinkedEditingFeature=Go});var Xc=F(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.TypeHierarchyFeature=void 0;var kl=I("vscode"),qt=L(),Yo=W(),Xo=class{constructor(e){this.client=e,this.middleware=e.middleware}prepareTypeHierarchy(e,t,n){let i=this.client,r=this.middleware,o=(c,d,l)=>{let p=i.code2ProtocolConverter.asTextDocumentPositionParams(c,d);return i.sendRequest(qt.TypeHierarchyPrepareRequest.type,p,l).then(g=>l.isCancellationRequested?null:i.protocol2CodeConverter.asTypeHierarchyItems(g,l),g=>i.handleFailedRequest(qt.TypeHierarchyPrepareRequest.type,l,g,null))};return r.prepareTypeHierarchy?r.prepareTypeHierarchy(e,t,n,o):o(e,t,n)}provideTypeHierarchySupertypes(e,t){let n=this.client,i=this.middleware,r=(o,c)=>{let d={item:n.code2ProtocolConverter.asTypeHierarchyItem(o)};return n.sendRequest(qt.TypeHierarchySupertypesRequest.type,d,c).then(l=>c.isCancellationRequested?null:n.protocol2CodeConverter.asTypeHierarchyItems(l,c),l=>n.handleFailedRequest(qt.TypeHierarchySupertypesRequest.type,c,l,null))};return i.provideTypeHierarchySupertypes?i.provideTypeHierarchySupertypes(e,t,r):r(e,t)}provideTypeHierarchySubtypes(e,t){let n=this.client,i=this.middleware,r=(o,c)=>{let d={item:n.code2ProtocolConverter.asTypeHierarchyItem(o)};return n.sendRequest(qt.TypeHierarchySubtypesRequest.type,d,c).then(l=>c.isCancellationRequested?null:n.protocol2CodeConverter.asTypeHierarchyItems(l,c),l=>n.handleFailedRequest(qt.TypeHierarchySubtypesRequest.type,c,l,null))};return i.provideTypeHierarchySubtypes?i.provideTypeHierarchySubtypes(e,t,r):r(e,t)}},Zo=class extends Yo.TextDocumentLanguageFeature{constructor(e){super(e,qt.TypeHierarchyPrepareRequest.type)}fillClientCapabilities(e){let t=(0,Yo.ensure)((0,Yo.ensure)(e,"textDocument"),"typeHierarchy");t.dynamicRegistration=!0}initialize(e,t){let[n,i]=this.getRegistration(t,e.typeHierarchyProvider);!n||!i||this.register({id:n,registerOptions:i})}registerLanguageProvider(e){let t=this._client,n=new Xo(t);return[kl.languages.registerTypeHierarchyProvider(t.protocol2CodeConverter.asDocumentSelector(e.documentSelector),n),n]}};Yi.TypeHierarchyFeature=Zo});var ed=F(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.InlineValueFeature=void 0;var Zc=I("vscode"),Xi=L(),Rn=W(),ea=class extends Rn.TextDocumentLanguageFeature{constructor(e){super(e,Xi.InlineValueRequest.type)}fillClientCapabilities(e){(0,Rn.ensure)((0,Rn.ensure)(e,"textDocument"),"inlineValue").dynamicRegistration=!0,(0,Rn.ensure)((0,Rn.ensure)(e,"workspace"),"inlineValue").refreshSupport=!0}initialize(e,t){this._client.onRequest(Xi.InlineValueRefreshRequest.type,async()=>{for(let r of this.getAllProviders())r.onDidChangeInlineValues.fire()});let[n,i]=this.getRegistration(t,e.inlineValueProvider);!n||!i||this.register({id:n,registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,n=new Zc.EventEmitter,i={onDidChangeInlineValues:n.event,provideInlineValues:(r,o,c,d)=>{let l=this._client,p=(h,v,f,y)=>{let w={textDocument:l.code2ProtocolConverter.asTextDocumentIdentifier(h),range:l.code2ProtocolConverter.asRange(v),context:l.code2ProtocolConverter.asInlineValueContext(f)};return l.sendRequest(Xi.InlineValueRequest.type,w,y).then(b=>y.isCancellationRequested?null:l.protocol2CodeConverter.asInlineValues(b,y),b=>l.handleFailedRequest(Xi.InlineValueRequest.type,y,b,null))},g=l.middleware;return g.provideInlineValues?g.provideInlineValues(r,o,c,d,p):p(r,o,c,d)}};return[this.registerProvider(t,i),{provider:i,onDidChangeInlineValues:n}]}registerProvider(e,t){return Zc.languages.registerInlineValuesProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};Zi.InlineValueFeature=ea});var nd=F(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.InlayHintsFeature=void 0;var td=I("vscode"),Gt=L(),xn=W(),ta=class extends xn.TextDocumentLanguageFeature{constructor(e){super(e,Gt.InlayHintRequest.type)}fillClientCapabilities(e){let t=(0,xn.ensure)((0,xn.ensure)(e,"textDocument"),"inlayHint");t.dynamicRegistration=!0,t.resolveSupport={properties:["tooltip","textEdits","label.tooltip","label.location","label.command"]},(0,xn.ensure)((0,xn.ensure)(e,"workspace"),"inlayHint").refreshSupport=!0}initialize(e,t){this._client.onRequest(Gt.InlayHintRefreshRequest.type,async()=>{for(let r of this.getAllProviders())r.onDidChangeInlayHints.fire()});let[n,i]=this.getRegistration(t,e.inlayHintProvider);!n||!i||this.register({id:n,registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,n=new td.EventEmitter,i={onDidChangeInlayHints:n.event,provideInlayHints:(r,o,c)=>{let d=this._client,l=async(g,h,v)=>{let f={textDocument:d.code2ProtocolConverter.asTextDocumentIdentifier(g),range:d.code2ProtocolConverter.asRange(h)};try{let y=await d.sendRequest(Gt.InlayHintRequest.type,f,v);return v.isCancellationRequested?null:d.protocol2CodeConverter.asInlayHints(y,v)}catch(y){return d.handleFailedRequest(Gt.InlayHintRequest.type,v,y,null)}},p=d.middleware;return p.provideInlayHints?p.provideInlayHints(r,o,c,l):l(r,o,c)}};return i.resolveInlayHint=e.resolveProvider===!0?(r,o)=>{let c=this._client,d=async(p,g)=>{try{let h=await c.sendRequest(Gt.InlayHintResolveRequest.type,c.code2ProtocolConverter.asInlayHint(p),g);if(g.isCancellationRequested)return null;let v=c.protocol2CodeConverter.asInlayHint(h,g);return g.isCancellationRequested?null:v}catch(h){return c.handleFailedRequest(Gt.InlayHintResolveRequest.type,g,h,null)}},l=c.middleware;return l.resolveInlayHint?l.resolveInlayHint(r,o,d):d(r,o)}:void 0,[this.registerProvider(t,i),{provider:i,onDidChangeInlayHints:n}]}registerProvider(e,t){return td.languages.registerInlayHintsProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};er.InlayHintsFeature=ta});var id=F(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.InlineCompletionItemFeature=void 0;var Pl=I("vscode"),na=L(),ia=W(),Rl=te(),ra=class extends ia.TextDocumentLanguageFeature{constructor(e){super(e,na.InlineCompletionRequest.type)}fillClientCapabilities(e){let t=(0,ia.ensure)((0,ia.ensure)(e,"textDocument"),"inlineCompletion");t.dynamicRegistration=!0}initialize(e,t){let n=this.getRegistrationOptions(t,e.inlineCompletionProvider);n&&this.register({id:Rl.generateUuid(),registerOptions:n})}registerLanguageProvider(e){let t=e.documentSelector,n={provideInlineCompletionItems:(i,r,o,c)=>{let d=this._client,l=this._client.middleware,p=(g,h,v,f)=>d.sendRequest(na.InlineCompletionRequest.type,d.code2ProtocolConverter.asInlineCompletionParams(g,h,v),f).then(y=>f.isCancellationRequested?null:d.protocol2CodeConverter.asInlineCompletionResult(y,f),y=>d.handleFailedRequest(na.InlineCompletionRequest.type,f,y,null));return l.provideInlineCompletionItems?l.provideInlineCompletionItems(i,r,o,c,p):p(i,r,o,c)}};return[Pl.languages.registerInlineCompletionItemProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),n),n]}};tr.InlineCompletionItemFeature=ra});var ua=F(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.ProposedFeatures=me.BaseLanguageClient=me.MessageTransports=me.SuspendMode=me.State=me.CloseAction=me.ErrorAction=me.RevealOutputChannelOn=void 0;var J=I("vscode"),_=L(),xl=Za(),Fl=nc(),je=Ee(),nr=ui(),rd=te(),ql=gs(),We=W(),Il=Rs(),sd=fc(),od=gc(),Yt=mc(),El=vc(),Ml=yc(),Ol=Cc(),Al=Dc(),Ll=Sc(),Ul=Zs(),Nl=bc(),Kl=Tc(),Hl=kc(),$l=Rc(),sa=xc(),Wl=qc(),jl=Ic(),zl=Mc(),Vl=Oc(),Bl=Ac(),Jl=Lc(),Ql=Uc(),Gl=Nc(),Yl=Hc(),Xl=$c(),Zl=Wc(),ep=zc(),tp=Vc(),np=Bc(),Xt=Gc(),ip=Yc(),rp=Xc(),sp=ed(),op=nd(),ap=id(),It;(function(s){s[s.Debug=0]="Debug",s[s.Info=1]="Info",s[s.Warn=2]="Warn",s[s.Error=3]="Error",s[s.Never=4]="Never"})(It||(me.RevealOutputChannelOn=It={}));var qn;(function(s){s[s.Continue=1]="Continue",s[s.Shutdown=2]="Shutdown"})(qn||(me.ErrorAction=qn={}));var yt;(function(s){s[s.DoNotRestart=1]="DoNotRestart",s[s.Restart=2]="Restart"})(yt||(me.CloseAction=yt={}));var Fn;(function(s){s[s.Stopped=1]="Stopped",s[s.Starting=3]="Starting",s[s.Running=2]="Running"})(Fn||(me.State=Fn={}));var ad;(function(s){s.off="off",s.on="on"})(ad||(me.SuspendMode=ad={}));var oa;(function(s){function e(t){return t==null?!1:typeof t=="boolean"||typeof t=="object"&&t!==null&&je.stringArray(t.enabledCommands)?t:!1}s.sanitizeIsTrusted=e})(oa||(oa={}));var aa=class{constructor(e,t){this.client=e,this.maxRestartCount=t,this.restarts=[]}error(e,t,n){return n&&n<=3?{action:qn.Continue}:{action:qn.Shutdown}}closed(){return this.restarts.push(Date.now()),this.restarts.length<=this.maxRestartCount?{action:yt.Restart}:this.restarts[this.restarts.length-1]-this.restarts[0]<=3*60*1e3?{action:yt.DoNotRestart,message:`The ${this.client.name} server crashed ${this.maxRestartCount+1} times in the last 3 minutes. The server will not be restarted. See the output for more information.`}:(this.restarts.shift(),{action:yt.Restart})}},N;(function(s){s.Initial="initial",s.Starting="starting",s.StartFailed="startFailed",s.Running="running",s.Stopping="stopping",s.Stopped="stopped"})(N||(N={}));var cd;(function(s){function e(t){return t&&_.MessageReader.is(t.reader)&&_.MessageWriter.is(t.writer)}s.is=e})(cd||(me.MessageTransports=cd={}));var In=class s{constructor(e,t,n){this._traceFormat=_.TraceFormat.Text,this._diagnosticQueue=new Map,this._diagnosticQueueState={state:"idle"},this._features=[],this._dynamicFeatures=new Map,this.workspaceEditLock=new nr.Semaphore(1),this._id=e,this._name=t,n=n||{};let i={isTrusted:!1,supportHtml:!1};n.markdown!==void 0&&(i.isTrusted=oa.sanitizeIsTrusted(n.markdown.isTrusted),i.supportHtml=n.markdown.supportHtml===!0),this._clientOptions={documentSelector:n.documentSelector??[],synchronize:n.synchronize??{},diagnosticCollectionName:n.diagnosticCollectionName,outputChannelName:n.outputChannelName??this._name,revealOutputChannelOn:n.revealOutputChannelOn??It.Error,stdioEncoding:n.stdioEncoding??"utf8",initializationOptions:n.initializationOptions,initializationFailedHandler:n.initializationFailedHandler,progressOnInitialization:!!n.progressOnInitialization,errorHandler:n.errorHandler??this.createDefaultErrorHandler(n.connectionOptions?.maxRestartCount),middleware:n.middleware??{},uriConverters:n.uriConverters,workspaceFolder:n.workspaceFolder,connectionOptions:n.connectionOptions,markdown:i,diagnosticPullOptions:n.diagnosticPullOptions??{onChange:!0,onSave:!1},notebookDocumentOptions:n.notebookDocumentOptions??{}},this._clientOptions.synchronize=this._clientOptions.synchronize||{},this._state=N.Initial,this._ignoredRegistrations=new Set,this._listeners=[],this._notificationHandlers=new Map,this._pendingNotificationHandlers=new Map,this._notificationDisposables=new Map,this._requestHandlers=new Map,this._pendingRequestHandlers=new Map,this._requestDisposables=new Map,this._progressHandlers=new Map,this._pendingProgressHandlers=new Map,this._progressDisposables=new Map,this._connection=void 0,this._initializeResult=void 0,n.outputChannel?(this._outputChannel=n.outputChannel,this._disposeOutputChannel=!1):(this._outputChannel=void 0,this._disposeOutputChannel=!0),this._traceOutputChannel=n.traceOutputChannel,this._diagnostics=void 0,this._pendingOpenNotifications=new Set,this._pendingChangeSemaphore=new nr.Semaphore(1),this._pendingChangeDelayer=new nr.Delayer(250),this._fileEvents=[],this._fileEventDelayer=new nr.Delayer(250),this._onStop=void 0,this._telemetryEmitter=new _.Emitter,this._stateChangeEmitter=new _.Emitter,this._trace=_.Trace.Off,this._tracer={log:(r,o)=>{je.string(r)?this.logTrace(r,o):this.logObjectTrace(r)}},this._c2p=xl.createConverter(n.uriConverters?n.uriConverters.code2Protocol:void 0),this._p2c=Fl.createConverter(n.uriConverters?n.uriConverters.protocol2Code:void 0,this._clientOptions.markdown.isTrusted,this._clientOptions.markdown.supportHtml),this._syncedDocuments=new Map,this.registerBuiltinFeatures()}get name(){return this._name}get middleware(){return this._clientOptions.middleware??Object.create(null)}get clientOptions(){return this._clientOptions}get protocol2CodeConverter(){return this._p2c}get code2ProtocolConverter(){return this._c2p}get onTelemetry(){return this._telemetryEmitter.event}get onDidChangeState(){return this._stateChangeEmitter.event}get outputChannel(){return this._outputChannel||(this._outputChannel=J.window.createOutputChannel(this._clientOptions.outputChannelName?this._clientOptions.outputChannelName:this._name)),this._outputChannel}get traceOutputChannel(){return this._traceOutputChannel?this._traceOutputChannel:this.outputChannel}get diagnostics(){return this._diagnostics}get state(){return this.getPublicState()}get $state(){return this._state}set $state(e){let t=this.getPublicState();this._state=e;let n=this.getPublicState();n!==t&&this._stateChangeEmitter.fire({oldState:t,newState:n})}getPublicState(){switch(this.$state){case N.Starting:return Fn.Starting;case N.Running:return Fn.Running;default:return Fn.Stopped}}get initializeResult(){return this._initializeResult}async sendRequest(e,...t){if(this.$state===N.StartFailed||this.$state===N.Stopping||this.$state===N.Stopped)return Promise.reject(new _.ResponseError(_.ErrorCodes.ConnectionInactive,"Client is not running"));let n=await this.$start();this._didChangeTextDocumentFeature.syncKind===_.TextDocumentSyncKind.Full&&await this.sendPendingFullTextDocumentChanges(n);let i=this._clientOptions.middleware?.sendRequest;if(i!==void 0){let r,o;return t.length===1?_.CancellationToken.is(t[0])?o=t[0]:r=t[0]:t.length===2&&(r=t[0],o=t[1]),i(e,r,o,(c,d,l)=>{let p=[];return d!==void 0&&p.push(d),l!==void 0&&p.push(l),n.sendRequest(c,...p)})}else return n.sendRequest(e,...t)}onRequest(e,t){let n=typeof e=="string"?e:e.method;this._requestHandlers.set(n,t);let i=this.activeConnection(),r;return i!==void 0?(this._requestDisposables.set(n,i.onRequest(e,t)),r={dispose:()=>{let o=this._requestDisposables.get(n);o!==void 0&&(o.dispose(),this._requestDisposables.delete(n))}}):(this._pendingRequestHandlers.set(n,t),r={dispose:()=>{this._pendingRequestHandlers.delete(n);let o=this._requestDisposables.get(n);o!==void 0&&(o.dispose(),this._requestDisposables.delete(n))}}),{dispose:()=>{this._requestHandlers.delete(n),r.dispose()}}}async sendNotification(e,t){if(this.$state===N.StartFailed||this.$state===N.Stopping||this.$state===N.Stopped)return Promise.reject(new _.ResponseError(_.ErrorCodes.ConnectionInactive,"Client is not running"));let n=this._didChangeTextDocumentFeature.syncKind===_.TextDocumentSyncKind.Full,i;n&&typeof e!="string"&&e.method===_.DidOpenTextDocumentNotification.method&&(i=t?.textDocument.uri,this._pendingOpenNotifications.add(i));let r=await this.$start();n&&await this.sendPendingFullTextDocumentChanges(r),i!==void 0&&this._pendingOpenNotifications.delete(i);let o=this._clientOptions.middleware?.sendNotification;return o?o(e,r.sendNotification.bind(r),t):r.sendNotification(e,t)}onNotification(e,t){let n=typeof e=="string"?e:e.method;this._notificationHandlers.set(n,t);let i=this.activeConnection(),r;return i!==void 0?(this._notificationDisposables.set(n,i.onNotification(e,t)),r={dispose:()=>{let o=this._notificationDisposables.get(n);o!==void 0&&(o.dispose(),this._notificationDisposables.delete(n))}}):(this._pendingNotificationHandlers.set(n,t),r={dispose:()=>{this._pendingNotificationHandlers.delete(n);let o=this._notificationDisposables.get(n);o!==void 0&&(o.dispose(),this._notificationDisposables.delete(n))}}),{dispose:()=>{this._notificationHandlers.delete(n),r.dispose()}}}async sendProgress(e,t,n){if(this.$state===N.StartFailed||this.$state===N.Stopping||this.$state===N.Stopped)return Promise.reject(new _.ResponseError(_.ErrorCodes.ConnectionInactive,"Client is not running"));try{return(await this.$start()).sendProgress(e,t,n)}catch(i){throw this.error(`Sending progress for token ${t} failed.`,i),i}}onProgress(e,t,n){this._progressHandlers.set(t,{type:e,handler:n});let i=this.activeConnection(),r,o=this._clientOptions.middleware?.handleWorkDoneProgress,c=_.WorkDoneProgress.is(e)&&o!==void 0?d=>{o(t,d,()=>n(d))}:n;return i!==void 0?(this._progressDisposables.set(t,i.onProgress(e,t,c)),r={dispose:()=>{let d=this._progressDisposables.get(t);d!==void 0&&(d.dispose(),this._progressDisposables.delete(t))}}):(this._pendingProgressHandlers.set(t,{type:e,handler:n}),r={dispose:()=>{this._pendingProgressHandlers.delete(t);let d=this._progressDisposables.get(t);d!==void 0&&(d.dispose(),this._progressDisposables.delete(t))}}),{dispose:()=>{this._progressHandlers.delete(t),r.dispose()}}}createDefaultErrorHandler(e){if(e!==void 0&&e<0)throw new Error(`Invalid maxRestartCount: ${e}`);return new aa(this,e??4)}async setTrace(e){this._trace=e;let t=this.activeConnection();t!==void 0&&await t.trace(this._trace,this._tracer,{sendNotification:!1,traceFormat:this._traceFormat})}data2String(e){if(e instanceof _.ResponseError){let t=e;return` Message: ${t.message}
|
|
7
|
+
Code: ${t.code} ${t.data?`
|
|
8
|
+
`+t.data.toString():""}`}return e instanceof Error?je.string(e.stack)?e.stack:e.message:je.string(e)?e:e.toString()}debug(e,t,n=!0){this.logOutputMessage(_.MessageType.Debug,It.Debug,"Debug",e,t,n)}info(e,t,n=!0){this.logOutputMessage(_.MessageType.Info,It.Info,"Info",e,t,n)}warn(e,t,n=!0){this.logOutputMessage(_.MessageType.Warning,It.Warn,"Warn",e,t,n)}error(e,t,n=!0){this.logOutputMessage(_.MessageType.Error,It.Error,"Error",e,t,n)}logOutputMessage(e,t,n,i,r,o){this.outputChannel.appendLine(`[${n.padEnd(5)} - ${new Date().toLocaleTimeString()}] ${i}`),r!=null&&this.outputChannel.appendLine(this.data2String(r)),(o==="force"||o&&this._clientOptions.revealOutputChannelOn<=t)&&this.showNotificationMessage(e,i)}showNotificationMessage(e,t){t=t??"A request has failed. See the output for more information.",(e===_.MessageType.Error?J.window.showErrorMessage:e===_.MessageType.Warning?J.window.showWarningMessage:J.window.showInformationMessage)(t,"Go to output").then(i=>{i!==void 0&&this.outputChannel.show(!0)})}logTrace(e,t){this.traceOutputChannel.appendLine(`[Trace - ${new Date().toLocaleTimeString()}] ${e}`),t&&this.traceOutputChannel.appendLine(this.data2String(t))}logObjectTrace(e){e.isLSPMessage&&e.type?this.traceOutputChannel.append(`[LSP - ${new Date().toLocaleTimeString()}] `):this.traceOutputChannel.append(`[Trace - ${new Date().toLocaleTimeString()}] `),e&&this.traceOutputChannel.appendLine(`${JSON.stringify(e)}`)}needsStart(){return this.$state===N.Initial||this.$state===N.Stopping||this.$state===N.Stopped}needsStop(){return this.$state===N.Starting||this.$state===N.Running}activeConnection(){return this.$state===N.Running&&this._connection!==void 0?this._connection:void 0}isRunning(){return this.$state===N.Running}async start(){if(this._disposed==="disposing"||this._disposed==="disposed")throw new Error("Client got disposed and can't be restarted.");if(this.$state===N.Stopping)throw new Error("Client is currently stopping. Can only restart a full stopped client");if(this._onStart!==void 0)return this._onStart;let[e,t,n]=this.createOnStartPromise();this._onStart=e,this._diagnostics===void 0&&(this._diagnostics=this._clientOptions.diagnosticCollectionName?J.languages.createDiagnosticCollection(this._clientOptions.diagnosticCollectionName):J.languages.createDiagnosticCollection());for(let[i,r]of this._notificationHandlers)this._pendingNotificationHandlers.has(i)||this._pendingNotificationHandlers.set(i,r);for(let[i,r]of this._requestHandlers)this._pendingRequestHandlers.has(i)||this._pendingRequestHandlers.set(i,r);for(let[i,r]of this._progressHandlers)this._pendingProgressHandlers.has(i)||this._pendingProgressHandlers.set(i,r);this.$state=N.Starting;try{let i=await this.createConnection();i.onNotification(_.LogMessageNotification.type,r=>{switch(r.type){case _.MessageType.Error:this.error(r.message,void 0,!1);break;case _.MessageType.Warning:this.warn(r.message,void 0,!1);break;case _.MessageType.Info:this.info(r.message,void 0,!1);break;case _.MessageType.Debug:this.debug(r.message,void 0,!1);break;default:this.outputChannel.appendLine(r.message)}}),i.onNotification(_.ShowMessageNotification.type,r=>{switch(r.type){case _.MessageType.Error:J.window.showErrorMessage(r.message);break;case _.MessageType.Warning:J.window.showWarningMessage(r.message);break;case _.MessageType.Info:J.window.showInformationMessage(r.message);break;default:J.window.showInformationMessage(r.message)}}),i.onRequest(_.ShowMessageRequest.type,r=>{let o;switch(r.type){case _.MessageType.Error:o=J.window.showErrorMessage;break;case _.MessageType.Warning:o=J.window.showWarningMessage;break;case _.MessageType.Info:o=J.window.showInformationMessage;break;default:o=J.window.showInformationMessage}let c=r.actions||[];return o(r.message,...c)}),i.onNotification(_.TelemetryEventNotification.type,r=>{this._telemetryEmitter.fire(r)}),i.onRequest(_.ShowDocumentRequest.type,async r=>{let o=async d=>{let l=this.protocol2CodeConverter.asUri(d.uri);try{if(d.external===!0)return{success:await J.env.openExternal(l)};{let p={};return d.selection!==void 0&&(p.selection=this.protocol2CodeConverter.asRange(d.selection)),d.takeFocus===void 0||d.takeFocus===!1?p.preserveFocus=!0:d.takeFocus===!0&&(p.preserveFocus=!1),await J.window.showTextDocument(l,p),{success:!0}}}catch{return{success:!1}}},c=this._clientOptions.middleware.window?.showDocument;return c!==void 0?c(r,o):o(r)}),i.listen(),await this.initialize(i),t()}catch(i){this.$state=N.StartFailed,this.error(`${this._name} client: couldn't create connection to server.`,i,"force"),n(i)}return this._onStart}createOnStartPromise(){let e,t;return[new Promise((i,r)=>{e=i,t=r}),e,t]}async initialize(e){this.refreshTrace(e,!1);let t=this._clientOptions.initializationOptions,[n,i]=this._clientOptions.workspaceFolder!==void 0?[this._clientOptions.workspaceFolder.uri.fsPath,[{uri:this._c2p.asUri(this._clientOptions.workspaceFolder.uri),name:this._clientOptions.workspaceFolder.name}]]:[this._clientGetRootPath(),null],r={processId:null,clientInfo:{name:J.env.appName,version:J.version},locale:this.getLocale(),rootPath:n||null,rootUri:n?this._c2p.asUri(J.Uri.file(n)):null,capabilities:this.computeClientCapabilities(),initializationOptions:je.func(t)?t():t,trace:_.Trace.toString(this._trace),workspaceFolders:i};if(this.fillInitializeParams(r),this._clientOptions.progressOnInitialization){let o=rd.generateUuid(),c=new ql.ProgressPart(e,o);r.workDoneToken=o;try{let d=await this.doInitialize(e,r);return c.done(),d}catch(d){throw c.cancel(),d}}else return this.doInitialize(e,r)}async doInitialize(e,t){try{let n=await e.initialize(t);if(n.capabilities.positionEncoding!==void 0&&n.capabilities.positionEncoding!==_.PositionEncodingKind.UTF16)throw new Error(`Unsupported position encoding (${n.capabilities.positionEncoding}) received from server ${this.name}`);this._initializeResult=n,this.$state=N.Running;let i;je.number(n.capabilities.textDocumentSync)?n.capabilities.textDocumentSync===_.TextDocumentSyncKind.None?i={openClose:!1,change:_.TextDocumentSyncKind.None,save:void 0}:i={openClose:!0,change:n.capabilities.textDocumentSync,save:{includeText:!1}}:n.capabilities.textDocumentSync!==void 0&&n.capabilities.textDocumentSync!==null&&(i=n.capabilities.textDocumentSync),this._capabilities=Object.assign({},n.capabilities,{resolvedTextDocumentSync:i}),e.onNotification(_.PublishDiagnosticsNotification.type,r=>this.handleDiagnostics(r)),e.onRequest(_.RegistrationRequest.type,r=>this.handleRegistrationRequest(r)),e.onRequest("client/registerFeature",r=>this.handleRegistrationRequest(r)),e.onRequest(_.UnregistrationRequest.type,r=>this.handleUnregistrationRequest(r)),e.onRequest("client/unregisterFeature",r=>this.handleUnregistrationRequest(r)),e.onRequest(_.ApplyWorkspaceEditRequest.type,r=>this.handleApplyWorkspaceEdit(r));for(let[r,o]of this._pendingNotificationHandlers)this._notificationDisposables.set(r,e.onNotification(r,o));this._pendingNotificationHandlers.clear();for(let[r,o]of this._pendingRequestHandlers)this._requestDisposables.set(r,e.onRequest(r,o));this._pendingRequestHandlers.clear();for(let[r,o]of this._pendingProgressHandlers)this._progressDisposables.set(r,e.onProgress(o.type,r,o.handler));return this._pendingProgressHandlers.clear(),await e.sendNotification(_.InitializedNotification.type,{}),this.hookFileEvents(e),this.hookConfigurationChanged(e),this.initializeFeatures(e),n}catch(n){throw this._clientOptions.initializationFailedHandler?this._clientOptions.initializationFailedHandler(n)?this.initialize(e):this.stop():n instanceof _.ResponseError&&n.data&&n.data.retry?J.window.showErrorMessage(n.message,{title:"Retry",id:"retry"}).then(i=>{i&&i.id==="retry"?this.initialize(e):this.stop()}):(n&&n.message&&J.window.showErrorMessage(n.message),this.error("Server initialization failed.",n),this.stop()),n}}_clientGetRootPath(){let e=J.workspace.workspaceFolders;if(!e||e.length===0)return;let t=e[0];if(t.uri.scheme==="file")return t.uri.fsPath}stop(e=2e3){return this.shutdown("stop",e)}dispose(e=2e3){try{return this._disposed="disposing",this.stop(e)}finally{this._disposed="disposed"}}async shutdown(e,t){if(this.$state===N.Stopped||this.$state===N.Initial)return;if(this.$state===N.Stopping){if(this._onStop!==void 0)return this._onStop;throw new Error("Client is stopping but no stop promise available.")}let n=this.activeConnection();if(n===void 0||this.$state!==N.Running)throw new Error(`Client is not running and can't be stopped. It's current state is: ${this.$state}`);this._initializeResult=void 0,this.$state=N.Stopping,this.cleanUp(e);let i=new Promise(o=>{(0,_.RAL)().timer.setTimeout(o,t)}),r=(async o=>(await o.shutdown(),await o.exit(),o))(n);return this._onStop=Promise.race([i,r]).then(o=>{if(o!==void 0)o.end(),o.dispose();else throw this.error("Stopping server timed out",void 0,!1),new Error("Stopping the server timed out")},o=>{throw this.error("Stopping server failed",o,!1),o}).finally(()=>{this.$state=N.Stopped,e==="stop"&&this.cleanUpChannel(),this._onStart=void 0,this._onStop=void 0,this._connection=void 0,this._ignoredRegistrations.clear()})}cleanUp(e){this._fileEvents=[],this._fileEventDelayer.cancel();let t=this._listeners.splice(0,this._listeners.length);for(let n of t)n.dispose();this._syncedDocuments&&this._syncedDocuments.clear();for(let n of Array.from(this._features.entries()).map(i=>i[1]).reverse())n.clear();e==="stop"&&this._diagnostics!==void 0&&(this._diagnostics.dispose(),this._diagnostics=void 0),this._idleInterval!==void 0&&(this._idleInterval.dispose(),this._idleInterval=void 0)}cleanUpChannel(){this._outputChannel!==void 0&&this._disposeOutputChannel&&(this._outputChannel.dispose(),this._outputChannel=void 0)}notifyFileEvent(e){let t=this;async function n(r){return t._fileEvents.push(r),t._fileEventDelayer.trigger(async()=>{await t.sendNotification(_.DidChangeWatchedFilesNotification.type,{changes:t._fileEvents}),t._fileEvents=[]})}let i=this.clientOptions.middleware?.workspace;(i?.didChangeWatchedFile?i.didChangeWatchedFile(e,n):n(e)).catch(r=>{t.error("Notify file events failed.",r)})}async sendPendingFullTextDocumentChanges(e){return this._pendingChangeSemaphore.lock(async()=>{try{let t=this._didChangeTextDocumentFeature.getPendingDocumentChanges(this._pendingOpenNotifications);if(t.length===0)return;for(let n of t){let i=this.code2ProtocolConverter.asChangeTextDocumentParams(n);await e.sendNotification(_.DidChangeTextDocumentNotification.type,i),this._didChangeTextDocumentFeature.notificationSent(n,_.DidChangeTextDocumentNotification.type,i)}}catch(t){throw this.error("Sending pending changes failed",t,!1),t}})}triggerPendingChangeDelivery(){this._pendingChangeDelayer.trigger(async()=>{let e=this.activeConnection();if(e===void 0){this.triggerPendingChangeDelivery();return}await this.sendPendingFullTextDocumentChanges(e)}).catch(e=>this.error("Delivering pending changes failed",e,!1))}handleDiagnostics(e){if(!this._diagnostics)return;let t=e.uri;this._diagnosticQueueState.state==="busy"&&this._diagnosticQueueState.document===t&&this._diagnosticQueueState.tokenSource.cancel(),this._diagnosticQueue.set(e.uri,e.diagnostics),this.triggerDiagnosticQueue()}triggerDiagnosticQueue(){(0,_.RAL)().timer.setImmediate(()=>{this.workDiagnosticQueue()})}workDiagnosticQueue(){if(this._diagnosticQueueState.state==="busy")return;let e=this._diagnosticQueue.entries().next();if(e.done===!0)return;let[t,n]=e.value;this._diagnosticQueue.delete(t);let i=new J.CancellationTokenSource;this._diagnosticQueueState={state:"busy",document:t,tokenSource:i},this._p2c.asDiagnostics(n,i.token).then(r=>{if(!i.token.isCancellationRequested){let o=this._p2c.asUri(t),c=this.clientOptions.middleware;c.handleDiagnostics?c.handleDiagnostics(o,r,(d,l)=>this.setDiagnostics(d,l)):this.setDiagnostics(o,r)}}).finally(()=>{this._diagnosticQueueState={state:"idle"},this.triggerDiagnosticQueue()})}setDiagnostics(e,t){this._diagnostics&&this._diagnostics.set(e,t)}getLocale(){return J.env.language}async $start(){if(this.$state===N.StartFailed)throw new Error("Previous start failed. Can't restart server.");await this.start();let e=this.activeConnection();if(e===void 0)throw new Error("Starting server failed");return e}async createConnection(){let e=(i,r,o)=>{this.handleConnectionError(i,r,o).catch(c=>this.error("Handling connection error failed",c))},t=()=>{this.handleConnectionClosed().catch(i=>this.error("Handling connection close failed",i))},n=await this.createMessageTransports(this._clientOptions.stdioEncoding||"utf8");return this._connection=cp(n.reader,n.writer,e,t,this._clientOptions.connectionOptions),this._connection}async handleConnectionClosed(){if(this.$state===N.Stopped)return;try{this._connection!==void 0&&this._connection.dispose()}catch{}let e={action:yt.DoNotRestart};if(this.$state!==N.Stopping)try{e=await this._clientOptions.errorHandler.closed()}catch{}this._connection=void 0,e.action===yt.DoNotRestart?(this.error(e.message??"Connection to server got closed. Server will not be restarted.",void 0,e.handled===!0?!1:"force"),this.cleanUp("stop"),this.$state===N.Starting?this.$state=N.StartFailed:this.$state=N.Stopped,this._onStop=Promise.resolve(),this._onStart=void 0):e.action===yt.Restart&&(this.info(e.message??"Connection to server got closed. Server will restart.",!e.handled),this.cleanUp("restart"),this.$state=N.Initial,this._onStop=Promise.resolve(),this._onStart=void 0,this.start().catch(t=>this.error("Restarting server failed",t,"force")))}async handleConnectionError(e,t,n){let i=await this._clientOptions.errorHandler.error(e,t,n);i.action===qn.Shutdown?(this.error(i.message??`Client ${this._name}: connection to server is erroring.
|
|
9
|
+
${e.message}
|
|
10
|
+
Shutting down server.`,void 0,i.handled===!0?!1:"force"),this.stop().catch(r=>{this.error("Stopping server failed",r,!1)})):this.error(i.message??`Client ${this._name}: connection to server is erroring.
|
|
11
|
+
${e.message}`,void 0,i.handled===!0?!1:"force")}hookConfigurationChanged(e){this._listeners.push(J.workspace.onDidChangeConfiguration(()=>{this.refreshTrace(e,!0)}))}refreshTrace(e,t=!1){let n=J.workspace.getConfiguration(this._id),i=_.Trace.Off,r=_.TraceFormat.Text;if(n){let o=n.get("trace.server","off");typeof o=="string"?i=_.Trace.fromString(o):(i=_.Trace.fromString(n.get("trace.server.verbosity","off")),r=_.TraceFormat.fromString(n.get("trace.server.format","text")))}this._trace=i,this._traceFormat=r,e.trace(this._trace,this._tracer,{sendNotification:t,traceFormat:this._traceFormat}).catch(o=>{this.error("Updating trace failed with error",o,!1)})}hookFileEvents(e){let t=this._clientOptions.synchronize.fileEvents;if(!t)return;let n;je.array(t)?n=t:n=[t],n&&this._dynamicFeatures.get(_.DidChangeWatchedFilesNotification.type.method).registerRaw(rd.generateUuid(),n)}registerFeatures(e){for(let t of e)this.registerFeature(t)}registerFeature(e){if(this._features.push(e),We.DynamicFeature.is(e)){let t=e.registrationType;this._dynamicFeatures.set(t.method,e)}}getFeature(e){return this._dynamicFeatures.get(e)}hasDedicatedTextSynchronizationFeature(e){let t=this.getFeature(_.NotebookDocumentSyncRegistrationType.method);return t===void 0||!(t instanceof sd.NotebookDocumentSyncFeature)?!1:t.handles(e)}registerBuiltinFeatures(){let e=new Map;this.registerFeature(new od.ConfigurationFeature(this)),this.registerFeature(new Yt.DidOpenTextDocumentFeature(this,this._syncedDocuments)),this._didChangeTextDocumentFeature=new Yt.DidChangeTextDocumentFeature(this,e),this._didChangeTextDocumentFeature.onPendingChangeAdded(()=>{this.triggerPendingChangeDelivery()}),this.registerFeature(this._didChangeTextDocumentFeature),this.registerFeature(new Yt.WillSaveFeature(this)),this.registerFeature(new Yt.WillSaveWaitUntilFeature(this)),this.registerFeature(new Yt.DidSaveTextDocumentFeature(this)),this.registerFeature(new Yt.DidCloseTextDocumentFeature(this,this._syncedDocuments,e)),this.registerFeature(new Vl.FileSystemWatcherFeature(this,t=>this.notifyFileEvent(t))),this.registerFeature(new El.CompletionItemFeature(this)),this.registerFeature(new Ml.HoverFeature(this)),this.registerFeature(new Al.SignatureHelpFeature(this)),this.registerFeature(new Ol.DefinitionFeature(this)),this.registerFeature(new Kl.ReferencesFeature(this)),this.registerFeature(new Ll.DocumentHighlightFeature(this)),this.registerFeature(new Ul.DocumentSymbolFeature(this)),this.registerFeature(new Nl.WorkspaceSymbolFeature(this)),this.registerFeature(new Hl.CodeActionFeature(this)),this.registerFeature(new $l.CodeLensFeature(this)),this.registerFeature(new sa.DocumentFormattingFeature(this)),this.registerFeature(new sa.DocumentRangeFormattingFeature(this)),this.registerFeature(new sa.DocumentOnTypeFormattingFeature(this)),this.registerFeature(new Wl.RenameFeature(this)),this.registerFeature(new jl.DocumentLinkFeature(this)),this.registerFeature(new zl.ExecuteCommandFeature(this)),this.registerFeature(new od.SyncConfigurationFeature(this)),this.registerFeature(new Ql.TypeDefinitionFeature(this)),this.registerFeature(new Jl.ImplementationFeature(this)),this.registerFeature(new Bl.ColorProviderFeature(this)),this.clientOptions.workspaceFolder===void 0&&this.registerFeature(new Gl.WorkspaceFoldersFeature(this)),this.registerFeature(new Yl.FoldingRangeFeature(this)),this.registerFeature(new Xl.DeclarationFeature(this)),this.registerFeature(new Zl.SelectionRangeFeature(this)),this.registerFeature(new ep.ProgressFeature(this)),this.registerFeature(new tp.CallHierarchyFeature(this)),this.registerFeature(new np.SemanticTokensFeature(this)),this.registerFeature(new ip.LinkedEditingFeature(this)),this.registerFeature(new Xt.DidCreateFilesFeature(this)),this.registerFeature(new Xt.DidRenameFilesFeature(this)),this.registerFeature(new Xt.DidDeleteFilesFeature(this)),this.registerFeature(new Xt.WillCreateFilesFeature(this)),this.registerFeature(new Xt.WillRenameFilesFeature(this)),this.registerFeature(new Xt.WillDeleteFilesFeature(this)),this.registerFeature(new rp.TypeHierarchyFeature(this)),this.registerFeature(new sp.InlineValueFeature(this)),this.registerFeature(new op.InlayHintsFeature(this)),this.registerFeature(new Il.DiagnosticFeature(this)),this.registerFeature(new sd.NotebookDocumentSyncFeature(this))}registerProposedFeatures(){this.registerFeatures(da.createAll(this))}fillInitializeParams(e){for(let t of this._features)je.func(t.fillInitializeParams)&&t.fillInitializeParams(e)}computeClientCapabilities(){let e={};(0,We.ensure)(e,"workspace").applyEdit=!0;let t=(0,We.ensure)((0,We.ensure)(e,"workspace"),"workspaceEdit");t.documentChanges=!0,t.resourceOperations=[_.ResourceOperationKind.Create,_.ResourceOperationKind.Rename,_.ResourceOperationKind.Delete],t.failureHandling=_.FailureHandlingKind.TextOnlyTransactional,t.normalizesLineEndings=!0,t.changeAnnotationSupport={groupsOnLabel:!0};let n=(0,We.ensure)((0,We.ensure)(e,"textDocument"),"publishDiagnostics");n.relatedInformation=!0,n.versionSupport=!1,n.tagSupport={valueSet:[_.DiagnosticTag.Unnecessary,_.DiagnosticTag.Deprecated]},n.codeDescriptionSupport=!0,n.dataSupport=!0;let i=(0,We.ensure)(e,"window"),r=(0,We.ensure)(i,"showMessage");r.messageActionItem={additionalPropertiesSupport:!0};let o=(0,We.ensure)(i,"showDocument");o.support=!0;let c=(0,We.ensure)(e,"general");c.staleRequestSupport={cancel:!0,retryOnContentModified:Array.from(s.RequestsToCancelOnContentModified)},c.regularExpressions={engine:"ECMAScript",version:"ES2020"},c.markdown={parser:"marked",version:"1.1.0"},c.positionEncodings=["utf-16"],this._clientOptions.markdown.supportHtml&&(c.markdown.allowedTags=["ul","li","p","code","blockquote","ol","h1","h2","h3","h4","h5","h6","hr","em","pre","table","thead","tbody","tr","th","td","div","del","a","strong","br","img","span"]);for(let d of this._features)d.fillClientCapabilities(e);return e}initializeFeatures(e){let t=this._clientOptions.documentSelector;for(let n of this._features)je.func(n.preInitialize)&&n.preInitialize(this._capabilities,t);for(let n of this._features)n.initialize(this._capabilities,t)}async handleRegistrationRequest(e){let t=this.clientOptions.middleware?.handleRegisterCapability;return t?t(e,n=>this.doRegisterCapability(n)):this.doRegisterCapability(e)}async doRegisterCapability(e){if(!this.isRunning()){for(let t of e.registrations)this._ignoredRegistrations.add(t.id);return}for(let t of e.registrations){let n=this._dynamicFeatures.get(t.method);if(n===void 0)return Promise.reject(new Error(`No feature implementation for ${t.method} found. Registration failed.`));let i=t.registerOptions??{};i.documentSelector=i.documentSelector??this._clientOptions.documentSelector;let r={id:t.id,registerOptions:i};try{n.register(r)}catch(o){return Promise.reject(o)}}}async handleUnregistrationRequest(e){let t=this.clientOptions.middleware?.handleUnregisterCapability;return t?t(e,n=>this.doUnregisterCapability(n)):this.doUnregisterCapability(e)}async doUnregisterCapability(e){for(let t of e.unregisterations){if(this._ignoredRegistrations.has(t.id))continue;let n=this._dynamicFeatures.get(t.method);if(!n)return Promise.reject(new Error(`No feature implementation for ${t.method} found. Unregistration failed.`));n.unregister(t.id)}}async handleApplyWorkspaceEdit(e){let t=e.edit,n=await this.workspaceEditLock.lock(()=>this._p2c.asWorkspaceEdit(t)),i=new Map;J.workspace.textDocuments.forEach(o=>i.set(o.uri.toString(),o));let r=!1;if(t.documentChanges){for(let o of t.documentChanges)if(_.TextDocumentEdit.is(o)&&o.textDocument.version&&o.textDocument.version>=0){let c=this._p2c.asUri(o.textDocument.uri).toString(),d=i.get(c);if(d&&d.version!==o.textDocument.version){r=!0;break}}}return r?Promise.resolve({applied:!1}):je.asPromise(J.workspace.applyEdit(n).then(o=>({applied:o})))}handleFailedRequest(e,t,n,i,r=!0){if(n instanceof _.ResponseError){if(n.code===_.ErrorCodes.PendingResponseRejected||n.code===_.ErrorCodes.ConnectionInactive)return i;if(n.code===_.LSPErrorCodes.RequestCancelled||n.code===_.LSPErrorCodes.ServerCancelled){if(t!==void 0&&t.isCancellationRequested)return i;throw n.data!==void 0?new We.LSPCancellationError(n.data):new J.CancellationError}else if(n.code===_.LSPErrorCodes.ContentModified){if(s.RequestsToCancelOnContentModified.has(e.method)||s.CancellableResolveCalls.has(e.method))throw new J.CancellationError;return i}}throw this.error(`Request ${e.method} failed.`,n,r),n}};me.BaseLanguageClient=In;In.RequestsToCancelOnContentModified=new Set([_.SemanticTokensRequest.method,_.SemanticTokensRangeRequest.method,_.SemanticTokensDeltaRequest.method]);In.CancellableResolveCalls=new Set([_.CompletionResolveRequest.method,_.CodeLensResolveRequest.method,_.CodeActionResolveRequest.method,_.InlayHintResolveRequest.method,_.DocumentLinkResolveRequest.method,_.WorkspaceSymbolResolveRequest.method]);var ca=class{error(e){(0,_.RAL)().console.error(e)}warn(e){(0,_.RAL)().console.warn(e)}info(e){(0,_.RAL)().console.info(e)}log(e){(0,_.RAL)().console.log(e)}};function cp(s,e,t,n,i){let r=new ca,o=(0,_.createProtocolConnection)(s,e,r,i);return o.onError(d=>{t(d[0],d[1],d[2])}),o.onClose(n),{listen:()=>o.listen(),sendRequest:o.sendRequest,onRequest:o.onRequest,hasPendingResponse:o.hasPendingResponse,sendNotification:o.sendNotification,onNotification:o.onNotification,onProgress:o.onProgress,sendProgress:o.sendProgress,trace:(d,l,p)=>{let g={sendNotification:!1,traceFormat:_.TraceFormat.Text};return p===void 0?o.trace(d,l,g):(je.boolean(p),o.trace(d,l,p))},initialize:d=>o.sendRequest(_.InitializeRequest.type,d),shutdown:()=>o.sendRequest(_.ShutdownRequest.type,void 0),exit:()=>o.sendNotification(_.ExitNotification.type),end:()=>o.end(),dispose:()=>o.dispose()}}var da;(function(s){function e(t){return[new ap.InlineCompletionItemFeature(t)]}s.createAll=e})(da||(me.ProposedFeatures=da={}))});var ud=F(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.terminate=void 0;var dd=I("child_process"),dp=I("path"),up=process.platform==="win32",lp=process.platform==="darwin",pp=process.platform==="linux";function fp(s,e){if(up)try{let i={stdio:["pipe","pipe","ignore"]};return e&&(i.cwd=e),dd.execFileSync("taskkill",["/T","/F","/PID",s.pid.toString()],i),!0}catch{return!1}else if(pp||lp)try{var t=(0,dp.join)(__dirname,"terminateProcess.sh"),n=dd.spawnSync(t,[s.pid.toString()]);return!n.error}catch{return!1}else return s.kill("SIGKILL"),!0}ir.terminate=fp});var pd=F(Fe=>{"use strict";var hp=Fe&&Fe.__createBinding||(Object.create?function(s,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(s,n,i)}:function(s,e,t,n){n===void 0&&(n=t),s[n]=e[t]}),la=Fe&&Fe.__exportStar||function(s,e){for(var t in s)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&hp(e,s,t)};Object.defineProperty(Fe,"__esModule",{value:!0});Fe.DiagnosticPullMode=Fe.vsdiag=void 0;la(L(),Fe);la(W(),Fe);var ld=Rs();Object.defineProperty(Fe,"vsdiag",{enumerable:!0,get:function(){return ld.vsdiag}});Object.defineProperty(Fe,"DiagnosticPullMode",{enumerable:!0,get:function(){return ld.DiagnosticPullMode}});la(ua(),Fe)});var md=F(Te=>{"use strict";var gp=Te&&Te.__createBinding||(Object.create?function(s,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(s,n,i)}:function(s,e,t,n){n===void 0&&(n=t),s[n]=e[t]}),gd=Te&&Te.__exportStar||function(s,e){for(var t in s)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&gp(e,s,t)};Object.defineProperty(Te,"__esModule",{value:!0});Te.SettingMonitor=Te.LanguageClient=Te.TransportKind=void 0;var st=I("child_process"),pa=I("fs"),fa=I("path"),wt=I("vscode"),ne=Ee(),fd=ua(),mp=ud(),re=Fa(),vp=Od(),yp=Ad();gd(Fa(),Te);gd(pd(),Te);var hd="^1.82.0",se;(function(s){s[s.stdio=0]="stdio",s[s.ipc=1]="ipc",s[s.pipe=2]="pipe",s[s.socket=3]="socket"})(se||(Te.TransportKind=se={}));var Ct;(function(s){function e(t){let n=t;return n&&n.kind===se.socket&&ne.number(n.port)}s.isSocket=e})(Ct||(Ct={}));var ha;(function(s){function e(t){return ne.string(t.command)}s.is=e})(ha||(ha={}));var ga;(function(s){function e(t){return ne.string(t.module)}s.is=e})(ga||(ga={}));var ma;(function(s){function e(t){let n=t;return n&&n.writer!==void 0&&n.reader!==void 0}s.is=e})(ma||(ma={}));var va;(function(s){function e(t){let n=t;return n&&n.process!==void 0&&typeof n.detached=="boolean"}s.is=e})(va||(va={}));var ya=class extends fd.BaseLanguageClient{constructor(e,t,n,i,r){let o,c,d,l,p;ne.string(t)?(o=e,c=t,d=n,l=i,p=!!r):(o=e.toLowerCase(),c=e,d=t,l=n,p=i),p===void 0&&(p=!1),super(o,c,l),this._serverOptions=d,this._forceDebug=p,this._isInDebugMode=p;try{this.checkVersion()}catch(g){throw ne.string(g.message)&&this.outputChannel.appendLine(g.message),g}}checkVersion(){let e=vp(wt.version);if(!e)throw new Error(`No valid VS Code version detected. Version string is: ${wt.version}`);if(e.prerelease&&e.prerelease.length>0&&(e.prerelease=[]),!yp(e,hd))throw new Error(`The language client requires VS Code version ${hd} but received version ${wt.version}`)}get isInDebugMode(){return this._isInDebugMode}async restart(){await this.stop(),this.isInDebugMode?(await new Promise(e=>setTimeout(e,1e3)),await this.start()):await this.start()}stop(e=2e3){return super.stop(e).finally(()=>{if(this._serverProcess){let t=this._serverProcess;this._serverProcess=void 0,(this._isDetached===void 0||!this._isDetached)&&this.checkProcessDied(t),this._isDetached=void 0}})}checkProcessDied(e){!e||e.pid===void 0||setTimeout(()=>{try{e.pid!==void 0&&(process.kill(e.pid,0),(0,mp.terminate)(e))}catch{}},2e3)}handleConnectionClosed(){return this._serverProcess=void 0,super.handleConnectionClosed()}fillInitializeParams(e){super.fillInitializeParams(e),e.processId===null&&(e.processId=process.pid)}createMessageTransports(e){function t(p,g){if(!p&&!g)return;let h=Object.create(null);return Object.keys(process.env).forEach(v=>h[v]=process.env[v]),g&&(h.ELECTRON_RUN_AS_NODE="1",h.ELECTRON_NO_ASAR="1"),p&&Object.keys(p).forEach(v=>h[v]=p[v]),h}let n=["--debug=","--debug-brk=","--inspect=","--inspect-brk="],i=["--debug","--debug-brk","--inspect","--inspect-brk"];function r(){let p=process.execArgv;return p?p.some(g=>n.some(h=>g.startsWith(h))||i.some(h=>g===h)):!1}function o(p){if(p.stdin===null||p.stdout===null||p.stderr===null)throw new Error("Process created without stdio streams")}let c=this._serverOptions;if(ne.func(c))return c().then(p=>{if(fd.MessageTransports.is(p))return this._isDetached=!!p.detached,p;if(ma.is(p))return this._isDetached=!!p.detached,{reader:new re.StreamMessageReader(p.reader),writer:new re.StreamMessageWriter(p.writer)};{let g;return va.is(p)?(g=p.process,this._isDetached=p.detached):(g=p,this._isDetached=!1),g.stderr.on("data",h=>this.outputChannel.append(ne.string(h)?h:h.toString(e))),{reader:new re.StreamMessageReader(g.stdout),writer:new re.StreamMessageWriter(g.stdin)}}});let d,l=c;return l.run||l.debug?this._forceDebug||r()?(d=l.debug,this._isInDebugMode=!0):(d=l.run,this._isInDebugMode=!1):d=c,this._getServerWorkingDir(d.options).then(p=>{if(ga.is(d)&&d.module){let g=d,h=g.transport||se.stdio;if(g.runtime){let v=[],f=g.options??Object.create(null);f.execArgv&&f.execArgv.forEach(T=>v.push(T)),v.push(g.module),g.args&&g.args.forEach(T=>v.push(T));let y=Object.create(null);y.cwd=p,y.env=t(f.env,!1);let w=this._getRuntimePath(g.runtime,p),b;if(h===se.ipc?(y.stdio=[null,null,null,"ipc"],v.push("--node-ipc")):h===se.stdio?v.push("--stdio"):h===se.pipe?(b=(0,re.generateRandomPipeName)(),v.push(`--pipe=${b}`)):Ct.isSocket(h)&&v.push(`--socket=${h.port}`),v.push(`--clientProcessId=${process.pid.toString()}`),h===se.ipc||h===se.stdio){let T=st.spawn(w,v,y);return!T||!T.pid?Zt(T,`Launching server using runtime ${w} failed.`):(this._serverProcess=T,T.stderr.on("data",P=>this.outputChannel.append(ne.string(P)?P:P.toString(e))),h===se.ipc?(T.stdout.on("data",P=>this.outputChannel.append(ne.string(P)?P:P.toString(e))),Promise.resolve({reader:new re.IPCMessageReader(T),writer:new re.IPCMessageWriter(T)})):Promise.resolve({reader:new re.StreamMessageReader(T.stdout),writer:new re.StreamMessageWriter(T.stdin)}))}else{if(h===se.pipe)return(0,re.createClientPipeTransport)(b).then(T=>{let P=st.spawn(w,v,y);return!P||!P.pid?Zt(P,`Launching server using runtime ${w} failed.`):(this._serverProcess=P,P.stderr.on("data",q=>this.outputChannel.append(ne.string(q)?q:q.toString(e))),P.stdout.on("data",q=>this.outputChannel.append(ne.string(q)?q:q.toString(e))),T.onConnected().then(q=>({reader:q[0],writer:q[1]})))});if(Ct.isSocket(h))return(0,re.createClientSocketTransport)(h.port).then(T=>{let P=st.spawn(w,v,y);return!P||!P.pid?Zt(P,`Launching server using runtime ${w} failed.`):(this._serverProcess=P,P.stderr.on("data",q=>this.outputChannel.append(ne.string(q)?q:q.toString(e))),P.stdout.on("data",q=>this.outputChannel.append(ne.string(q)?q:q.toString(e))),T.onConnected().then(q=>({reader:q[0],writer:q[1]})))})}}else{let v;return new Promise((f,y)=>{let w=(g.args&&g.args.slice())??[];h===se.ipc?w.push("--node-ipc"):h===se.stdio?w.push("--stdio"):h===se.pipe?(v=(0,re.generateRandomPipeName)(),w.push(`--pipe=${v}`)):Ct.isSocket(h)&&w.push(`--socket=${h.port}`),w.push(`--clientProcessId=${process.pid.toString()}`);let b=g.options??Object.create(null);if(b.env=t(b.env,!0),b.execArgv=b.execArgv||[],b.cwd=p,b.silent=!0,h===se.ipc||h===se.stdio){let T=st.fork(g.module,w||[],b);o(T),this._serverProcess=T,T.stderr.on("data",P=>this.outputChannel.append(ne.string(P)?P:P.toString(e))),h===se.ipc?(T.stdout.on("data",P=>this.outputChannel.append(ne.string(P)?P:P.toString(e))),f({reader:new re.IPCMessageReader(this._serverProcess),writer:new re.IPCMessageWriter(this._serverProcess)})):f({reader:new re.StreamMessageReader(T.stdout),writer:new re.StreamMessageWriter(T.stdin)})}else h===se.pipe?(0,re.createClientPipeTransport)(v).then(T=>{let P=st.fork(g.module,w||[],b);o(P),this._serverProcess=P,P.stderr.on("data",q=>this.outputChannel.append(ne.string(q)?q:q.toString(e))),P.stdout.on("data",q=>this.outputChannel.append(ne.string(q)?q:q.toString(e))),T.onConnected().then(q=>{f({reader:q[0],writer:q[1]})},y)},y):Ct.isSocket(h)&&(0,re.createClientSocketTransport)(h.port).then(T=>{let P=st.fork(g.module,w||[],b);o(P),this._serverProcess=P,P.stderr.on("data",q=>this.outputChannel.append(ne.string(q)?q:q.toString(e))),P.stdout.on("data",q=>this.outputChannel.append(ne.string(q)?q:q.toString(e))),T.onConnected().then(q=>{f({reader:q[0],writer:q[1]})},y)},y)})}}else if(ha.is(d)&&d.command){let g=d,h=d.args!==void 0?d.args.slice(0):[],v,f=d.transport;if(f===se.stdio)h.push("--stdio");else if(f===se.pipe)v=(0,re.generateRandomPipeName)(),h.push(`--pipe=${v}`);else if(Ct.isSocket(f))h.push(`--socket=${f.port}`);else if(f===se.ipc)throw new Error("Transport kind ipc is not support for command executable");let y=Object.assign({},g.options);if(y.cwd=y.cwd||p,f===void 0||f===se.stdio){let w=st.spawn(g.command,h,y);return!w||!w.pid?Zt(w,`Launching server using command ${g.command} failed.`):(w.stderr.on("data",b=>this.outputChannel.append(ne.string(b)?b:b.toString(e))),this._serverProcess=w,this._isDetached=!!y.detached,Promise.resolve({reader:new re.StreamMessageReader(w.stdout),writer:new re.StreamMessageWriter(w.stdin)}))}else{if(f===se.pipe)return(0,re.createClientPipeTransport)(v).then(w=>{let b=st.spawn(g.command,h,y);return!b||!b.pid?Zt(b,`Launching server using command ${g.command} failed.`):(this._serverProcess=b,this._isDetached=!!y.detached,b.stderr.on("data",T=>this.outputChannel.append(ne.string(T)?T:T.toString(e))),b.stdout.on("data",T=>this.outputChannel.append(ne.string(T)?T:T.toString(e))),w.onConnected().then(T=>({reader:T[0],writer:T[1]})))});if(Ct.isSocket(f))return(0,re.createClientSocketTransport)(f.port).then(w=>{let b=st.spawn(g.command,h,y);return!b||!b.pid?Zt(b,`Launching server using command ${g.command} failed.`):(this._serverProcess=b,this._isDetached=!!y.detached,b.stderr.on("data",T=>this.outputChannel.append(ne.string(T)?T:T.toString(e))),b.stdout.on("data",T=>this.outputChannel.append(ne.string(T)?T:T.toString(e))),w.onConnected().then(T=>({reader:T[0],writer:T[1]})))})}}return Promise.reject(new Error("Unsupported server configuration "+JSON.stringify(c,null,4)))}).finally(()=>{this._serverProcess!==void 0&&this._serverProcess.on("exit",(p,g)=>{p!==null&&this.error(`Server process exited with code ${p}.`,void 0,!1),g!==null&&this.error(`Server process exited with signal ${g}.`,void 0,!1)})})}_getRuntimePath(e,t){if(fa.isAbsolute(e))return e;let n=this._mainGetRootPath();if(n!==void 0){let i=fa.join(n,e);if(pa.existsSync(i))return i}if(t!==void 0){let i=fa.join(t,e);if(pa.existsSync(i))return i}return e}_mainGetRootPath(){let e=wt.workspace.workspaceFolders;if(!e||e.length===0)return;let t=e[0];if(t.uri.scheme==="file")return t.uri.fsPath}_getServerWorkingDir(e){let t=e&&e.cwd;return t||(t=this.clientOptions.workspaceFolder?this.clientOptions.workspaceFolder.uri.fsPath:this._mainGetRootPath()),t?new Promise(n=>{pa.lstat(t,(i,r)=>{n(!i&&r.isDirectory()?t:void 0)})}):Promise.resolve(void 0)}};Te.LanguageClient=ya;var Ca=class{constructor(e,t){this._client=e,this._setting=t,this._listeners=[]}start(){return wt.workspace.onDidChangeConfiguration(this.onDidChangeConfiguration,this,this._listeners),this.onDidChangeConfiguration(),new wt.Disposable(()=>{this._client.needsStop()&&this._client.stop()})}onDidChangeConfiguration(){let e=this._setting.indexOf("."),t=e>=0?this._setting.substr(0,e):this._setting,n=e>=0?this._setting.substr(e+1):void 0,i=n?wt.workspace.getConfiguration(t).get(n,!1):wt.workspace.getConfiguration(t);i&&this._client.needsStart()?this._client.start().catch(r=>this._client.error("Start failed after configuration change",r,"force")):!i&&this._client.needsStop()&&this._client.stop().catch(r=>this._client.error("Stop failed after configuration change",r,"force"))}};Te.SettingMonitor=Ca;function Zt(s,e){return s===null?Promise.reject(e):new Promise((t,n)=>{s.on("error",i=>{n(`${e} ${i}`)}),setImmediate(()=>n(e))})}});var yd=F((Vf,vd)=>{"use strict";vd.exports=md()});import*as ue from"vscode";var qr=br(Ld(),1);import*as S from"vscode";import*as Nt from"path";import{fork as $d}from"child_process";import*as xr from"vscode";var Xn=class{constructor(e){this.secrets=e}async ReadyAPIKey(e){if(process.env.FACTORIO_UPLOAD_API_KEY)return{from:"env"};try{let t=await this.secrets.get("factorio-uploadmods");if(t&&(e&&(e=await xr.window.showInformationMessage("Key already present. Replace it?",{modal:!0},"Yes","No")==="Yes"),!e))return{from:"secrets",key:t};if(t=await xr.window.showInputBox({prompt:"Mod Portal API Key:",ignoreFocusOut:!0,password:!0}),t)return t=t.trim(),await this.secrets.store("factorio-uploadmods",t),{from:"new",key:t}}catch{}return!1}async ClearApiKey(){return this.secrets.delete("factorio-uploadmods")}};var Ua=br(La(),1);import{platform as Wd,tmpdir as jd}from"os";var ni;function zd(s){if(ni)switch(Wd()){case"win32":return`${s};${S.Uri.joinPath(ni,"bin").fsPath}`;default:return`${s}:${S.Uri.joinPath(ni,"bin").fsPath}`}return s}function Na(s){if(S.workspace.workspaceFolders){let e=new Xn(s.secrets);s.subscriptions.push(S.commands.registerCommand("factorio.clearApiKey",async()=>{await e.ClearApiKey()})),s.subscriptions.push(S.commands.registerCommand("factorio.setApiKey",async()=>{await e.ReadyAPIKey(!0)}));let t=new Er(s,e);s.subscriptions.push(t);let n=S.window.createTreeView("factoriomods",{treeDataProvider:t});s.subscriptions.push(n),ni=s.extensionUri}}var Ir=class{constructor(e,t){this.context=e;this.modPackages=t}provideTasks(e){let t=[],n=Je.latestPackages(this.modPackages.values());for(let i of this.modPackages.values())n.has(i)&&(t.push(new S.Task({label:`${i.label}.datestamp`,type:"factorio",modname:i.label,command:"datestamp"},S.workspace.getWorkspaceFolder(i.resourceUri)||S.TaskScope.Workspace,`${i.label}.datestamp`,"factorio",i.DateStampTask(),[])),t.push(new S.Task({label:`${i.label}.package`,type:"factorio",modname:i.label,command:"package"},S.workspace.getWorkspaceFolder(i.resourceUri)||S.TaskScope.Workspace,`${i.label}.package`,"factorio",i.PackageTask(),[])),t.push(new S.Task({label:`${i.label}.version`,type:"factorio",modname:i.label,command:"version"},S.workspace.getWorkspaceFolder(i.resourceUri)||S.TaskScope.Workspace,`${i.label}.version`,"factorio",i.IncrementTask(),[])),t.push(new S.Task({label:`${i.label}.upload`,type:"factorio",modname:i.label,command:"upload"},S.workspace.getWorkspaceFolder(i.resourceUri)||S.TaskScope.Workspace,`${i.label}.upload`,"factorio",i.PostToPortalTask(),[])),t.push(new S.Task({label:`${i.label}.details`,type:"factorio",modname:i.label,command:"details"},S.workspace.getWorkspaceFolder(i.resourceUri)||S.TaskScope.Workspace,`${i.label}.details`,"factorio",i.DetailsTask(),[])),t.push(new S.Task({label:`${i.label}.publish`,type:"factorio",modname:i.label,command:"publish"},S.workspace.getWorkspaceFolder(i.resourceUri)||S.TaskScope.Workspace,`${i.label}.publish`,"factorio",i.PublishTask(),[])));return t}resolveTaskExecution(e,t){if(e.definition.command==="adjustMods")return e.definition.adjustMods?e.definition.modsPath?this.AdjustModsTask(e.definition):this.ConfigErrorTask(e.definition,"missing `modsPath`"):this.ConfigErrorTask(e.definition,"missing `adjustMods`");if(!e.definition.modname)return this.ConfigErrorTask(e.definition,"missing `modname`");if(e.definition.command==="run"&&!e.definition.script)return this.ConfigErrorTask(e.definition,"missing `script`");let n=Je.latestPackages(this.modPackages.values());for(let i of this.modPackages.values())if(i.label===e.definition.modname&&n.has(i)){let r=i;switch(e.definition.command){case"run":return r.RunTask(e.definition.script,e.definition.scriptArgs);case"compile":return r.RunTask("compile");case"datestamp":return r.DateStampTask();case"package":return r.PackageTask();case"version":return r.IncrementTask();case"upload":return r.PostToPortalTask();case"details":return r.DetailsTask();case"publish":return r.PublishTask();default:return this.ConfigErrorTask(e.definition,`unknown \`command\` "${e.definition.command}"`)}}return this.ConfigErrorTask(e.definition,`mod "${e.definition.modname}" not found`)}resolveTask(e,t){if(e.definition.type==="factorio"){let n=this.resolveTaskExecution(e,t);return new S.Task(e.definition,e.scope||S.TaskScope.Workspace,e.name,e.source,n,[])}}ConfigErrorTask(e,t){return new S.CustomExecution(async()=>new He(n=>{n.write(t+`
|
|
12
|
+
`),n.write(JSON.stringify(e,void 0,2)),n.close()}))}getFMTKCLIPath(){return this.context.asAbsolutePath("./dist/fmtk-cli.js")}AdjustModsTask(e){let t=["mods","--modsPath",e.modsPath,"adjust"];e.allowDisableBaseMod&&t.push("--allowDisableBase"),e.disableExtraMods&&t.push("--disableExtra");for(let n in e.adjustMods)t.push(`${n}=${e.adjustMods[n]}`);return new S.CustomExecution(async()=>new He(async n=>{await Be(n,this.getFMTKCLIPath(),t,process.cwd()),n.close()}))}},Je=class extends S.TreeItem{constructor(t,n,i,r){super(t);this.resourceUri=t;this.keychain=i;this.context=r;this.label=n.name,this.description=n.version,this.tooltip=n.title,this.command={title:"Open",command:"vscode.open",arguments:[t]},this.scripts=n.package?.scripts}label;description;scripts;static sort(t,n){let i=t.label.toLowerCase().localeCompare(n.label.toLowerCase());if(i!==0)return i*100;let r=qr.compare(t.description,n.description,{loose:!0});return r!==0?-r*10:t.resourceUri<n.resourceUri?-1:t.resourceUri>n.resourceUri?1:0}static latestPackages(t){let n=new Map;for(let r of t)n.has(r.label)?n.get(r.label).push(r):n.set(r.label,[r]);let i=new Set;for(let r of n.values())i.add(r.reduce((o,c)=>qr.compare(o.description,c.description,{loose:!0})<0?c:o));return i}async Update(){let n=(await S.workspace.openTextDocument(this.resourceUri)).getText(),i=JSON.parse(n);this.label=i.name,this.description=i.version,this.tooltip=i.title,this.scripts=i.package?.scripts}getFMTKCLIPath(){return this.context.asAbsolutePath("./dist/fmtk-cli.js")}RunTask(t,n){return new S.CustomExecution(async()=>new He(async i=>{await Be(i,this.getFMTKCLIPath(),["run",t,...n??[]],S.Uri.joinPath(this.resourceUri,"..").fsPath),await this.Update(),i.close()}))}DateStampTask(){return new S.CustomExecution(async()=>new He(async t=>{await Be(t,this.getFMTKCLIPath(),["datestamp"],S.Uri.joinPath(this.resourceUri,"..").fsPath),await this.Update(),t.close()}))}PackageTask(){let t=["package"];return S.workspace.getConfiguration(void 0,this.resourceUri).get("factorio.package.zipLocation","inside")==="outside"&&(t.push("--outdir"),t.push("..")),new S.CustomExecution(async()=>new He(async i=>{await Be(i,this.getFMTKCLIPath(),t,S.Uri.joinPath(this.resourceUri,"..").fsPath),await this.Update(),i.close()}))}IncrementTask(){return new S.CustomExecution(async()=>new He(async t=>{await Be(t,this.getFMTKCLIPath(),["version"],S.Uri.joinPath(this.resourceUri,"..").fsPath),await this.Update(),t.close()}))}PostToPortalTask(){return new S.CustomExecution(async()=>new He(async t=>{await this.Update();let n=S.workspace.getConfiguration(void 0,this.resourceUri),i=Nt.dirname(this.resourceUri.path);switch(n.get("factorio.package.zipLocation","inside")){case"outside":i=Nt.dirname(i);break;case"inside":default:break}let r=this.resourceUri.with({path:i}),c=(await S.workspace.fs.readDirectory(r)).filter(([g,h])=>h===S.FileType.File&&g.startsWith(this.label)&&g.match(/_\d+\.\d+\.\d+\.zip$/)).map(([g,h])=>g).sort().reverse(),d=await S.window.showQuickPick(c,{placeHolder:"Select Package to upload"});if(!d){t.close();return}let l=Nt.join(r.fsPath,d),p=await this.keychain.ReadyAPIKey();p&&await Be(t,this.getFMTKCLIPath(),["upload",l,this.label],S.Uri.joinPath(this.resourceUri,"..").fsPath,p.from!=="env"?{FACTORIO_UPLOAD_API_KEY:p.key}:void 0),await this.Update(),t.close()}))}DetailsTask(){return new S.CustomExecution(async()=>new He(async t=>{await Be(t,this.getFMTKCLIPath(),["details"],S.Uri.joinPath(this.resourceUri,"..").fsPath),await this.Update(),t.close()}))}PublishTask(){return new S.CustomExecution(async()=>new He(async t=>{let n=await this.keychain.ReadyAPIKey();n&&await Be(t,this.getFMTKCLIPath(),["publish"],S.Uri.joinPath(this.resourceUri,"..").fsPath,n.from!=="env"?{FACTORIO_UPLOAD_API_KEY:n.key}:void 0),await this.Update(),t.close()}))}},Er=class{constructor(e,t){this.context=e;this.keychain=t;this.modPackages=new Map,S.workspace.findFiles("**/info.json").then(i=>{i.forEach(r=>void this.updateInfoJson(r))});let n=S.workspace.createFileSystemWatcher("**/info.json");this.subscriptions.push(n.onDidChange(i=>this.updateInfoJson(i))),this.subscriptions.push(n.onDidCreate(i=>this.updateInfoJson(i))),this.subscriptions.push(n.onDidDelete(i=>this.removeInfoJson(i))),this.subscriptions.push(n),this.subscriptions.push(S.tasks.registerTaskProvider("factorio",new Ir(this.context,this.modPackages))),this.subscriptions.push(S.commands.registerCommand("factorio.openchangelog",async i=>S.window.showTextDocument(S.Uri.joinPath(i.resourceUri,"../changelog.txt")))),this.subscriptions.push(S.commands.registerCommand("factorio.datestamp",async i=>{let r=(await S.tasks.fetchTasks({type:"factorio"})).find(o=>o.definition.command==="datestamp"&&o.definition.modname===i.label);await S.tasks.executeTask(r)})),this.subscriptions.push(S.commands.registerCommand("factorio.package",async i=>{let r=(await S.tasks.fetchTasks({type:"factorio"})).find(o=>o.definition.command==="package"&&o.definition.modname===i.label);await S.tasks.executeTask(r)})),this.subscriptions.push(S.commands.registerCommand("factorio.version",async i=>{let r=(await S.tasks.fetchTasks({type:"factorio"})).find(o=>o.definition.command==="version"&&o.definition.modname===i.label);await S.tasks.executeTask(r)})),this.subscriptions.push(S.commands.registerCommand("factorio.upload",async i=>{let r=(await S.tasks.fetchTasks({type:"factorio"})).find(o=>o.definition.command==="upload"&&o.definition.modname===i.label);await S.tasks.executeTask(r)})),this.subscriptions.push(S.commands.registerCommand("factorio.publish",async i=>{let r=(await S.tasks.fetchTasks({type:"factorio"})).find(o=>o.definition.command==="publish"&&o.definition.modname===i.label);await S.tasks.executeTask(r)}))}_onDidChangeTreeData=new S.EventEmitter;onDidChangeTreeData=this._onDidChangeTreeData.event;modPackages;subscriptions=[this._onDidChangeTreeData];dispose(){this.subscriptions.forEach(e=>e.dispose())}async updateInfoJson(e){if(e.scheme==="file"){let n=(await S.workspace.openTextDocument(e)).getText();if(n){let i=JSON.parse(n);i&&i.name?this.modPackages.has(e.toString())?await this.modPackages.get(e.toString())?.Update():this.modPackages.set(e.toString(),new Je(e,i,this.keychain,this.context)):this.modPackages.delete(e.toString())}else this.modPackages.delete(e.toString())}else this.modPackages.delete(e.toString());this._onDidChangeTreeData.fire(void 0)}removeInfoJson(e){this.modPackages.delete(e.toString()),this._onDidChangeTreeData.fire(void 0)}getTreeItem(e){return e}async getChildren(e){if(e)if(e instanceof Je){let t=[];if(this.modPackages){let n=Je.latestPackages(this.modPackages.values());n.has(e)&&this.modPackages.forEach((i,r)=>{i.label===e.label&&!n.has(i)&&(t.push(i),i.contextValue="older")})}return t.sort(Je.sort)}else return[];else{let t=[];if(this.modPackages){let n=Je.latestPackages(this.modPackages.values());for(let i of this.modPackages.values())if(n.has(i)){t.push(i);let r=["latest"];try{await S.workspace.fs.stat(S.Uri.joinPath(i.resourceUri,"../changelog.txt")),r.push("haschangelog")}catch{}i.contextValue=r.join(" "),i.collapsibleState=(()=>{for(let o of this.modPackages.values())if(i.label===o.label&&!n.has(o))return S.TreeItemCollapsibleState.Collapsed;return S.TreeItemCollapsibleState.None})()}}return t.sort(Je.sort)}}},Fr=S.Uri.file(Nt.join(jd(),`vscode-${process.pid}-fmtk-config.json`));async function Be(s,e,t,n,i,r){let o=S.workspace.getConfiguration("factorio");await S.workspace.fs.writeFile(Fr,Buffer.from(JSON.stringify(Ua.dot({docs:await o.get("docs"),package:await o.get("package")}))));let c=Object.assign({},process.env,i,{FMTK_CONFIG:Fr.fsPath});return c.Path=zd(c.Path??""),new Promise((d,l)=>{let p=o.get("inspect",!1),g=$d(e,t,{cwd:n,execArgv:p?["--nolazy","--inspect-brk=34200"]:void 0,env:c,stdio:"pipe"});new Rr(g.stdout,Buffer.from(`
|
|
13
|
+
`)).on("segment",f=>{s.write(f.toString()+`\r
|
|
14
|
+
`)}),new Rr(g.stderr,Buffer.from(`
|
|
15
|
+
`)).on("segment",f=>{f.toString().match(/^Debugger listening/)&&console.log(f.toString()),s.write(f.toString()+`\r
|
|
16
|
+
`)}),g.on("error",f=>{s.write(`${f.message}\r
|
|
17
|
+
`)}),g.on("exit",(f,y)=>{S.workspace.fs.delete(Fr),d(f??-1)}),r&&g.stdin.write(r),g.stdin.end()})}var He=class{constructor(e){this.runner=e}writeEmitter=new S.EventEmitter;onDidWrite=this.writeEmitter.event;closeEmitter=new S.EventEmitter;onDidClose=this.closeEmitter.event;tokensource=new S.CancellationTokenSource;open(e){let t=this.writeEmitter,n=this.closeEmitter,i=this.runner({write:r=>t.fire(r.replace(/\r?\n/g,`\r
|
|
18
|
+
`)),close:()=>n.fire()},this.tokensource.token);i?i.finally(()=>{n.fire()}):n.fire()}close(){this.tokensource.cancel()}};import*as M from"vscode";import*as Mr from"os";import*as Ka from"path";var Qe=M.workspace.fs,Vd=[{name:"Steam",factorioPath:"C:\\Program Files (x86)\\Steam\\steamapps\\common\\Factorio\\bin\\x64\\factorio.exe"},{name:"System",factorioPath:"C:\\Program Files\\Factorio\\bin\\x64\\factorio.exe"},{name:"Steam",factorioPath:"~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio"},{name:"System",factorioPath:"/Applications/factorio.app/Contents/MacOS/factorio"},{name:"Home",factorioPath:"~/.factorio/bin/x64/factorio"}],ii=class{constructor(e,t,n){this.context=e;this.output=t;this.fsprovider=n;this.bar=M.window.createStatusBarItem("factorio-version",M.StatusBarAlignment.Left,10),this.bar.name="Factorio Version Selector",this.bar.text="Factorio (unselected)",this.bar.command="factorio.selectVersion",this.bar.show(),e.subscriptions.push(this.bar),e.subscriptions.push(M.commands.registerCommand("factorio.selectVersion",()=>this.selectVersionCommand())),e.subscriptions.push(M.commands.registerCommand("factorio.checkConfig",()=>this.checkConfigCommand())),e.subscriptions.push(M.commands.registerCommand("factorio.disablePrototypeCache",()=>this.disablePrototypeCacheCommand())),e.subscriptions.push(M.commands.registerCommand("factorio.disableMouseAutoCapture",()=>this.disableMouseAutoCaptureCommand())),this.loadActiveVersion(),e.subscriptions.push(M.workspace.onDidChangeConfiguration(i=>{i.affectsConfiguration("factorio.versions")&&this.loadActiveVersion()}))}bar;async loadActiveVersion(){let e=M.workspace.getConfiguration("factorio"),t=e.get("versions",[]),n=t.find(r=>r.active);if(!n||this._active_version&&this._active_version.is(n))return;let i=await this.tryJsonDocs(n);if(!i){delete n.active,e.update("versions",t);return}this.bar.text=`Factorio ${i.application_version} (${n.name})`,this._active_version=new Pr(M.workspace.fs,n,i,M.workspace.workspaceFolders),this.output.info(`Active Factorio version: ${n.name} (${i.application_version})`),await this.checkDocs()}async checkConfigCommand(){this.output.info("Check Config:"),this.output.show();let e=await this.getActiveVersion();if(!e){this.output.error("No Active Factorio Version");return}this.output.info("Active Factorio Version:"),this.output.info(`Binary: ${await e.getBinaryVersion().catch(h=>h.toString())}`),this.output.info(`Runtime JSON: ${e.docs.application_version}`),await e.isPrototypeCacheEnabled()&&this.output.warn("Prototype Cache is enabled!"),await e.isMouseAutoCaptureDisabled()&&this.output.info("Mouse Auto Capture is disabled");let t=this.context.storageUri;if(!t){this.output.error("No Workspace");return}try{let h=(await Qe.readFile(Pe.joinPath(t,"sumneko-3rd/factorio/config.json"))).toString(),v=JSON.parse(h);this.output.info(`Library bundle found in ${t.fsPath}, generated from Factorio ${v.factorioVersion} with FMTK ${v.bundleVersion}`);for(let f of Ia())try{(await Qe.readFile(Pe.joinPath(t,"sumneko-3rd",f.name))).toString()!==f.content&&this.output.info(`file ${f.name} content mismatch!`)}catch(y){this.output.error(`file ${f.name} ${y}`)}}catch(h){this.output.error(`Missing or damaged library bundle info ${h}`)}let n=M.extensions.getExtension("sumneko.lua");if(!n){this.output.warn("LuaLS (sumneko.lua) not present!");return}this.output.info(`LuaLS ${n.packageJSON.version} ${n.isActive?"Activated":"Not Yet Activated"}`);let i=M.workspace.getConfiguration("Lua"),r=M.workspace.getConfiguration("factorio"),o=i.get("workspace.userThirdParty");if(!o)this.output.warn("Lua.workspace.userThirdParty not present!");else{let h=Pe.joinPath(t,"sumneko-3rd").fsPath;o.includes(h)?this.output.info(`Lua.workspace.userThirdParty: workspace link OK (${h})`):this.output.warn(`Lua.workspace.userThirdParty: workspace link missing! (${h})`);let v=o.filter(f=>f!==h);for(let f of v)f.match(/justarandomgeek\.factoriomod\-debug[\\\/]sumneko\-3rd$/)?this.output.warn(`Lua.workspace.userThirdParty: stale workspace link? (${f})`):this.output.info(`Lua.workspace.userThirdParty: other library (${f})`)}let c=i.get("workspace.checkThirdParty"),d=c==="ApplyInMemory";c===!1||c==="Disable"?this.output.warn(`Lua.workspace.checkThirdParty = ${c}`):this.output.info(`Lua.workspace.checkThirdParty = ${c}`);let l=r.get("workspace.manageLibraryDataLinks",!1),p=i.get("workspace.library");if(!p)this.output.warn("Lua.workspace.library not present!");else{let h=ft.file(await e.dataPath()).fsPath;p.includes(h)?this.output.info(`Lua.workspace.library: /data link OK (${h})`):l&&this.output.warn(`Lua.workspace.library: /data link missing! (${h})`);let v=Pe.joinPath(t,"sumneko-3rd/factorio/library").fsPath,f=p.find(w=>ft.file(w).fsPath===v);f?d?this.output.warn(`Lua.workspace.library: redundant workspace library link (${f})`):this.output.info(`Lua.workspace.library: workspace library link OK (${f})`):d||this.output.warn(`Lua.workspace.library: workspace library link missing! (${v})`);let y=p.filter(w=>![h,f].includes(w));for(let w of y)w.match(/justarandomgeek\.factoriomod\-debug[\\\/]sumneko\-3rd[\\\/]factorio[\\\/]library$/)?this.output.warn(`Lua.workspace.library: stale workspace link? (${w})`):w.endsWith("data")?this.output.warn(`Lua.workspace.library: stale data link? (${w})`):this.output.info(`Lua.workspace.library: other library (${w})`)}let g=i.get("runtime.plugin");if(!g)d||this.output.warn("Lua.runtime.plugin not present!");else{let h=Pe.joinPath(t,"sumneko-3rd/factorio/plugin.lua").fsPath.replace(/[\\]/g,"/");g===h?d?this.output.warn(`Lua.runtime.plugin: redundant workspace link (${g})`):this.output.info(`Lua.runtime.plugin: OK (${g})`):this.output.warn(`Lua.runtime.plugin: wrong plugin? (${g})`)}}async disablePrototypeCacheCommand(){return(await this.getActiveVersion())?.disablePrototypeCache()}async disableMouseAutoCaptureCommand(){return(await this.getActiveVersion())?.disableMouseAutoCapture()}async selectVersionCommand(){if(M.debug.activeDebugSession?.type==="factoriomod"){M.window.showErrorMessage("Cannot select Factorio version while debugging.");return}let e=M.workspace.getConfiguration("factorio"),t=e.get("versions",[]),n=t.map(p=>p.factorioPath),i=(await Promise.all(Vd.filter(p=>!n.includes(p.factorioPath)).map(async p=>{try{return(await Qe.stat(ft.file(cn(p.factorioPath,M.workspace.workspaceFolders)))).type&M.FileType.File?p:void 0}catch{return}}))).filter(p=>!!p),r=async p=>p.onlineDocs===!0?"latest":p.onlineDocs?p.onlineDocs:(await this.tryJsonDocs(p,!1))?.application_version??"unknown",o=await M.window.showQuickPick(Promise.all([...t.map(async p=>({fv:p,label:p.name,description:await r(p),detail:p.factorioPath,picked:p.active})),...i.map(async p=>({fv:p,label:`${p.name} (autodetected)`,description:await r(p),detail:p.factorioPath})),{fv:void 0,label:"Select other version..."}]),{title:"Select Factorio Version"});if(!o)return;let c=o.fv;if(c){let p=!1;try{(await Qe.stat(ft.file(cn(c.factorioPath,M.workspace.workspaceFolders)))).type&M.FileType.File&&(p=!0)}catch{}if(!p)switch(await M.window.showErrorMessage("The selected factorio version is no longer present at the specified location","Remove from settings","Cancel")){case"Remove from settings":e.update("versions",t.filter(h=>h!==c));return;default:return}}if(!c){let p=await M.window.showOpenDialog({canSelectFiles:!0,canSelectFolders:!1,openLabel:"Select Factorio binary",filters:Mr.platform()==="win32"?{"":["exe"]}:void 0});if(!p)return;let g=await M.window.showInputBox({prompt:"Display Name for this version",placeHolder:"Enter a display name to be used in the Version Selector for this version",ignoreFocusOut:!0});if(!g)return;c={name:g,factorioPath:p[0].fsPath}}let d;try{d=await this.tryJsonDocs(c,!0)}catch(p){if(await M.window.showErrorMessage(`Unable to read JSON docs: ${p}`,"Select alternate location","Cancel")!=="Select alternate location")return;let g=await M.window.showOpenDialog({canSelectFiles:!0,canSelectFolders:!1,openLabel:"Select Runtime JSON Docs",title:"Select Runtime JSON Docs",filters:{"JSON Docs":["json"]}});if(!g)return;c.docsPath=Ka.relative(cn(c.factorioPath,M.workspace.workspaceFolders),g[0].fsPath);try{d=await this.tryJsonDocs(c,!0)}catch(h){M.window.showErrorMessage(`Unable to read JSON docs: ${h}`);return}}t.includes(c)||t.push(c),t.forEach(p=>delete p.active),c.active=!0,e.update("versions",t),this.bar.text=`Factorio ${d.application_version} (${c.name})`;let l=this._active_version;this._active_version=new Pr(M.workspace.fs,c,d,M.workspace.workspaceFolders),this.output.info(`Active Factorio version: ${c.name} (${d.application_version})`),await this.generateDocs(l)}_active_version;async getActiveVersion(){return this._active_version||await this.selectVersionCommand(),this._active_version}async tryJsonDocs(e,t){let n;if(e.onlineDocs){let r=`https://lua-api.factorio.com/${e.onlineDocs===!0?"latest":e.onlineDocs}/runtime-api.json`,o=await fetch(r);if(!o.ok){if(!t)return;throw new Error(`Error fetching ${r} : ${o.statusText}`)}n=await o.text()}else{let i=Pe.joinPath(ft.file(cn(e.factorioPath,M.workspace.workspaceFolders)),e.docsPath?e.docsPath:Mr.platform()==="darwin"?"../../doc-html/runtime-api.json":"../../../doc-html/runtime-api.json");try{n=(await Qe.readFile(i)).toString()}catch(r){if(!t)return;throw r}}try{return new qa(n)}catch(i){if(!t)return;throw i}}async checkDocs(){let e=await this.getActiveVersion();if(!e)return;let t=this.context.storageUri;if(t)try{let n=(await Qe.readFile(Pe.joinPath(t,"sumneko-3rd/factorio/config.json"))).toString(),i=JSON.parse(n);if(i.factorioVersion!==e.docs.application_version||i.bundleVersion!==Yn)return this.generateDocs()}catch{return this.generateDocs()}}async generateDocs(e){if(!M.workspace.getConfiguration("factorio").get("docs.generateDocs",!0))return;let t=await this.getActiveVersion();if(!t)return;let n=this.context.storageUri;if(!n){M.window.showErrorMessage("Unable to generate docs: no open workspace");return}let i=Pe.joinPath(n,"sumneko-3rd");await Qe.createDirectory(i);try{await Promise.allSettled([Qe.delete(Pe.joinPath(i,"factorio","library"),{recursive:!0}),Qe.delete(Pe.joinPath(i,"factorio","factorio-plugin"),{recursive:!0})])}catch{}await Be({close(){},write(v){}},this.context.asAbsolutePath("./dist/fmtk-cli.js"),t.docArgs,i.fsPath);let r=M.workspace.getConfiguration("Lua"),o=r.get("workspace.library",[]),c=(v,...f)=>{if(v){let y=Pe.joinPath(v,...f),w=o.indexOf(y.fsPath);w!==-1&&o.splice(w,1)}},d=async(v,...f)=>{try{let y=Pe.joinPath(v,...f);!o.includes(y.fsPath)&&(await Qe.stat(y)).type&M.FileType.Directory&&o.push(y.fsPath)}catch{}},l=M.workspace.getConfiguration("factorio");if(e){let v=ft.file(await e.dataPath());c(v)}if(o.length===0?await r.update("workspace.library",void 0):await r.update("workspace.library",o),l.get("workspace.manageLibraryDataLinks",!1)){let v=ft.file(await t.dataPath());await d(v)}o.length===0?await r.update("workspace.library",void 0):await r.update("workspace.library",o);let p=r.get("workspace.userThirdParty",[]);p=p.filter(v=>!v.includes("justarandomgeek.factoriomod-debug")),await r.update("workspace.userThirdParty",p),p.push(i.fsPath),await r.update("workspace.userThirdParty",p);let g=r.get("workspace.checkThirdParty");g&&["Ask","Apply","ApplyInMemory"].includes(g)||await r.update("workspace.checkThirdParty","ApplyInMemory");let h=M.extensions.getExtension("sumneko.lua");h&&(h.isActive||await h.activate())}};import*as ht from"path";import*as ee from"vscode";var ri=class{type;ctime;mtime;size;name;data;constructor(e){this.type=ee.FileType.File,this.ctime=Date.now(),this.mtime=Date.now(),this.size=0,this.name=e}},_t=class{type;ctime;mtime;size;name;entries;constructor(e){this.type=ee.FileType.Directory,this.ctime=Date.now(),this.mtime=Date.now(),this.size=0,this.name=e,this.entries=new Map}},si=class{root=new _t("");stat(e){return this._lookup(e,!1)}readDirectory(e){let t=this._lookupAsDirectory(e,!1),n=[];for(let[i,r]of t.entries)n.push([i,r.type]);return n}readFile(e){let t=this._lookupAsFile(e,!1).data;if(t)return t;throw ee.FileSystemError.FileNotFound()}writeFile(e,t,n){let i=ht.posix.basename(e.path),r=this._lookupParentDirectory(e),o=r.entries.get(i);if(o instanceof _t)throw ee.FileSystemError.FileIsADirectory(e);if(!o&&!n.create)throw ee.FileSystemError.FileNotFound(e);if(o&&n.create&&!n.overwrite)throw ee.FileSystemError.FileExists(e);o||(o=new ri(i),r.entries.set(i,o),this._fireSoon({type:ee.FileChangeType.Created,uri:e})),o.mtime=Date.now(),o.size=t.byteLength,o.data=t,this._fireSoon({type:ee.FileChangeType.Changed,uri:e})}rename(e,t,n){if(!n.overwrite&&this._lookup(t,!0))throw ee.FileSystemError.FileExists(t);let i=this._lookup(e,!1),r=this._lookupParentDirectory(e),o=this._lookupParentDirectory(t),c=ht.posix.basename(t.path);r.entries.delete(i.name),i.name=c,o.entries.set(c,i),this._fireSoon({type:ee.FileChangeType.Deleted,uri:e},{type:ee.FileChangeType.Created,uri:t})}delete(e,t){let n=e.with({path:ht.posix.dirname(e.path)}),i=ht.posix.basename(e.path),r=this._lookupAsDirectory(n,t?.silent??!1);if(!r||!r.entries.has(i)){if(t?.silent)return;throw ee.FileSystemError.FileNotFound(e)}r.entries.delete(i),r.mtime=Date.now(),r.size-=1,this._fireSoon({type:ee.FileChangeType.Changed,uri:n},{uri:e,type:ee.FileChangeType.Deleted})}createDirectory(e){let t=ht.posix.basename(e.path),n=e.with({path:ht.posix.dirname(e.path)}),i=this._lookupAsDirectory(n,!1),r=new _t(t);i.entries.set(r.name,r),i.mtime=Date.now(),i.size+=1,this._fireSoon({type:ee.FileChangeType.Changed,uri:n},{type:ee.FileChangeType.Created,uri:e})}_lookup(e,t){let n=e.path.split("/"),i=this.root;for(let r of n){if(!r)continue;let o;if(i instanceof _t&&(o=i.entries.get(r)),!o){if(t)return;throw ee.FileSystemError.FileNotFound(e)}i=o}return i}_lookupAsDirectory(e,t){let n=this._lookup(e,t);if(n instanceof _t)return n;throw ee.FileSystemError.FileNotADirectory(e)}_lookupAsFile(e,t){let n=this._lookup(e,t);if(n instanceof ri)return n;throw ee.FileSystemError.FileIsADirectory(e)}_lookupParentDirectory(e){let t=e.with({path:ht.posix.dirname(e.path)});return this._lookupAsDirectory(t,!1)}_emitter=new ee.EventEmitter;_bufferedEvents=[];_fireSoonHandle;onDidChangeFile=this._emitter.event;watch(e){return new ee.Disposable(()=>{})}_fireSoon(...e){this._bufferedEvents.push(...e),this._fireSoonHandle&&clearTimeout(this._fireSoonHandle),this._fireSoonHandle=setTimeout(()=>{this._emitter.fire(this._bufferedEvents),this._bufferedEvents.length=0},5)}};import*as Wa from"vscode";import*as O from"vscode";import{assert as $a}from"console";var Ha=`<!DOCTYPE html>\r
|
|
2
19
|
<html lang="en">\r
|
|
3
20
|
<head>\r
|
|
4
21
|
<link rel="stylesheet" type="text/css" href="$Flamegraph.css$">\r
|
|
5
22
|
</head>\r
|
|
6
23
|
<body>\r
|
|
7
24
|
<div id="chart"></div>\r
|
|
8
|
-
<script type="
|
|
25
|
+
<script type="module" src="$Flamegraph.js$"></script>\r
|
|
9
26
|
</body>\r
|
|
10
|
-
</html>`});var un=E(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.asPromise=rt.thenable=rt.typedArray=rt.stringArray=rt.array=rt.func=rt.error=rt.number=rt.string=rt.boolean=void 0;function mS(n){return n===!0||n===!1}rt.boolean=mS;function kh(n){return typeof n=="string"||n instanceof String}rt.string=kh;function vS(n){return typeof n=="number"||n instanceof Number}rt.number=vS;function yS(n){return n instanceof Error}rt.error=yS;function Eh(n){return typeof n=="function"}rt.func=Eh;function xh(n){return Array.isArray(n)}rt.array=xh;function bS(n){return xh(n)&&n.every(e=>kh(e))}rt.stringArray=bS;function wS(n,e){return Array.isArray(n)&&n.every(e)}rt.typedArray=wS;function qh(n){return n&&Eh(n.then)}rt.thenable=qh;function CS(n){return n instanceof Promise?n:qh(n)?new Promise((e,t)=>{n.then(r=>e(r),r=>t(r))}):Promise.resolve(n)}rt.asPromise=CS});var Br=E(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.stringArray=Pt.array=Pt.func=Pt.error=Pt.number=Pt.string=Pt.boolean=void 0;function DS(n){return n===!0||n===!1}Pt.boolean=DS;function Ih(n){return typeof n=="string"||n instanceof String}Pt.string=Ih;function SS(n){return typeof n=="number"||n instanceof Number}Pt.number=SS;function _S(n){return n instanceof Error}Pt.error=_S;function TS(n){return typeof n=="function"}Pt.func=TS;function Fh(n){return Array.isArray(n)}Pt.array=Fh;function RS(n){return Fh(n)&&n.every(e=>Ih(e))}Pt.stringArray=RS});var _c=E(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.Message=re.NotificationType9=re.NotificationType8=re.NotificationType7=re.NotificationType6=re.NotificationType5=re.NotificationType4=re.NotificationType3=re.NotificationType2=re.NotificationType1=re.NotificationType0=re.NotificationType=re.RequestType9=re.RequestType8=re.RequestType7=re.RequestType6=re.RequestType5=re.RequestType4=re.RequestType3=re.RequestType2=re.RequestType1=re.RequestType=re.RequestType0=re.AbstractMessageSignature=re.ParameterStructures=re.ResponseError=re.ErrorCodes=void 0;var Rr=Br(),ec;(function(n){n.ParseError=-32700,n.InvalidRequest=-32600,n.MethodNotFound=-32601,n.InvalidParams=-32602,n.InternalError=-32603,n.jsonrpcReservedErrorRangeStart=-32099,n.serverErrorStart=-32099,n.MessageWriteError=-32099,n.MessageReadError=-32098,n.PendingResponseRejected=-32097,n.ConnectionInactive=-32096,n.ServerNotInitialized=-32002,n.UnknownErrorCode=-32001,n.jsonrpcReservedErrorRangeEnd=-32e3,n.serverErrorEnd=-32e3})(ec||(re.ErrorCodes=ec={}));var tc=class n extends Error{constructor(e,t,r){super(t),this.code=Rr.number(e)?e:ec.UnknownErrorCode,this.data=r,Object.setPrototypeOf(this,n.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};re.ResponseError=tc;var Ut=class n{constructor(e){this.kind=e}static is(e){return e===n.auto||e===n.byName||e===n.byPosition}toString(){return this.kind}};re.ParameterStructures=Ut;Ut.auto=new Ut("auto");Ut.byPosition=new Ut("byPosition");Ut.byName=new Ut("byName");var Be=class{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return Ut.auto}};re.AbstractMessageSignature=Be;var nc=class extends Be{constructor(e){super(e,0)}};re.RequestType0=nc;var rc=class extends Be{constructor(e,t=Ut.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};re.RequestType=rc;var ic=class extends Be{constructor(e,t=Ut.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};re.RequestType1=ic;var oc=class extends Be{constructor(e){super(e,2)}};re.RequestType2=oc;var sc=class extends Be{constructor(e){super(e,3)}};re.RequestType3=sc;var ac=class extends Be{constructor(e){super(e,4)}};re.RequestType4=ac;var cc=class extends Be{constructor(e){super(e,5)}};re.RequestType5=cc;var uc=class extends Be{constructor(e){super(e,6)}};re.RequestType6=uc;var lc=class extends Be{constructor(e){super(e,7)}};re.RequestType7=lc;var dc=class extends Be{constructor(e){super(e,8)}};re.RequestType8=dc;var fc=class extends Be{constructor(e){super(e,9)}};re.RequestType9=fc;var pc=class extends Be{constructor(e,t=Ut.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};re.NotificationType=pc;var hc=class extends Be{constructor(e){super(e,0)}};re.NotificationType0=hc;var gc=class extends Be{constructor(e,t=Ut.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};re.NotificationType1=gc;var mc=class extends Be{constructor(e){super(e,2)}};re.NotificationType2=mc;var vc=class extends Be{constructor(e){super(e,3)}};re.NotificationType3=vc;var yc=class extends Be{constructor(e){super(e,4)}};re.NotificationType4=yc;var bc=class extends Be{constructor(e){super(e,5)}};re.NotificationType5=bc;var wc=class extends Be{constructor(e){super(e,6)}};re.NotificationType6=wc;var Cc=class extends Be{constructor(e){super(e,7)}};re.NotificationType7=Cc;var Dc=class extends Be{constructor(e){super(e,8)}};re.NotificationType8=Dc;var Sc=class extends Be{constructor(e){super(e,9)}};re.NotificationType9=Sc;var Oh;(function(n){function e(i){let o=i;return o&&Rr.string(o.method)&&(Rr.string(o.id)||Rr.number(o.id))}n.isRequest=e;function t(i){let o=i;return o&&Rr.string(o.method)&&i.id===void 0}n.isNotification=t;function r(i){let o=i;return o&&(o.result!==void 0||!!o.error)&&(Rr.string(o.id)||Rr.number(o.id)||o.id===null)}n.isResponse=r})(Oh||(re.Message=Oh={}))});var Rc=E(ur=>{"use strict";var Mh;Object.defineProperty(ur,"__esModule",{value:!0});ur.LRUCache=ur.LinkedMap=ur.Touch=void 0;var kt;(function(n){n.None=0,n.First=1,n.AsOld=n.First,n.Last=2,n.AsNew=n.Last})(kt||(ur.Touch=kt={}));var No=class{constructor(){this[Mh]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=kt.None){let r=this._map.get(e);if(r)return t!==kt.None&&this.touch(r,t),r.value}set(e,t,r=kt.None){let i=this._map.get(e);if(i)i.value=t,r!==kt.None&&this.touch(i,r);else{switch(i={key:e,value:t,next:void 0,previous:void 0},r){case kt.None:this.addItemLast(i);break;case kt.First:this.addItemFirst(i);break;case kt.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let r=this._state,i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==r)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let i={value:t.key,done:!1};return t=t.next,i}else return{value:void 0,done:!0}}};return r}values(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let i={value:t.value,done:!1};return t=t.next,i}else return{value:void 0,done:!0}}};return r}entries(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let i={value:[t.key,t.value],done:!1};return t=t.next,i}else return{value:void 0,done:!0}}};return r}[(Mh=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.next,r--;this._head=t,this._size=r,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,r=e.previous;if(!t||!r)throw new Error("Invalid list");t.previous=r,r.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(t!==kt.First&&t!==kt.Last)){if(t===kt.First){if(e===this._head)return;let r=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(r.previous=i,i.next=r),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===kt.Last){if(e===this._tail)return;let r=e.next,i=e.previous;e===this._head?(r.previous=void 0,this._head=r):(r.previous=i,i.next=r),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,r)=>{e.push([r,t])}),e}fromJSON(e){this.clear();for(let[t,r]of e)this.set(t,r)}};ur.LinkedMap=No;var Tc=class extends No{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=kt.AsNew){return super.get(e,t)}peek(e){return super.get(e,kt.None)}set(e,t){return super.set(e,t,kt.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};ur.LRUCache=Tc});var Lh=E(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.Disposable=void 0;var Ah;(function(n){function e(t){return{dispose:t}}n.create=e})(Ah||(jo.Disposable=Ah={}))});var lr=E(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});var Pc;function kc(){if(Pc===void 0)throw new Error("No runtime abstraction layer installed");return Pc}(function(n){function e(t){if(t===void 0)throw new Error("No runtime abstraction layer provided");Pc=t}n.install=e})(kc||(kc={}));Ec.default=kc});var Jr=E(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.Emitter=Gr.Event=void 0;var PS=lr(),Nh;(function(n){let e={dispose(){}};n.None=function(){return e}})(Nh||(Gr.Event=Nh={}));var xc=class{add(e,t=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(r)&&r.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let r=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===t){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else r=!0;if(r)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let t=[],r=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=r.length;o<s;o++)try{t.push(r[o].apply(i[o],e))}catch(a){(0,PS.default)().console.error(a)}return t}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},$o=class n{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,r)=>{this._callbacks||(this._callbacks=new xc),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=n._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(r)&&r.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};Gr.Emitter=$o;$o._noop=function(){}});var Wo=E(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.CancellationTokenSource=Xr.CancellationToken=void 0;var kS=lr(),ES=Br(),qc=Jr(),Uo;(function(n){n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:qc.Event.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:qc.Event.None});function e(t){let r=t;return r&&(r===n.None||r===n.Cancelled||ES.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}n.is=e})(Uo||(Xr.CancellationToken=Uo={}));var xS=Object.freeze(function(n,e){let t=(0,kS.default)().timer.setTimeout(n.bind(e),0);return{dispose(){t.dispose()}}}),Ho=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?xS:(this._emitter||(this._emitter=new qc.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},Ic=class{get token(){return this._token||(this._token=new Ho),this._token}cancel(){this._token?this._token.cancel():this._token=Uo.Cancelled}dispose(){this._token?this._token instanceof Ho&&this._token.dispose():this._token=Uo.None}};Xr.CancellationTokenSource=Ic});var jh=E(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.SharedArrayReceiverStrategy=Qr.SharedArraySenderStrategy=void 0;var qS=Wo(),Fi;(function(n){n.Continue=0,n.Cancelled=1})(Fi||(Fi={}));var Fc=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let t=new SharedArrayBuffer(4),r=new Int32Array(t,0,1);r[0]=Fi.Continue,this.buffers.set(e.id,t),e.$cancellationData=t}async sendCancellation(e,t){let r=this.buffers.get(t);if(r===void 0)return;let i=new Int32Array(r,0,1);Atomics.store(i,0,Fi.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};Qr.SharedArraySenderStrategy=Fc;var Oc=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Fi.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},Mc=class{constructor(e){this.token=new Oc(e)}cancel(){}dispose(){}},Ac=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let t=e.$cancellationData;return t===void 0?new qS.CancellationTokenSource:new Mc(t)}};Qr.SharedArrayReceiverStrategy=Ac});var Nc=E(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.Semaphore=void 0;var IS=lr(),Lc=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((t,r)=>{this._waiting.push({thunk:e,resolve:t,reject:r}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,IS.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let t=e.thunk();t instanceof Promise?t.then(r=>{this._active--,e.resolve(r),this.runNext()},r=>{this._active--,e.reject(r),this.runNext()}):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}};Ko.Semaphore=Lc});var Uh=E(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.ReadableStreamMessageReader=dr.AbstractMessageReader=dr.MessageReader=void 0;var $c=lr(),Yr=Br(),jc=Jr(),FS=Nc(),$h;(function(n){function e(t){let r=t;return r&&Yr.func(r.listen)&&Yr.func(r.dispose)&&Yr.func(r.onError)&&Yr.func(r.onClose)&&Yr.func(r.onPartialMessage)}n.is=e})($h||(dr.MessageReader=$h={}));var Vo=class{constructor(){this.errorEmitter=new jc.Emitter,this.closeEmitter=new jc.Emitter,this.partialMessageEmitter=new jc.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${Yr.string(e.message)?e.message:"unknown"}`)}};dr.AbstractMessageReader=Vo;var Uc;(function(n){function e(t){let r,i,o,s=new Map,a,c=new Map;if(t===void 0||typeof t=="string")r=t??"utf-8";else{if(r=t.charset??"utf-8",t.contentDecoder!==void 0&&(o=t.contentDecoder,s.set(o.name,o)),t.contentDecoders!==void 0)for(let l of t.contentDecoders)s.set(l.name,l);if(t.contentTypeDecoder!==void 0&&(a=t.contentTypeDecoder,c.set(a.name,a)),t.contentTypeDecoders!==void 0)for(let l of t.contentTypeDecoders)c.set(l.name,l)}return a===void 0&&(a=(0,$c.default)().applicationJson.decoder,c.set(a.name,a)),{charset:r,contentDecoder:o,contentDecoders:s,contentTypeDecoder:a,contentTypeDecoders:c}}n.fromOptions=e})(Uc||(Uc={}));var Hc=class extends Vo{constructor(e,t){super(),this.readable=e,this.options=Uc.fromOptions(t),this.buffer=(0,$c.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new FS.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let t=this.readable.onData(r=>{this.onData(r)});return this.readable.onError(r=>this.fireError(r)),this.readable.onClose(()=>this.fireClose()),t}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let r=this.buffer.tryReadHeaders(!0);if(!r)return;let i=r.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property.
|
|
11
|
-
${
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
${d}`);let m=d.substr(0,g),y=d.substr(g+1).trim();a.set(e?m.toLowerCase():m,y)}return a}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let o=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(o)}if(this._chunks[0].byteLength>e){let o=this._chunks[0],s=this.asNative(o,e);return this._chunks[0]=o.slice(e),this._totalLength-=e,s}let t=this.allocNative(e),r=0,i=0;for(;e>0;){let o=this._chunks[i];if(o.byteLength>e){let s=o.slice(0,e);t.set(s,r),r+=e,this._chunks[i]=o.slice(e),this._totalLength-=e,e-=e}else t.set(o,r),r+=o.byteLength,this._chunks.shift(),this._totalLength-=o.byteLength,e-=o.byteLength}return t}};Bo.AbstractMessageBuffer=Vc});var Yh=E(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.createMessageConnection=me.ConnectionOptions=me.MessageStrategy=me.CancellationStrategy=me.CancellationSenderStrategy=me.CancellationReceiverStrategy=me.RequestCancellationReceiverStrategy=me.IdCancellationReceiverStrategy=me.ConnectionStrategy=me.ConnectionError=me.ConnectionErrors=me.LogTraceNotification=me.SetTraceNotification=me.TraceFormat=me.TraceValues=me.Trace=me.NullLogger=me.ProgressType=me.ProgressToken=void 0;var Gh=lr(),Ye=Br(),se=_c(),Jh=Rc(),Mi=Jr(),zc=Wo(),Ni;(function(n){n.type=new se.NotificationType("$/cancelRequest")})(Ni||(Ni={}));var Bc;(function(n){function e(t){return typeof t=="string"||typeof t=="number"}n.is=e})(Bc||(me.ProgressToken=Bc={}));var Ai;(function(n){n.type=new se.NotificationType("$/progress")})(Ai||(Ai={}));var Gc=class{constructor(){}};me.ProgressType=Gc;var Jc;(function(n){function e(t){return Ye.func(t)}n.is=e})(Jc||(Jc={}));me.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var Oe;(function(n){n[n.Off=0]="Off",n[n.Messages=1]="Messages",n[n.Compact=2]="Compact",n[n.Verbose=3]="Verbose"})(Oe||(me.Trace=Oe={}));var Xh;(function(n){n.Off="off",n.Messages="messages",n.Compact="compact",n.Verbose="verbose"})(Xh||(me.TraceValues=Xh={}));(function(n){function e(r){if(!Ye.string(r))return n.Off;switch(r=r.toLowerCase(),r){case"off":return n.Off;case"messages":return n.Messages;case"compact":return n.Compact;case"verbose":return n.Verbose;default:return n.Off}}n.fromString=e;function t(r){switch(r){case n.Off:return"off";case n.Messages:return"messages";case n.Compact:return"compact";case n.Verbose:return"verbose";default:return"off"}}n.toString=t})(Oe||(me.Trace=Oe={}));var Xt;(function(n){n.Text="text",n.JSON="json"})(Xt||(me.TraceFormat=Xt={}));(function(n){function e(t){return Ye.string(t)?(t=t.toLowerCase(),t==="json"?n.JSON:n.Text):n.Text}n.fromString=e})(Xt||(me.TraceFormat=Xt={}));var Xc;(function(n){n.type=new se.NotificationType("$/setTrace")})(Xc||(me.SetTraceNotification=Xc={}));var Go;(function(n){n.type=new se.NotificationType("$/logTrace")})(Go||(me.LogTraceNotification=Go={}));var Li;(function(n){n[n.Closed=1]="Closed",n[n.Disposed=2]="Disposed",n[n.AlreadyListening=3]="AlreadyListening"})(Li||(me.ConnectionErrors=Li={}));var Zr=class n extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,n.prototype)}};me.ConnectionError=Zr;var Qc;(function(n){function e(t){let r=t;return r&&Ye.func(r.cancelUndispatched)}n.is=e})(Qc||(me.ConnectionStrategy=Qc={}));var Jo;(function(n){function e(t){let r=t;return r&&(r.kind===void 0||r.kind==="id")&&Ye.func(r.createCancellationTokenSource)&&(r.dispose===void 0||Ye.func(r.dispose))}n.is=e})(Jo||(me.IdCancellationReceiverStrategy=Jo={}));var Yc;(function(n){function e(t){let r=t;return r&&r.kind==="request"&&Ye.func(r.createCancellationTokenSource)&&(r.dispose===void 0||Ye.func(r.dispose))}n.is=e})(Yc||(me.RequestCancellationReceiverStrategy=Yc={}));var Xo;(function(n){n.Message=Object.freeze({createCancellationTokenSource(t){return new zc.CancellationTokenSource}});function e(t){return Jo.is(t)||Yc.is(t)}n.is=e})(Xo||(me.CancellationReceiverStrategy=Xo={}));var Qo;(function(n){n.Message=Object.freeze({sendCancellation(t,r){return t.sendNotification(Ni.type,{id:r})},cleanup(t){}});function e(t){let r=t;return r&&Ye.func(r.sendCancellation)&&Ye.func(r.cleanup)}n.is=e})(Qo||(me.CancellationSenderStrategy=Qo={}));var Yo;(function(n){n.Message=Object.freeze({receiver:Xo.Message,sender:Qo.Message});function e(t){let r=t;return r&&Xo.is(r.receiver)&&Qo.is(r.sender)}n.is=e})(Yo||(me.CancellationStrategy=Yo={}));var Zo;(function(n){function e(t){let r=t;return r&&Ye.func(r.handleMessage)}n.is=e})(Zo||(me.MessageStrategy=Zo={}));var Qh;(function(n){function e(t){let r=t;return r&&(Yo.is(r.cancellationStrategy)||Qc.is(r.connectionStrategy)||Zo.is(r.messageStrategy))}n.is=e})(Qh||(me.ConnectionOptions=Qh={}));var Sn;(function(n){n[n.New=1]="New",n[n.Listening=2]="Listening",n[n.Closed=3]="Closed",n[n.Disposed=4]="Disposed"})(Sn||(Sn={}));function jS(n,e,t,r){let i=t!==void 0?t:me.NullLogger,o=0,s=0,a=0,c="2.0",l,d=new Map,g,m=new Map,y=new Map,v,T=new Jh.LinkedMap,P=new Map,q=new Set,N=new Map,L=Oe.Off,K=Xt.Text,te,Z=Sn.New,V=new Mi.Emitter,ne=new Mi.Emitter,ce=new Mi.Emitter,Ne=new Mi.Emitter,U=new Mi.Emitter,I=r&&r.cancellationStrategy?r.cancellationStrategy:Yo.Message;function J(C){if(C===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+C.toString()}function B(C){return C===null?"res-unknown-"+(++a).toString():"res-"+C.toString()}function pe(){return"not-"+(++s).toString()}function ie(C,O){se.Message.isRequest(O)?C.set(J(O.id),O):se.Message.isResponse(O)?C.set(B(O.id),O):C.set(pe(),O)}function oe(C){}function st(){return Z===Sn.Listening}function be(){return Z===Sn.Closed}function Re(){return Z===Sn.Disposed}function ct(){(Z===Sn.New||Z===Sn.Listening)&&(Z=Sn.Closed,ne.fire(void 0))}function Ct(C){V.fire([C,void 0,void 0])}function nr(C){V.fire(C)}n.onClose(ct),n.onError(Ct),e.onClose(ct),e.onError(nr);function En(){v||T.size===0||(v=(0,Gh.default)().timer.setImmediate(()=>{v=void 0,Kn()}))}function xn(C){se.Message.isRequest(C)?qn(C):se.Message.isNotification(C)?vn(C):se.Message.isResponse(C)?mn(C):In(C)}function Kn(){if(T.size===0)return;let C=T.shift();try{let O=r?.messageStrategy;Zo.is(O)?O.handleMessage(C,xn):xn(C)}finally{En()}}let rr=C=>{try{if(se.Message.isNotification(C)&&C.method===Ni.type.method){let O=C.params.id,W=J(O),G=T.get(W);if(se.Message.isRequest(G)){let Pe=r?.connectionStrategy,Ae=Pe&&Pe.cancelUndispatched?Pe.cancelUndispatched(G,oe):void 0;if(Ae&&(Ae.error!==void 0||Ae.result!==void 0)){T.delete(W),N.delete(O),Ae.id=G.id,rn(Ae,C.method,Date.now()),e.write(Ae).catch(()=>i.error("Sending response for canceled message failed."));return}}let xe=N.get(O);if(xe!==void 0){xe.cancel(),on(C);return}else q.add(O)}ie(T,C)}finally{En()}};function qn(C){if(Re())return;function O(ye,Ie,De){let Ue={jsonrpc:c,id:C.id};ye instanceof se.ResponseError?Ue.error=ye.toJson():Ue.result=ye===void 0?null:ye,rn(Ue,Ie,De),e.write(Ue).catch(()=>i.error("Sending response failed."))}function W(ye,Ie,De){let Ue={jsonrpc:c,id:C.id,error:ye.toJson()};rn(Ue,Ie,De),e.write(Ue).catch(()=>i.error("Sending response failed."))}function G(ye,Ie,De){ye===void 0&&(ye=null);let Ue={jsonrpc:c,id:C.id,result:ye};rn(Ue,Ie,De),e.write(Ue).catch(()=>i.error("Sending response failed."))}ir(C);let xe=d.get(C.method),Pe,Ae;xe&&(Pe=xe.type,Ae=xe.handler);let $e=Date.now();if(Ae||l){let ye=C.id??String(Date.now()),Ie=Jo.is(I.receiver)?I.receiver.createCancellationTokenSource(ye):I.receiver.createCancellationTokenSource(C);C.id!==null&&q.has(C.id)&&Ie.cancel(),C.id!==null&&N.set(ye,Ie);try{let De;if(Ae)if(C.params===void 0){if(Pe!==void 0&&Pe.numberOfParams!==0){W(new se.ResponseError(se.ErrorCodes.InvalidParams,`Request ${C.method} defines ${Pe.numberOfParams} params but received none.`),C.method,$e);return}De=Ae(Ie.token)}else if(Array.isArray(C.params)){if(Pe!==void 0&&Pe.parameterStructures===se.ParameterStructures.byName){W(new se.ResponseError(se.ErrorCodes.InvalidParams,`Request ${C.method} defines parameters by name but received parameters by position`),C.method,$e);return}De=Ae(...C.params,Ie.token)}else{if(Pe!==void 0&&Pe.parameterStructures===se.ParameterStructures.byPosition){W(new se.ResponseError(se.ErrorCodes.InvalidParams,`Request ${C.method} defines parameters by position but received parameters by name`),C.method,$e);return}De=Ae(C.params,Ie.token)}else l&&(De=l(C.method,C.params,Ie.token));let Ue=De;De?Ue.then?Ue.then(nt=>{N.delete(ye),O(nt,C.method,$e)},nt=>{N.delete(ye),nt instanceof se.ResponseError?W(nt,C.method,$e):nt&&Ye.string(nt.message)?W(new se.ResponseError(se.ErrorCodes.InternalError,`Request ${C.method} failed with message: ${nt.message}`),C.method,$e):W(new se.ResponseError(se.ErrorCodes.InternalError,`Request ${C.method} failed unexpectedly without providing any details.`),C.method,$e)}):(N.delete(ye),O(De,C.method,$e)):(N.delete(ye),G(De,C.method,$e))}catch(De){N.delete(ye),De instanceof se.ResponseError?O(De,C.method,$e):De&&Ye.string(De.message)?W(new se.ResponseError(se.ErrorCodes.InternalError,`Request ${C.method} failed with message: ${De.message}`),C.method,$e):W(new se.ResponseError(se.ErrorCodes.InternalError,`Request ${C.method} failed unexpectedly without providing any details.`),C.method,$e)}}else W(new se.ResponseError(se.ErrorCodes.MethodNotFound,`Unhandled method ${C.method}`),C.method,$e)}function mn(C){if(!Re())if(C.id===null)C.error?i.error(`Received response message without id: Error is:
|
|
15
|
-
${JSON.stringify(C.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let O=C.id,W=P.get(O);if(Fn(C,W),W!==void 0){P.delete(O);try{if(C.error){let G=C.error;W.reject(new se.ResponseError(G.code,G.message,G.data))}else if(C.result!==void 0)W.resolve(C.result);else throw new Error("Should never happen.")}catch(G){G.message?i.error(`Response handler '${W.method}' failed with message: ${G.message}`):i.error(`Response handler '${W.method}' failed unexpectedly.`)}}}}function vn(C){if(Re())return;let O,W;if(C.method===Ni.type.method){let G=C.params.id;q.delete(G),on(C);return}else{let G=m.get(C.method);G&&(W=G.handler,O=G.type)}if(W||g)try{if(on(C),W)if(C.params===void 0)O!==void 0&&O.numberOfParams!==0&&O.parameterStructures!==se.ParameterStructures.byName&&i.error(`Notification ${C.method} defines ${O.numberOfParams} params but received none.`),W();else if(Array.isArray(C.params)){let G=C.params;C.method===Ai.type.method&&G.length===2&&Bc.is(G[0])?W({token:G[0],value:G[1]}):(O!==void 0&&(O.parameterStructures===se.ParameterStructures.byName&&i.error(`Notification ${C.method} defines parameters by name but received parameters by position`),O.numberOfParams!==C.params.length&&i.error(`Notification ${C.method} defines ${O.numberOfParams} params but received ${G.length} arguments`)),W(...G))}else O!==void 0&&O.parameterStructures===se.ParameterStructures.byPosition&&i.error(`Notification ${C.method} defines parameters by position but received parameters by name`),W(C.params);else g&&g(C.method,C.params)}catch(G){G.message?i.error(`Notification handler '${C.method}' failed with message: ${G.message}`):i.error(`Notification handler '${C.method}' failed unexpectedly.`)}else ce.fire(C)}function In(C){if(!C){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
|
|
16
|
-
${JSON.stringify(C,null,4)}`);let O=C;if(Ye.string(O.id)||Ye.number(O.id)){let W=O.id,G=P.get(W);G&&G.reject(new Error("The received response has neither a result nor an error property."))}}function ut(C){if(C!=null)switch(L){case Oe.Verbose:return JSON.stringify(C,null,4);case Oe.Compact:return JSON.stringify(C);default:return}}function Vn(C){if(!(L===Oe.Off||!te))if(K===Xt.Text){let O;(L===Oe.Verbose||L===Oe.Compact)&&C.params&&(O=`Params: ${ut(C.params)}
|
|
17
|
-
|
|
18
|
-
`),te.log(`Sending request '${C.method} - (${C.id})'.`,O)}else at("send-request",C)}function yn(C){if(!(L===Oe.Off||!te))if(K===Xt.Text){let O;(L===Oe.Verbose||L===Oe.Compact)&&(C.params?O=`Params: ${ut(C.params)}
|
|
19
|
-
|
|
20
|
-
`:O=`No parameters provided.
|
|
21
|
-
|
|
22
|
-
`),te.log(`Sending notification '${C.method}'.`,O)}else at("send-notification",C)}function rn(C,O,W){if(!(L===Oe.Off||!te))if(K===Xt.Text){let G;(L===Oe.Verbose||L===Oe.Compact)&&(C.error&&C.error.data?G=`Error data: ${ut(C.error.data)}
|
|
23
|
-
|
|
24
|
-
`:C.result?G=`Result: ${ut(C.result)}
|
|
25
|
-
|
|
26
|
-
`:C.error===void 0&&(G=`No result returned.
|
|
27
|
-
|
|
28
|
-
`)),te.log(`Sending response '${O} - (${C.id})'. Processing request took ${Date.now()-W}ms`,G)}else at("send-response",C)}function ir(C){if(!(L===Oe.Off||!te))if(K===Xt.Text){let O;(L===Oe.Verbose||L===Oe.Compact)&&C.params&&(O=`Params: ${ut(C.params)}
|
|
29
|
-
|
|
30
|
-
`),te.log(`Received request '${C.method} - (${C.id})'.`,O)}else at("receive-request",C)}function on(C){if(!(L===Oe.Off||!te||C.method===Go.type.method))if(K===Xt.Text){let O;(L===Oe.Verbose||L===Oe.Compact)&&(C.params?O=`Params: ${ut(C.params)}
|
|
31
|
-
|
|
32
|
-
`:O=`No parameters provided.
|
|
33
|
-
|
|
34
|
-
`),te.log(`Received notification '${C.method}'.`,O)}else at("receive-notification",C)}function Fn(C,O){if(!(L===Oe.Off||!te))if(K===Xt.Text){let W;if((L===Oe.Verbose||L===Oe.Compact)&&(C.error&&C.error.data?W=`Error data: ${ut(C.error.data)}
|
|
35
|
-
|
|
36
|
-
`:C.result?W=`Result: ${ut(C.result)}
|
|
37
|
-
|
|
38
|
-
`:C.error===void 0&&(W=`No result returned.
|
|
39
|
-
|
|
40
|
-
`)),O){let G=C.error?` Request failed: ${C.error.message} (${C.error.code}).`:"";te.log(`Received response '${O.method} - (${C.id})' in ${Date.now()-O.timerStart}ms.${G}`,W)}else te.log(`Received response ${C.id} without active response promise.`,W)}else at("receive-response",C)}function at(C,O){if(!te||L===Oe.Off)return;let W={isLSPMessage:!0,type:C,message:O,timestamp:Date.now()};te.log(W)}function Tt(){if(be())throw new Zr(Li.Closed,"Connection is closed.");if(Re())throw new Zr(Li.Disposed,"Connection is disposed.")}function Dt(){if(st())throw new Zr(Li.AlreadyListening,"Connection is already listening")}function Gt(){if(!st())throw new Error("Call listen() first.")}function Lt(C){return C===void 0?null:C}function On(C){if(C!==null)return C}function zn(C){return C!=null&&!Array.isArray(C)&&typeof C=="object"}function bn(C,O){switch(C){case se.ParameterStructures.auto:return zn(O)?On(O):[Lt(O)];case se.ParameterStructures.byName:if(!zn(O))throw new Error("Received parameters by name but param is not an object literal.");return On(O);case se.ParameterStructures.byPosition:return[Lt(O)];default:throw new Error(`Unknown parameter structure ${C.toString()}`)}}function Bn(C,O){let W,G=C.numberOfParams;switch(G){case 0:W=void 0;break;case 1:W=bn(C.parameterStructures,O[0]);break;default:W=[];for(let xe=0;xe<O.length&&xe<G;xe++)W.push(Lt(O[xe]));if(O.length<G)for(let xe=O.length;xe<G;xe++)W.push(null);break}return W}let Ft={sendNotification:(C,...O)=>{Tt();let W,G;if(Ye.string(C)){W=C;let Pe=O[0],Ae=0,$e=se.ParameterStructures.auto;se.ParameterStructures.is(Pe)&&(Ae=1,$e=Pe);let ye=O.length,Ie=ye-Ae;switch(Ie){case 0:G=void 0;break;case 1:G=bn($e,O[Ae]);break;default:if($e===se.ParameterStructures.byName)throw new Error(`Received ${Ie} parameters for 'by Name' notification parameter structure.`);G=O.slice(Ae,ye).map(De=>Lt(De));break}}else{let Pe=O;W=C.method,G=Bn(C,Pe)}let xe={jsonrpc:c,method:W,params:G};return yn(xe),e.write(xe).catch(Pe=>{throw i.error("Sending notification failed."),Pe})},onNotification:(C,O)=>{Tt();let W;return Ye.func(C)?g=C:O&&(Ye.string(C)?(W=C,m.set(C,{type:void 0,handler:O})):(W=C.method,m.set(C.method,{type:C,handler:O}))),{dispose:()=>{W!==void 0?m.delete(W):g=void 0}}},onProgress:(C,O,W)=>{if(y.has(O))throw new Error(`Progress handler for token ${O} already registered`);return y.set(O,W),{dispose:()=>{y.delete(O)}}},sendProgress:(C,O,W)=>Ft.sendNotification(Ai.type,{token:O,value:W}),onUnhandledProgress:Ne.event,sendRequest:(C,...O)=>{Tt(),Gt();let W,G,xe;if(Ye.string(C)){W=C;let ye=O[0],Ie=O[O.length-1],De=0,Ue=se.ParameterStructures.auto;se.ParameterStructures.is(ye)&&(De=1,Ue=ye);let nt=O.length;zc.CancellationToken.is(Ie)&&(nt=nt-1,xe=Ie);let ht=nt-De;switch(ht){case 0:G=void 0;break;case 1:G=bn(Ue,O[De]);break;default:if(Ue===se.ParameterStructures.byName)throw new Error(`Received ${ht} parameters for 'by Name' request parameter structure.`);G=O.slice(De,nt).map(or=>Lt(or));break}}else{let ye=O;W=C.method,G=Bn(C,ye);let Ie=C.numberOfParams;xe=zc.CancellationToken.is(ye[Ie])?ye[Ie]:void 0}let Pe=o++,Ae;xe&&(Ae=xe.onCancellationRequested(()=>{let ye=I.sender.sendCancellation(Ft,Pe);return ye===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${Pe}`),Promise.resolve()):ye.catch(()=>{i.log(`Sending cancellation messages for id ${Pe} failed`)})}));let $e={jsonrpc:c,id:Pe,method:W,params:G};return Vn($e),typeof I.sender.enableCancellation=="function"&&I.sender.enableCancellation($e),new Promise(async(ye,Ie)=>{let De=ht=>{ye(ht),I.sender.cleanup(Pe),Ae?.dispose()},Ue=ht=>{Ie(ht),I.sender.cleanup(Pe),Ae?.dispose()},nt={method:W,timerStart:Date.now(),resolve:De,reject:Ue};try{await e.write($e),P.set(Pe,nt)}catch(ht){throw i.error("Sending request failed."),nt.reject(new se.ResponseError(se.ErrorCodes.MessageWriteError,ht.message?ht.message:"Unknown reason")),ht}})},onRequest:(C,O)=>{Tt();let W=null;return Jc.is(C)?(W=void 0,l=C):Ye.string(C)?(W=null,O!==void 0&&(W=C,d.set(C,{handler:O,type:void 0}))):O!==void 0&&(W=C.method,d.set(C.method,{type:C,handler:O})),{dispose:()=>{W!==null&&(W!==void 0?d.delete(W):l=void 0)}}},hasPendingResponse:()=>P.size>0,trace:async(C,O,W)=>{let G=!1,xe=Xt.Text;W!==void 0&&(Ye.boolean(W)?G=W:(G=W.sendNotification||!1,xe=W.traceFormat||Xt.Text)),L=C,K=xe,L===Oe.Off?te=void 0:te=O,G&&!be()&&!Re()&&await Ft.sendNotification(Xc.type,{value:Oe.toString(C)})},onError:V.event,onClose:ne.event,onUnhandledNotification:ce.event,onDispose:U.event,end:()=>{e.end()},dispose:()=>{if(Re())return;Z=Sn.Disposed,U.fire(void 0);let C=new se.ResponseError(se.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let O of P.values())O.reject(C);P=new Map,N=new Map,q=new Set,T=new Jh.LinkedMap,Ye.func(e.dispose)&&e.dispose(),Ye.func(n.dispose)&&n.dispose()},listen:()=>{Tt(),Dt(),Z=Sn.Listening,n.listen(rr)},inspect:()=>{(0,Gh.default)().console.log("inspect")}};return Ft.onNotification(Go.type,C=>{if(L===Oe.Off||!te)return;let O=L===Oe.Verbose||L===Oe.Compact;te.log(C.message,O?C.verbose:void 0)}),Ft.onNotification(Ai.type,C=>{let O=y.get(C.token);O?O(C.value):Ne.fire(C)}),Ft}me.createMessageConnection=jS});var es=E(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.ProgressType=F.ProgressToken=F.createMessageConnection=F.NullLogger=F.ConnectionOptions=F.ConnectionStrategy=F.AbstractMessageBuffer=F.WriteableStreamMessageWriter=F.AbstractMessageWriter=F.MessageWriter=F.ReadableStreamMessageReader=F.AbstractMessageReader=F.MessageReader=F.SharedArrayReceiverStrategy=F.SharedArraySenderStrategy=F.CancellationToken=F.CancellationTokenSource=F.Emitter=F.Event=F.Disposable=F.LRUCache=F.Touch=F.LinkedMap=F.ParameterStructures=F.NotificationType9=F.NotificationType8=F.NotificationType7=F.NotificationType6=F.NotificationType5=F.NotificationType4=F.NotificationType3=F.NotificationType2=F.NotificationType1=F.NotificationType0=F.NotificationType=F.ErrorCodes=F.ResponseError=F.RequestType9=F.RequestType8=F.RequestType7=F.RequestType6=F.RequestType5=F.RequestType4=F.RequestType3=F.RequestType2=F.RequestType1=F.RequestType0=F.RequestType=F.Message=F.RAL=void 0;F.MessageStrategy=F.CancellationStrategy=F.CancellationSenderStrategy=F.CancellationReceiverStrategy=F.ConnectionError=F.ConnectionErrors=F.LogTraceNotification=F.SetTraceNotification=F.TraceFormat=F.TraceValues=F.Trace=void 0;var Ve=_c();Object.defineProperty(F,"Message",{enumerable:!0,get:function(){return Ve.Message}});Object.defineProperty(F,"RequestType",{enumerable:!0,get:function(){return Ve.RequestType}});Object.defineProperty(F,"RequestType0",{enumerable:!0,get:function(){return Ve.RequestType0}});Object.defineProperty(F,"RequestType1",{enumerable:!0,get:function(){return Ve.RequestType1}});Object.defineProperty(F,"RequestType2",{enumerable:!0,get:function(){return Ve.RequestType2}});Object.defineProperty(F,"RequestType3",{enumerable:!0,get:function(){return Ve.RequestType3}});Object.defineProperty(F,"RequestType4",{enumerable:!0,get:function(){return Ve.RequestType4}});Object.defineProperty(F,"RequestType5",{enumerable:!0,get:function(){return Ve.RequestType5}});Object.defineProperty(F,"RequestType6",{enumerable:!0,get:function(){return Ve.RequestType6}});Object.defineProperty(F,"RequestType7",{enumerable:!0,get:function(){return Ve.RequestType7}});Object.defineProperty(F,"RequestType8",{enumerable:!0,get:function(){return Ve.RequestType8}});Object.defineProperty(F,"RequestType9",{enumerable:!0,get:function(){return Ve.RequestType9}});Object.defineProperty(F,"ResponseError",{enumerable:!0,get:function(){return Ve.ResponseError}});Object.defineProperty(F,"ErrorCodes",{enumerable:!0,get:function(){return Ve.ErrorCodes}});Object.defineProperty(F,"NotificationType",{enumerable:!0,get:function(){return Ve.NotificationType}});Object.defineProperty(F,"NotificationType0",{enumerable:!0,get:function(){return Ve.NotificationType0}});Object.defineProperty(F,"NotificationType1",{enumerable:!0,get:function(){return Ve.NotificationType1}});Object.defineProperty(F,"NotificationType2",{enumerable:!0,get:function(){return Ve.NotificationType2}});Object.defineProperty(F,"NotificationType3",{enumerable:!0,get:function(){return Ve.NotificationType3}});Object.defineProperty(F,"NotificationType4",{enumerable:!0,get:function(){return Ve.NotificationType4}});Object.defineProperty(F,"NotificationType5",{enumerable:!0,get:function(){return Ve.NotificationType5}});Object.defineProperty(F,"NotificationType6",{enumerable:!0,get:function(){return Ve.NotificationType6}});Object.defineProperty(F,"NotificationType7",{enumerable:!0,get:function(){return Ve.NotificationType7}});Object.defineProperty(F,"NotificationType8",{enumerable:!0,get:function(){return Ve.NotificationType8}});Object.defineProperty(F,"NotificationType9",{enumerable:!0,get:function(){return Ve.NotificationType9}});Object.defineProperty(F,"ParameterStructures",{enumerable:!0,get:function(){return Ve.ParameterStructures}});var Zc=Rc();Object.defineProperty(F,"LinkedMap",{enumerable:!0,get:function(){return Zc.LinkedMap}});Object.defineProperty(F,"LRUCache",{enumerable:!0,get:function(){return Zc.LRUCache}});Object.defineProperty(F,"Touch",{enumerable:!0,get:function(){return Zc.Touch}});var $S=Lh();Object.defineProperty(F,"Disposable",{enumerable:!0,get:function(){return $S.Disposable}});var Zh=Jr();Object.defineProperty(F,"Event",{enumerable:!0,get:function(){return Zh.Event}});Object.defineProperty(F,"Emitter",{enumerable:!0,get:function(){return Zh.Emitter}});var eg=Wo();Object.defineProperty(F,"CancellationTokenSource",{enumerable:!0,get:function(){return eg.CancellationTokenSource}});Object.defineProperty(F,"CancellationToken",{enumerable:!0,get:function(){return eg.CancellationToken}});var tg=jh();Object.defineProperty(F,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return tg.SharedArraySenderStrategy}});Object.defineProperty(F,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return tg.SharedArrayReceiverStrategy}});var eu=Uh();Object.defineProperty(F,"MessageReader",{enumerable:!0,get:function(){return eu.MessageReader}});Object.defineProperty(F,"AbstractMessageReader",{enumerable:!0,get:function(){return eu.AbstractMessageReader}});Object.defineProperty(F,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return eu.ReadableStreamMessageReader}});var tu=zh();Object.defineProperty(F,"MessageWriter",{enumerable:!0,get:function(){return tu.MessageWriter}});Object.defineProperty(F,"AbstractMessageWriter",{enumerable:!0,get:function(){return tu.AbstractMessageWriter}});Object.defineProperty(F,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return tu.WriteableStreamMessageWriter}});var US=Bh();Object.defineProperty(F,"AbstractMessageBuffer",{enumerable:!0,get:function(){return US.AbstractMessageBuffer}});var _t=Yh();Object.defineProperty(F,"ConnectionStrategy",{enumerable:!0,get:function(){return _t.ConnectionStrategy}});Object.defineProperty(F,"ConnectionOptions",{enumerable:!0,get:function(){return _t.ConnectionOptions}});Object.defineProperty(F,"NullLogger",{enumerable:!0,get:function(){return _t.NullLogger}});Object.defineProperty(F,"createMessageConnection",{enumerable:!0,get:function(){return _t.createMessageConnection}});Object.defineProperty(F,"ProgressToken",{enumerable:!0,get:function(){return _t.ProgressToken}});Object.defineProperty(F,"ProgressType",{enumerable:!0,get:function(){return _t.ProgressType}});Object.defineProperty(F,"Trace",{enumerable:!0,get:function(){return _t.Trace}});Object.defineProperty(F,"TraceValues",{enumerable:!0,get:function(){return _t.TraceValues}});Object.defineProperty(F,"TraceFormat",{enumerable:!0,get:function(){return _t.TraceFormat}});Object.defineProperty(F,"SetTraceNotification",{enumerable:!0,get:function(){return _t.SetTraceNotification}});Object.defineProperty(F,"LogTraceNotification",{enumerable:!0,get:function(){return _t.LogTraceNotification}});Object.defineProperty(F,"ConnectionErrors",{enumerable:!0,get:function(){return _t.ConnectionErrors}});Object.defineProperty(F,"ConnectionError",{enumerable:!0,get:function(){return _t.ConnectionError}});Object.defineProperty(F,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return _t.CancellationReceiverStrategy}});Object.defineProperty(F,"CancellationSenderStrategy",{enumerable:!0,get:function(){return _t.CancellationSenderStrategy}});Object.defineProperty(F,"CancellationStrategy",{enumerable:!0,get:function(){return _t.CancellationStrategy}});Object.defineProperty(F,"MessageStrategy",{enumerable:!0,get:function(){return _t.MessageStrategy}});var HS=lr();F.RAL=HS.default});var ig=E(ou=>{"use strict";Object.defineProperty(ou,"__esModule",{value:!0});var ng=require("util"),Jn=es(),ts=class n extends Jn.AbstractMessageBuffer{constructor(e="utf-8"){super(e)}emptyBuffer(){return n.emptyBuffer}fromString(e,t){return Buffer.from(e,t)}toString(e,t){return e instanceof Buffer?e.toString(t):new ng.TextDecoder(t).decode(e)}asNative(e,t){return t===void 0?e instanceof Buffer?e:Buffer.from(e):e instanceof Buffer?e.slice(0,t):Buffer.from(e,0,t)}allocNative(e){return Buffer.allocUnsafe(e)}};ts.emptyBuffer=Buffer.allocUnsafe(0);var nu=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),Jn.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),Jn.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),Jn.Disposable.create(()=>this.stream.off("end",e))}onData(e){return this.stream.on("data",e),Jn.Disposable.create(()=>this.stream.off("data",e))}},ru=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),Jn.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),Jn.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),Jn.Disposable.create(()=>this.stream.off("end",e))}write(e,t){return new Promise((r,i)=>{let o=s=>{s==null?r():i(s)};typeof e=="string"?this.stream.write(e,t,o):this.stream.write(e,o)})}end(){this.stream.end()}},rg=Object.freeze({messageBuffer:Object.freeze({create:n=>new ts(n)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(n,e)=>{try{return Promise.resolve(Buffer.from(JSON.stringify(n,void 0,0),e.charset))}catch(t){return Promise.reject(t)}}}),decoder:Object.freeze({name:"application/json",decode:(n,e)=>{try{return n instanceof Buffer?Promise.resolve(JSON.parse(n.toString(e.charset))):Promise.resolve(JSON.parse(new ng.TextDecoder(e.charset).decode(n)))}catch(t){return Promise.reject(t)}}})}),stream:Object.freeze({asReadableStream:n=>new nu(n),asWritableStream:n=>new ru(n)}),console,timer:Object.freeze({setTimeout(n,e,...t){let r=setTimeout(n,e,...t);return{dispose:()=>clearTimeout(r)}},setImmediate(n,...e){let t=setImmediate(n,...e);return{dispose:()=>clearImmediate(t)}},setInterval(n,e,...t){let r=setInterval(n,e,...t);return{dispose:()=>clearInterval(r)}}})});function iu(){return rg}(function(n){function e(){Jn.RAL.install(rg)}n.install=e})(iu||(iu={}));ou.default=iu});var Er=E(Te=>{"use strict";var WS=Te&&Te.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(n,r,i)}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),KS=Te&&Te.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&WS(e,n,t)};Object.defineProperty(Te,"__esModule",{value:!0});Te.createMessageConnection=Te.createServerSocketTransport=Te.createClientSocketTransport=Te.createServerPipeTransport=Te.createClientPipeTransport=Te.generateRandomPipeName=Te.StreamMessageWriter=Te.StreamMessageReader=Te.SocketMessageWriter=Te.SocketMessageReader=Te.PortMessageWriter=Te.PortMessageReader=Te.IPCMessageWriter=Te.IPCMessageReader=void 0;var ei=ig();ei.default.install();var og=require("path"),VS=require("os"),zS=require("crypto"),is=require("net"),Qt=es();KS(es(),Te);var su=class extends Qt.AbstractMessageReader{constructor(e){super(),this.process=e;let t=this.process;t.on("error",r=>this.fireError(r)),t.on("close",()=>this.fireClose())}listen(e){return this.process.on("message",e),Qt.Disposable.create(()=>this.process.off("message",e))}};Te.IPCMessageReader=su;var au=class extends Qt.AbstractMessageWriter{constructor(e){super(),this.process=e,this.errorCount=0;let t=this.process;t.on("error",r=>this.fireError(r)),t.on("close",()=>this.fireClose)}write(e){try{return typeof this.process.send=="function"&&this.process.send(e,void 0,void 0,t=>{t?(this.errorCount++,this.handleError(t,e)):this.errorCount=0}),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}};Te.IPCMessageWriter=au;var cu=class extends Qt.AbstractMessageReader{constructor(e){super(),this.onData=new Qt.Emitter,e.on("close",()=>this.fireClose),e.on("error",t=>this.fireError(t)),e.on("message",t=>{this.onData.fire(t)})}listen(e){return this.onData.event(e)}};Te.PortMessageReader=cu;var uu=class extends Qt.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.on("close",()=>this.fireClose()),e.on("error",t=>this.fireError(t))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}};Te.PortMessageWriter=uu;var Pr=class extends Qt.ReadableStreamMessageReader{constructor(e,t="utf-8"){super((0,ei.default)().stream.asReadableStream(e),t)}};Te.SocketMessageReader=Pr;var kr=class extends Qt.WriteableStreamMessageWriter{constructor(e,t){super((0,ei.default)().stream.asWritableStream(e),t),this.socket=e}dispose(){super.dispose(),this.socket.destroy()}};Te.SocketMessageWriter=kr;var ns=class extends Qt.ReadableStreamMessageReader{constructor(e,t){super((0,ei.default)().stream.asReadableStream(e),t)}};Te.StreamMessageReader=ns;var rs=class extends Qt.WriteableStreamMessageWriter{constructor(e,t){super((0,ei.default)().stream.asWritableStream(e),t)}};Te.StreamMessageWriter=rs;var sg=process.env.XDG_RUNTIME_DIR,BS=new Map([["linux",107],["darwin",103]]);function GS(){let n=(0,zS.randomBytes)(21).toString("hex");if(process.platform==="win32")return`\\\\.\\pipe\\vscode-jsonrpc-${n}-sock`;let e;sg?e=og.join(sg,`vscode-ipc-${n}.sock`):e=og.join(VS.tmpdir(),`vscode-${n}.sock`);let t=BS.get(process.platform);return t!==void 0&&e.length>t&&(0,ei.default)().console.warn(`WARNING: IPC handle "${e}" is longer than ${t} characters.`),e}Te.generateRandomPipeName=GS;function JS(n,e="utf-8"){let t,r=new Promise((i,o)=>{t=i});return new Promise((i,o)=>{let s=(0,is.createServer)(a=>{s.close(),t([new Pr(a,e),new kr(a,e)])});s.on("error",o),s.listen(n,()=>{s.removeListener("error",o),i({onConnected:()=>r})})})}Te.createClientPipeTransport=JS;function XS(n,e="utf-8"){let t=(0,is.createConnection)(n);return[new Pr(t,e),new kr(t,e)]}Te.createServerPipeTransport=XS;function QS(n,e="utf-8"){let t,r=new Promise((i,o)=>{t=i});return new Promise((i,o)=>{let s=(0,is.createServer)(a=>{s.close(),t([new Pr(a,e),new kr(a,e)])});s.on("error",o),s.listen(n,"127.0.0.1",()=>{s.removeListener("error",o),i({onConnected:()=>r})})})}Te.createClientSocketTransport=QS;function YS(n,e="utf-8"){let t=(0,is.createConnection)(n,"127.0.0.1");return[new Pr(t,e),new kr(t,e)]}Te.createServerSocketTransport=YS;function ZS(n){let e=n;return e.read!==void 0&&e.addListener!==void 0}function e_(n){let e=n;return e.write!==void 0&&e.addListener!==void 0}function t_(n,e,t,r){t||(t=Qt.NullLogger);let i=ZS(n)?new ns(n):n,o=e_(e)?new rs(e):e;return Qt.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),(0,Qt.createMessageConnection)(i,o,t,r)}Te.createMessageConnection=t_});var lu=E((Ak,ag)=>{"use strict";ag.exports=Er()});var ss=E((cg,os)=>{"use strict";(function(n){if(typeof os=="object"&&typeof os.exports=="object"){var e=n(require,cg);e!==void 0&&(os.exports=e)}else typeof define=="function"&&define.amd&&define(["require","exports"],n)})(function(n,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextDocument=e.EOL=e.WorkspaceFolder=e.InlineCompletionContext=e.SelectedCompletionInfo=e.InlineCompletionTriggerKind=e.InlineCompletionList=e.InlineCompletionItem=e.StringValue=e.InlayHint=e.InlayHintLabelPart=e.InlayHintKind=e.InlineValueContext=e.InlineValueEvaluatableExpression=e.InlineValueVariableLookup=e.InlineValueText=e.SemanticTokens=e.SemanticTokenModifiers=e.SemanticTokenTypes=e.SelectionRange=e.DocumentLink=e.FormattingOptions=e.CodeLens=e.CodeAction=e.CodeActionContext=e.CodeActionTriggerKind=e.CodeActionKind=e.DocumentSymbol=e.WorkspaceSymbol=e.SymbolInformation=e.SymbolTag=e.SymbolKind=e.DocumentHighlight=e.DocumentHighlightKind=e.SignatureInformation=e.ParameterInformation=e.Hover=e.MarkedString=e.CompletionList=e.CompletionItem=e.CompletionItemLabelDetails=e.InsertTextMode=e.InsertReplaceEdit=e.CompletionItemTag=e.InsertTextFormat=e.CompletionItemKind=e.MarkupContent=e.MarkupKind=e.TextDocumentItem=e.OptionalVersionedTextDocumentIdentifier=e.VersionedTextDocumentIdentifier=e.TextDocumentIdentifier=e.WorkspaceChange=e.WorkspaceEdit=e.DeleteFile=e.RenameFile=e.CreateFile=e.TextDocumentEdit=e.AnnotatedTextEdit=e.ChangeAnnotationIdentifier=e.ChangeAnnotation=e.TextEdit=e.Command=e.Diagnostic=e.CodeDescription=e.DiagnosticTag=e.DiagnosticSeverity=e.DiagnosticRelatedInformation=e.FoldingRange=e.FoldingRangeKind=e.ColorPresentation=e.ColorInformation=e.Color=e.LocationLink=e.Location=e.Range=e.Position=e.uinteger=e.integer=e.URI=e.DocumentUri=void 0;var t;(function(h){function D(S){return typeof S=="string"}h.is=D})(t||(e.DocumentUri=t={}));var r;(function(h){function D(S){return typeof S=="string"}h.is=D})(r||(e.URI=r={}));var i;(function(h){h.MIN_VALUE=-2147483648,h.MAX_VALUE=2147483647;function D(S){return typeof S=="number"&&h.MIN_VALUE<=S&&S<=h.MAX_VALUE}h.is=D})(i||(e.integer=i={}));var o;(function(h){h.MIN_VALUE=0,h.MAX_VALUE=2147483647;function D(S){return typeof S=="number"&&h.MIN_VALUE<=S&&S<=h.MAX_VALUE}h.is=D})(o||(e.uinteger=o={}));var s;(function(h){function D(b,f){return b===Number.MAX_VALUE&&(b=o.MAX_VALUE),f===Number.MAX_VALUE&&(f=o.MAX_VALUE),{line:b,character:f}}h.create=D;function S(b){var f=b;return R.objectLiteral(f)&&R.uinteger(f.line)&&R.uinteger(f.character)}h.is=S})(s||(e.Position=s={}));var a;(function(h){function D(b,f,k,M){if(R.uinteger(b)&&R.uinteger(f)&&R.uinteger(k)&&R.uinteger(M))return{start:s.create(b,f),end:s.create(k,M)};if(s.is(b)&&s.is(f))return{start:b,end:f};throw new Error("Range#create called with invalid arguments[".concat(b,", ").concat(f,", ").concat(k,", ").concat(M,"]"))}h.create=D;function S(b){var f=b;return R.objectLiteral(f)&&s.is(f.start)&&s.is(f.end)}h.is=S})(a||(e.Range=a={}));var c;(function(h){function D(b,f){return{uri:b,range:f}}h.create=D;function S(b){var f=b;return R.objectLiteral(f)&&a.is(f.range)&&(R.string(f.uri)||R.undefined(f.uri))}h.is=S})(c||(e.Location=c={}));var l;(function(h){function D(b,f,k,M){return{targetUri:b,targetRange:f,targetSelectionRange:k,originSelectionRange:M}}h.create=D;function S(b){var f=b;return R.objectLiteral(f)&&a.is(f.targetRange)&&R.string(f.targetUri)&&a.is(f.targetSelectionRange)&&(a.is(f.originSelectionRange)||R.undefined(f.originSelectionRange))}h.is=S})(l||(e.LocationLink=l={}));var d;(function(h){function D(b,f,k,M){return{red:b,green:f,blue:k,alpha:M}}h.create=D;function S(b){var f=b;return R.objectLiteral(f)&&R.numberRange(f.red,0,1)&&R.numberRange(f.green,0,1)&&R.numberRange(f.blue,0,1)&&R.numberRange(f.alpha,0,1)}h.is=S})(d||(e.Color=d={}));var g;(function(h){function D(b,f){return{range:b,color:f}}h.create=D;function S(b){var f=b;return R.objectLiteral(f)&&a.is(f.range)&&d.is(f.color)}h.is=S})(g||(e.ColorInformation=g={}));var m;(function(h){function D(b,f,k){return{label:b,textEdit:f,additionalTextEdits:k}}h.create=D;function S(b){var f=b;return R.objectLiteral(f)&&R.string(f.label)&&(R.undefined(f.textEdit)||te.is(f))&&(R.undefined(f.additionalTextEdits)||R.typedArray(f.additionalTextEdits,te.is))}h.is=S})(m||(e.ColorPresentation=m={}));var y;(function(h){h.Comment="comment",h.Imports="imports",h.Region="region"})(y||(e.FoldingRangeKind=y={}));var v;(function(h){function D(b,f,k,M,le,Ge){var He={startLine:b,endLine:f};return R.defined(k)&&(He.startCharacter=k),R.defined(M)&&(He.endCharacter=M),R.defined(le)&&(He.kind=le),R.defined(Ge)&&(He.collapsedText=Ge),He}h.create=D;function S(b){var f=b;return R.objectLiteral(f)&&R.uinteger(f.startLine)&&R.uinteger(f.startLine)&&(R.undefined(f.startCharacter)||R.uinteger(f.startCharacter))&&(R.undefined(f.endCharacter)||R.uinteger(f.endCharacter))&&(R.undefined(f.kind)||R.string(f.kind))}h.is=S})(v||(e.FoldingRange=v={}));var T;(function(h){function D(b,f){return{location:b,message:f}}h.create=D;function S(b){var f=b;return R.defined(f)&&c.is(f.location)&&R.string(f.message)}h.is=S})(T||(e.DiagnosticRelatedInformation=T={}));var P;(function(h){h.Error=1,h.Warning=2,h.Information=3,h.Hint=4})(P||(e.DiagnosticSeverity=P={}));var q;(function(h){h.Unnecessary=1,h.Deprecated=2})(q||(e.DiagnosticTag=q={}));var N;(function(h){function D(S){var b=S;return R.objectLiteral(b)&&R.string(b.href)}h.is=D})(N||(e.CodeDescription=N={}));var L;(function(h){function D(b,f,k,M,le,Ge){var He={range:b,message:f};return R.defined(k)&&(He.severity=k),R.defined(M)&&(He.code=M),R.defined(le)&&(He.source=le),R.defined(Ge)&&(He.relatedInformation=Ge),He}h.create=D;function S(b){var f,k=b;return R.defined(k)&&a.is(k.range)&&R.string(k.message)&&(R.number(k.severity)||R.undefined(k.severity))&&(R.integer(k.code)||R.string(k.code)||R.undefined(k.code))&&(R.undefined(k.codeDescription)||R.string((f=k.codeDescription)===null||f===void 0?void 0:f.href))&&(R.string(k.source)||R.undefined(k.source))&&(R.undefined(k.relatedInformation)||R.typedArray(k.relatedInformation,T.is))}h.is=S})(L||(e.Diagnostic=L={}));var K;(function(h){function D(b,f){for(var k=[],M=2;M<arguments.length;M++)k[M-2]=arguments[M];var le={title:b,command:f};return R.defined(k)&&k.length>0&&(le.arguments=k),le}h.create=D;function S(b){var f=b;return R.defined(f)&&R.string(f.title)&&R.string(f.command)}h.is=S})(K||(e.Command=K={}));var te;(function(h){function D(k,M){return{range:k,newText:M}}h.replace=D;function S(k,M){return{range:{start:k,end:k},newText:M}}h.insert=S;function b(k){return{range:k,newText:""}}h.del=b;function f(k){var M=k;return R.objectLiteral(M)&&R.string(M.newText)&&a.is(M.range)}h.is=f})(te||(e.TextEdit=te={}));var Z;(function(h){function D(b,f,k){var M={label:b};return f!==void 0&&(M.needsConfirmation=f),k!==void 0&&(M.description=k),M}h.create=D;function S(b){var f=b;return R.objectLiteral(f)&&R.string(f.label)&&(R.boolean(f.needsConfirmation)||f.needsConfirmation===void 0)&&(R.string(f.description)||f.description===void 0)}h.is=S})(Z||(e.ChangeAnnotation=Z={}));var V;(function(h){function D(S){var b=S;return R.string(b)}h.is=D})(V||(e.ChangeAnnotationIdentifier=V={}));var ne;(function(h){function D(k,M,le){return{range:k,newText:M,annotationId:le}}h.replace=D;function S(k,M,le){return{range:{start:k,end:k},newText:M,annotationId:le}}h.insert=S;function b(k,M){return{range:k,newText:"",annotationId:M}}h.del=b;function f(k){var M=k;return te.is(M)&&(Z.is(M.annotationId)||V.is(M.annotationId))}h.is=f})(ne||(e.AnnotatedTextEdit=ne={}));var ce;(function(h){function D(b,f){return{textDocument:b,edits:f}}h.create=D;function S(b){var f=b;return R.defined(f)&&be.is(f.textDocument)&&Array.isArray(f.edits)}h.is=S})(ce||(e.TextDocumentEdit=ce={}));var Ne;(function(h){function D(b,f,k){var M={kind:"create",uri:b};return f!==void 0&&(f.overwrite!==void 0||f.ignoreIfExists!==void 0)&&(M.options=f),k!==void 0&&(M.annotationId=k),M}h.create=D;function S(b){var f=b;return f&&f.kind==="create"&&R.string(f.uri)&&(f.options===void 0||(f.options.overwrite===void 0||R.boolean(f.options.overwrite))&&(f.options.ignoreIfExists===void 0||R.boolean(f.options.ignoreIfExists)))&&(f.annotationId===void 0||V.is(f.annotationId))}h.is=S})(Ne||(e.CreateFile=Ne={}));var U;(function(h){function D(b,f,k,M){var le={kind:"rename",oldUri:b,newUri:f};return k!==void 0&&(k.overwrite!==void 0||k.ignoreIfExists!==void 0)&&(le.options=k),M!==void 0&&(le.annotationId=M),le}h.create=D;function S(b){var f=b;return f&&f.kind==="rename"&&R.string(f.oldUri)&&R.string(f.newUri)&&(f.options===void 0||(f.options.overwrite===void 0||R.boolean(f.options.overwrite))&&(f.options.ignoreIfExists===void 0||R.boolean(f.options.ignoreIfExists)))&&(f.annotationId===void 0||V.is(f.annotationId))}h.is=S})(U||(e.RenameFile=U={}));var I;(function(h){function D(b,f,k){var M={kind:"delete",uri:b};return f!==void 0&&(f.recursive!==void 0||f.ignoreIfNotExists!==void 0)&&(M.options=f),k!==void 0&&(M.annotationId=k),M}h.create=D;function S(b){var f=b;return f&&f.kind==="delete"&&R.string(f.uri)&&(f.options===void 0||(f.options.recursive===void 0||R.boolean(f.options.recursive))&&(f.options.ignoreIfNotExists===void 0||R.boolean(f.options.ignoreIfNotExists)))&&(f.annotationId===void 0||V.is(f.annotationId))}h.is=S})(I||(e.DeleteFile=I={}));var J;(function(h){function D(S){var b=S;return b&&(b.changes!==void 0||b.documentChanges!==void 0)&&(b.documentChanges===void 0||b.documentChanges.every(function(f){return R.string(f.kind)?Ne.is(f)||U.is(f)||I.is(f):ce.is(f)}))}h.is=D})(J||(e.WorkspaceEdit=J={}));var B=function(){function h(D,S){this.edits=D,this.changeAnnotations=S}return h.prototype.insert=function(D,S,b){var f,k;if(b===void 0?f=te.insert(D,S):V.is(b)?(k=b,f=ne.insert(D,S,b)):(this.assertChangeAnnotations(this.changeAnnotations),k=this.changeAnnotations.manage(b),f=ne.insert(D,S,k)),this.edits.push(f),k!==void 0)return k},h.prototype.replace=function(D,S,b){var f,k;if(b===void 0?f=te.replace(D,S):V.is(b)?(k=b,f=ne.replace(D,S,b)):(this.assertChangeAnnotations(this.changeAnnotations),k=this.changeAnnotations.manage(b),f=ne.replace(D,S,k)),this.edits.push(f),k!==void 0)return k},h.prototype.delete=function(D,S){var b,f;if(S===void 0?b=te.del(D):V.is(S)?(f=S,b=ne.del(D,S)):(this.assertChangeAnnotations(this.changeAnnotations),f=this.changeAnnotations.manage(S),b=ne.del(D,f)),this.edits.push(b),f!==void 0)return f},h.prototype.add=function(D){this.edits.push(D)},h.prototype.all=function(){return this.edits},h.prototype.clear=function(){this.edits.splice(0,this.edits.length)},h.prototype.assertChangeAnnotations=function(D){if(D===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},h}(),pe=function(){function h(D){this._annotations=D===void 0?Object.create(null):D,this._counter=0,this._size=0}return h.prototype.all=function(){return this._annotations},Object.defineProperty(h.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),h.prototype.manage=function(D,S){var b;if(V.is(D)?b=D:(b=this.nextId(),S=D),this._annotations[b]!==void 0)throw new Error("Id ".concat(b," is already in use."));if(S===void 0)throw new Error("No annotation provided for id ".concat(b));return this._annotations[b]=S,this._size++,b},h.prototype.nextId=function(){return this._counter++,this._counter.toString()},h}(),ie=function(){function h(D){var S=this;this._textEditChanges=Object.create(null),D!==void 0?(this._workspaceEdit=D,D.documentChanges?(this._changeAnnotations=new pe(D.changeAnnotations),D.changeAnnotations=this._changeAnnotations.all(),D.documentChanges.forEach(function(b){if(ce.is(b)){var f=new B(b.edits,S._changeAnnotations);S._textEditChanges[b.textDocument.uri]=f}})):D.changes&&Object.keys(D.changes).forEach(function(b){var f=new B(D.changes[b]);S._textEditChanges[b]=f})):this._workspaceEdit={}}return Object.defineProperty(h.prototype,"edit",{get:function(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),h.prototype.getTextEditChange=function(D){if(be.is(D)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var S={uri:D.uri,version:D.version},b=this._textEditChanges[S.uri];if(!b){var f=[],k={textDocument:S,edits:f};this._workspaceEdit.documentChanges.push(k),b=new B(f,this._changeAnnotations),this._textEditChanges[S.uri]=b}return b}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var b=this._textEditChanges[D];if(!b){var f=[];this._workspaceEdit.changes[D]=f,b=new B(f),this._textEditChanges[D]=b}return b}},h.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new pe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},h.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},h.prototype.createFile=function(D,S,b){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var f;Z.is(S)||V.is(S)?f=S:b=S;var k,M;if(f===void 0?k=Ne.create(D,b):(M=V.is(f)?f:this._changeAnnotations.manage(f),k=Ne.create(D,b,M)),this._workspaceEdit.documentChanges.push(k),M!==void 0)return M},h.prototype.renameFile=function(D,S,b,f){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var k;Z.is(b)||V.is(b)?k=b:f=b;var M,le;if(k===void 0?M=U.create(D,S,f):(le=V.is(k)?k:this._changeAnnotations.manage(k),M=U.create(D,S,f,le)),this._workspaceEdit.documentChanges.push(M),le!==void 0)return le},h.prototype.deleteFile=function(D,S,b){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var f;Z.is(S)||V.is(S)?f=S:b=S;var k,M;if(f===void 0?k=I.create(D,b):(M=V.is(f)?f:this._changeAnnotations.manage(f),k=I.create(D,b,M)),this._workspaceEdit.documentChanges.push(k),M!==void 0)return M},h}();e.WorkspaceChange=ie;var oe;(function(h){function D(b){return{uri:b}}h.create=D;function S(b){var f=b;return R.defined(f)&&R.string(f.uri)}h.is=S})(oe||(e.TextDocumentIdentifier=oe={}));var st;(function(h){function D(b,f){return{uri:b,version:f}}h.create=D;function S(b){var f=b;return R.defined(f)&&R.string(f.uri)&&R.integer(f.version)}h.is=S})(st||(e.VersionedTextDocumentIdentifier=st={}));var be;(function(h){function D(b,f){return{uri:b,version:f}}h.create=D;function S(b){var f=b;return R.defined(f)&&R.string(f.uri)&&(f.version===null||R.integer(f.version))}h.is=S})(be||(e.OptionalVersionedTextDocumentIdentifier=be={}));var Re;(function(h){function D(b,f,k,M){return{uri:b,languageId:f,version:k,text:M}}h.create=D;function S(b){var f=b;return R.defined(f)&&R.string(f.uri)&&R.string(f.languageId)&&R.integer(f.version)&&R.string(f.text)}h.is=S})(Re||(e.TextDocumentItem=Re={}));var ct;(function(h){h.PlainText="plaintext",h.Markdown="markdown";function D(S){var b=S;return b===h.PlainText||b===h.Markdown}h.is=D})(ct||(e.MarkupKind=ct={}));var Ct;(function(h){function D(S){var b=S;return R.objectLiteral(S)&&ct.is(b.kind)&&R.string(b.value)}h.is=D})(Ct||(e.MarkupContent=Ct={}));var nr;(function(h){h.Text=1,h.Method=2,h.Function=3,h.Constructor=4,h.Field=5,h.Variable=6,h.Class=7,h.Interface=8,h.Module=9,h.Property=10,h.Unit=11,h.Value=12,h.Enum=13,h.Keyword=14,h.Snippet=15,h.Color=16,h.File=17,h.Reference=18,h.Folder=19,h.EnumMember=20,h.Constant=21,h.Struct=22,h.Event=23,h.Operator=24,h.TypeParameter=25})(nr||(e.CompletionItemKind=nr={}));var En;(function(h){h.PlainText=1,h.Snippet=2})(En||(e.InsertTextFormat=En={}));var xn;(function(h){h.Deprecated=1})(xn||(e.CompletionItemTag=xn={}));var Kn;(function(h){function D(b,f,k){return{newText:b,insert:f,replace:k}}h.create=D;function S(b){var f=b;return f&&R.string(f.newText)&&a.is(f.insert)&&a.is(f.replace)}h.is=S})(Kn||(e.InsertReplaceEdit=Kn={}));var rr;(function(h){h.asIs=1,h.adjustIndentation=2})(rr||(e.InsertTextMode=rr={}));var qn;(function(h){function D(S){var b=S;return b&&(R.string(b.detail)||b.detail===void 0)&&(R.string(b.description)||b.description===void 0)}h.is=D})(qn||(e.CompletionItemLabelDetails=qn={}));var mn;(function(h){function D(S){return{label:S}}h.create=D})(mn||(e.CompletionItem=mn={}));var vn;(function(h){function D(S,b){return{items:S||[],isIncomplete:!!b}}h.create=D})(vn||(e.CompletionList=vn={}));var In;(function(h){function D(b){return b.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}h.fromPlainText=D;function S(b){var f=b;return R.string(f)||R.objectLiteral(f)&&R.string(f.language)&&R.string(f.value)}h.is=S})(In||(e.MarkedString=In={}));var ut;(function(h){function D(S){var b=S;return!!b&&R.objectLiteral(b)&&(Ct.is(b.contents)||In.is(b.contents)||R.typedArray(b.contents,In.is))&&(S.range===void 0||a.is(S.range))}h.is=D})(ut||(e.Hover=ut={}));var Vn;(function(h){function D(S,b){return b?{label:S,documentation:b}:{label:S}}h.create=D})(Vn||(e.ParameterInformation=Vn={}));var yn;(function(h){function D(S,b){for(var f=[],k=2;k<arguments.length;k++)f[k-2]=arguments[k];var M={label:S};return R.defined(b)&&(M.documentation=b),R.defined(f)?M.parameters=f:M.parameters=[],M}h.create=D})(yn||(e.SignatureInformation=yn={}));var rn;(function(h){h.Text=1,h.Read=2,h.Write=3})(rn||(e.DocumentHighlightKind=rn={}));var ir;(function(h){function D(S,b){var f={range:S};return R.number(b)&&(f.kind=b),f}h.create=D})(ir||(e.DocumentHighlight=ir={}));var on;(function(h){h.File=1,h.Module=2,h.Namespace=3,h.Package=4,h.Class=5,h.Method=6,h.Property=7,h.Field=8,h.Constructor=9,h.Enum=10,h.Interface=11,h.Function=12,h.Variable=13,h.Constant=14,h.String=15,h.Number=16,h.Boolean=17,h.Array=18,h.Object=19,h.Key=20,h.Null=21,h.EnumMember=22,h.Struct=23,h.Event=24,h.Operator=25,h.TypeParameter=26})(on||(e.SymbolKind=on={}));var Fn;(function(h){h.Deprecated=1})(Fn||(e.SymbolTag=Fn={}));var at;(function(h){function D(S,b,f,k,M){var le={name:S,kind:b,location:{uri:k,range:f}};return M&&(le.containerName=M),le}h.create=D})(at||(e.SymbolInformation=at={}));var Tt;(function(h){function D(S,b,f,k){return k!==void 0?{name:S,kind:b,location:{uri:f,range:k}}:{name:S,kind:b,location:{uri:f}}}h.create=D})(Tt||(e.WorkspaceSymbol=Tt={}));var Dt;(function(h){function D(b,f,k,M,le,Ge){var He={name:b,detail:f,kind:k,range:M,selectionRange:le};return Ge!==void 0&&(He.children=Ge),He}h.create=D;function S(b){var f=b;return f&&R.string(f.name)&&R.number(f.kind)&&a.is(f.range)&&a.is(f.selectionRange)&&(f.detail===void 0||R.string(f.detail))&&(f.deprecated===void 0||R.boolean(f.deprecated))&&(f.children===void 0||Array.isArray(f.children))&&(f.tags===void 0||Array.isArray(f.tags))}h.is=S})(Dt||(e.DocumentSymbol=Dt={}));var Gt;(function(h){h.Empty="",h.QuickFix="quickfix",h.Refactor="refactor",h.RefactorExtract="refactor.extract",h.RefactorInline="refactor.inline",h.RefactorRewrite="refactor.rewrite",h.Source="source",h.SourceOrganizeImports="source.organizeImports",h.SourceFixAll="source.fixAll"})(Gt||(e.CodeActionKind=Gt={}));var Lt;(function(h){h.Invoked=1,h.Automatic=2})(Lt||(e.CodeActionTriggerKind=Lt={}));var On;(function(h){function D(b,f,k){var M={diagnostics:b};return f!=null&&(M.only=f),k!=null&&(M.triggerKind=k),M}h.create=D;function S(b){var f=b;return R.defined(f)&&R.typedArray(f.diagnostics,L.is)&&(f.only===void 0||R.typedArray(f.only,R.string))&&(f.triggerKind===void 0||f.triggerKind===Lt.Invoked||f.triggerKind===Lt.Automatic)}h.is=S})(On||(e.CodeActionContext=On={}));var zn;(function(h){function D(b,f,k){var M={title:b},le=!0;return typeof f=="string"?(le=!1,M.kind=f):K.is(f)?M.command=f:M.edit=f,le&&k!==void 0&&(M.kind=k),M}h.create=D;function S(b){var f=b;return f&&R.string(f.title)&&(f.diagnostics===void 0||R.typedArray(f.diagnostics,L.is))&&(f.kind===void 0||R.string(f.kind))&&(f.edit!==void 0||f.command!==void 0)&&(f.command===void 0||K.is(f.command))&&(f.isPreferred===void 0||R.boolean(f.isPreferred))&&(f.edit===void 0||J.is(f.edit))}h.is=S})(zn||(e.CodeAction=zn={}));var bn;(function(h){function D(b,f){var k={range:b};return R.defined(f)&&(k.data=f),k}h.create=D;function S(b){var f=b;return R.defined(f)&&a.is(f.range)&&(R.undefined(f.command)||K.is(f.command))}h.is=S})(bn||(e.CodeLens=bn={}));var Bn;(function(h){function D(b,f){return{tabSize:b,insertSpaces:f}}h.create=D;function S(b){var f=b;return R.defined(f)&&R.uinteger(f.tabSize)&&R.boolean(f.insertSpaces)}h.is=S})(Bn||(e.FormattingOptions=Bn={}));var Ft;(function(h){function D(b,f,k){return{range:b,target:f,data:k}}h.create=D;function S(b){var f=b;return R.defined(f)&&a.is(f.range)&&(R.undefined(f.target)||R.string(f.target))}h.is=S})(Ft||(e.DocumentLink=Ft={}));var C;(function(h){function D(b,f){return{range:b,parent:f}}h.create=D;function S(b){var f=b;return R.objectLiteral(f)&&a.is(f.range)&&(f.parent===void 0||h.is(f.parent))}h.is=S})(C||(e.SelectionRange=C={}));var O;(function(h){h.namespace="namespace",h.type="type",h.class="class",h.enum="enum",h.interface="interface",h.struct="struct",h.typeParameter="typeParameter",h.parameter="parameter",h.variable="variable",h.property="property",h.enumMember="enumMember",h.event="event",h.function="function",h.method="method",h.macro="macro",h.keyword="keyword",h.modifier="modifier",h.comment="comment",h.string="string",h.number="number",h.regexp="regexp",h.operator="operator",h.decorator="decorator"})(O||(e.SemanticTokenTypes=O={}));var W;(function(h){h.declaration="declaration",h.definition="definition",h.readonly="readonly",h.static="static",h.deprecated="deprecated",h.abstract="abstract",h.async="async",h.modification="modification",h.documentation="documentation",h.defaultLibrary="defaultLibrary"})(W||(e.SemanticTokenModifiers=W={}));var G;(function(h){function D(S){var b=S;return R.objectLiteral(b)&&(b.resultId===void 0||typeof b.resultId=="string")&&Array.isArray(b.data)&&(b.data.length===0||typeof b.data[0]=="number")}h.is=D})(G||(e.SemanticTokens=G={}));var xe;(function(h){function D(b,f){return{range:b,text:f}}h.create=D;function S(b){var f=b;return f!=null&&a.is(f.range)&&R.string(f.text)}h.is=S})(xe||(e.InlineValueText=xe={}));var Pe;(function(h){function D(b,f,k){return{range:b,variableName:f,caseSensitiveLookup:k}}h.create=D;function S(b){var f=b;return f!=null&&a.is(f.range)&&R.boolean(f.caseSensitiveLookup)&&(R.string(f.variableName)||f.variableName===void 0)}h.is=S})(Pe||(e.InlineValueVariableLookup=Pe={}));var Ae;(function(h){function D(b,f){return{range:b,expression:f}}h.create=D;function S(b){var f=b;return f!=null&&a.is(f.range)&&(R.string(f.expression)||f.expression===void 0)}h.is=S})(Ae||(e.InlineValueEvaluatableExpression=Ae={}));var $e;(function(h){function D(b,f){return{frameId:b,stoppedLocation:f}}h.create=D;function S(b){var f=b;return R.defined(f)&&a.is(b.stoppedLocation)}h.is=S})($e||(e.InlineValueContext=$e={}));var ye;(function(h){h.Type=1,h.Parameter=2;function D(S){return S===1||S===2}h.is=D})(ye||(e.InlayHintKind=ye={}));var Ie;(function(h){function D(b){return{value:b}}h.create=D;function S(b){var f=b;return R.objectLiteral(f)&&(f.tooltip===void 0||R.string(f.tooltip)||Ct.is(f.tooltip))&&(f.location===void 0||c.is(f.location))&&(f.command===void 0||K.is(f.command))}h.is=S})(Ie||(e.InlayHintLabelPart=Ie={}));var De;(function(h){function D(b,f,k){var M={position:b,label:f};return k!==void 0&&(M.kind=k),M}h.create=D;function S(b){var f=b;return R.objectLiteral(f)&&s.is(f.position)&&(R.string(f.label)||R.typedArray(f.label,Ie.is))&&(f.kind===void 0||ye.is(f.kind))&&f.textEdits===void 0||R.typedArray(f.textEdits,te.is)&&(f.tooltip===void 0||R.string(f.tooltip)||Ct.is(f.tooltip))&&(f.paddingLeft===void 0||R.boolean(f.paddingLeft))&&(f.paddingRight===void 0||R.boolean(f.paddingRight))}h.is=S})(De||(e.InlayHint=De={}));var Ue;(function(h){function D(S){return{kind:"snippet",value:S}}h.createSnippet=D})(Ue||(e.StringValue=Ue={}));var nt;(function(h){function D(S,b,f,k){return{insertText:S,filterText:b,range:f,command:k}}h.create=D})(nt||(e.InlineCompletionItem=nt={}));var ht;(function(h){function D(S){return{items:S}}h.create=D})(ht||(e.InlineCompletionList=ht={}));var or;(function(h){h.Invoked=0,h.Automatic=1})(or||(e.InlineCompletionTriggerKind=or={}));var sr;(function(h){function D(S,b){return{range:S,text:b}}h.create=D})(sr||(e.SelectedCompletionInfo=sr={}));var p;(function(h){function D(S,b){return{triggerKind:S,selectedCompletionInfo:b}}h.create=D})(p||(e.InlineCompletionContext=p={}));var x;(function(h){function D(S){var b=S;return R.objectLiteral(b)&&r.is(b.uri)&&R.string(b.name)}h.is=D})(x||(e.WorkspaceFolder=x={})),e.EOL=[`
|
|
41
|
-
`,`\r
|
|
42
|
-
`,"\r"];var Y;(function(h){function D(k,M,le,Ge){return new Fe(k,M,le,Ge)}h.create=D;function S(k){var M=k;return!!(R.defined(M)&&R.string(M.uri)&&(R.undefined(M.languageId)||R.string(M.languageId))&&R.uinteger(M.lineCount)&&R.func(M.getText)&&R.func(M.positionAt)&&R.func(M.offsetAt))}h.is=S;function b(k,M){for(var le=k.getText(),Ge=f(M,function(Mn,u){var _=Mn.range.start.line-u.range.start.line;return _===0?Mn.range.start.character-u.range.start.character:_}),He=le.length,Nt=Ge.length-1;Nt>=0;Nt--){var Jt=Ge[Nt],wn=k.offsetAt(Jt.range.start),Ce=k.offsetAt(Jt.range.end);if(Ce<=He)le=le.substring(0,wn)+Jt.newText+le.substring(Ce,le.length);else throw new Error("Overlapping edit");He=wn}return le}h.applyEdits=b;function f(k,M){if(k.length<=1)return k;var le=k.length/2|0,Ge=k.slice(0,le),He=k.slice(le);f(Ge,M),f(He,M);for(var Nt=0,Jt=0,wn=0;Nt<Ge.length&&Jt<He.length;){var Ce=M(Ge[Nt],He[Jt]);Ce<=0?k[wn++]=Ge[Nt++]:k[wn++]=He[Jt++]}for(;Nt<Ge.length;)k[wn++]=Ge[Nt++];for(;Jt<He.length;)k[wn++]=He[Jt++];return k}})(Y||(e.TextDocument=Y={}));var Fe=function(){function h(D,S,b,f){this._uri=D,this._languageId=S,this._version=b,this._content=f,this._lineOffsets=void 0}return Object.defineProperty(h.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(h.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(h.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),h.prototype.getText=function(D){if(D){var S=this.offsetAt(D.start),b=this.offsetAt(D.end);return this._content.substring(S,b)}return this._content},h.prototype.update=function(D,S){this._content=D.text,this._version=S,this._lineOffsets=void 0},h.prototype.getLineOffsets=function(){if(this._lineOffsets===void 0){for(var D=[],S=this._content,b=!0,f=0;f<S.length;f++){b&&(D.push(f),b=!1);var k=S.charAt(f);b=k==="\r"||k===`
|
|
43
|
-
`,k==="\r"&&f+1<S.length&&S.charAt(f+1)===`
|
|
44
|
-
`&&f++}b&&S.length>0&&D.push(S.length),this._lineOffsets=D}return this._lineOffsets},h.prototype.positionAt=function(D){D=Math.max(Math.min(D,this._content.length),0);var S=this.getLineOffsets(),b=0,f=S.length;if(f===0)return s.create(0,D);for(;b<f;){var k=Math.floor((b+f)/2);S[k]>D?f=k:b=k+1}var M=b-1;return s.create(M,D-S[M])},h.prototype.offsetAt=function(D){var S=this.getLineOffsets();if(D.line>=S.length)return this._content.length;if(D.line<0)return 0;var b=S[D.line],f=D.line+1<S.length?S[D.line+1]:this._content.length;return Math.max(Math.min(b+D.character,f),b)},Object.defineProperty(h.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),h}(),R;(function(h){var D=Object.prototype.toString;function S(Ce){return typeof Ce<"u"}h.defined=S;function b(Ce){return typeof Ce>"u"}h.undefined=b;function f(Ce){return Ce===!0||Ce===!1}h.boolean=f;function k(Ce){return D.call(Ce)==="[object String]"}h.string=k;function M(Ce){return D.call(Ce)==="[object Number]"}h.number=M;function le(Ce,Mn,u){return D.call(Ce)==="[object Number]"&&Mn<=Ce&&Ce<=u}h.numberRange=le;function Ge(Ce){return D.call(Ce)==="[object Number]"&&-2147483648<=Ce&&Ce<=2147483647}h.integer=Ge;function He(Ce){return D.call(Ce)==="[object Number]"&&0<=Ce&&Ce<=2147483647}h.uinteger=He;function Nt(Ce){return D.call(Ce)==="[object Function]"}h.func=Nt;function Jt(Ce){return Ce!==null&&typeof Ce=="object"}h.objectLiteral=Jt;function wn(Ce,Mn){return Array.isArray(Ce)&&Ce.every(Mn)}h.typedArray=wn})(R||(R={}))})});var Je=E(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.ProtocolNotificationType=Ht.ProtocolNotificationType0=Ht.ProtocolRequestType=Ht.ProtocolRequestType0=Ht.RegistrationType=Ht.MessageDirection=void 0;var ti=Er(),ug;(function(n){n.clientToServer="clientToServer",n.serverToClient="serverToClient",n.both="both"})(ug||(Ht.MessageDirection=ug={}));var du=class{constructor(e){this.method=e}};Ht.RegistrationType=du;var fu=class extends ti.RequestType0{constructor(e){super(e)}};Ht.ProtocolRequestType0=fu;var pu=class extends ti.RequestType{constructor(e){super(e,ti.ParameterStructures.byName)}};Ht.ProtocolRequestType=pu;var hu=class extends ti.NotificationType0{constructor(e){super(e)}};Ht.ProtocolNotificationType0=hu;var gu=class extends ti.NotificationType{constructor(e){super(e,ti.ParameterStructures.byName)}};Ht.ProtocolNotificationType=gu});var as=E(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.objectLiteral=lt.typedArray=lt.stringArray=lt.array=lt.func=lt.error=lt.number=lt.string=lt.boolean=void 0;function n_(n){return n===!0||n===!1}lt.boolean=n_;function lg(n){return typeof n=="string"||n instanceof String}lt.string=lg;function r_(n){return typeof n=="number"||n instanceof Number}lt.number=r_;function i_(n){return n instanceof Error}lt.error=i_;function o_(n){return typeof n=="function"}lt.func=o_;function dg(n){return Array.isArray(n)}lt.array=dg;function s_(n){return dg(n)&&n.every(e=>lg(e))}lt.stringArray=s_;function a_(n,e){return Array.isArray(n)&&n.every(e)}lt.typedArray=a_;function c_(n){return n!==null&&typeof n=="object"}lt.objectLiteral=c_});var hg=E(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});cs.ImplementationRequest=void 0;var fg=Je(),pg;(function(n){n.method="textDocument/implementation",n.messageDirection=fg.MessageDirection.clientToServer,n.type=new fg.ProtocolRequestType(n.method)})(pg||(cs.ImplementationRequest=pg={}))});var vg=E(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});us.TypeDefinitionRequest=void 0;var gg=Je(),mg;(function(n){n.method="textDocument/typeDefinition",n.messageDirection=gg.MessageDirection.clientToServer,n.type=new gg.ProtocolRequestType(n.method)})(mg||(us.TypeDefinitionRequest=mg={}))});var wg=E(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.DidChangeWorkspaceFoldersNotification=ni.WorkspaceFoldersRequest=void 0;var ls=Je(),yg;(function(n){n.method="workspace/workspaceFolders",n.messageDirection=ls.MessageDirection.serverToClient,n.type=new ls.ProtocolRequestType0(n.method)})(yg||(ni.WorkspaceFoldersRequest=yg={}));var bg;(function(n){n.method="workspace/didChangeWorkspaceFolders",n.messageDirection=ls.MessageDirection.clientToServer,n.type=new ls.ProtocolNotificationType(n.method)})(bg||(ni.DidChangeWorkspaceFoldersNotification=bg={}))});var Sg=E(ds=>{"use strict";Object.defineProperty(ds,"__esModule",{value:!0});ds.ConfigurationRequest=void 0;var Cg=Je(),Dg;(function(n){n.method="workspace/configuration",n.messageDirection=Cg.MessageDirection.serverToClient,n.type=new Cg.ProtocolRequestType(n.method)})(Dg||(ds.ConfigurationRequest=Dg={}))});var Rg=E(ri=>{"use strict";Object.defineProperty(ri,"__esModule",{value:!0});ri.ColorPresentationRequest=ri.DocumentColorRequest=void 0;var fs=Je(),_g;(function(n){n.method="textDocument/documentColor",n.messageDirection=fs.MessageDirection.clientToServer,n.type=new fs.ProtocolRequestType(n.method)})(_g||(ri.DocumentColorRequest=_g={}));var Tg;(function(n){n.method="textDocument/colorPresentation",n.messageDirection=fs.MessageDirection.clientToServer,n.type=new fs.ProtocolRequestType(n.method)})(Tg||(ri.ColorPresentationRequest=Tg={}))});var Eg=E(ii=>{"use strict";Object.defineProperty(ii,"__esModule",{value:!0});ii.FoldingRangeRefreshRequest=ii.FoldingRangeRequest=void 0;var ps=Je(),Pg;(function(n){n.method="textDocument/foldingRange",n.messageDirection=ps.MessageDirection.clientToServer,n.type=new ps.ProtocolRequestType(n.method)})(Pg||(ii.FoldingRangeRequest=Pg={}));var kg;(function(n){n.method="workspace/foldingRange/refresh",n.messageDirection=ps.MessageDirection.serverToClient,n.type=new ps.ProtocolRequestType0(n.method)})(kg||(ii.FoldingRangeRefreshRequest=kg={}))});var Ig=E(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.DeclarationRequest=void 0;var xg=Je(),qg;(function(n){n.method="textDocument/declaration",n.messageDirection=xg.MessageDirection.clientToServer,n.type=new xg.ProtocolRequestType(n.method)})(qg||(hs.DeclarationRequest=qg={}))});var Mg=E(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});gs.SelectionRangeRequest=void 0;var Fg=Je(),Og;(function(n){n.method="textDocument/selectionRange",n.messageDirection=Fg.MessageDirection.clientToServer,n.type=new Fg.ProtocolRequestType(n.method)})(Og||(gs.SelectionRangeRequest=Og={}))});var jg=E(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.WorkDoneProgressCancelNotification=pr.WorkDoneProgressCreateRequest=pr.WorkDoneProgress=void 0;var u_=Er(),ms=Je(),Ag;(function(n){n.type=new u_.ProgressType;function e(t){return t===n.type}n.is=e})(Ag||(pr.WorkDoneProgress=Ag={}));var Lg;(function(n){n.method="window/workDoneProgress/create",n.messageDirection=ms.MessageDirection.serverToClient,n.type=new ms.ProtocolRequestType(n.method)})(Lg||(pr.WorkDoneProgressCreateRequest=Lg={}));var Ng;(function(n){n.method="window/workDoneProgress/cancel",n.messageDirection=ms.MessageDirection.clientToServer,n.type=new ms.ProtocolNotificationType(n.method)})(Ng||(pr.WorkDoneProgressCancelNotification=Ng={}))});var Wg=E(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.CallHierarchyOutgoingCallsRequest=hr.CallHierarchyIncomingCallsRequest=hr.CallHierarchyPrepareRequest=void 0;var oi=Je(),$g;(function(n){n.method="textDocument/prepareCallHierarchy",n.messageDirection=oi.MessageDirection.clientToServer,n.type=new oi.ProtocolRequestType(n.method)})($g||(hr.CallHierarchyPrepareRequest=$g={}));var Ug;(function(n){n.method="callHierarchy/incomingCalls",n.messageDirection=oi.MessageDirection.clientToServer,n.type=new oi.ProtocolRequestType(n.method)})(Ug||(hr.CallHierarchyIncomingCallsRequest=Ug={}));var Hg;(function(n){n.method="callHierarchy/outgoingCalls",n.messageDirection=oi.MessageDirection.clientToServer,n.type=new oi.ProtocolRequestType(n.method)})(Hg||(hr.CallHierarchyOutgoingCallsRequest=Hg={}))});var Jg=E(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.SemanticTokensRefreshRequest=Wt.SemanticTokensRangeRequest=Wt.SemanticTokensDeltaRequest=Wt.SemanticTokensRequest=Wt.SemanticTokensRegistrationType=Wt.TokenFormat=void 0;var Xn=Je(),Kg;(function(n){n.Relative="relative"})(Kg||(Wt.TokenFormat=Kg={}));var ji;(function(n){n.method="textDocument/semanticTokens",n.type=new Xn.RegistrationType(n.method)})(ji||(Wt.SemanticTokensRegistrationType=ji={}));var Vg;(function(n){n.method="textDocument/semanticTokens/full",n.messageDirection=Xn.MessageDirection.clientToServer,n.type=new Xn.ProtocolRequestType(n.method),n.registrationMethod=ji.method})(Vg||(Wt.SemanticTokensRequest=Vg={}));var zg;(function(n){n.method="textDocument/semanticTokens/full/delta",n.messageDirection=Xn.MessageDirection.clientToServer,n.type=new Xn.ProtocolRequestType(n.method),n.registrationMethod=ji.method})(zg||(Wt.SemanticTokensDeltaRequest=zg={}));var Bg;(function(n){n.method="textDocument/semanticTokens/range",n.messageDirection=Xn.MessageDirection.clientToServer,n.type=new Xn.ProtocolRequestType(n.method),n.registrationMethod=ji.method})(Bg||(Wt.SemanticTokensRangeRequest=Bg={}));var Gg;(function(n){n.method="workspace/semanticTokens/refresh",n.messageDirection=Xn.MessageDirection.serverToClient,n.type=new Xn.ProtocolRequestType0(n.method)})(Gg||(Wt.SemanticTokensRefreshRequest=Gg={}))});var Yg=E(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});vs.ShowDocumentRequest=void 0;var Xg=Je(),Qg;(function(n){n.method="window/showDocument",n.messageDirection=Xg.MessageDirection.serverToClient,n.type=new Xg.ProtocolRequestType(n.method)})(Qg||(vs.ShowDocumentRequest=Qg={}))});var tm=E(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});ys.LinkedEditingRangeRequest=void 0;var Zg=Je(),em;(function(n){n.method="textDocument/linkedEditingRange",n.messageDirection=Zg.MessageDirection.clientToServer,n.type=new Zg.ProtocolRequestType(n.method)})(em||(ys.LinkedEditingRangeRequest=em={}))});var um=E(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.WillDeleteFilesRequest=Et.DidDeleteFilesNotification=Et.DidRenameFilesNotification=Et.WillRenameFilesRequest=Et.DidCreateFilesNotification=Et.WillCreateFilesRequest=Et.FileOperationPatternKind=void 0;var ln=Je(),nm;(function(n){n.file="file",n.folder="folder"})(nm||(Et.FileOperationPatternKind=nm={}));var rm;(function(n){n.method="workspace/willCreateFiles",n.messageDirection=ln.MessageDirection.clientToServer,n.type=new ln.ProtocolRequestType(n.method)})(rm||(Et.WillCreateFilesRequest=rm={}));var im;(function(n){n.method="workspace/didCreateFiles",n.messageDirection=ln.MessageDirection.clientToServer,n.type=new ln.ProtocolNotificationType(n.method)})(im||(Et.DidCreateFilesNotification=im={}));var om;(function(n){n.method="workspace/willRenameFiles",n.messageDirection=ln.MessageDirection.clientToServer,n.type=new ln.ProtocolRequestType(n.method)})(om||(Et.WillRenameFilesRequest=om={}));var sm;(function(n){n.method="workspace/didRenameFiles",n.messageDirection=ln.MessageDirection.clientToServer,n.type=new ln.ProtocolNotificationType(n.method)})(sm||(Et.DidRenameFilesNotification=sm={}));var am;(function(n){n.method="workspace/didDeleteFiles",n.messageDirection=ln.MessageDirection.clientToServer,n.type=new ln.ProtocolNotificationType(n.method)})(am||(Et.DidDeleteFilesNotification=am={}));var cm;(function(n){n.method="workspace/willDeleteFiles",n.messageDirection=ln.MessageDirection.clientToServer,n.type=new ln.ProtocolRequestType(n.method)})(cm||(Et.WillDeleteFilesRequest=cm={}))});var hm=E(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.MonikerRequest=gr.MonikerKind=gr.UniquenessLevel=void 0;var lm=Je(),dm;(function(n){n.document="document",n.project="project",n.group="group",n.scheme="scheme",n.global="global"})(dm||(gr.UniquenessLevel=dm={}));var fm;(function(n){n.$import="import",n.$export="export",n.local="local"})(fm||(gr.MonikerKind=fm={}));var pm;(function(n){n.method="textDocument/moniker",n.messageDirection=lm.MessageDirection.clientToServer,n.type=new lm.ProtocolRequestType(n.method)})(pm||(gr.MonikerRequest=pm={}))});var ym=E(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.TypeHierarchySubtypesRequest=mr.TypeHierarchySupertypesRequest=mr.TypeHierarchyPrepareRequest=void 0;var si=Je(),gm;(function(n){n.method="textDocument/prepareTypeHierarchy",n.messageDirection=si.MessageDirection.clientToServer,n.type=new si.ProtocolRequestType(n.method)})(gm||(mr.TypeHierarchyPrepareRequest=gm={}));var mm;(function(n){n.method="typeHierarchy/supertypes",n.messageDirection=si.MessageDirection.clientToServer,n.type=new si.ProtocolRequestType(n.method)})(mm||(mr.TypeHierarchySupertypesRequest=mm={}));var vm;(function(n){n.method="typeHierarchy/subtypes",n.messageDirection=si.MessageDirection.clientToServer,n.type=new si.ProtocolRequestType(n.method)})(vm||(mr.TypeHierarchySubtypesRequest=vm={}))});var Cm=E(ai=>{"use strict";Object.defineProperty(ai,"__esModule",{value:!0});ai.InlineValueRefreshRequest=ai.InlineValueRequest=void 0;var bs=Je(),bm;(function(n){n.method="textDocument/inlineValue",n.messageDirection=bs.MessageDirection.clientToServer,n.type=new bs.ProtocolRequestType(n.method)})(bm||(ai.InlineValueRequest=bm={}));var wm;(function(n){n.method="workspace/inlineValue/refresh",n.messageDirection=bs.MessageDirection.serverToClient,n.type=new bs.ProtocolRequestType0(n.method)})(wm||(ai.InlineValueRefreshRequest=wm={}))});var Tm=E(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.InlayHintRefreshRequest=vr.InlayHintResolveRequest=vr.InlayHintRequest=void 0;var ci=Je(),Dm;(function(n){n.method="textDocument/inlayHint",n.messageDirection=ci.MessageDirection.clientToServer,n.type=new ci.ProtocolRequestType(n.method)})(Dm||(vr.InlayHintRequest=Dm={}));var Sm;(function(n){n.method="inlayHint/resolve",n.messageDirection=ci.MessageDirection.clientToServer,n.type=new ci.ProtocolRequestType(n.method)})(Sm||(vr.InlayHintResolveRequest=Sm={}));var _m;(function(n){n.method="workspace/inlayHint/refresh",n.messageDirection=ci.MessageDirection.serverToClient,n.type=new ci.ProtocolRequestType0(n.method)})(_m||(vr.InlayHintRefreshRequest=_m={}))});var Im=E(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.DiagnosticRefreshRequest=dn.WorkspaceDiagnosticRequest=dn.DocumentDiagnosticRequest=dn.DocumentDiagnosticReportKind=dn.DiagnosticServerCancellationData=void 0;var qm=Er(),l_=as(),ui=Je(),Rm;(function(n){function e(t){let r=t;return r&&l_.boolean(r.retriggerRequest)}n.is=e})(Rm||(dn.DiagnosticServerCancellationData=Rm={}));var Pm;(function(n){n.Full="full",n.Unchanged="unchanged"})(Pm||(dn.DocumentDiagnosticReportKind=Pm={}));var km;(function(n){n.method="textDocument/diagnostic",n.messageDirection=ui.MessageDirection.clientToServer,n.type=new ui.ProtocolRequestType(n.method),n.partialResult=new qm.ProgressType})(km||(dn.DocumentDiagnosticRequest=km={}));var Em;(function(n){n.method="workspace/diagnostic",n.messageDirection=ui.MessageDirection.clientToServer,n.type=new ui.ProtocolRequestType(n.method),n.partialResult=new qm.ProgressType})(Em||(dn.WorkspaceDiagnosticRequest=Em={}));var xm;(function(n){n.method="workspace/diagnostic/refresh",n.messageDirection=ui.MessageDirection.serverToClient,n.type=new ui.ProtocolRequestType0(n.method)})(xm||(dn.DiagnosticRefreshRequest=xm={}))});var jm=E(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.DidCloseNotebookDocumentNotification=it.DidSaveNotebookDocumentNotification=it.DidChangeNotebookDocumentNotification=it.NotebookCellArrayChange=it.DidOpenNotebookDocumentNotification=it.NotebookDocumentSyncRegistrationType=it.NotebookDocument=it.NotebookCell=it.ExecutionSummary=it.NotebookCellKind=void 0;var $i=ss(),_n=as(),$n=Je(),mu;(function(n){n.Markup=1,n.Code=2;function e(t){return t===1||t===2}n.is=e})(mu||(it.NotebookCellKind=mu={}));var vu;(function(n){function e(i,o){let s={executionOrder:i};return(o===!0||o===!1)&&(s.success=o),s}n.create=e;function t(i){let o=i;return _n.objectLiteral(o)&&$i.uinteger.is(o.executionOrder)&&(o.success===void 0||_n.boolean(o.success))}n.is=t;function r(i,o){return i===o?!0:i==null||o===null||o===void 0?!1:i.executionOrder===o.executionOrder&&i.success===o.success}n.equals=r})(vu||(it.ExecutionSummary=vu={}));var ws;(function(n){function e(o,s){return{kind:o,document:s}}n.create=e;function t(o){let s=o;return _n.objectLiteral(s)&&mu.is(s.kind)&&$i.DocumentUri.is(s.document)&&(s.metadata===void 0||_n.objectLiteral(s.metadata))}n.is=t;function r(o,s){let a=new Set;return o.document!==s.document&&a.add("document"),o.kind!==s.kind&&a.add("kind"),o.executionSummary!==s.executionSummary&&a.add("executionSummary"),(o.metadata!==void 0||s.metadata!==void 0)&&!i(o.metadata,s.metadata)&&a.add("metadata"),(o.executionSummary!==void 0||s.executionSummary!==void 0)&&!vu.equals(o.executionSummary,s.executionSummary)&&a.add("executionSummary"),a}n.diff=r;function i(o,s){if(o===s)return!0;if(o==null||s===null||s===void 0||typeof o!=typeof s||typeof o!="object")return!1;let a=Array.isArray(o),c=Array.isArray(s);if(a!==c)return!1;if(a&&c){if(o.length!==s.length)return!1;for(let l=0;l<o.length;l++)if(!i(o[l],s[l]))return!1}if(_n.objectLiteral(o)&&_n.objectLiteral(s)){let l=Object.keys(o),d=Object.keys(s);if(l.length!==d.length||(l.sort(),d.sort(),!i(l,d)))return!1;for(let g=0;g<l.length;g++){let m=l[g];if(!i(o[m],s[m]))return!1}}return!0}})(ws||(it.NotebookCell=ws={}));var Fm;(function(n){function e(r,i,o,s){return{uri:r,notebookType:i,version:o,cells:s}}n.create=e;function t(r){let i=r;return _n.objectLiteral(i)&&_n.string(i.uri)&&$i.integer.is(i.version)&&_n.typedArray(i.cells,ws.is)}n.is=t})(Fm||(it.NotebookDocument=Fm={}));var li;(function(n){n.method="notebookDocument/sync",n.messageDirection=$n.MessageDirection.clientToServer,n.type=new $n.RegistrationType(n.method)})(li||(it.NotebookDocumentSyncRegistrationType=li={}));var Om;(function(n){n.method="notebookDocument/didOpen",n.messageDirection=$n.MessageDirection.clientToServer,n.type=new $n.ProtocolNotificationType(n.method),n.registrationMethod=li.method})(Om||(it.DidOpenNotebookDocumentNotification=Om={}));var Mm;(function(n){function e(r){let i=r;return _n.objectLiteral(i)&&$i.uinteger.is(i.start)&&$i.uinteger.is(i.deleteCount)&&(i.cells===void 0||_n.typedArray(i.cells,ws.is))}n.is=e;function t(r,i,o){let s={start:r,deleteCount:i};return o!==void 0&&(s.cells=o),s}n.create=t})(Mm||(it.NotebookCellArrayChange=Mm={}));var Am;(function(n){n.method="notebookDocument/didChange",n.messageDirection=$n.MessageDirection.clientToServer,n.type=new $n.ProtocolNotificationType(n.method),n.registrationMethod=li.method})(Am||(it.DidChangeNotebookDocumentNotification=Am={}));var Lm;(function(n){n.method="notebookDocument/didSave",n.messageDirection=$n.MessageDirection.clientToServer,n.type=new $n.ProtocolNotificationType(n.method),n.registrationMethod=li.method})(Lm||(it.DidSaveNotebookDocumentNotification=Lm={}));var Nm;(function(n){n.method="notebookDocument/didClose",n.messageDirection=$n.MessageDirection.clientToServer,n.type=new $n.ProtocolNotificationType(n.method),n.registrationMethod=li.method})(Nm||(it.DidCloseNotebookDocumentNotification=Nm={}))});var Hm=E(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.InlineCompletionRequest=void 0;var $m=Je(),Um;(function(n){n.method="textDocument/inlineCompletion",n.messageDirection=$m.MessageDirection.clientToServer,n.type=new $m.ProtocolRequestType(n.method)})(Um||(Cs.InlineCompletionRequest=Um={}))});var ty=E(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.WorkspaceSymbolRequest=w.CodeActionResolveRequest=w.CodeActionRequest=w.DocumentSymbolRequest=w.DocumentHighlightRequest=w.ReferencesRequest=w.DefinitionRequest=w.SignatureHelpRequest=w.SignatureHelpTriggerKind=w.HoverRequest=w.CompletionResolveRequest=w.CompletionRequest=w.CompletionTriggerKind=w.PublishDiagnosticsNotification=w.WatchKind=w.RelativePattern=w.FileChangeType=w.DidChangeWatchedFilesNotification=w.WillSaveTextDocumentWaitUntilRequest=w.WillSaveTextDocumentNotification=w.TextDocumentSaveReason=w.DidSaveTextDocumentNotification=w.DidCloseTextDocumentNotification=w.DidChangeTextDocumentNotification=w.TextDocumentContentChangeEvent=w.DidOpenTextDocumentNotification=w.TextDocumentSyncKind=w.TelemetryEventNotification=w.LogMessageNotification=w.ShowMessageRequest=w.ShowMessageNotification=w.MessageType=w.DidChangeConfigurationNotification=w.ExitNotification=w.ShutdownRequest=w.InitializedNotification=w.InitializeErrorCodes=w.InitializeRequest=w.WorkDoneProgressOptions=w.TextDocumentRegistrationOptions=w.StaticRegistrationOptions=w.PositionEncodingKind=w.FailureHandlingKind=w.ResourceOperationKind=w.UnregistrationRequest=w.RegistrationRequest=w.DocumentSelector=w.NotebookCellTextDocumentFilter=w.NotebookDocumentFilter=w.TextDocumentFilter=void 0;w.MonikerRequest=w.MonikerKind=w.UniquenessLevel=w.WillDeleteFilesRequest=w.DidDeleteFilesNotification=w.WillRenameFilesRequest=w.DidRenameFilesNotification=w.WillCreateFilesRequest=w.DidCreateFilesNotification=w.FileOperationPatternKind=w.LinkedEditingRangeRequest=w.ShowDocumentRequest=w.SemanticTokensRegistrationType=w.SemanticTokensRefreshRequest=w.SemanticTokensRangeRequest=w.SemanticTokensDeltaRequest=w.SemanticTokensRequest=w.TokenFormat=w.CallHierarchyPrepareRequest=w.CallHierarchyOutgoingCallsRequest=w.CallHierarchyIncomingCallsRequest=w.WorkDoneProgressCancelNotification=w.WorkDoneProgressCreateRequest=w.WorkDoneProgress=w.SelectionRangeRequest=w.DeclarationRequest=w.FoldingRangeRefreshRequest=w.FoldingRangeRequest=w.ColorPresentationRequest=w.DocumentColorRequest=w.ConfigurationRequest=w.DidChangeWorkspaceFoldersNotification=w.WorkspaceFoldersRequest=w.TypeDefinitionRequest=w.ImplementationRequest=w.ApplyWorkspaceEditRequest=w.ExecuteCommandRequest=w.PrepareRenameRequest=w.RenameRequest=w.PrepareSupportDefaultBehavior=w.DocumentOnTypeFormattingRequest=w.DocumentRangesFormattingRequest=w.DocumentRangeFormattingRequest=w.DocumentFormattingRequest=w.DocumentLinkResolveRequest=w.DocumentLinkRequest=w.CodeLensRefreshRequest=w.CodeLensResolveRequest=w.CodeLensRequest=w.WorkspaceSymbolResolveRequest=void 0;w.InlineCompletionRequest=w.DidCloseNotebookDocumentNotification=w.DidSaveNotebookDocumentNotification=w.DidChangeNotebookDocumentNotification=w.NotebookCellArrayChange=w.DidOpenNotebookDocumentNotification=w.NotebookDocumentSyncRegistrationType=w.NotebookDocument=w.NotebookCell=w.ExecutionSummary=w.NotebookCellKind=w.DiagnosticRefreshRequest=w.WorkspaceDiagnosticRequest=w.DocumentDiagnosticRequest=w.DocumentDiagnosticReportKind=w.DiagnosticServerCancellationData=w.InlayHintRefreshRequest=w.InlayHintResolveRequest=w.InlayHintRequest=w.InlineValueRefreshRequest=w.InlineValueRequest=w.TypeHierarchySupertypesRequest=w.TypeHierarchySubtypesRequest=w.TypeHierarchyPrepareRequest=void 0;var H=Je(),Wm=ss(),vt=as(),d_=hg();Object.defineProperty(w,"ImplementationRequest",{enumerable:!0,get:function(){return d_.ImplementationRequest}});var f_=vg();Object.defineProperty(w,"TypeDefinitionRequest",{enumerable:!0,get:function(){return f_.TypeDefinitionRequest}});var Qv=wg();Object.defineProperty(w,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return Qv.WorkspaceFoldersRequest}});Object.defineProperty(w,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return Qv.DidChangeWorkspaceFoldersNotification}});var p_=Sg();Object.defineProperty(w,"ConfigurationRequest",{enumerable:!0,get:function(){return p_.ConfigurationRequest}});var Yv=Rg();Object.defineProperty(w,"DocumentColorRequest",{enumerable:!0,get:function(){return Yv.DocumentColorRequest}});Object.defineProperty(w,"ColorPresentationRequest",{enumerable:!0,get:function(){return Yv.ColorPresentationRequest}});var Zv=Eg();Object.defineProperty(w,"FoldingRangeRequest",{enumerable:!0,get:function(){return Zv.FoldingRangeRequest}});Object.defineProperty(w,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return Zv.FoldingRangeRefreshRequest}});var h_=Ig();Object.defineProperty(w,"DeclarationRequest",{enumerable:!0,get:function(){return h_.DeclarationRequest}});var g_=Mg();Object.defineProperty(w,"SelectionRangeRequest",{enumerable:!0,get:function(){return g_.SelectionRangeRequest}});var Du=jg();Object.defineProperty(w,"WorkDoneProgress",{enumerable:!0,get:function(){return Du.WorkDoneProgress}});Object.defineProperty(w,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return Du.WorkDoneProgressCreateRequest}});Object.defineProperty(w,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return Du.WorkDoneProgressCancelNotification}});var Su=Wg();Object.defineProperty(w,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return Su.CallHierarchyIncomingCallsRequest}});Object.defineProperty(w,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return Su.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(w,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return Su.CallHierarchyPrepareRequest}});var di=Jg();Object.defineProperty(w,"TokenFormat",{enumerable:!0,get:function(){return di.TokenFormat}});Object.defineProperty(w,"SemanticTokensRequest",{enumerable:!0,get:function(){return di.SemanticTokensRequest}});Object.defineProperty(w,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return di.SemanticTokensDeltaRequest}});Object.defineProperty(w,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return di.SemanticTokensRangeRequest}});Object.defineProperty(w,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return di.SemanticTokensRefreshRequest}});Object.defineProperty(w,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return di.SemanticTokensRegistrationType}});var m_=Yg();Object.defineProperty(w,"ShowDocumentRequest",{enumerable:!0,get:function(){return m_.ShowDocumentRequest}});var v_=tm();Object.defineProperty(w,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return v_.LinkedEditingRangeRequest}});var xr=um();Object.defineProperty(w,"FileOperationPatternKind",{enumerable:!0,get:function(){return xr.FileOperationPatternKind}});Object.defineProperty(w,"DidCreateFilesNotification",{enumerable:!0,get:function(){return xr.DidCreateFilesNotification}});Object.defineProperty(w,"WillCreateFilesRequest",{enumerable:!0,get:function(){return xr.WillCreateFilesRequest}});Object.defineProperty(w,"DidRenameFilesNotification",{enumerable:!0,get:function(){return xr.DidRenameFilesNotification}});Object.defineProperty(w,"WillRenameFilesRequest",{enumerable:!0,get:function(){return xr.WillRenameFilesRequest}});Object.defineProperty(w,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return xr.DidDeleteFilesNotification}});Object.defineProperty(w,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return xr.WillDeleteFilesRequest}});var _u=hm();Object.defineProperty(w,"UniquenessLevel",{enumerable:!0,get:function(){return _u.UniquenessLevel}});Object.defineProperty(w,"MonikerKind",{enumerable:!0,get:function(){return _u.MonikerKind}});Object.defineProperty(w,"MonikerRequest",{enumerable:!0,get:function(){return _u.MonikerRequest}});var Tu=ym();Object.defineProperty(w,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return Tu.TypeHierarchyPrepareRequest}});Object.defineProperty(w,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return Tu.TypeHierarchySubtypesRequest}});Object.defineProperty(w,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return Tu.TypeHierarchySupertypesRequest}});var ey=Cm();Object.defineProperty(w,"InlineValueRequest",{enumerable:!0,get:function(){return ey.InlineValueRequest}});Object.defineProperty(w,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return ey.InlineValueRefreshRequest}});var Ru=Tm();Object.defineProperty(w,"InlayHintRequest",{enumerable:!0,get:function(){return Ru.InlayHintRequest}});Object.defineProperty(w,"InlayHintResolveRequest",{enumerable:!0,get:function(){return Ru.InlayHintResolveRequest}});Object.defineProperty(w,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return Ru.InlayHintRefreshRequest}});var Ui=Im();Object.defineProperty(w,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return Ui.DiagnosticServerCancellationData}});Object.defineProperty(w,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return Ui.DocumentDiagnosticReportKind}});Object.defineProperty(w,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return Ui.DocumentDiagnosticRequest}});Object.defineProperty(w,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return Ui.WorkspaceDiagnosticRequest}});Object.defineProperty(w,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return Ui.DiagnosticRefreshRequest}});var Un=jm();Object.defineProperty(w,"NotebookCellKind",{enumerable:!0,get:function(){return Un.NotebookCellKind}});Object.defineProperty(w,"ExecutionSummary",{enumerable:!0,get:function(){return Un.ExecutionSummary}});Object.defineProperty(w,"NotebookCell",{enumerable:!0,get:function(){return Un.NotebookCell}});Object.defineProperty(w,"NotebookDocument",{enumerable:!0,get:function(){return Un.NotebookDocument}});Object.defineProperty(w,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return Un.NotebookDocumentSyncRegistrationType}});Object.defineProperty(w,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return Un.DidOpenNotebookDocumentNotification}});Object.defineProperty(w,"NotebookCellArrayChange",{enumerable:!0,get:function(){return Un.NotebookCellArrayChange}});Object.defineProperty(w,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return Un.DidChangeNotebookDocumentNotification}});Object.defineProperty(w,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return Un.DidSaveNotebookDocumentNotification}});Object.defineProperty(w,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return Un.DidCloseNotebookDocumentNotification}});var y_=Hm();Object.defineProperty(w,"InlineCompletionRequest",{enumerable:!0,get:function(){return y_.InlineCompletionRequest}});var yu;(function(n){function e(t){let r=t;return vt.string(r)||vt.string(r.language)||vt.string(r.scheme)||vt.string(r.pattern)}n.is=e})(yu||(w.TextDocumentFilter=yu={}));var bu;(function(n){function e(t){let r=t;return vt.objectLiteral(r)&&(vt.string(r.notebookType)||vt.string(r.scheme)||vt.string(r.pattern))}n.is=e})(bu||(w.NotebookDocumentFilter=bu={}));var wu;(function(n){function e(t){let r=t;return vt.objectLiteral(r)&&(vt.string(r.notebook)||bu.is(r.notebook))&&(r.language===void 0||vt.string(r.language))}n.is=e})(wu||(w.NotebookCellTextDocumentFilter=wu={}));var Cu;(function(n){function e(t){if(!Array.isArray(t))return!1;for(let r of t)if(!vt.string(r)&&!yu.is(r)&&!wu.is(r))return!1;return!0}n.is=e})(Cu||(w.DocumentSelector=Cu={}));var Km;(function(n){n.method="client/registerCapability",n.messageDirection=H.MessageDirection.serverToClient,n.type=new H.ProtocolRequestType(n.method)})(Km||(w.RegistrationRequest=Km={}));var Vm;(function(n){n.method="client/unregisterCapability",n.messageDirection=H.MessageDirection.serverToClient,n.type=new H.ProtocolRequestType(n.method)})(Vm||(w.UnregistrationRequest=Vm={}));var zm;(function(n){n.Create="create",n.Rename="rename",n.Delete="delete"})(zm||(w.ResourceOperationKind=zm={}));var Bm;(function(n){n.Abort="abort",n.Transactional="transactional",n.TextOnlyTransactional="textOnlyTransactional",n.Undo="undo"})(Bm||(w.FailureHandlingKind=Bm={}));var Gm;(function(n){n.UTF8="utf-8",n.UTF16="utf-16",n.UTF32="utf-32"})(Gm||(w.PositionEncodingKind=Gm={}));var Jm;(function(n){function e(t){let r=t;return r&&vt.string(r.id)&&r.id.length>0}n.hasId=e})(Jm||(w.StaticRegistrationOptions=Jm={}));var Xm;(function(n){function e(t){let r=t;return r&&(r.documentSelector===null||Cu.is(r.documentSelector))}n.is=e})(Xm||(w.TextDocumentRegistrationOptions=Xm={}));var Qm;(function(n){function e(r){let i=r;return vt.objectLiteral(i)&&(i.workDoneProgress===void 0||vt.boolean(i.workDoneProgress))}n.is=e;function t(r){let i=r;return i&&vt.boolean(i.workDoneProgress)}n.hasWorkDoneProgress=t})(Qm||(w.WorkDoneProgressOptions=Qm={}));var Ym;(function(n){n.method="initialize",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Ym||(w.InitializeRequest=Ym={}));var Zm;(function(n){n.unknownProtocolVersion=1})(Zm||(w.InitializeErrorCodes=Zm={}));var ev;(function(n){n.method="initialized",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolNotificationType(n.method)})(ev||(w.InitializedNotification=ev={}));var tv;(function(n){n.method="shutdown",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType0(n.method)})(tv||(w.ShutdownRequest=tv={}));var nv;(function(n){n.method="exit",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolNotificationType0(n.method)})(nv||(w.ExitNotification=nv={}));var rv;(function(n){n.method="workspace/didChangeConfiguration",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolNotificationType(n.method)})(rv||(w.DidChangeConfigurationNotification=rv={}));var iv;(function(n){n.Error=1,n.Warning=2,n.Info=3,n.Log=4,n.Debug=5})(iv||(w.MessageType=iv={}));var ov;(function(n){n.method="window/showMessage",n.messageDirection=H.MessageDirection.serverToClient,n.type=new H.ProtocolNotificationType(n.method)})(ov||(w.ShowMessageNotification=ov={}));var sv;(function(n){n.method="window/showMessageRequest",n.messageDirection=H.MessageDirection.serverToClient,n.type=new H.ProtocolRequestType(n.method)})(sv||(w.ShowMessageRequest=sv={}));var av;(function(n){n.method="window/logMessage",n.messageDirection=H.MessageDirection.serverToClient,n.type=new H.ProtocolNotificationType(n.method)})(av||(w.LogMessageNotification=av={}));var cv;(function(n){n.method="telemetry/event",n.messageDirection=H.MessageDirection.serverToClient,n.type=new H.ProtocolNotificationType(n.method)})(cv||(w.TelemetryEventNotification=cv={}));var uv;(function(n){n.None=0,n.Full=1,n.Incremental=2})(uv||(w.TextDocumentSyncKind=uv={}));var lv;(function(n){n.method="textDocument/didOpen",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolNotificationType(n.method)})(lv||(w.DidOpenTextDocumentNotification=lv={}));var dv;(function(n){function e(r){let i=r;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}n.isIncremental=e;function t(r){let i=r;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}n.isFull=t})(dv||(w.TextDocumentContentChangeEvent=dv={}));var fv;(function(n){n.method="textDocument/didChange",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolNotificationType(n.method)})(fv||(w.DidChangeTextDocumentNotification=fv={}));var pv;(function(n){n.method="textDocument/didClose",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolNotificationType(n.method)})(pv||(w.DidCloseTextDocumentNotification=pv={}));var hv;(function(n){n.method="textDocument/didSave",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolNotificationType(n.method)})(hv||(w.DidSaveTextDocumentNotification=hv={}));var gv;(function(n){n.Manual=1,n.AfterDelay=2,n.FocusOut=3})(gv||(w.TextDocumentSaveReason=gv={}));var mv;(function(n){n.method="textDocument/willSave",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolNotificationType(n.method)})(mv||(w.WillSaveTextDocumentNotification=mv={}));var vv;(function(n){n.method="textDocument/willSaveWaitUntil",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(vv||(w.WillSaveTextDocumentWaitUntilRequest=vv={}));var yv;(function(n){n.method="workspace/didChangeWatchedFiles",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolNotificationType(n.method)})(yv||(w.DidChangeWatchedFilesNotification=yv={}));var bv;(function(n){n.Created=1,n.Changed=2,n.Deleted=3})(bv||(w.FileChangeType=bv={}));var wv;(function(n){function e(t){let r=t;return vt.objectLiteral(r)&&(Wm.URI.is(r.baseUri)||Wm.WorkspaceFolder.is(r.baseUri))&&vt.string(r.pattern)}n.is=e})(wv||(w.RelativePattern=wv={}));var Cv;(function(n){n.Create=1,n.Change=2,n.Delete=4})(Cv||(w.WatchKind=Cv={}));var Dv;(function(n){n.method="textDocument/publishDiagnostics",n.messageDirection=H.MessageDirection.serverToClient,n.type=new H.ProtocolNotificationType(n.method)})(Dv||(w.PublishDiagnosticsNotification=Dv={}));var Sv;(function(n){n.Invoked=1,n.TriggerCharacter=2,n.TriggerForIncompleteCompletions=3})(Sv||(w.CompletionTriggerKind=Sv={}));var _v;(function(n){n.method="textDocument/completion",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(_v||(w.CompletionRequest=_v={}));var Tv;(function(n){n.method="completionItem/resolve",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Tv||(w.CompletionResolveRequest=Tv={}));var Rv;(function(n){n.method="textDocument/hover",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Rv||(w.HoverRequest=Rv={}));var Pv;(function(n){n.Invoked=1,n.TriggerCharacter=2,n.ContentChange=3})(Pv||(w.SignatureHelpTriggerKind=Pv={}));var kv;(function(n){n.method="textDocument/signatureHelp",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(kv||(w.SignatureHelpRequest=kv={}));var Ev;(function(n){n.method="textDocument/definition",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Ev||(w.DefinitionRequest=Ev={}));var xv;(function(n){n.method="textDocument/references",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(xv||(w.ReferencesRequest=xv={}));var qv;(function(n){n.method="textDocument/documentHighlight",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(qv||(w.DocumentHighlightRequest=qv={}));var Iv;(function(n){n.method="textDocument/documentSymbol",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Iv||(w.DocumentSymbolRequest=Iv={}));var Fv;(function(n){n.method="textDocument/codeAction",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Fv||(w.CodeActionRequest=Fv={}));var Ov;(function(n){n.method="codeAction/resolve",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Ov||(w.CodeActionResolveRequest=Ov={}));var Mv;(function(n){n.method="workspace/symbol",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Mv||(w.WorkspaceSymbolRequest=Mv={}));var Av;(function(n){n.method="workspaceSymbol/resolve",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Av||(w.WorkspaceSymbolResolveRequest=Av={}));var Lv;(function(n){n.method="textDocument/codeLens",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Lv||(w.CodeLensRequest=Lv={}));var Nv;(function(n){n.method="codeLens/resolve",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Nv||(w.CodeLensResolveRequest=Nv={}));var jv;(function(n){n.method="workspace/codeLens/refresh",n.messageDirection=H.MessageDirection.serverToClient,n.type=new H.ProtocolRequestType0(n.method)})(jv||(w.CodeLensRefreshRequest=jv={}));var $v;(function(n){n.method="textDocument/documentLink",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})($v||(w.DocumentLinkRequest=$v={}));var Uv;(function(n){n.method="documentLink/resolve",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Uv||(w.DocumentLinkResolveRequest=Uv={}));var Hv;(function(n){n.method="textDocument/formatting",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Hv||(w.DocumentFormattingRequest=Hv={}));var Wv;(function(n){n.method="textDocument/rangeFormatting",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Wv||(w.DocumentRangeFormattingRequest=Wv={}));var Kv;(function(n){n.method="textDocument/rangesFormatting",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Kv||(w.DocumentRangesFormattingRequest=Kv={}));var Vv;(function(n){n.method="textDocument/onTypeFormatting",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Vv||(w.DocumentOnTypeFormattingRequest=Vv={}));var zv;(function(n){n.Identifier=1})(zv||(w.PrepareSupportDefaultBehavior=zv={}));var Bv;(function(n){n.method="textDocument/rename",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Bv||(w.RenameRequest=Bv={}));var Gv;(function(n){n.method="textDocument/prepareRename",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Gv||(w.PrepareRenameRequest=Gv={}));var Jv;(function(n){n.method="workspace/executeCommand",n.messageDirection=H.MessageDirection.clientToServer,n.type=new H.ProtocolRequestType(n.method)})(Jv||(w.ExecuteCommandRequest=Jv={}));var Xv;(function(n){n.method="workspace/applyEdit",n.messageDirection=H.MessageDirection.serverToClient,n.type=new H.ProtocolRequestType("workspace/applyEdit")})(Xv||(w.ApplyWorkspaceEditRequest=Xv={}))});var ry=E(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.createProtocolConnection=void 0;var ny=Er();function b_(n,e,t,r){return ny.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),(0,ny.createMessageConnection)(n,e,t,r)}Ds.createProtocolConnection=b_});var oy=E(Kt=>{"use strict";var w_=Kt&&Kt.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(n,r,i)}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),Ss=Kt&&Kt.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&w_(e,n,t)};Object.defineProperty(Kt,"__esModule",{value:!0});Kt.LSPErrorCodes=Kt.createProtocolConnection=void 0;Ss(Er(),Kt);Ss(ss(),Kt);Ss(Je(),Kt);Ss(ty(),Kt);var C_=ry();Object.defineProperty(Kt,"createProtocolConnection",{enumerable:!0,get:function(){return C_.createProtocolConnection}});var iy;(function(n){n.lspReservedErrorRangeStart=-32899,n.RequestFailed=-32803,n.ServerCancelled=-32802,n.ContentModified=-32801,n.RequestCancelled=-32800,n.lspReservedErrorRangeEnd=-32800})(iy||(Kt.LSPErrorCodes=iy={}))});var fe=E(Hn=>{"use strict";var D_=Hn&&Hn.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(n,r,i)}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),sy=Hn&&Hn.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&D_(e,n,t)};Object.defineProperty(Hn,"__esModule",{value:!0});Hn.createProtocolConnection=void 0;var S_=lu();sy(lu(),Hn);sy(oy(),Hn);function __(n,e,t,r){return(0,S_.createMessageConnection)(n,e,t,r)}Hn.createProtocolConnection=__});var _s=E(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.forEach=xt.mapAsync=xt.map=xt.clearTestMode=xt.setTestMode=xt.Semaphore=xt.Delayer=void 0;var Wi=fe(),Pu=class{constructor(e){this.defaultDelay=e,this.timeout=void 0,this.completionPromise=void 0,this.onSuccess=void 0,this.task=void 0}trigger(e,t=this.defaultDelay){return this.task=e,t>=0&&this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(r=>{this.onSuccess=r}).then(()=>{this.completionPromise=void 0,this.onSuccess=void 0;var r=this.task();return this.task=void 0,r})),(t>=0||this.timeout===void 0)&&(this.timeout=(0,Wi.RAL)().timer.setTimeout(()=>{this.timeout=void 0,this.onSuccess(void 0)},t>=0?t:this.defaultDelay)),this.completionPromise}forceDelivery(){if(!this.completionPromise)return;this.cancelTimeout();let e=this.task();return this.completionPromise=void 0,this.onSuccess=void 0,this.task=void 0,e}isTriggered(){return this.timeout!==void 0}cancel(){this.cancelTimeout(),this.completionPromise=void 0}cancelTimeout(){this.timeout!==void 0&&(this.timeout.dispose(),this.timeout=void 0)}};xt.Delayer=Pu;var ku=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((t,r)=>{this._waiting.push({thunk:e,resolve:t,reject:r}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,Wi.RAL)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let t=e.thunk();t instanceof Promise?t.then(r=>{this._active--,e.resolve(r),this.runNext()},r=>{this._active--,e.reject(r),this.runNext()}):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}};xt.Semaphore=ku;var Eu=!1;function T_(){Eu=!0}xt.setTestMode=T_;function R_(){Eu=!1}xt.clearTestMode=R_;var ay=15,Hi=class{constructor(e=ay){this.yieldAfter=Eu===!0?Math.max(e,2):Math.max(e,ay),this.startTime=Date.now(),this.counter=0,this.total=0,this.counterInterval=1}start(){this.counter=0,this.total=0,this.counterInterval=1,this.startTime=Date.now()}shouldYield(){if(++this.counter>=this.counterInterval){let e=Date.now()-this.startTime,t=Math.max(0,this.yieldAfter-e);if(this.total+=this.counter,this.counter=0,e>=this.yieldAfter||t<=1)return this.counterInterval=1,this.total=0,!0;switch(e){case 0:case 1:this.counterInterval=this.total*2;break}}return!1}};async function P_(n,e,t,r){if(n.length===0)return[];let i=new Array(n.length),o=new Hi(r?.yieldAfter);function s(c){o.start();for(let l=c;l<n.length;l++)if(i[l]=e(n[l]),o.shouldYield())return r?.yieldCallback&&r.yieldCallback(),l+1;return-1}let a=s(0);for(;a!==-1&&!(t!==void 0&&t.isCancellationRequested);)a=await new Promise(c=>{(0,Wi.RAL)().timer.setImmediate(()=>{c(s(a))})});return i}xt.map=P_;async function k_(n,e,t,r){if(n.length===0)return[];let i=new Array(n.length),o=new Hi(r?.yieldAfter);async function s(c){o.start();for(let l=c;l<n.length;l++)if(i[l]=await e(n[l],t),o.shouldYield())return r?.yieldCallback&&r.yieldCallback(),l+1;return-1}let a=await s(0);for(;a!==-1&&!(t!==void 0&&t.isCancellationRequested);)a=await new Promise(c=>{(0,Wi.RAL)().timer.setImmediate(()=>{c(s(a))})});return i}xt.mapAsync=k_;async function E_(n,e,t,r){if(n.length===0)return;let i=new Hi(r?.yieldAfter);function o(a){i.start();for(let c=a;c<n.length;c++)if(e(n[c]),i.shouldYield())return r?.yieldCallback&&r.yieldCallback(),c+1;return-1}let s=o(0);for(;s!==-1&&!(t!==void 0&&t.isCancellationRequested);)s=await new Promise(a=>{(0,Wi.RAL)().timer.setImmediate(()=>{a(o(s))})})}xt.forEach=E_});var Iu=E(qu=>{"use strict";Object.defineProperty(qu,"__esModule",{value:!0});var x_=require("vscode"),xu=class extends x_.CompletionItem{constructor(e){super(e)}};qu.default=xu});var Mu=E(Ou=>{"use strict";Object.defineProperty(Ou,"__esModule",{value:!0});var q_=require("vscode"),Fu=class extends q_.CodeLens{constructor(e){super(e)}};Ou.default=Fu});var Nu=E(Lu=>{"use strict";Object.defineProperty(Lu,"__esModule",{value:!0});var I_=require("vscode"),Au=class extends I_.DocumentLink{constructor(e,t){super(e,t)}};Lu.default=Au});var Uu=E($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});var F_=require("vscode"),ju=class extends F_.CodeAction{constructor(e,t){super(e),this.data=t}};$u.default=ju});var Ku=E(fi=>{"use strict";Object.defineProperty(fi,"__esModule",{value:!0});fi.ProtocolDiagnostic=fi.DiagnosticCode=void 0;var O_=require("vscode"),Hu=un(),cy;(function(n){function e(t){let r=t;return r!=null&&(Hu.number(r.value)||Hu.string(r.value))&&Hu.string(r.target)}n.is=e})(cy||(fi.DiagnosticCode=cy={}));var Wu=class extends O_.Diagnostic{constructor(e,t,r,i){super(e,t,r),this.data=i,this.hasDiagnosticCode=!1}};fi.ProtocolDiagnostic=Wu});var Bu=E(zu=>{"use strict";Object.defineProperty(zu,"__esModule",{value:!0});var M_=require("vscode"),Vu=class extends M_.CallHierarchyItem{constructor(e,t,r,i,o,s,a){super(e,t,r,i,o,s),a!==void 0&&(this.data=a)}};zu.default=Vu});var Xu=E(Ju=>{"use strict";Object.defineProperty(Ju,"__esModule",{value:!0});var A_=require("vscode"),Gu=class extends A_.TypeHierarchyItem{constructor(e,t,r,i,o,s,a){super(e,t,r,i,o,s),a!==void 0&&(this.data=a)}};Ju.default=Gu});var Zu=E(Yu=>{"use strict";Object.defineProperty(Yu,"__esModule",{value:!0});var Ts=require("vscode"),Qu=class extends Ts.SymbolInformation{constructor(e,t,r,i,o){let s=!(i instanceof Ts.Uri);super(e,t,r,s?i:new Ts.Location(i,new Ts.Range(0,0,0,0))),this.hasRange=s,o!==void 0&&(this.data=o)}};Yu.default=Qu});var nl=E(tl=>{"use strict";Object.defineProperty(tl,"__esModule",{value:!0});var L_=require("vscode"),el=class extends L_.InlayHint{constructor(e,t,r){super(e,t,r)}};tl.default=el});var fy=E(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});Rs.createConverter=void 0;var dt=require("vscode"),he=fe(),qr=un(),uy=_s(),N_=Iu(),j_=Mu(),$_=Nu(),ly=Uu(),dy=Ku(),U_=Bu(),H_=Xu(),W_=Zu(),K_=nl(),rl;(function(n){function e(t){let r=t;return r&&!!r.inserting&&!!r.replacing}n.is=e})(rl||(rl={}));function V_(n){let t=n||(p=>p.toString());function r(p){return t(p)}function i(p){return{uri:t(p.uri)}}function o(p){return{uri:t(p.uri),languageId:p.languageId,version:p.version,text:p.getText()}}function s(p){return{uri:t(p.uri),version:p.version}}function a(p){return{textDocument:o(p)}}function c(p){let x=p;return!!x.document&&!!x.contentChanges}function l(p){let x=p;return!!x.uri&&!!x.version}function d(p,x,Y){if(l(p))return{textDocument:{uri:t(p.uri),version:p.version},contentChanges:[{text:p.getText()}]};if(c(p)){let Fe=x,R=Y;return{textDocument:{uri:t(Fe),version:R},contentChanges:p.contentChanges.map(D=>{let S=D.range;return{range:{start:{line:S.start.line,character:S.start.character},end:{line:S.end.line,character:S.end.character}},rangeLength:D.rangeLength,text:D.text}})}}else throw Error("Unsupported text document change parameter")}function g(p){return{textDocument:i(p)}}function m(p,x=!1){let Y={textDocument:i(p)};return x&&(Y.text=p.getText()),Y}function y(p){switch(p){case dt.TextDocumentSaveReason.Manual:return he.TextDocumentSaveReason.Manual;case dt.TextDocumentSaveReason.AfterDelay:return he.TextDocumentSaveReason.AfterDelay;case dt.TextDocumentSaveReason.FocusOut:return he.TextDocumentSaveReason.FocusOut}return he.TextDocumentSaveReason.Manual}function v(p){return{textDocument:i(p.document),reason:y(p.reason)}}function T(p){return{files:p.files.map(x=>({uri:t(x)}))}}function P(p){return{files:p.files.map(x=>({oldUri:t(x.oldUri),newUri:t(x.newUri)}))}}function q(p){return{files:p.files.map(x=>({uri:t(x)}))}}function N(p){return{files:p.files.map(x=>({uri:t(x)}))}}function L(p){return{files:p.files.map(x=>({oldUri:t(x.oldUri),newUri:t(x.newUri)}))}}function K(p){return{files:p.files.map(x=>({uri:t(x)}))}}function te(p,x){return{textDocument:i(p),position:pe(x)}}function Z(p){switch(p){case dt.CompletionTriggerKind.TriggerCharacter:return he.CompletionTriggerKind.TriggerCharacter;case dt.CompletionTriggerKind.TriggerForIncompleteCompletions:return he.CompletionTriggerKind.TriggerForIncompleteCompletions;default:return he.CompletionTriggerKind.Invoked}}function V(p,x,Y){return{textDocument:i(p),position:pe(x),context:{triggerKind:Z(Y.triggerKind),triggerCharacter:Y.triggerCharacter}}}function ne(p){switch(p){case dt.SignatureHelpTriggerKind.Invoke:return he.SignatureHelpTriggerKind.Invoked;case dt.SignatureHelpTriggerKind.TriggerCharacter:return he.SignatureHelpTriggerKind.TriggerCharacter;case dt.SignatureHelpTriggerKind.ContentChange:return he.SignatureHelpTriggerKind.ContentChange}}function ce(p){return{label:p.label}}function Ne(p){return p.map(ce)}function U(p){return{label:p.label,parameters:Ne(p.parameters)}}function I(p){return p.map(U)}function J(p){return p===void 0?p:{signatures:I(p.signatures),activeSignature:p.activeSignature,activeParameter:p.activeParameter}}function B(p,x,Y){return{textDocument:i(p),position:pe(x),context:{isRetrigger:Y.isRetrigger,triggerCharacter:Y.triggerCharacter,triggerKind:ne(Y.triggerKind),activeSignatureHelp:J(Y.activeSignatureHelp)}}}function pe(p){return{line:p.line,character:p.character}}function ie(p){return p==null?p:{line:p.line>he.uinteger.MAX_VALUE?he.uinteger.MAX_VALUE:p.line,character:p.character>he.uinteger.MAX_VALUE?he.uinteger.MAX_VALUE:p.character}}function oe(p,x){return uy.map(p,ie,x)}function st(p){return p.map(ie)}function be(p){return p==null?p:{start:ie(p.start),end:ie(p.end)}}function Re(p){return p.map(be)}function ct(p){return p==null?p:he.Location.create(r(p.uri),be(p.range))}function Ct(p){switch(p){case dt.DiagnosticSeverity.Error:return he.DiagnosticSeverity.Error;case dt.DiagnosticSeverity.Warning:return he.DiagnosticSeverity.Warning;case dt.DiagnosticSeverity.Information:return he.DiagnosticSeverity.Information;case dt.DiagnosticSeverity.Hint:return he.DiagnosticSeverity.Hint}}function nr(p){if(!p)return;let x=[];for(let Y of p){let Fe=En(Y);Fe!==void 0&&x.push(Fe)}return x.length>0?x:void 0}function En(p){switch(p){case dt.DiagnosticTag.Unnecessary:return he.DiagnosticTag.Unnecessary;case dt.DiagnosticTag.Deprecated:return he.DiagnosticTag.Deprecated;default:return}}function xn(p){return{message:p.message,location:ct(p.location)}}function Kn(p){return p.map(xn)}function rr(p){if(p!=null)return qr.number(p)||qr.string(p)?p:{value:p.value,target:r(p.target)}}function qn(p){let x=he.Diagnostic.create(be(p.range),p.message),Y=p instanceof dy.ProtocolDiagnostic?p:void 0;Y!==void 0&&Y.data!==void 0&&(x.data=Y.data);let Fe=rr(p.code);return dy.DiagnosticCode.is(Fe)?Y!==void 0&&Y.hasDiagnosticCode?x.code=Fe:(x.code=Fe.value,x.codeDescription={href:Fe.target}):x.code=Fe,qr.number(p.severity)&&(x.severity=Ct(p.severity)),Array.isArray(p.tags)&&(x.tags=nr(p.tags)),p.relatedInformation&&(x.relatedInformation=Kn(p.relatedInformation)),p.source&&(x.source=p.source),x}function mn(p,x){return p==null?p:uy.map(p,qn,x)}function vn(p){return p==null?p:p.map(qn)}function In(p,x){switch(p){case"$string":return x;case he.MarkupKind.PlainText:return{kind:p,value:x};case he.MarkupKind.Markdown:return{kind:p,value:x.value};default:return`Unsupported Markup content received. Kind is: ${p}`}}function ut(p){switch(p){case dt.CompletionItemTag.Deprecated:return he.CompletionItemTag.Deprecated}}function Vn(p){if(p===void 0)return p;let x=[];for(let Y of p){let Fe=ut(Y);Fe!==void 0&&x.push(Fe)}return x}function yn(p,x){return x!==void 0?x:p+1}function rn(p,x=!1){let Y,Fe;qr.string(p.label)?Y=p.label:(Y=p.label.label,x&&(p.label.detail!==void 0||p.label.description!==void 0)&&(Fe={detail:p.label.detail,description:p.label.description}));let R={label:Y};Fe!==void 0&&(R.labelDetails=Fe);let h=p instanceof N_.default?p:void 0;p.detail&&(R.detail=p.detail),p.documentation&&(!h||h.documentationFormat==="$string"?R.documentation=p.documentation:R.documentation=In(h.documentationFormat,p.documentation)),p.filterText&&(R.filterText=p.filterText),ir(R,p),qr.number(p.kind)&&(R.kind=yn(p.kind,h&&h.originalItemKind)),p.sortText&&(R.sortText=p.sortText),p.additionalTextEdits&&(R.additionalTextEdits=at(p.additionalTextEdits)),p.commitCharacters&&(R.commitCharacters=p.commitCharacters.slice()),p.command&&(R.command=G(p.command)),(p.preselect===!0||p.preselect===!1)&&(R.preselect=p.preselect);let D=Vn(p.tags);if(h){if(h.data!==void 0&&(R.data=h.data),h.deprecated===!0||h.deprecated===!1){if(h.deprecated===!0&&D!==void 0&&D.length>0){let S=D.indexOf(dt.CompletionItemTag.Deprecated);S!==-1&&D.splice(S,1)}R.deprecated=h.deprecated}h.insertTextMode!==void 0&&(R.insertTextMode=h.insertTextMode)}return D!==void 0&&D.length>0&&(R.tags=D),R.insertTextMode===void 0&&p.keepWhitespace===!0&&(R.insertTextMode=he.InsertTextMode.adjustIndentation),R}function ir(p,x){let Y=he.InsertTextFormat.PlainText,Fe,R;x.textEdit?(Fe=x.textEdit.newText,R=x.textEdit.range):x.insertText instanceof dt.SnippetString?(Y=he.InsertTextFormat.Snippet,Fe=x.insertText.value):Fe=x.insertText,x.range&&(R=x.range),p.insertTextFormat=Y,x.fromEdit&&Fe!==void 0&&R!==void 0?p.textEdit=on(Fe,R):p.insertText=Fe}function on(p,x){return rl.is(x)?he.InsertReplaceEdit.create(p,be(x.inserting),be(x.replacing)):{newText:p,range:be(x)}}function Fn(p){return{range:be(p.range),newText:p.newText}}function at(p){return p==null?p:p.map(Fn)}function Tt(p){return p<=dt.SymbolKind.TypeParameter?p+1:he.SymbolKind.Property}function Dt(p){return p}function Gt(p){return p.map(Dt)}function Lt(p,x,Y){return{textDocument:i(p),position:pe(x),context:{includeDeclaration:Y.includeDeclaration}}}async function On(p,x){let Y=he.CodeAction.create(p.title);if(p instanceof ly.default&&p.data!==void 0&&(Y.data=p.data),p.kind!==void 0&&(Y.kind=C(p.kind)),p.diagnostics!==void 0&&(Y.diagnostics=await mn(p.diagnostics,x)),p.edit!==void 0)throw new Error("VS Code code actions can only be converted to a protocol code action without an edit.");return p.command!==void 0&&(Y.command=G(p.command)),p.isPreferred!==void 0&&(Y.isPreferred=p.isPreferred),p.disabled!==void 0&&(Y.disabled={reason:p.disabled.reason}),Y}function zn(p){let x=he.CodeAction.create(p.title);if(p instanceof ly.default&&p.data!==void 0&&(x.data=p.data),p.kind!==void 0&&(x.kind=C(p.kind)),p.diagnostics!==void 0&&(x.diagnostics=vn(p.diagnostics)),p.edit!==void 0)throw new Error("VS Code code actions can only be converted to a protocol code action without an edit.");return p.command!==void 0&&(x.command=G(p.command)),p.isPreferred!==void 0&&(x.isPreferred=p.isPreferred),p.disabled!==void 0&&(x.disabled={reason:p.disabled.reason}),x}async function bn(p,x){if(p==null)return p;let Y;return p.only&&qr.string(p.only.value)&&(Y=[p.only.value]),he.CodeActionContext.create(await mn(p.diagnostics,x),Y,Ft(p.triggerKind))}function Bn(p){if(p==null)return p;let x;return p.only&&qr.string(p.only.value)&&(x=[p.only.value]),he.CodeActionContext.create(vn(p.diagnostics),x,Ft(p.triggerKind))}function Ft(p){switch(p){case dt.CodeActionTriggerKind.Invoke:return he.CodeActionTriggerKind.Invoked;case dt.CodeActionTriggerKind.Automatic:return he.CodeActionTriggerKind.Automatic;default:return}}function C(p){if(p!=null)return p.value}function O(p){return p==null?p:he.InlineValueContext.create(p.frameId,be(p.stoppedLocation))}function W(p,x,Y){return{context:he.InlineCompletionContext.create(Y.triggerKind,Y.selectedCompletionInfo),textDocument:i(p),position:ie(x)}}function G(p){let x=he.Command.create(p.title,p.command);return p.arguments&&(x.arguments=p.arguments),x}function xe(p){let x=he.CodeLens.create(be(p.range));return p.command&&(x.command=G(p.command)),p instanceof j_.default&&p.data&&(x.data=p.data),x}function Pe(p,x){let Y={tabSize:p.tabSize,insertSpaces:p.insertSpaces};return x.trimTrailingWhitespace&&(Y.trimTrailingWhitespace=!0),x.trimFinalNewlines&&(Y.trimFinalNewlines=!0),x.insertFinalNewline&&(Y.insertFinalNewline=!0),Y}function Ae(p){return{textDocument:i(p)}}function $e(p){return{textDocument:i(p)}}function ye(p){let x=he.DocumentLink.create(be(p.range));p.target&&(x.target=r(p.target)),p.tooltip!==void 0&&(x.tooltip=p.tooltip);let Y=p instanceof $_.default?p:void 0;return Y&&Y.data&&(x.data=Y.data),x}function Ie(p){return{textDocument:i(p)}}function De(p){let x={name:p.name,kind:Tt(p.kind),uri:r(p.uri),range:be(p.range),selectionRange:be(p.selectionRange)};return p.detail!==void 0&&p.detail.length>0&&(x.detail=p.detail),p.tags!==void 0&&(x.tags=Gt(p.tags)),p instanceof U_.default&&p.data!==void 0&&(x.data=p.data),x}function Ue(p){let x={name:p.name,kind:Tt(p.kind),uri:r(p.uri),range:be(p.range),selectionRange:be(p.selectionRange)};return p.detail!==void 0&&p.detail.length>0&&(x.detail=p.detail),p.tags!==void 0&&(x.tags=Gt(p.tags)),p instanceof H_.default&&p.data!==void 0&&(x.data=p.data),x}function nt(p){let x=p instanceof W_.default?{name:p.name,kind:Tt(p.kind),location:p.hasRange?ct(p.location):{uri:t(p.location.uri)},data:p.data}:{name:p.name,kind:Tt(p.kind),location:ct(p.location)};return p.tags!==void 0&&(x.tags=Gt(p.tags)),p.containerName!==""&&(x.containerName=p.containerName),x}function ht(p){let x=typeof p.label=="string"?p.label:p.label.map(or),Y=he.InlayHint.create(ie(p.position),x);return p.kind!==void 0&&(Y.kind=p.kind),p.textEdits!==void 0&&(Y.textEdits=at(p.textEdits)),p.tooltip!==void 0&&(Y.tooltip=sr(p.tooltip)),p.paddingLeft!==void 0&&(Y.paddingLeft=p.paddingLeft),p.paddingRight!==void 0&&(Y.paddingRight=p.paddingRight),p instanceof K_.default&&p.data!==void 0&&(Y.data=p.data),Y}function or(p){let x=he.InlayHintLabelPart.create(p.value);return p.location!==void 0&&(x.location=ct(p.location)),p.command!==void 0&&(x.command=G(p.command)),p.tooltip!==void 0&&(x.tooltip=sr(p.tooltip)),x}function sr(p){return typeof p=="string"?p:{kind:he.MarkupKind.Markdown,value:p.value}}return{asUri:r,asTextDocumentIdentifier:i,asTextDocumentItem:o,asVersionedTextDocumentIdentifier:s,asOpenTextDocumentParams:a,asChangeTextDocumentParams:d,asCloseTextDocumentParams:g,asSaveTextDocumentParams:m,asWillSaveTextDocumentParams:v,asDidCreateFilesParams:T,asDidRenameFilesParams:P,asDidDeleteFilesParams:q,asWillCreateFilesParams:N,asWillRenameFilesParams:L,asWillDeleteFilesParams:K,asTextDocumentPositionParams:te,asCompletionParams:V,asSignatureHelpParams:B,asWorkerPosition:pe,asRange:be,asRanges:Re,asPosition:ie,asPositions:oe,asPositionsSync:st,asLocation:ct,asDiagnosticSeverity:Ct,asDiagnosticTag:En,asDiagnostic:qn,asDiagnostics:mn,asDiagnosticsSync:vn,asCompletionItem:rn,asTextEdit:Fn,asSymbolKind:Tt,asSymbolTag:Dt,asSymbolTags:Gt,asReferenceParams:Lt,asCodeAction:On,asCodeActionSync:zn,asCodeActionContext:bn,asCodeActionContextSync:Bn,asInlineValueContext:O,asCommand:G,asCodeLens:xe,asFormattingOptions:Pe,asDocumentSymbolParams:Ae,asCodeLensParams:$e,asDocumentLink:ye,asDocumentLinkParams:Ie,asCallHierarchyItem:De,asTypeHierarchyItem:Ue,asInlayHint:ht,asWorkspaceSymbol:nt,asInlineCompletionParams:W}}Rs.createConverter=V_});var gy=E(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.createConverter=void 0;var z=require("vscode"),ae=fe(),fn=un(),qe=_s(),z_=Iu(),B_=Mu(),G_=Nu(),J_=Uu(),py=Ku(),X_=Bu(),Q_=Xu(),Y_=Zu(),Z_=nl(),hy=fe(),Ps;(function(n){function e(t){let r=t;return r&&fn.string(r.language)&&fn.string(r.value)}n.is=e})(Ps||(Ps={}));function eT(n,e,t){let i=n||(u=>z.Uri.parse(u));function o(u){return i(u)}function s(u){let _=[];for(let A of u)if(typeof A=="string")_.push(A);else if(hy.NotebookCellTextDocumentFilter.is(A))if(typeof A.notebook=="string")_.push({notebookType:A.notebook,language:A.language});else{let ee=A.notebook.notebookType??"*";_.push({notebookType:ee,scheme:A.notebook.scheme,pattern:A.notebook.pattern,language:A.language})}else hy.TextDocumentFilter.is(A)&&_.push({language:A.language,scheme:A.scheme,pattern:A.pattern});return _}async function a(u,_){return qe.map(u,l,_)}function c(u){let _=new Array(u.length);for(let A=0;A<u.length;A++)_[A]=l(u[A]);return _}function l(u){let _=new py.ProtocolDiagnostic(v(u.range),u.message,P(u.severity),u.data);if(u.code!==void 0){if(typeof u.code=="string"||typeof u.code=="number")ae.CodeDescription.is(u.codeDescription)?_.code={value:u.code,target:o(u.codeDescription.href)}:_.code=u.code;else if(py.DiagnosticCode.is(u.code)){_.hasDiagnosticCode=!0;let A=u.code;_.code={value:A.value,target:o(A.target)}}}return u.source&&(_.source=u.source),u.relatedInformation&&(_.relatedInformation=d(u.relatedInformation)),Array.isArray(u.tags)&&(_.tags=g(u.tags)),_}function d(u){let _=new Array(u.length);for(let A=0;A<u.length;A++){let ee=u[A];_[A]=new z.DiagnosticRelatedInformation(Ct(ee.location),ee.message)}return _}function g(u){if(!u)return;let _=[];for(let A of u){let ee=m(A);ee!==void 0&&_.push(ee)}return _.length>0?_:void 0}function m(u){switch(u){case ae.DiagnosticTag.Unnecessary:return z.DiagnosticTag.Unnecessary;case ae.DiagnosticTag.Deprecated:return z.DiagnosticTag.Deprecated;default:return}}function y(u){return u?new z.Position(u.line,u.character):void 0}function v(u){return u?new z.Range(u.start.line,u.start.character,u.end.line,u.end.character):void 0}async function T(u,_){return qe.map(u,A=>new z.Range(A.start.line,A.start.character,A.end.line,A.end.character),_)}function P(u){if(u==null)return z.DiagnosticSeverity.Error;switch(u){case ae.DiagnosticSeverity.Error:return z.DiagnosticSeverity.Error;case ae.DiagnosticSeverity.Warning:return z.DiagnosticSeverity.Warning;case ae.DiagnosticSeverity.Information:return z.DiagnosticSeverity.Information;case ae.DiagnosticSeverity.Hint:return z.DiagnosticSeverity.Hint}return z.DiagnosticSeverity.Error}function q(u){if(fn.string(u))return L(u);if(Ps.is(u))return L().appendCodeblock(u.value,u.language);if(Array.isArray(u)){let _=[];for(let A of u){let ee=L();Ps.is(A)?ee.appendCodeblock(A.value,A.language):ee.appendMarkdown(A),_.push(ee)}return _}else return L(u)}function N(u){if(fn.string(u))return u;switch(u.kind){case ae.MarkupKind.Markdown:return L(u.value);case ae.MarkupKind.PlainText:return u.value;default:return`Unsupported Markup content received. Kind is: ${u.kind}`}}function L(u){let _;if(u===void 0||typeof u=="string")_=new z.MarkdownString(u);else switch(u.kind){case ae.MarkupKind.Markdown:_=new z.MarkdownString(u.value);break;case ae.MarkupKind.PlainText:_=new z.MarkdownString,_.appendText(u.value);break;default:_=new z.MarkdownString,_.appendText(`Unsupported Markup content received. Kind is: ${u.kind}`);break}return _.isTrusted=e,_.supportHtml=t,_}function K(u){if(u)return new z.Hover(q(u.contents),v(u.range))}async function te(u,_,A){if(!u)return;if(Array.isArray(u))return qe.map(u,An=>Ne(An,_),A);let ee=u,{defaultRange:gt,commitCharacters:St}=Z(ee,_),je=await qe.map(ee.items,An=>Ne(An,St,gt,ee.itemDefaults?.insertTextMode,ee.itemDefaults?.insertTextFormat,ee.itemDefaults?.data),A);return new z.CompletionList(je,ee.isIncomplete)}function Z(u,_){let A=u.itemDefaults?.editRange,ee=u.itemDefaults?.commitCharacters??_;return ae.Range.is(A)?{defaultRange:v(A),commitCharacters:ee}:A!==void 0?{defaultRange:{inserting:v(A.insert),replacing:v(A.replace)},commitCharacters:ee}:{defaultRange:void 0,commitCharacters:ee}}function V(u){return ae.CompletionItemKind.Text<=u&&u<=ae.CompletionItemKind.TypeParameter?[u-1,void 0]:[z.CompletionItemKind.Text,u]}function ne(u){switch(u){case ae.CompletionItemTag.Deprecated:return z.CompletionItemTag.Deprecated}}function ce(u){if(u==null)return[];let _=[];for(let A of u){let ee=ne(A);ee!==void 0&&_.push(ee)}return _}function Ne(u,_,A,ee,gt,St){let je=ce(u.tags),An=U(u),We=new z_.default(An);u.detail&&(We.detail=u.detail),u.documentation&&(We.documentation=N(u.documentation),We.documentationFormat=fn.string(u.documentation)?"$string":u.documentation.kind),u.filterText&&(We.filterText=u.filterText);let ho=I(u,A,gt);if(ho&&(We.insertText=ho.text,We.range=ho.range,We.fromEdit=ho.fromEdit),fn.number(u.kind)){let[sw,Tf]=V(u.kind);We.kind=sw,Tf&&(We.originalItemKind=Tf)}u.sortText&&(We.sortText=u.sortText),u.additionalTextEdits&&(We.additionalTextEdits=ie(u.additionalTextEdits));let Sf=u.commitCharacters!==void 0?fn.stringArray(u.commitCharacters)?u.commitCharacters:void 0:_;Sf&&(We.commitCharacters=Sf.slice()),u.command&&(We.command=at(u.command)),(u.deprecated===!0||u.deprecated===!1)&&(We.deprecated=u.deprecated,u.deprecated===!0&&je.push(z.CompletionItemTag.Deprecated)),(u.preselect===!0||u.preselect===!1)&&(We.preselect=u.preselect);let _f=u.data??St;_f!==void 0&&(We.data=_f),je.length>0&&(We.tags=je);let Ta=u.insertTextMode??ee;return Ta!==void 0&&(We.insertTextMode=Ta,Ta===ae.InsertTextMode.asIs&&(We.keepWhitespace=!0)),We}function U(u){return ae.CompletionItemLabelDetails.is(u.labelDetails)?{label:u.label,detail:u.labelDetails.detail,description:u.labelDetails.description}:u.label}function I(u,_,A){let ee=u.insertTextFormat??A;if(u.textEdit!==void 0||_!==void 0){let[gt,St]=u.textEdit!==void 0?J(u.textEdit):[_,u.textEditText??u.label];return ee===ae.InsertTextFormat.Snippet?{text:new z.SnippetString(St),range:gt,fromEdit:!0}:{text:St,range:gt,fromEdit:!0}}else return u.insertText?ee===ae.InsertTextFormat.Snippet?{text:new z.SnippetString(u.insertText),fromEdit:!1}:{text:u.insertText,fromEdit:!1}:void 0}function J(u){return ae.InsertReplaceEdit.is(u)?[{inserting:v(u.insert),replacing:v(u.replace)},u.newText]:[v(u.range),u.newText]}function B(u){if(u)return new z.TextEdit(v(u.range),u.newText)}async function pe(u,_){if(u)return qe.map(u,B,_)}function ie(u){if(!u)return;let _=new Array(u.length);for(let A=0;A<u.length;A++)_[A]=B(u[A]);return _}async function oe(u,_){if(!u)return;let A=new z.SignatureHelp;return fn.number(u.activeSignature)?A.activeSignature=u.activeSignature:A.activeSignature=0,fn.number(u.activeParameter)?A.activeParameter=u.activeParameter:A.activeParameter=0,u.signatures&&(A.signatures=await st(u.signatures,_)),A}async function st(u,_){return qe.mapAsync(u,be,_)}async function be(u,_){let A=new z.SignatureInformation(u.label);return u.documentation!==void 0&&(A.documentation=N(u.documentation)),u.parameters!==void 0&&(A.parameters=await Re(u.parameters,_)),u.activeParameter!==void 0&&(A.activeParameter=u.activeParameter),A}function Re(u,_){return qe.map(u,ct,_)}function ct(u){let _=new z.ParameterInformation(u.label);return u.documentation&&(_.documentation=N(u.documentation)),_}function Ct(u){return u?new z.Location(i(u.uri),v(u.range)):void 0}async function nr(u,_){if(u)return Kn(u,_)}async function En(u,_){if(u)return Kn(u,_)}function xn(u){if(!u)return;let _={targetUri:i(u.targetUri),targetRange:v(u.targetRange),originSelectionRange:v(u.originSelectionRange),targetSelectionRange:v(u.targetSelectionRange)};if(!_.targetSelectionRange)throw new Error("targetSelectionRange must not be undefined or null");return _}async function Kn(u,_){if(u)if(fn.array(u)){if(u.length===0)return[];if(ae.LocationLink.is(u[0])){let A=u;return qe.map(A,xn,_)}else{let A=u;return qe.map(A,Ct,_)}}else return ae.LocationLink.is(u)?[xn(u)]:Ct(u)}async function rr(u,_){if(u)return qe.map(u,Ct,_)}async function qn(u,_){if(u)return qe.map(u,mn,_)}function mn(u){let _=new z.DocumentHighlight(v(u.range));return fn.number(u.kind)&&(_.kind=vn(u.kind)),_}function vn(u){switch(u){case ae.DocumentHighlightKind.Text:return z.DocumentHighlightKind.Text;case ae.DocumentHighlightKind.Read:return z.DocumentHighlightKind.Read;case ae.DocumentHighlightKind.Write:return z.DocumentHighlightKind.Write}return z.DocumentHighlightKind.Text}async function In(u,_){if(u)return qe.map(u,rn,_)}function ut(u){return u<=ae.SymbolKind.TypeParameter?u-1:z.SymbolKind.Property}function Vn(u){switch(u){case ae.SymbolTag.Deprecated:return z.SymbolTag.Deprecated;default:return}}function yn(u){if(u==null)return;let _=[];for(let A of u){let ee=Vn(A);ee!==void 0&&_.push(ee)}return _.length===0?void 0:_}function rn(u){let _=u.data,A=u.location,ee=A.range===void 0||_!==void 0?new Y_.default(u.name,ut(u.kind),u.containerName??"",A.range===void 0?i(A.uri):new z.Location(i(u.location.uri),v(A.range)),_):new z.SymbolInformation(u.name,ut(u.kind),u.containerName??"",new z.Location(i(u.location.uri),v(A.range)));return Fn(ee,u),ee}async function ir(u,_){if(u!=null)return qe.map(u,on,_)}function on(u){let _=new z.DocumentSymbol(u.name,u.detail||"",ut(u.kind),v(u.range),v(u.selectionRange));if(Fn(_,u),u.children!==void 0&&u.children.length>0){let A=[];for(let ee of u.children)A.push(on(ee));_.children=A}return _}function Fn(u,_){u.tags=yn(_.tags),_.deprecated&&(u.tags?u.tags.includes(z.SymbolTag.Deprecated)||(u.tags=u.tags.concat(z.SymbolTag.Deprecated)):u.tags=[z.SymbolTag.Deprecated])}function at(u){let _={title:u.title,command:u.command};return u.arguments&&(_.arguments=u.arguments),_}async function Tt(u,_){if(u)return qe.map(u,at,_)}let Dt=new Map;Dt.set(ae.CodeActionKind.Empty,z.CodeActionKind.Empty),Dt.set(ae.CodeActionKind.QuickFix,z.CodeActionKind.QuickFix),Dt.set(ae.CodeActionKind.Refactor,z.CodeActionKind.Refactor),Dt.set(ae.CodeActionKind.RefactorExtract,z.CodeActionKind.RefactorExtract),Dt.set(ae.CodeActionKind.RefactorInline,z.CodeActionKind.RefactorInline),Dt.set(ae.CodeActionKind.RefactorRewrite,z.CodeActionKind.RefactorRewrite),Dt.set(ae.CodeActionKind.Source,z.CodeActionKind.Source),Dt.set(ae.CodeActionKind.SourceOrganizeImports,z.CodeActionKind.SourceOrganizeImports);function Gt(u){if(u==null)return;let _=Dt.get(u);if(_)return _;let A=u.split(".");_=z.CodeActionKind.Empty;for(let ee of A)_=_.append(ee);return _}function Lt(u){if(u!=null)return u.map(_=>Gt(_))}async function On(u,_){if(u==null)return;let A=new J_.default(u.title,u.data);return u.kind!==void 0&&(A.kind=Gt(u.kind)),u.diagnostics!==void 0&&(A.diagnostics=c(u.diagnostics)),u.edit!==void 0&&(A.edit=await Ft(u.edit,_)),u.command!==void 0&&(A.command=at(u.command)),u.isPreferred!==void 0&&(A.isPreferred=u.isPreferred),u.disabled!==void 0&&(A.disabled={reason:u.disabled.reason}),A}function zn(u,_){return qe.mapAsync(u,async A=>ae.Command.is(A)?at(A):On(A,_),_)}function bn(u){if(!u)return;let _=new B_.default(v(u.range));return u.command&&(_.command=at(u.command)),u.data!==void 0&&u.data!==null&&(_.data=u.data),_}async function Bn(u,_){if(u)return qe.map(u,bn,_)}async function Ft(u,_){if(!u)return;let A=new Map;if(u.changeAnnotations!==void 0){let St=u.changeAnnotations;await qe.forEach(Object.keys(St),je=>{let An=C(St[je]);A.set(je,An)},_)}let ee=St=>{if(St!==void 0)return A.get(St)},gt=new z.WorkspaceEdit;if(u.documentChanges){let St=u.documentChanges;await qe.forEach(St,je=>{if(ae.CreateFile.is(je))gt.createFile(i(je.uri),je.options,ee(je.annotationId));else if(ae.RenameFile.is(je))gt.renameFile(i(je.oldUri),i(je.newUri),je.options,ee(je.annotationId));else if(ae.DeleteFile.is(je))gt.deleteFile(i(je.uri),je.options,ee(je.annotationId));else if(ae.TextDocumentEdit.is(je)){let An=i(je.textDocument.uri);for(let We of je.edits)ae.AnnotatedTextEdit.is(We)?gt.replace(An,v(We.range),We.newText,ee(We.annotationId)):gt.replace(An,v(We.range),We.newText)}else throw new Error(`Unknown workspace edit change received:
|
|
45
|
-
${JSON.stringify(je,void 0,4)}`)},_)}else if(u.changes){let St=u.changes;await qe.forEach(Object.keys(St),je=>{gt.set(i(je),ie(St[je]))},_)}return gt}function C(u){if(u!==void 0)return{label:u.label,needsConfirmation:!!u.needsConfirmation,description:u.description}}function O(u){let _=v(u.range),A=u.target?o(u.target):void 0,ee=new G_.default(_,A);return u.tooltip!==void 0&&(ee.tooltip=u.tooltip),u.data!==void 0&&u.data!==null&&(ee.data=u.data),ee}async function W(u,_){if(u)return qe.map(u,O,_)}function G(u){return new z.Color(u.red,u.green,u.blue,u.alpha)}function xe(u){return new z.ColorInformation(v(u.range),G(u.color))}async function Pe(u,_){if(u)return qe.map(u,xe,_)}function Ae(u){let _=new z.ColorPresentation(u.label);return _.additionalTextEdits=ie(u.additionalTextEdits),u.textEdit&&(_.textEdit=B(u.textEdit)),_}async function $e(u,_){if(u)return qe.map(u,Ae,_)}function ye(u){if(u)switch(u){case ae.FoldingRangeKind.Comment:return z.FoldingRangeKind.Comment;case ae.FoldingRangeKind.Imports:return z.FoldingRangeKind.Imports;case ae.FoldingRangeKind.Region:return z.FoldingRangeKind.Region}}function Ie(u){return new z.FoldingRange(u.startLine,u.endLine,ye(u.kind))}async function De(u,_){if(u)return qe.map(u,Ie,_)}function Ue(u){return new z.SelectionRange(v(u.range),u.parent?Ue(u.parent):void 0)}async function nt(u,_){return Array.isArray(u)?qe.map(u,Ue,_):[]}function ht(u){return ae.InlineValueText.is(u)?new z.InlineValueText(v(u.range),u.text):ae.InlineValueVariableLookup.is(u)?new z.InlineValueVariableLookup(v(u.range),u.variableName,u.caseSensitiveLookup):new z.InlineValueEvaluatableExpression(v(u.range),u.expression)}async function or(u,_){return Array.isArray(u)?qe.map(u,ht,_):[]}async function sr(u,_){let A=typeof u.label=="string"?u.label:await qe.map(u.label,p,_),ee=new Z_.default(y(u.position),A);return u.kind!==void 0&&(ee.kind=u.kind),u.textEdits!==void 0&&(ee.textEdits=await pe(u.textEdits,_)),u.tooltip!==void 0&&(ee.tooltip=x(u.tooltip)),u.paddingLeft!==void 0&&(ee.paddingLeft=u.paddingLeft),u.paddingRight!==void 0&&(ee.paddingRight=u.paddingRight),u.data!==void 0&&(ee.data=u.data),ee}function p(u){let _=new z.InlayHintLabelPart(u.value);return u.location!==void 0&&(_.location=Ct(u.location)),u.tooltip!==void 0&&(_.tooltip=x(u.tooltip)),u.command!==void 0&&(_.command=at(u.command)),_}function x(u){return typeof u=="string"?u:L(u)}async function Y(u,_){if(Array.isArray(u))return qe.mapAsync(u,sr,_)}function Fe(u){if(u===null)return;let _=new X_.default(ut(u.kind),u.name,u.detail||"",o(u.uri),v(u.range),v(u.selectionRange),u.data);return u.tags!==void 0&&(_.tags=yn(u.tags)),_}async function R(u,_){if(u!==null)return qe.map(u,Fe,_)}async function h(u,_){return new z.CallHierarchyIncomingCall(Fe(u.from),await T(u.fromRanges,_))}async function D(u,_){if(u!==null)return qe.mapAsync(u,h,_)}async function S(u,_){return new z.CallHierarchyOutgoingCall(Fe(u.to),await T(u.fromRanges,_))}async function b(u,_){if(u!==null)return qe.mapAsync(u,S,_)}async function f(u,_){if(u!=null)return new z.SemanticTokens(new Uint32Array(u.data),u.resultId)}function k(u){return new z.SemanticTokensEdit(u.start,u.deleteCount,u.data!==void 0?new Uint32Array(u.data):void 0)}async function M(u,_){if(u!=null)return new z.SemanticTokensEdits(u.edits.map(k),u.resultId)}function le(u){return u}async function Ge(u,_){if(u!=null)return new z.LinkedEditingRanges(await T(u.ranges,_),He(u.wordPattern))}function He(u){if(u!=null)return new RegExp(u)}function Nt(u){if(u===null)return;let _=new Q_.default(ut(u.kind),u.name,u.detail||"",o(u.uri),v(u.range),v(u.selectionRange),u.data);return u.tags!==void 0&&(_.tags=yn(u.tags)),_}async function Jt(u,_){if(u!==null)return qe.map(u,Nt,_)}function wn(u){if(fn.string(u))return u;if(ae.RelativePattern.is(u)){if(ae.URI.is(u.baseUri))return new z.RelativePattern(o(u.baseUri),u.pattern);if(ae.WorkspaceFolder.is(u.baseUri)){let _=z.workspace.getWorkspaceFolder(o(u.baseUri.uri));return _!==void 0?new z.RelativePattern(_,u.pattern):void 0}}}async function Ce(u,_){if(!u)return;if(Array.isArray(u))return qe.map(u,gt=>Mn(gt),_);let A=u,ee=await qe.map(A.items,gt=>Mn(gt),_);return new z.InlineCompletionList(ee)}function Mn(u){let _;typeof u.insertText=="string"?_=u.insertText:_=new z.SnippetString(u.insertText.value);let A;u.command&&(A=at(u.command));let ee=new z.InlineCompletionItem(_,v(u.range),A);return u.filterText&&(ee.filterText=u.filterText),ee}return{asUri:o,asDocumentSelector:s,asDiagnostics:a,asDiagnostic:l,asRange:v,asRanges:T,asPosition:y,asDiagnosticSeverity:P,asDiagnosticTag:m,asHover:K,asCompletionResult:te,asCompletionItem:Ne,asTextEdit:B,asTextEdits:pe,asSignatureHelp:oe,asSignatureInformations:st,asSignatureInformation:be,asParameterInformations:Re,asParameterInformation:ct,asDeclarationResult:nr,asDefinitionResult:En,asLocation:Ct,asReferences:rr,asDocumentHighlights:qn,asDocumentHighlight:mn,asDocumentHighlightKind:vn,asSymbolKind:ut,asSymbolTag:Vn,asSymbolTags:yn,asSymbolInformations:In,asSymbolInformation:rn,asDocumentSymbols:ir,asDocumentSymbol:on,asCommand:at,asCommands:Tt,asCodeAction:On,asCodeActionKind:Gt,asCodeActionKinds:Lt,asCodeActionResult:zn,asCodeLens:bn,asCodeLenses:Bn,asWorkspaceEdit:Ft,asDocumentLink:O,asDocumentLinks:W,asFoldingRangeKind:ye,asFoldingRange:Ie,asFoldingRanges:De,asColor:G,asColorInformation:xe,asColorInformations:Pe,asColorPresentation:Ae,asColorPresentations:$e,asSelectionRange:Ue,asSelectionRanges:nt,asInlineValue:ht,asInlineValues:or,asInlayHint:sr,asInlayHints:Y,asSemanticTokensLegend:le,asSemanticTokens:f,asSemanticTokensEdit:k,asSemanticTokensEdits:M,asCallHierarchyItem:Fe,asCallHierarchyItems:R,asCallHierarchyIncomingCall:h,asCallHierarchyIncomingCalls:D,asCallHierarchyOutgoingCall:S,asCallHierarchyOutgoingCalls:b,asLinkedEditingRanges:Ge,asTypeHierarchyItem:Nt,asTypeHierarchyItems:Jt,asGlobPattern:wn,asInlineCompletionResult:Ce,asInlineCompletionItem:Mn}}ks.createConverter=eT});var Xe=E(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0});pn.generateUuid=pn.parse=pn.isUUID=pn.v4=pn.empty=void 0;var Ki=class{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}},Vi=class n extends Ki{static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return n._oneOf(n._chars)}constructor(){super([n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),"-",n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),"-","4",n._randomHex(),n._randomHex(),n._randomHex(),"-",n._oneOf(n._timeHighBits),n._randomHex(),n._randomHex(),n._randomHex(),"-",n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex()].join(""))}};Vi._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"];Vi._timeHighBits=["8","9","a","b"];pn.empty=new Ki("00000000-0000-0000-0000-000000000000");function my(){return new Vi}pn.v4=my;var tT=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function vy(n){return tT.test(n)}pn.isUUID=vy;function nT(n){if(!vy(n))throw new Error("invalid uuid");return new Ki(n)}pn.parse=nT;function rT(){return my().asHex()}pn.generateUuid=rT});var ol=E(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});Es.ProgressPart=void 0;var yy=require("vscode"),by=fe(),wy=un(),il=class{constructor(e,t,r){this._client=e,this._token=t,this._reported=0,this._infinite=!1,this._lspProgressDisposable=this._client.onProgress(by.WorkDoneProgress.type,this._token,i=>{switch(i.kind){case"begin":this.begin(i);break;case"report":this.report(i);break;case"end":this.done(),r&&r(this);break}})}begin(e){this._infinite=e.percentage===void 0,this._lspProgressDisposable!==void 0&&yy.window.withProgress({location:yy.ProgressLocation.Window,cancellable:e.cancellable,title:e.title},async(t,r)=>{if(this._lspProgressDisposable!==void 0)return this._progress=t,this._cancellationToken=r,this._tokenDisposable=this._cancellationToken.onCancellationRequested(()=>{this._client.sendNotification(by.WorkDoneProgressCancelNotification.type,{token:this._token})}),this.report(e),new Promise((i,o)=>{this._resolve=i,this._reject=o})})}report(e){if(this._infinite&&wy.string(e.message))this._progress!==void 0&&this._progress.report({message:e.message});else if(wy.number(e.percentage)){let t=Math.max(0,Math.min(e.percentage,100)),r=Math.max(0,t-this._reported);this._reported+=r,this._progress!==void 0&&this._progress.report({message:e.message,increment:r})}}cancel(){this.cleanup(),this._reject!==void 0&&(this._reject(),this._resolve=void 0,this._reject=void 0)}done(){this.cleanup(),this._resolve!==void 0&&(this._resolve(),this._resolve=void 0,this._reject=void 0)}cleanup(){this._lspProgressDisposable!==void 0&&(this._lspProgressDisposable.dispose(),this._lspProgressDisposable=void 0),this._tokenDisposable!==void 0&&(this._tokenDisposable.dispose(),this._tokenDisposable=void 0),this._progress=void 0,this._cancellationToken=void 0}};Es.ProgressPart=il});var Ee=E(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.WorkspaceFeature=yt.TextDocumentLanguageFeature=yt.TextDocumentEventFeature=yt.DynamicDocumentFeature=yt.DynamicFeature=yt.StaticFeature=yt.ensure=yt.LSPCancellationError=void 0;var Ir=require("vscode"),sl=fe(),At=un(),Cy=Xe(),al=class extends Ir.CancellationError{constructor(e){super(),this.data=e}};yt.LSPCancellationError=al;function iT(n,e){return n[e]===void 0&&(n[e]={}),n[e]}yt.ensure=iT;var Dy;(function(n){function e(t){let r=t;return r!=null&&At.func(r.fillClientCapabilities)&&At.func(r.initialize)&&At.func(r.getState)&&At.func(r.clear)&&(r.fillInitializeParams===void 0||At.func(r.fillInitializeParams))}n.is=e})(Dy||(yt.StaticFeature=Dy={}));var Sy;(function(n){function e(t){let r=t;return r!=null&&At.func(r.fillClientCapabilities)&&At.func(r.initialize)&&At.func(r.getState)&&At.func(r.clear)&&(r.fillInitializeParams===void 0||At.func(r.fillInitializeParams))&&At.func(r.register)&&At.func(r.unregister)&&r.registrationType!==void 0}n.is=e})(Sy||(yt.DynamicFeature=Sy={}));var zi=class{constructor(e){this._client=e}getState(){let e=this.getDocumentSelectors(),t=0;for(let i of e){t++;for(let o of Ir.workspace.textDocuments)if(Ir.languages.match(i,o)>0)return{kind:"document",id:this.registrationType.method,registrations:!0,matches:!0}}let r=t>0;return{kind:"document",id:this.registrationType.method,registrations:r,matches:!1}}};yt.DynamicDocumentFeature=zi;var cl=class extends zi{static textDocumentFilter(e,t){for(let r of e)if(Ir.languages.match(r,t)>0)return!0;return!1}constructor(e,t,r,i,o,s,a){super(e),this._event=t,this._type=r,this._middleware=i,this._createParams=o,this._textDocument=s,this._selectorFilter=a,this._selectors=new Map,this._onNotificationSent=new Ir.EventEmitter}getStateInfo(){return[this._selectors.values(),!1]}getDocumentSelectors(){return this._selectors.values()}register(e){e.registerOptions.documentSelector&&(this._listener||(this._listener=this._event(t=>{this.callback(t).catch(r=>{this._client.error(`Sending document notification ${this._type.method} failed.`,r)})})),this._selectors.set(e.id,this._client.protocol2CodeConverter.asDocumentSelector(e.registerOptions.documentSelector)))}async callback(e){let t=async r=>{let i=this._createParams(r);await this._client.sendNotification(this._type,i),this.notificationSent(this.getTextDocument(r),this._type,i)};if(this.matches(e)){let r=this._middleware();return r?r(e,i=>t(i)):t(e)}}matches(e){return this._client.hasDedicatedTextSynchronizationFeature(this._textDocument(e))?!1:!this._selectorFilter||this._selectorFilter(this._selectors.values(),e)}get onNotificationSent(){return this._onNotificationSent.event}notificationSent(e,t,r){this._onNotificationSent.fire({textDocument:e,type:t,params:r})}unregister(e){this._selectors.delete(e),this._selectors.size===0&&this._listener&&(this._listener.dispose(),this._listener=void 0)}clear(){this._selectors.clear(),this._onNotificationSent.dispose(),this._listener&&(this._listener.dispose(),this._listener=void 0)}getProvider(e){for(let t of this._selectors.values())if(Ir.languages.match(t,e)>0)return{send:r=>this.callback(r)}}};yt.TextDocumentEventFeature=cl;var ul=class extends zi{constructor(e,t){super(e),this._registrationType=t,this._registrations=new Map}*getDocumentSelectors(){for(let e of this._registrations.values()){let t=e.data.registerOptions.documentSelector;t!==null&&(yield this._client.protocol2CodeConverter.asDocumentSelector(t))}}get registrationType(){return this._registrationType}register(e){if(!e.registerOptions.documentSelector)return;let t=this.registerLanguageProvider(e.registerOptions,e.id);this._registrations.set(e.id,{disposable:t[0],data:e,provider:t[1]})}unregister(e){let t=this._registrations.get(e);t!==void 0&&t.disposable.dispose()}clear(){this._registrations.forEach(e=>{e.disposable.dispose()}),this._registrations.clear()}getRegistration(e,t){if(t){if(sl.TextDocumentRegistrationOptions.is(t)){let r=sl.StaticRegistrationOptions.hasId(t)?t.id:Cy.generateUuid(),i=t.documentSelector??e;if(i)return[r,Object.assign({},t,{documentSelector:i})]}else if(At.boolean(t)&&t===!0||sl.WorkDoneProgressOptions.is(t)){if(!e)return[void 0,void 0];let r=At.boolean(t)&&t===!0?{documentSelector:e}:Object.assign({},t,{documentSelector:e});return[Cy.generateUuid(),r]}}else return[void 0,void 0];return[void 0,void 0]}getRegistrationOptions(e,t){if(!(!e||!t))return At.boolean(t)&&t===!0?{documentSelector:e}:Object.assign({},t,{documentSelector:e})}getProvider(e){for(let t of this._registrations.values()){let r=t.data.registerOptions.documentSelector;if(r!==null&&Ir.languages.match(this._client.protocol2CodeConverter.asDocumentSelector(r),e)>0)return t.provider}}getAllProviders(){let e=[];for(let t of this._registrations.values())e.push(t.provider);return e}};yt.TextDocumentLanguageFeature=ul;var ll=class{constructor(e,t){this._client=e,this._registrationType=t,this._registrations=new Map}getState(){let e=this._registrations.size>0;return{kind:"workspace",id:this._registrationType.method,registrations:e}}get registrationType(){return this._registrationType}register(e){let t=this.registerLanguageProvider(e.registerOptions);this._registrations.set(e.id,{disposable:t[0],provider:t[1]})}unregister(e){let t=this._registrations.get(e);t!==void 0&&t.disposable.dispose()}clear(){this._registrations.forEach(e=>{e.disposable.dispose()}),this._registrations.clear()}getProviders(){let e=[];for(let t of this._registrations.values())e.push(t.provider);return e}};yt.WorkspaceFeature=ll});var Ty=E((TE,_y)=>{"use strict";var oT=typeof process=="object"&&process&&process.platform==="win32";_y.exports=oT?{sep:"\\"}:{sep:"/"}});var xy=E((RE,Ey)=>{"use strict";Ey.exports=Py;function Py(n,e,t){n instanceof RegExp&&(n=Ry(n,t)),e instanceof RegExp&&(e=Ry(e,t));var r=ky(n,e,t);return r&&{start:r[0],end:r[1],pre:t.slice(0,r[0]),body:t.slice(r[0]+n.length,r[1]),post:t.slice(r[1]+e.length)}}function Ry(n,e){var t=e.match(n);return t?t[0]:null}Py.range=ky;function ky(n,e,t){var r,i,o,s,a,c=t.indexOf(n),l=t.indexOf(e,c+1),d=c;if(c>=0&&l>0){if(n===e)return[c,l];for(r=[],o=t.length;d>=0&&!a;)d==c?(r.push(d),c=t.indexOf(n,d+1)):r.length==1?a=[r.pop(),l]:(i=r.pop(),i<o&&(o=i,s=l),l=t.indexOf(e,d+1)),d=c<l&&c>=0?c:l;r.length&&(a=[o,s])}return a}});var Ny=E((PE,Ly)=>{"use strict";var qy=xy();Ly.exports=cT;var Iy="\0SLASH"+Math.random()+"\0",Fy="\0OPEN"+Math.random()+"\0",fl="\0CLOSE"+Math.random()+"\0",Oy="\0COMMA"+Math.random()+"\0",My="\0PERIOD"+Math.random()+"\0";function dl(n){return parseInt(n,10)==n?parseInt(n,10):n.charCodeAt(0)}function sT(n){return n.split("\\\\").join(Iy).split("\\{").join(Fy).split("\\}").join(fl).split("\\,").join(Oy).split("\\.").join(My)}function aT(n){return n.split(Iy).join("\\").split(Fy).join("{").split(fl).join("}").split(Oy).join(",").split(My).join(".")}function Ay(n){if(!n)return[""];var e=[],t=qy("{","}",n);if(!t)return n.split(",");var r=t.pre,i=t.body,o=t.post,s=r.split(",");s[s.length-1]+="{"+i+"}";var a=Ay(o);return o.length&&(s[s.length-1]+=a.shift(),s.push.apply(s,a)),e.push.apply(e,s),e}function cT(n){return n?(n.substr(0,2)==="{}"&&(n="\\{\\}"+n.substr(2)),Bi(sT(n),!0).map(aT)):[]}function uT(n){return"{"+n+"}"}function lT(n){return/^-?0\d/.test(n)}function dT(n,e){return n<=e}function fT(n,e){return n>=e}function Bi(n,e){var t=[],r=qy("{","}",n);if(!r)return[n];var i=r.pre,o=r.post.length?Bi(r.post,!1):[""];if(/\$$/.test(r.pre))for(var s=0;s<o.length;s++){var a=i+"{"+r.body+"}"+o[s];t.push(a)}else{var c=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(r.body),l=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(r.body),d=c||l,g=r.body.indexOf(",")>=0;if(!d&&!g)return r.post.match(/,.*\}/)?(n=r.pre+"{"+r.body+fl+r.post,Bi(n)):[n];var m;if(d)m=r.body.split(/\.\./);else if(m=Ay(r.body),m.length===1&&(m=Bi(m[0],!1).map(uT),m.length===1))return o.map(function(Ne){return r.pre+m[0]+Ne});var y;if(d){var v=dl(m[0]),T=dl(m[1]),P=Math.max(m[0].length,m[1].length),q=m.length==3?Math.abs(dl(m[2])):1,N=dT,L=T<v;L&&(q*=-1,N=fT);var K=m.some(lT);y=[];for(var te=v;N(te,T);te+=q){var Z;if(l)Z=String.fromCharCode(te),Z==="\\"&&(Z="");else if(Z=String(te),K){var V=P-Z.length;if(V>0){var ne=new Array(V+1).join("0");te<0?Z="-"+ne+Z.slice(1):Z=ne+Z}}y.push(Z)}}else{y=[];for(var ce=0;ce<m.length;ce++)y.push.apply(y,Bi(m[ce],!1))}for(var ce=0;ce<y.length;ce++)for(var s=0;s<o.length;s++){var a=i+y[ce]+o[s];(!e||d||a)&&t.push(a)}}return t}});var qs=E((EE,vl)=>{"use strict";var Yt=vl.exports=(n,e,t={})=>(xs(e),!t.nocomment&&e.charAt(0)==="#"?!1:new pi(e,t).match(n));vl.exports=Yt;var gl=Ty();Yt.sep=gl.sep;var Tn=Symbol("globstar **");Yt.GLOBSTAR=Tn;var pT=Ny(),jy={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},ml="[^/]",pl=ml+"*?",hT="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",gT="(?:(?!(?:\\/|^)\\.).)*?",Hy=n=>n.split("").reduce((e,t)=>(e[t]=!0,e),{}),$y=Hy("().*{}+?[]^$\\!"),mT=Hy("[.("),Uy=/\/+/;Yt.filter=(n,e={})=>(t,r,i)=>Yt(t,n,e);var yr=(n,e={})=>{let t={};return Object.keys(n).forEach(r=>t[r]=n[r]),Object.keys(e).forEach(r=>t[r]=e[r]),t};Yt.defaults=n=>{if(!n||typeof n!="object"||!Object.keys(n).length)return Yt;let e=Yt,t=(r,i,o)=>e(r,i,yr(n,o));return t.Minimatch=class extends e.Minimatch{constructor(i,o){super(i,yr(n,o))}},t.Minimatch.defaults=r=>e.defaults(yr(n,r)).Minimatch,t.filter=(r,i)=>e.filter(r,yr(n,i)),t.defaults=r=>e.defaults(yr(n,r)),t.makeRe=(r,i)=>e.makeRe(r,yr(n,i)),t.braceExpand=(r,i)=>e.braceExpand(r,yr(n,i)),t.match=(r,i,o)=>e.match(r,i,yr(n,o)),t};Yt.braceExpand=(n,e)=>Wy(n,e);var Wy=(n,e={})=>(xs(n),e.nobrace||!/\{(?:(?!\{).)*\}/.test(n)?[n]:pT(n)),vT=1024*64,xs=n=>{if(typeof n!="string")throw new TypeError("invalid pattern");if(n.length>vT)throw new TypeError("pattern is too long")},hl=Symbol("subparse");Yt.makeRe=(n,e)=>new pi(n,e||{}).makeRe();Yt.match=(n,e,t={})=>{let r=new pi(e,t);return n=n.filter(i=>r.match(i)),r.options.nonull&&!n.length&&n.push(e),n};var yT=n=>n.replace(/\\(.)/g,"$1"),bT=n=>n.replace(/\\([^-\]])/g,"$1"),wT=n=>n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),CT=n=>n.replace(/[[\]\\]/g,"\\$&"),pi=class{constructor(e,t){xs(e),t||(t={}),this.options=t,this.set=[],this.pattern=e,this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||t.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.partial=!!t.partial,this.make()}debug(){}make(){let e=this.pattern,t=this.options;if(!t.nocomment&&e.charAt(0)==="#"){this.comment=!0;return}if(!e){this.empty=!0;return}this.parseNegate();let r=this.globSet=this.braceExpand();t.debug&&(this.debug=(...i)=>console.error(...i)),this.debug(this.pattern,r),r=this.globParts=r.map(i=>i.split(Uy)),this.debug(this.pattern,r),r=r.map((i,o,s)=>i.map(this.parse,this)),this.debug(this.pattern,r),r=r.filter(i=>i.indexOf(!1)===-1),this.debug(this.pattern,r),this.set=r}parseNegate(){if(this.options.nonegate)return;let e=this.pattern,t=!1,r=0;for(let i=0;i<e.length&&e.charAt(i)==="!";i++)t=!t,r++;r&&(this.pattern=e.slice(r)),this.negate=t}matchOne(e,t,r){var i=this.options;this.debug("matchOne",{this:this,file:e,pattern:t}),this.debug("matchOne",e.length,t.length);for(var o=0,s=0,a=e.length,c=t.length;o<a&&s<c;o++,s++){this.debug("matchOne loop");var l=t[s],d=e[o];if(this.debug(t,l,d),l===!1)return!1;if(l===Tn){this.debug("GLOBSTAR",[t,l,d]);var g=o,m=s+1;if(m===c){for(this.debug("** at the end");o<a;o++)if(e[o]==="."||e[o]===".."||!i.dot&&e[o].charAt(0)===".")return!1;return!0}for(;g<a;){var y=e[g];if(this.debug(`
|
|
46
|
-
globstar while`,e,g,t,m,y),this.matchOne(e.slice(g),t.slice(m),r))return this.debug("globstar found match!",g,a,y),!0;if(y==="."||y===".."||!i.dot&&y.charAt(0)==="."){this.debug("dot detected!",e,g,t,m);break}this.debug("globstar swallow a segment, and continue"),g++}return!!(r&&(this.debug(`
|
|
47
|
-
>>> no match, partial?`,e,g,t,m),g===a))}var v;if(typeof l=="string"?(v=d===l,this.debug("string match",l,d,v)):(v=d.match(l),this.debug("pattern match",l,d,v)),!v)return!1}if(o===a&&s===c)return!0;if(o===a)return r;if(s===c)return o===a-1&&e[o]==="";throw new Error("wtf?")}braceExpand(){return Wy(this.pattern,this.options)}parse(e,t){xs(e);let r=this.options;if(e==="**")if(r.noglobstar)e="*";else return Tn;if(e==="")return"";let i="",o=!1,s=!1,a=[],c=[],l,d=!1,g=-1,m=-1,y,v,T,P=e.charAt(0)===".",q=r.dot||P,N=()=>P?"":q?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",L=V=>V.charAt(0)==="."?"":r.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",K=()=>{if(l){switch(l){case"*":i+=pl,o=!0;break;case"?":i+=ml,o=!0;break;default:i+="\\"+l;break}this.debug("clearStateChar %j %j",l,i),l=!1}};for(let V=0,ne;V<e.length&&(ne=e.charAt(V));V++){if(this.debug("%s %s %s %j",e,V,i,ne),s){if(ne==="/")return!1;$y[ne]&&(i+="\\"),i+=ne,s=!1;continue}switch(ne){case"/":return!1;case"\\":if(d&&e.charAt(V+1)==="-"){i+=ne;continue}K(),s=!0;continue;case"?":case"*":case"+":case"@":case"!":if(this.debug("%s %s %s %j <-- stateChar",e,V,i,ne),d){this.debug(" in class"),ne==="!"&&V===m+1&&(ne="^"),i+=ne;continue}this.debug("call clearStateChar %j",l),K(),l=ne,r.noext&&K();continue;case"(":{if(d){i+="(";continue}if(!l){i+="\\(";continue}let ce={type:l,start:V-1,reStart:i.length,open:jy[l].open,close:jy[l].close};this.debug(this.pattern," ",ce),a.push(ce),i+=ce.open,ce.start===0&&ce.type!=="!"&&(P=!0,i+=L(e.slice(V+1))),this.debug("plType %j %j",l,i),l=!1;continue}case")":{let ce=a[a.length-1];if(d||!ce){i+="\\)";continue}a.pop(),K(),o=!0,v=ce,i+=v.close,v.type==="!"&&c.push(Object.assign(v,{reEnd:i.length}));continue}case"|":{let ce=a[a.length-1];if(d||!ce){i+="\\|";continue}K(),i+="|",ce.start===0&&ce.type!=="!"&&(P=!0,i+=L(e.slice(V+1)));continue}case"[":if(K(),d){i+="\\"+ne;continue}d=!0,m=V,g=i.length,i+=ne;continue;case"]":if(V===m+1||!d){i+="\\"+ne;continue}y=e.substring(m+1,V);try{RegExp("["+CT(bT(y))+"]"),i+=ne}catch{i=i.substring(0,g)+"(?:$.)"}o=!0,d=!1;continue;default:K(),$y[ne]&&!(ne==="^"&&d)&&(i+="\\"),i+=ne;break}}for(d&&(y=e.slice(m+1),T=this.parse(y,hl),i=i.substring(0,g)+"\\["+T[0],o=o||T[1]),v=a.pop();v;v=a.pop()){let V;V=i.slice(v.reStart+v.open.length),this.debug("setting tail",i,v),V=V.replace(/((?:\\{2}){0,64})(\\?)\|/g,(ce,Ne,U)=>(U||(U="\\"),Ne+Ne+U+"|")),this.debug(`tail=%j
|
|
48
|
-
%s`,V,V,v,i);let ne=v.type==="*"?pl:v.type==="?"?ml:"\\"+v.type;o=!0,i=i.slice(0,v.reStart)+ne+"\\("+V}K(),s&&(i+="\\\\");let te=mT[i.charAt(0)];for(let V=c.length-1;V>-1;V--){let ne=c[V],ce=i.slice(0,ne.reStart),Ne=i.slice(ne.reStart,ne.reEnd-8),U=i.slice(ne.reEnd),I=i.slice(ne.reEnd-8,ne.reEnd)+U,J=ce.split(")").length,B=ce.split("(").length-J,pe=U;for(let oe=0;oe<B;oe++)pe=pe.replace(/\)[+*?]?/,"");U=pe;let ie=U===""&&t!==hl?"(?:$|\\/)":"";i=ce+Ne+U+ie+I}if(i!==""&&o&&(i="(?=.)"+i),te&&(i=N()+i),t===hl)return[i,o];if(r.nocase&&!o&&(o=e.toUpperCase()!==e.toLowerCase()),!o)return yT(e);let Z=r.nocase?"i":"";try{return Object.assign(new RegExp("^"+i+"$",Z),{_glob:e,_src:i})}catch{return new RegExp("$.")}}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let e=this.set;if(!e.length)return this.regexp=!1,this.regexp;let t=this.options,r=t.noglobstar?pl:t.dot?hT:gT,i=t.nocase?"i":"",o=e.map(s=>(s=s.map(a=>typeof a=="string"?wT(a):a===Tn?Tn:a._src).reduce((a,c)=>(a[a.length-1]===Tn&&c===Tn||a.push(c),a),[]),s.forEach((a,c)=>{a!==Tn||s[c-1]===Tn||(c===0?s.length>1?s[c+1]="(?:\\/|"+r+"\\/)?"+s[c+1]:s[c]=r:c===s.length-1?s[c-1]+="(?:\\/|"+r+")?":(s[c-1]+="(?:\\/|\\/"+r+"\\/)"+s[c+1],s[c+1]=Tn))}),s.filter(a=>a!==Tn).join("/"))).join("|");o="^(?:"+o+")$",this.negate&&(o="^(?!"+o+").*$");try{this.regexp=new RegExp(o,i)}catch{this.regexp=!1}return this.regexp}match(e,t=this.partial){if(this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&t)return!0;let r=this.options;gl.sep!=="/"&&(e=e.split(gl.sep).join("/")),e=e.split(Uy),this.debug(this.pattern,"split",e);let i=this.set;this.debug(this.pattern,"set",i);let o;for(let s=e.length-1;s>=0&&(o=e[s],!o);s--);for(let s=0;s<i.length;s++){let a=i[s],c=e;if(r.matchBase&&a.length===1&&(c=[o]),this.matchOne(c,a,t))return r.flipNegate?!0:!this.negate}return r.flipNegate?!1:this.negate}static defaults(e){return Yt.defaults(e).Minimatch}};Yt.Minimatch=pi});var Tl=E(br=>{"use strict";Object.defineProperty(br,"__esModule",{value:!0});br.DiagnosticFeature=br.DiagnosticPullMode=br.vsdiag=void 0;var DT=qs(),Se=require("vscode"),ot=fe(),ST=Xe(),yl=Ee();function Is(n,e){return n[e]===void 0&&(n[e]={}),n[e]}var hn;(function(n){let e;(function(t){t.full="full",t.unChanged="unChanged"})(e=n.DocumentDiagnosticReportKind||(n.DocumentDiagnosticReportKind={}))})(hn||(br.vsdiag=hn={}));var Fs;(function(n){n.onType="onType",n.onSave="onSave"})(Fs||(br.DiagnosticPullMode=Fs={}));var qt;(function(n){n.active="open",n.reschedule="reschedule",n.outDated="drop"})(qt||(qt={}));var bl=class n{constructor(){this.open=new Set,this._onOpen=new Se.EventEmitter,this._onClose=new Se.EventEmitter,n.fillTabResources(this.open);let e=t=>{if(t.closed.length===0&&t.opened.length===0)return;let r=this.open,i=new Set;n.fillTabResources(i);let o=new Set,s=new Set(i);for(let a of r.values())i.has(a)?s.delete(a):o.add(a);if(this.open=i,o.size>0){let a=new Set;for(let c of o)a.add(Se.Uri.parse(c));this._onClose.fire(a)}if(s.size>0){let a=new Set;for(let c of s)a.add(Se.Uri.parse(c));this._onOpen.fire(a)}};Se.window.tabGroups.onDidChangeTabs!==void 0?this.disposable=Se.window.tabGroups.onDidChangeTabs(e):this.disposable={dispose:()=>{}}}get onClose(){return this._onClose.event}get onOpen(){return this._onOpen.event}dispose(){this.disposable.dispose()}isActive(e){return e instanceof Se.Uri?Se.window.activeTextEditor?.document.uri===e:Se.window.activeTextEditor?.document===e}isVisible(e){let t=e instanceof Se.Uri?e:e.uri;return this.open.has(t.toString())}getTabResources(){let e=new Set;return n.fillTabResources(new Set,e),e}static fillTabResources(e,t){let r=e??new Set;for(let i of Se.window.tabGroups.all)for(let o of i.tabs){let s=o.input,a;s instanceof Se.TabInputText?a=s.uri:s instanceof Se.TabInputTextDiff?a=s.modified:s instanceof Se.TabInputCustom&&(a=s.uri),a!==void 0&&!r.has(a.toString())&&(r.add(a.toString()),t!==void 0&&t.add(a))}}},ft;(function(n){n[n.document=1]="document",n[n.workspace=2]="workspace"})(ft||(ft={}));var Qn;(function(n){function e(t){return t instanceof Se.Uri?t.toString():t.uri.toString()}n.asKey=e})(Qn||(Qn={}));var wl=class{constructor(){this.documentPullStates=new Map,this.workspacePullStates=new Map}track(e,t,r){let i=e===ft.document?this.documentPullStates:this.workspacePullStates,[o,s,a]=t instanceof Se.Uri?[t.toString(),t,r]:[t.uri.toString(),t.uri,t.version],c=i.get(o);return c===void 0&&(c={document:s,pulledVersion:a,resultId:void 0},i.set(o,c)),c}update(e,t,r,i){let o=e===ft.document?this.documentPullStates:this.workspacePullStates,[s,a,c,l]=t instanceof Se.Uri?[t.toString(),t,r,i]:[t.uri.toString(),t.uri,t.version,r],d=o.get(s);d===void 0?(d={document:a,pulledVersion:c,resultId:l},o.set(s,d)):(d.pulledVersion=c,d.resultId=l)}unTrack(e,t){let r=Qn.asKey(t);(e===ft.document?this.documentPullStates:this.workspacePullStates).delete(r)}tracks(e,t){let r=Qn.asKey(t);return(e===ft.document?this.documentPullStates:this.workspacePullStates).has(r)}getResultId(e,t){let r=Qn.asKey(t);return(e===ft.document?this.documentPullStates:this.workspacePullStates).get(r)?.resultId}getAllResultIds(){let e=[];for(let[t,r]of this.workspacePullStates)this.documentPullStates.has(t)&&(r=this.documentPullStates.get(t)),r.resultId!==void 0&&e.push({uri:t,value:r.resultId});return e}},Cl=class{constructor(e,t,r){this.client=e,this.tabs=t,this.options=r,this.isDisposed=!1,this.onDidChangeDiagnosticsEmitter=new Se.EventEmitter,this.provider=this.createProvider(),this.diagnostics=Se.languages.createDiagnosticCollection(r.identifier),this.openRequests=new Map,this.documentStates=new wl,this.workspaceErrorCounter=0}knows(e,t){let r=t instanceof Se.Uri?t:t.uri;return this.documentStates.tracks(e,t)||this.openRequests.has(r.toString())}forget(e,t){this.documentStates.unTrack(e,t)}pull(e,t){if(this.isDisposed)return;let r=e instanceof Se.Uri?e:e.uri;this.pullAsync(e).then(()=>{t&&t()},i=>{this.client.error(`Document pull failed for text document ${r.toString()}`,i,!1)})}async pullAsync(e,t){if(this.isDisposed)return;let r=e instanceof Se.Uri,i=r?e:e.uri,o=i.toString();t=r?t:e.version;let s=this.openRequests.get(o),a=r?this.documentStates.track(ft.document,e,t):this.documentStates.track(ft.document,e);if(s===void 0){let c=new Se.CancellationTokenSource;this.openRequests.set(o,{state:qt.active,document:e,version:t,tokenSource:c});let l,d;try{l=await this.provider.provideDiagnostics(e,a.resultId,c.token)??{kind:hn.DocumentDiagnosticReportKind.full,items:[]}}catch(g){if(g instanceof yl.LSPCancellationError&&ot.DiagnosticServerCancellationData.is(g.data)&&g.data.retriggerRequest===!1&&(d={state:qt.outDated,document:e}),d===void 0&&g instanceof Se.CancellationError)d={state:qt.reschedule,document:e};else throw g}if(d=d??this.openRequests.get(o),d===void 0){this.client.error(`Lost request state in diagnostic pull model. Clearing diagnostics for ${o}`),this.diagnostics.delete(i);return}if(this.openRequests.delete(o),!this.tabs.isVisible(e)){this.documentStates.unTrack(ft.document,e);return}if(d.state===qt.outDated)return;l!==void 0&&(l.kind===hn.DocumentDiagnosticReportKind.full&&this.diagnostics.set(i,l.items),a.pulledVersion=t,a.resultId=l.resultId),d.state===qt.reschedule&&this.pull(e)}else s.state===qt.active?(s.tokenSource.cancel(),this.openRequests.set(o,{state:qt.reschedule,document:s.document})):s.state===qt.outDated&&this.openRequests.set(o,{state:qt.reschedule,document:s.document})}forgetDocument(e){let t=e instanceof Se.Uri?e:e.uri,r=t.toString(),i=this.openRequests.get(r);this.options.workspaceDiagnostics?i!==void 0?this.openRequests.set(r,{state:qt.reschedule,document:e}):this.pull(e,()=>{this.forget(ft.document,e)}):(i!==void 0&&(i.state===qt.active&&i.tokenSource.cancel(),this.openRequests.set(r,{state:qt.outDated,document:e})),this.diagnostics.delete(t),this.forget(ft.document,e))}pullWorkspace(){this.isDisposed||this.pullWorkspaceAsync().then(()=>{this.workspaceTimeout=(0,ot.RAL)().timer.setTimeout(()=>{this.pullWorkspace()},2e3)},e=>{!(e instanceof yl.LSPCancellationError)&&!ot.DiagnosticServerCancellationData.is(e.data)&&(this.client.error("Workspace diagnostic pull failed.",e,!1),this.workspaceErrorCounter++),this.workspaceErrorCounter<=5&&(this.workspaceTimeout=(0,ot.RAL)().timer.setTimeout(()=>{this.pullWorkspace()},2e3))})}async pullWorkspaceAsync(){if(!this.provider.provideWorkspaceDiagnostics||this.isDisposed)return;this.workspaceCancellation!==void 0&&(this.workspaceCancellation.cancel(),this.workspaceCancellation=void 0),this.workspaceCancellation=new Se.CancellationTokenSource;let e=this.documentStates.getAllResultIds().map(t=>({uri:this.client.protocol2CodeConverter.asUri(t.uri),value:t.value}));await this.provider.provideWorkspaceDiagnostics(e,this.workspaceCancellation.token,t=>{if(!(!t||this.isDisposed))for(let r of t.items)r.kind===hn.DocumentDiagnosticReportKind.full&&(this.documentStates.tracks(ft.document,r.uri)||this.diagnostics.set(r.uri,r.items)),this.documentStates.update(ft.workspace,r.uri,r.version??void 0,r.resultId)})}createProvider(){let e={onDidChangeDiagnostics:this.onDidChangeDiagnosticsEmitter.event,provideDiagnostics:(t,r,i)=>{let o=(a,c,l)=>{let d={identifier:this.options.identifier,textDocument:{uri:this.client.code2ProtocolConverter.asUri(a instanceof Se.Uri?a:a.uri)},previousResultId:c};return this.isDisposed===!0||!this.client.isRunning()?{kind:hn.DocumentDiagnosticReportKind.full,items:[]}:this.client.sendRequest(ot.DocumentDiagnosticRequest.type,d,l).then(async g=>g==null||this.isDisposed||l.isCancellationRequested?{kind:hn.DocumentDiagnosticReportKind.full,items:[]}:g.kind===ot.DocumentDiagnosticReportKind.Full?{kind:hn.DocumentDiagnosticReportKind.full,resultId:g.resultId,items:await this.client.protocol2CodeConverter.asDiagnostics(g.items,l)}:{kind:hn.DocumentDiagnosticReportKind.unChanged,resultId:g.resultId},g=>this.client.handleFailedRequest(ot.DocumentDiagnosticRequest.type,l,g,{kind:hn.DocumentDiagnosticReportKind.full,items:[]}))},s=this.client.middleware;return s.provideDiagnostics?s.provideDiagnostics(t,r,i,o):o(t,r,i)}};return this.options.workspaceDiagnostics&&(e.provideWorkspaceDiagnostics=(t,r,i)=>{let o=async l=>l.kind===ot.DocumentDiagnosticReportKind.Full?{kind:hn.DocumentDiagnosticReportKind.full,uri:this.client.protocol2CodeConverter.asUri(l.uri),resultId:l.resultId,version:l.version,items:await this.client.protocol2CodeConverter.asDiagnostics(l.items,r)}:{kind:hn.DocumentDiagnosticReportKind.unChanged,uri:this.client.protocol2CodeConverter.asUri(l.uri),resultId:l.resultId,version:l.version},s=l=>{let d=[];for(let g of l)d.push({uri:this.client.code2ProtocolConverter.asUri(g.uri),value:g.value});return d},a=(l,d)=>{let g=(0,ST.generateUuid)(),m=this.client.onProgress(ot.WorkspaceDiagnosticRequest.partialResult,g,async v=>{if(v==null){i(null);return}let T={items:[]};for(let P of v.items)try{T.items.push(await o(P))}catch(q){this.client.error("Converting workspace diagnostics failed.",q)}i(T)}),y={identifier:this.options.identifier,previousResultIds:s(l),partialResultToken:g};return this.isDisposed===!0||!this.client.isRunning()?{items:[]}:this.client.sendRequest(ot.WorkspaceDiagnosticRequest.type,y,d).then(async v=>{if(d.isCancellationRequested)return{items:[]};let T={items:[]};for(let P of v.items)T.items.push(await o(P));return m.dispose(),i(T),{items:[]}},v=>(m.dispose(),this.client.handleFailedRequest(ot.DocumentDiagnosticRequest.type,d,v,{items:[]})))},c=this.client.middleware;return c.provideWorkspaceDiagnostics?c.provideWorkspaceDiagnostics(t,r,i,a):a(t,r,i)}),e}dispose(){this.isDisposed=!0,this.workspaceCancellation?.cancel(),this.workspaceTimeout?.dispose();for(let[e,t]of this.openRequests)t.state===qt.active&&t.tokenSource.cancel(),this.openRequests.set(e,{state:qt.outDated,document:t.document});this.diagnostics.dispose()}},Dl=class{constructor(e){this.diagnosticRequestor=e,this.documents=new ot.LinkedMap,this.isDisposed=!1}add(e){if(this.isDisposed===!0)return;let t=Qn.asKey(e);this.documents.has(t)||(this.documents.set(t,e,ot.Touch.Last),this.trigger())}remove(e){let t=Qn.asKey(e);this.documents.delete(t),this.documents.size===0?this.stop():t===this.endDocumentKey()&&(this.endDocument=this.documents.last)}trigger(){if(this.isDisposed!==!0){if(this.intervalHandle!==void 0){this.endDocument=this.documents.last;return}this.endDocument=this.documents.last,this.intervalHandle=(0,ot.RAL)().timer.setInterval(()=>{let e=this.documents.first;if(e!==void 0){let t=Qn.asKey(e);this.diagnosticRequestor.pull(e),this.documents.set(t,e,ot.Touch.Last),t===this.endDocumentKey()&&this.stop()}},200)}}dispose(){this.isDisposed=!0,this.stop(),this.documents.clear()}stop(){this.intervalHandle?.dispose(),this.intervalHandle=void 0,this.endDocument=void 0}endDocumentKey(){return this.endDocument!==void 0?Qn.asKey(this.endDocument):void 0}},Sl=class{constructor(e,t,r){let i=e.clientOptions.diagnosticPullOptions??{onChange:!0,onSave:!1},o=e.protocol2CodeConverter.asDocumentSelector(r.documentSelector),s=[],a=v=>{let T=r.documentSelector;if(i.match!==void 0)return i.match(T,v);for(let P of T)if(ot.TextDocumentFilter.is(P)){if(typeof P=="string"||P.language!==void 0&&P.language!=="*"||P.scheme!==void 0&&P.scheme!=="*"&&P.scheme!==v.scheme)return!1;if(P.pattern!==void 0){let q=new DT.Minimatch(P.pattern,{noext:!0});if(!q.makeRe()||!q.match(v.fsPath))return!1}}return!0},c=v=>v instanceof Se.Uri?a(v):Se.languages.match(o,v)>0&&t.isVisible(v),l=v=>v instanceof Se.Uri?this.activeTextDocument?.uri.toString()===v.toString():this.activeTextDocument===v;this.diagnosticRequestor=new Cl(e,t,r),this.backgroundScheduler=new Dl(this.diagnosticRequestor);let d=v=>{!c(v)||!r.interFileDependencies||l(v)||this.backgroundScheduler.add(v)};this.activeTextDocument=Se.window.activeTextEditor?.document,Se.window.onDidChangeActiveTextEditor(v=>{let T=this.activeTextDocument;this.activeTextDocument=v?.document,T!==void 0&&d(T),this.activeTextDocument!==void 0&&this.backgroundScheduler.remove(this.activeTextDocument)});let g=e.getFeature(ot.DidOpenTextDocumentNotification.method);s.push(g.onNotificationSent(v=>{let T=v.textDocument;this.diagnosticRequestor.knows(ft.document,T)||c(T)&&this.diagnosticRequestor.pull(T,()=>{d(T)})})),s.push(t.onOpen(v=>{for(let T of v){if(this.diagnosticRequestor.knows(ft.document,T))continue;let P=T.toString(),q;for(let N of Se.workspace.textDocuments)if(P===N.uri.toString()){q=N;break}q!==void 0&&c(q)&&this.diagnosticRequestor.pull(q,()=>{d(q)})}}));let m=new Set;for(let v of Se.workspace.textDocuments)c(v)&&(this.diagnosticRequestor.pull(v,()=>{d(v)}),m.add(v.uri.toString()));if(i.onTabs===!0)for(let v of t.getTabResources())!m.has(v.toString())&&c(v)&&this.diagnosticRequestor.pull(v,()=>{d(v)});if(i.onChange===!0){let v=e.getFeature(ot.DidChangeTextDocumentNotification.method);s.push(v.onNotificationSent(async T=>{let P=T.textDocument;(i.filter===void 0||!i.filter(P,Fs.onType))&&this.diagnosticRequestor.knows(ft.document,P)&&this.diagnosticRequestor.pull(P,()=>{this.backgroundScheduler.trigger()})}))}if(i.onSave===!0){let v=e.getFeature(ot.DidSaveTextDocumentNotification.method);s.push(v.onNotificationSent(T=>{let P=T.textDocument;(i.filter===void 0||!i.filter(P,Fs.onSave))&&this.diagnosticRequestor.knows(ft.document,P)&&this.diagnosticRequestor.pull(T.textDocument,()=>{this.backgroundScheduler.trigger()})}))}let y=e.getFeature(ot.DidCloseTextDocumentNotification.method);s.push(y.onNotificationSent(v=>{this.cleanUpDocument(v.textDocument)})),t.onClose(v=>{for(let T of v)this.cleanUpDocument(T)}),this.diagnosticRequestor.onDidChangeDiagnosticsEmitter.event(()=>{for(let v of Se.workspace.textDocuments)c(v)&&this.diagnosticRequestor.pull(v)}),r.workspaceDiagnostics===!0&&r.identifier!=="da348dc5-c30a-4515-9d98-31ff3be38d14"&&this.diagnosticRequestor.pullWorkspace(),this.disposable=Se.Disposable.from(...s,this.backgroundScheduler,this.diagnosticRequestor)}get onDidChangeDiagnosticsEmitter(){return this.diagnosticRequestor.onDidChangeDiagnosticsEmitter}get diagnostics(){return this.diagnosticRequestor.provider}cleanUpDocument(e){this.diagnosticRequestor.knows(ft.document,e)&&(this.diagnosticRequestor.forgetDocument(e),this.backgroundScheduler.remove(e))}},_l=class extends yl.TextDocumentLanguageFeature{constructor(e){super(e,ot.DocumentDiagnosticRequest.type)}fillClientCapabilities(e){let t=Is(Is(e,"textDocument"),"diagnostic");t.dynamicRegistration=!0,t.relatedDocumentSupport=!1,Is(Is(e,"workspace"),"diagnostics").refreshSupport=!0}initialize(e,t){this._client.onRequest(ot.DiagnosticRefreshRequest.type,async()=>{for(let s of this.getAllProviders())s.onDidChangeDiagnosticsEmitter.fire()});let[i,o]=this.getRegistration(t,e.diagnosticProvider);!i||!o||this.register({id:i,registerOptions:o})}clear(){this.tabs!==void 0&&(this.tabs.dispose(),this.tabs=void 0),super.clear()}registerLanguageProvider(e){this.tabs===void 0&&(this.tabs=new bl);let t=new Sl(this._client,this.tabs,e);return[t.disposable,t]}};br.DiagnosticFeature=_l});var zy=E(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});Ls.NotebookDocumentSyncFeature=void 0;var It=require("vscode"),_T=qs(),Yn=fe(),TT=Xe(),Ky=un();function Vy(n,e){return n[e]===void 0&&(n[e]={}),n[e]}var hi;(function(n){let e;(function(t){function r(m,y){return{version:m.version,uri:y.asUri(m.uri)}}t.asVersionedNotebookDocumentIdentifier=r;function i(m,y,v){let T=Yn.NotebookDocument.create(v.asUri(m.uri),m.notebookType,m.version,o(y,v));return Object.keys(m.metadata).length>0&&(T.metadata=s(m.metadata)),T}t.asNotebookDocument=i;function o(m,y){return m.map(v=>a(v,y))}t.asNotebookCells=o;function s(m){return l(new Set,m)}t.asMetadata=s;function a(m,y){let v=Yn.NotebookCell.create(c(m.kind),y.asUri(m.document.uri));return Object.keys(m.metadata).length>0&&(v.metadata=s(m.metadata)),m.executionSummary!==void 0&&Ky.number(m.executionSummary.executionOrder)&&Ky.boolean(m.executionSummary.success)&&(v.executionSummary={executionOrder:m.executionSummary.executionOrder,success:m.executionSummary.success}),v}t.asNotebookCell=a;function c(m){switch(m){case It.NotebookCellKind.Markup:return Yn.NotebookCellKind.Markup;case It.NotebookCellKind.Code:return Yn.NotebookCellKind.Code}}function l(m,y){if(m.has(y))throw new Error("Can't deep copy cyclic structures.");if(Array.isArray(y)){let v=[];for(let T of y)if(T!==null&&typeof T=="object"||Array.isArray(T))v.push(l(m,T));else{if(T instanceof RegExp)throw new Error("Can't transfer regular expressions to the server");v.push(T)}return v}else{let v=Object.keys(y),T=Object.create(null);for(let P of v){let q=y[P];if(q!==null&&typeof q=="object"||Array.isArray(q))T[P]=l(m,q);else{if(q instanceof RegExp)throw new Error("Can't transfer regular expressions to the server");T[P]=q}}return T}}function d(m,y){let v=y.asChangeTextDocumentParams(m,m.document.uri,m.document.version);return{document:v.textDocument,changes:v.contentChanges}}t.asTextContentChange=d;function g(m,y){let v=Object.create(null);if(m.metadata&&(v.metadata=n.c2p.asMetadata(m.metadata)),m.cells!==void 0){let T=Object.create(null),P=m.cells;P.structure&&(T.structure={array:{start:P.structure.array.start,deleteCount:P.structure.array.deleteCount,cells:P.structure.array.cells!==void 0?P.structure.array.cells.map(q=>n.c2p.asNotebookCell(q,y)):void 0},didOpen:P.structure.didOpen!==void 0?P.structure.didOpen.map(q=>y.asOpenTextDocumentParams(q.document).textDocument):void 0,didClose:P.structure.didClose!==void 0?P.structure.didClose.map(q=>y.asCloseTextDocumentParams(q.document).textDocument):void 0}),P.data!==void 0&&(T.data=P.data.map(q=>n.c2p.asNotebookCell(q,y))),P.textContent!==void 0&&(T.textContent=P.textContent.map(q=>n.c2p.asTextContentChange(q,y))),Object.keys(T).length>0&&(v.cells=T)}return v}t.asNotebookDocumentChangeEvent=g})(e=n.c2p||(n.c2p={}))})(hi||(hi={}));var Rl;(function(n){function e(a,c,l){let d=a.length,g=c.length,m=0;for(;m<g&&m<d&&t(a[m],c[m],l);)m++;if(m<g&&m<d){let y=d-1,v=g-1;for(;y>=0&&v>=0&&t(a[y],c[v],l);)y--,v--;let T=y+1-m,P=m===v+1?void 0:c.slice(m,v+1);return P!==void 0?{start:m,deleteCount:T,cells:P}:{start:m,deleteCount:T}}else return m<g?{start:m,deleteCount:0,cells:c.slice(m)}:m<d?{start:m,deleteCount:d-m}:void 0}n.computeDiff=e;function t(a,c,l=!0){return a.kind!==c.kind||a.document.uri.toString()!==c.document.uri.toString()||a.document.languageId!==c.document.languageId||!r(a.executionSummary,c.executionSummary)?!1:!l||l&&o(a.metadata,c.metadata)}function r(a,c){return a===c?!0:a===void 0||c===void 0?!1:a.executionOrder===c.executionOrder&&a.success===c.success&&i(a.timing,c.timing)}function i(a,c){return a===c?!0:a===void 0||c===void 0?!1:a.startTime===c.startTime&&a.endTime===c.endTime}function o(a,c){if(a===c)return!0;if(a==null||c===null||c===void 0||typeof a!=typeof c||typeof a!="object")return!1;let l=Array.isArray(a),d=Array.isArray(c);if(l!==d)return!1;if(l&&d){if(a.length!==c.length)return!1;for(let g=0;g<a.length;g++)if(!o(a[g],c[g]))return!1}if(s(a)&&s(c)){let g=Object.keys(a),m=Object.keys(c);if(g.length!==m.length||(g.sort(),m.sort(),!o(g,m)))return!1;for(let y=0;y<g.length;y++){let v=g[y];if(!o(a[v],c[v]))return!1}return!0}return!1}function s(a){return a!==null&&typeof a=="object"}n.isObjectLiteral=s})(Rl||(Rl={}));var Pl;(function(n){function e(t,r){if(typeof t=="string")return t==="*"||r.notebookType===t;if(t.notebookType!==void 0&&t.notebookType!=="*"&&r.notebookType!==t.notebookType)return!1;let i=r.uri;if(t.scheme!==void 0&&t.scheme!=="*"&&i.scheme!==t.scheme)return!1;if(t.pattern!==void 0){let o=new _T.Minimatch(t.pattern,{noext:!0});if(!o.makeRe()||!o.match(i.fsPath))return!1}return!0}n.matchNotebook=e})(Pl||(Pl={}));var Os;(function(n){function e(r){let i=r.notebookSelector,o=[];for(let s of i){let a=(typeof s.notebook=="string"?s.notebook:s.notebook?.notebookType)??"*",c=typeof s.notebook=="string"?void 0:s.notebook?.scheme,l=typeof s.notebook=="string"?void 0:s.notebook?.pattern;if(s.cells!==void 0)for(let d of s.cells)o.push(t(a,c,l,d.language));else o.push(t(a,c,l,void 0))}return o}n.asDocumentSelector=e;function t(r,i,o,s){return i===void 0&&o===void 0?{notebook:r,language:s}:{notebook:{notebookType:r,scheme:i,pattern:o},language:s}}})(Os||(Os={}));var Ms;(function(n){function e(t){return{cells:t,uris:new Set(t.map(r=>r.document.uri.toString()))}}n.create=e})(Ms||(Ms={}));var gi=class{constructor(e,t){this.client=e,this.options=t,this.notebookSyncInfo=new Map,this.notebookDidOpen=new Set,this.disposables=[],this.selector=e.protocol2CodeConverter.asDocumentSelector(Os.asDocumentSelector(t)),It.workspace.onDidOpenNotebookDocument(r=>{this.notebookDidOpen.add(r.uri.toString()),this.didOpen(r)},void 0,this.disposables);for(let r of It.workspace.notebookDocuments)this.notebookDidOpen.add(r.uri.toString()),this.didOpen(r);It.workspace.onDidChangeNotebookDocument(r=>this.didChangeNotebookDocument(r),void 0,this.disposables),this.options.save===!0&&It.workspace.onDidSaveNotebookDocument(r=>this.didSave(r),void 0,this.disposables),It.workspace.onDidCloseNotebookDocument(r=>{this.didClose(r),this.notebookDidOpen.delete(r.uri.toString())},void 0,this.disposables)}getState(){for(let e of It.workspace.notebookDocuments)if(this.getMatchingCells(e)!==void 0)return{kind:"document",id:"$internal",registrations:!0,matches:!0};return{kind:"document",id:"$internal",registrations:!0,matches:!1}}get mode(){return"notebook"}handles(e){return It.languages.match(this.selector,e)>0}didOpenNotebookCellTextDocument(e,t){if(It.languages.match(this.selector,t.document)===0||!this.notebookDidOpen.has(e.uri.toString()))return;let r=this.notebookSyncInfo.get(e.uri.toString()),i=this.cellMatches(e,t);if(r!==void 0){let o=r.uris.has(t.document.uri.toString());if(i&&o||!i&&!o)return;if(i){let s=this.getMatchingCells(e);if(s!==void 0){let a=this.asNotebookDocumentChangeEvent(e,void 0,r,s);a!==void 0&&this.doSendChange(a,s).catch(()=>{})}}}else i&&this.doSendOpen(e,[t]).catch(()=>{})}didChangeNotebookCellTextDocument(e,t){It.languages.match(this.selector,t.document)!==0&&this.doSendChange({notebook:e,cells:{textContent:[t]}},void 0).catch(()=>{})}didCloseNotebookCellTextDocument(e,t){let r=this.notebookSyncInfo.get(e.uri.toString());if(r===void 0)return;let i=t.document.uri,o=r.cells.findIndex(s=>s.document.uri.toString()===i.toString());if(o!==-1)if(o===0&&r.cells.length===1)this.doSendClose(e,r.cells).catch(()=>{});else{let s=r.cells.slice(),a=s.splice(o,1);this.doSendChange({notebook:e,cells:{structure:{array:{start:o,deleteCount:1},didClose:a}}},s).catch(()=>{})}}dispose(){for(let e of this.disposables)e.dispose()}didOpen(e,t=this.getMatchingCells(e),r=this.notebookSyncInfo.get(e.uri.toString())){if(r!==void 0)if(t!==void 0){let i=this.asNotebookDocumentChangeEvent(e,void 0,r,t);i!==void 0&&this.doSendChange(i,t).catch(()=>{})}else this.doSendClose(e,[]).catch(()=>{});else{if(t===void 0)return;this.doSendOpen(e,t).catch(()=>{})}}didChangeNotebookDocument(e){let t=e.notebook,r=this.notebookSyncInfo.get(t.uri.toString());if(r===void 0){if(e.contentChanges.length===0)return;let i=this.getMatchingCells(t);if(i===void 0)return;this.didOpen(t,i,r)}else{let i=this.getMatchingCells(t);if(i===void 0){this.didClose(t,r);return}let o=this.asNotebookDocumentChangeEvent(e.notebook,e,r,i);o!==void 0&&this.doSendChange(o,i).catch(()=>{})}}didSave(e){this.notebookSyncInfo.get(e.uri.toString())!==void 0&&this.doSendSave(e).catch(()=>{})}didClose(e,t=this.notebookSyncInfo.get(e.uri.toString())){if(t===void 0)return;let r=e.getCells().filter(i=>t.uris.has(i.document.uri.toString()));this.doSendClose(e,r).catch(()=>{})}async sendDidOpenNotebookDocument(e){let t=this.getMatchingCells(e);if(t!==void 0)return this.doSendOpen(e,t)}async doSendOpen(e,t){let r=async(o,s)=>{let a=hi.c2p.asNotebookDocument(o,s,this.client.code2ProtocolConverter),c=s.map(l=>this.client.code2ProtocolConverter.asTextDocumentItem(l.document));try{await this.client.sendNotification(Yn.DidOpenNotebookDocumentNotification.type,{notebookDocument:a,cellTextDocuments:c})}catch(l){throw this.client.error("Sending DidOpenNotebookDocumentNotification failed",l),l}},i=this.client.middleware?.notebooks;return this.notebookSyncInfo.set(e.uri.toString(),Ms.create(t)),i?.didOpen!==void 0?i.didOpen(e,t,r):r(e,t)}async sendDidChangeNotebookDocument(e){return this.doSendChange(e,void 0)}async doSendChange(e,t=this.getMatchingCells(e.notebook)){let r=async o=>{try{await this.client.sendNotification(Yn.DidChangeNotebookDocumentNotification.type,{notebookDocument:hi.c2p.asVersionedNotebookDocumentIdentifier(o.notebook,this.client.code2ProtocolConverter),change:hi.c2p.asNotebookDocumentChangeEvent(o,this.client.code2ProtocolConverter)})}catch(s){throw this.client.error("Sending DidChangeNotebookDocumentNotification failed",s),s}},i=this.client.middleware?.notebooks;return e.cells?.structure!==void 0&&this.notebookSyncInfo.set(e.notebook.uri.toString(),Ms.create(t??[])),i?.didChange!==void 0?i?.didChange(e,r):r(e)}async sendDidSaveNotebookDocument(e){return this.doSendSave(e)}async doSendSave(e){let t=async i=>{try{await this.client.sendNotification(Yn.DidSaveNotebookDocumentNotification.type,{notebookDocument:{uri:this.client.code2ProtocolConverter.asUri(i.uri)}})}catch(o){throw this.client.error("Sending DidSaveNotebookDocumentNotification failed",o),o}},r=this.client.middleware?.notebooks;return r?.didSave!==void 0?r.didSave(e,t):t(e)}async sendDidCloseNotebookDocument(e){return this.doSendClose(e,this.getMatchingCells(e)??[])}async doSendClose(e,t){let r=async(o,s)=>{try{await this.client.sendNotification(Yn.DidCloseNotebookDocumentNotification.type,{notebookDocument:{uri:this.client.code2ProtocolConverter.asUri(o.uri)},cellTextDocuments:s.map(a=>this.client.code2ProtocolConverter.asTextDocumentIdentifier(a.document))})}catch(a){throw this.client.error("Sending DidCloseNotebookDocumentNotification failed",a),a}},i=this.client.middleware?.notebooks;return this.notebookSyncInfo.delete(e.uri.toString()),i?.didClose!==void 0?i.didClose(e,t,r):r(e,t)}asNotebookDocumentChangeEvent(e,t,r,i){if(t!==void 0&&t.notebook!==e)throw new Error("Notebook must be identical");let o={notebook:e};t?.metadata!==void 0&&(o.metadata=hi.c2p.asMetadata(t.metadata));let s;if(t?.cellChanges!==void 0&&t.cellChanges.length>0){let a=[];s=new Set(i.map(c=>c.document.uri.toString()));for(let c of t.cellChanges)s.has(c.cell.document.uri.toString())&&(c.executionSummary!==void 0||c.metadata!==void 0)&&a.push(c.cell);a.length>0&&(o.cells=o.cells??{},o.cells.data=a)}if((t?.contentChanges!==void 0&&t.contentChanges.length>0||t===void 0)&&r!==void 0&&i!==void 0){let a=r.cells,c=i,l=Rl.computeDiff(a,c,!1),d,g;if(l!==void 0){d=l.cells===void 0?new Map:new Map(l.cells.map(v=>[v.document.uri.toString(),v])),g=l.deleteCount===0?new Map:new Map(a.slice(l.start,l.start+l.deleteCount).map(v=>[v.document.uri.toString(),v]));for(let v of Array.from(g.keys()))d.has(v)&&(g.delete(v),d.delete(v));o.cells=o.cells??{};let m=[],y=[];if(d.size>0||g.size>0){for(let v of d.values())m.push(v);for(let v of g.values())y.push(v)}o.cells.structure={array:l,didOpen:m,didClose:y}}}return Object.keys(o).length>1?o:void 0}getMatchingCells(e,t=e.getCells()){if(this.options.notebookSelector!==void 0){for(let r of this.options.notebookSelector)if(r.notebook===void 0||Pl.matchNotebook(r.notebook,e)){let i=this.filterCells(e,t,r.cells);return i.length===0?void 0:i}}}cellMatches(e,t){let r=this.getMatchingCells(e,[t]);return r!==void 0&&r[0]===t}filterCells(e,t,r){let i=r!==void 0?t.filter(o=>{let s=o.document.languageId;return r.some(a=>a.language==="*"||s===a.language)}):t;return typeof this.client.clientOptions.notebookDocumentOptions?.filterCells=="function"?this.client.clientOptions.notebookDocumentOptions.filterCells(e,i):i}},As=class n{constructor(e){this.client=e,this.registrations=new Map,this.registrationType=Yn.NotebookDocumentSyncRegistrationType.type,It.workspace.onDidOpenTextDocument(t=>{if(t.uri.scheme!==n.CellScheme)return;let[r,i]=this.findNotebookDocumentAndCell(t);if(!(r===void 0||i===void 0))for(let o of this.registrations.values())o instanceof gi&&o.didOpenNotebookCellTextDocument(r,i)}),It.workspace.onDidChangeTextDocument(t=>{if(t.contentChanges.length===0)return;let r=t.document;if(r.uri.scheme!==n.CellScheme)return;let[i]=this.findNotebookDocumentAndCell(r);if(i!==void 0)for(let o of this.registrations.values())o instanceof gi&&o.didChangeNotebookCellTextDocument(i,t)}),It.workspace.onDidCloseTextDocument(t=>{if(t.uri.scheme!==n.CellScheme)return;let[r,i]=this.findNotebookDocumentAndCell(t);if(!(r===void 0||i===void 0))for(let o of this.registrations.values())o instanceof gi&&o.didCloseNotebookCellTextDocument(r,i)})}getState(){if(this.registrations.size===0)return{kind:"document",id:this.registrationType.method,registrations:!1,matches:!1};for(let e of this.registrations.values()){let t=e.getState();if(t.kind==="document"&&t.registrations===!0&&t.matches===!0)return{kind:"document",id:this.registrationType.method,registrations:!0,matches:!0}}return{kind:"document",id:this.registrationType.method,registrations:!0,matches:!1}}fillClientCapabilities(e){let t=Vy(Vy(e,"notebookDocument"),"synchronization");t.dynamicRegistration=!0,t.executionSummarySupport=!0}preInitialize(e){let t=e.notebookDocumentSync;t!==void 0&&(this.dedicatedChannel=this.client.protocol2CodeConverter.asDocumentSelector(Os.asDocumentSelector(t)))}initialize(e){let t=e.notebookDocumentSync;if(t===void 0)return;let r=t.id??TT.generateUuid();this.register({id:r,registerOptions:t})}register(e){let t=new gi(this.client,e.registerOptions);this.registrations.set(e.id,t)}unregister(e){let t=this.registrations.get(e);t&&t.dispose()}clear(){for(let e of this.registrations.values())e.dispose();this.registrations.clear()}handles(e){if(e.uri.scheme!==n.CellScheme)return!1;if(this.dedicatedChannel!==void 0&&It.languages.match(this.dedicatedChannel,e)>0)return!0;for(let t of this.registrations.values())if(t.handles(e))return!0;return!1}getProvider(e){for(let t of this.registrations.values())if(t.handles(e.document))return t}findNotebookDocumentAndCell(e){let t=e.uri.toString();for(let r of It.workspace.notebookDocuments)for(let i of r.getCells())if(i.document.uri.toString()===t)return[r,i];return[void 0,void 0]}};Ls.NotebookDocumentSyncFeature=As;As.CellScheme="vscode-notebook-cell"});var Gy=E(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.SyncConfigurationFeature=wr.toJSONObject=wr.ConfigurationFeature=void 0;var mi=require("vscode"),Gi=fe(),RT=un(),PT=Xe(),By=Ee(),kl=class{constructor(e){this._client=e}getState(){return{kind:"static"}}fillClientCapabilities(e){e.workspace=e.workspace||{},e.workspace.configuration=!0}initialize(){let e=this._client;e.onRequest(Gi.ConfigurationRequest.type,(t,r)=>{let i=s=>{let a=[];for(let c of s.items){let l=c.scopeUri!==void 0&&c.scopeUri!==null?this._client.protocol2CodeConverter.asUri(c.scopeUri):void 0;a.push(this.getConfiguration(l,c.section!==null?c.section:void 0))}return a},o=e.middleware.workspace;return o&&o.configuration?o.configuration(t,r,i):i(t,r)})}getConfiguration(e,t){let r=null;if(t){let i=t.lastIndexOf(".");if(i===-1)r=Fr(mi.workspace.getConfiguration(void 0,e).get(t));else{let o=mi.workspace.getConfiguration(t.substr(0,i),e);o&&(r=Fr(o.get(t.substr(i+1))))}}else{let i=mi.workspace.getConfiguration(void 0,e);r={};for(let o of Object.keys(i))i.has(o)&&(r[o]=Fr(i.get(o)))}return r===void 0&&(r=null),r}clear(){}};wr.ConfigurationFeature=kl;function Fr(n){if(n){if(Array.isArray(n))return n.map(Fr);if(typeof n=="object"){let e=Object.create(null);for(let t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=Fr(n[t]));return e}}return n}wr.toJSONObject=Fr;var El=class{constructor(e){this._client=e,this.isCleared=!1,this._listeners=new Map}getState(){return{kind:"workspace",id:this.registrationType.method,registrations:this._listeners.size>0}}get registrationType(){return Gi.DidChangeConfigurationNotification.type}fillClientCapabilities(e){(0,By.ensure)((0,By.ensure)(e,"workspace"),"didChangeConfiguration").dynamicRegistration=!0}initialize(){this.isCleared=!1;let e=this._client.clientOptions.synchronize?.configurationSection;e!==void 0&&this.register({id:PT.generateUuid(),registerOptions:{section:e}})}register(e){let t=mi.workspace.onDidChangeConfiguration(r=>{this.onDidChangeConfiguration(e.registerOptions.section,r)});this._listeners.set(e.id,t),e.registerOptions.section!==void 0&&this.onDidChangeConfiguration(e.registerOptions.section,void 0)}unregister(e){let t=this._listeners.get(e);t&&(this._listeners.delete(e),t.dispose())}clear(){for(let e of this._listeners.values())e.dispose();this._listeners.clear(),this.isCleared=!0}onDidChangeConfiguration(e,t){if(this.isCleared)return;let r;if(RT.string(e)?r=[e]:r=e,r!==void 0&&t!==void 0&&!r.some(a=>t.affectsConfiguration(a)))return;let i=async s=>s===void 0?this._client.sendNotification(Gi.DidChangeConfigurationNotification.type,{settings:null}):this._client.sendNotification(Gi.DidChangeConfigurationNotification.type,{settings:this.extractSettingsInformation(s)}),o=this._client.middleware.workspace?.didChangeConfiguration;(o?o(r,i):i(r)).catch(s=>{this._client.error(`Sending notification ${Gi.DidChangeConfigurationNotification.type.method} failed`,s)})}extractSettingsInformation(e){function t(o,s){let a=o;for(let c=0;c<s.length-1;c++){let l=a[s[c]];l||(l=Object.create(null),a[s[c]]=l),a=l}return a}let r=this._client.clientOptions.workspaceFolder?this._client.clientOptions.workspaceFolder.uri:void 0,i=Object.create(null);for(let o=0;o<e.length;o++){let s=e[o],a=s.indexOf("."),c=null;if(a>=0?c=mi.workspace.getConfiguration(s.substr(0,a),r).get(s.substr(a+1)):c=mi.workspace.getConfiguration(void 0,r).get(s),c){let l=e[o].split(".");t(i,l)[l[l.length-1]]=Fr(c)}}return i}};wr.SyncConfigurationFeature=El});var Jy=E(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.DidSaveTextDocumentFeature=Vt.WillSaveWaitUntilFeature=Vt.WillSaveFeature=Vt.DidChangeTextDocumentFeature=Vt.DidCloseTextDocumentFeature=Vt.DidOpenTextDocumentFeature=void 0;var Zt=require("vscode"),Ke=fe(),Ze=Ee(),vi=Xe(),xl=class extends Ze.TextDocumentEventFeature{constructor(e,t){super(e,Zt.workspace.onDidOpenTextDocument,Ke.DidOpenTextDocumentNotification.type,()=>e.middleware.didOpen,r=>e.code2ProtocolConverter.asOpenTextDocumentParams(r),r=>r,Ze.TextDocumentEventFeature.textDocumentFilter),this._syncedDocuments=t}get openDocuments(){return this._syncedDocuments.values()}fillClientCapabilities(e){(0,Ze.ensure)((0,Ze.ensure)(e,"textDocument"),"synchronization").dynamicRegistration=!0}initialize(e,t){let r=e.resolvedTextDocumentSync;t&&r&&r.openClose&&this.register({id:vi.generateUuid(),registerOptions:{documentSelector:t}})}get registrationType(){return Ke.DidOpenTextDocumentNotification.type}register(e){if(super.register(e),!e.registerOptions.documentSelector)return;let t=this._client.protocol2CodeConverter.asDocumentSelector(e.registerOptions.documentSelector);Zt.workspace.textDocuments.forEach(r=>{let i=r.uri.toString();if(!this._syncedDocuments.has(i)&&Zt.languages.match(t,r)>0&&!this._client.hasDedicatedTextSynchronizationFeature(r)){let o=this._client.middleware,s=a=>this._client.sendNotification(this._type,this._createParams(a));(o.didOpen?o.didOpen(r,s):s(r)).catch(a=>{this._client.error(`Sending document notification ${this._type.method} failed`,a)}),this._syncedDocuments.set(i,r)}})}getTextDocument(e){return e}notificationSent(e,t,r){this._syncedDocuments.set(e.uri.toString(),e),super.notificationSent(e,t,r)}};Vt.DidOpenTextDocumentFeature=xl;var ql=class extends Ze.TextDocumentEventFeature{constructor(e,t,r){super(e,Zt.workspace.onDidCloseTextDocument,Ke.DidCloseTextDocumentNotification.type,()=>e.middleware.didClose,i=>e.code2ProtocolConverter.asCloseTextDocumentParams(i),i=>i,Ze.TextDocumentEventFeature.textDocumentFilter),this._syncedDocuments=t,this._pendingTextDocumentChanges=r}get registrationType(){return Ke.DidCloseTextDocumentNotification.type}fillClientCapabilities(e){(0,Ze.ensure)((0,Ze.ensure)(e,"textDocument"),"synchronization").dynamicRegistration=!0}initialize(e,t){let r=e.resolvedTextDocumentSync;t&&r&&r.openClose&&this.register({id:vi.generateUuid(),registerOptions:{documentSelector:t}})}async callback(e){await super.callback(e),this._pendingTextDocumentChanges.delete(e.uri.toString())}getTextDocument(e){return e}notificationSent(e,t,r){this._syncedDocuments.delete(e.uri.toString()),super.notificationSent(e,t,r)}unregister(e){let t=this._selectors.get(e);super.unregister(e);let r=this._selectors.values();this._syncedDocuments.forEach(i=>{if(Zt.languages.match(t,i)>0&&!this._selectorFilter(r,i)&&!this._client.hasDedicatedTextSynchronizationFeature(i)){let o=this._client.middleware,s=a=>this._client.sendNotification(this._type,this._createParams(a));this._syncedDocuments.delete(i.uri.toString()),(o.didClose?o.didClose(i,s):s(i)).catch(a=>{this._client.error(`Sending document notification ${this._type.method} failed`,a)})}})}};Vt.DidCloseTextDocumentFeature=ql;var Il=class extends Ze.DynamicDocumentFeature{constructor(e,t){super(e),this._changeData=new Map,this._onNotificationSent=new Zt.EventEmitter,this._onPendingChangeAdded=new Zt.EventEmitter,this._pendingTextDocumentChanges=t,this._syncKind=Ke.TextDocumentSyncKind.None}get onNotificationSent(){return this._onNotificationSent.event}get onPendingChangeAdded(){return this._onPendingChangeAdded.event}get syncKind(){return this._syncKind}get registrationType(){return Ke.DidChangeTextDocumentNotification.type}fillClientCapabilities(e){(0,Ze.ensure)((0,Ze.ensure)(e,"textDocument"),"synchronization").dynamicRegistration=!0}initialize(e,t){let r=e.resolvedTextDocumentSync;t&&r&&r.change!==void 0&&r.change!==Ke.TextDocumentSyncKind.None&&this.register({id:vi.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},{syncKind:r.change})})}register(e){e.registerOptions.documentSelector&&(this._listener||(this._listener=Zt.workspace.onDidChangeTextDocument(this.callback,this)),this._changeData.set(e.id,{syncKind:e.registerOptions.syncKind,documentSelector:this._client.protocol2CodeConverter.asDocumentSelector(e.registerOptions.documentSelector)}),this.updateSyncKind(e.registerOptions.syncKind))}*getDocumentSelectors(){for(let e of this._changeData.values())yield e.documentSelector}async callback(e){if(e.contentChanges.length===0)return;let t=e.document.uri,r=e.document.version,i=[];for(let o of this._changeData.values())if(Zt.languages.match(o.documentSelector,e.document)>0&&!this._client.hasDedicatedTextSynchronizationFeature(e.document)){let s=this._client.middleware;if(o.syncKind===Ke.TextDocumentSyncKind.Incremental){let a=async c=>{let l=this._client.code2ProtocolConverter.asChangeTextDocumentParams(c,t,r);await this._client.sendNotification(Ke.DidChangeTextDocumentNotification.type,l),this.notificationSent(c.document,Ke.DidChangeTextDocumentNotification.type,l)};i.push(s.didChange?s.didChange(e,c=>a(c)):a(e))}else if(o.syncKind===Ke.TextDocumentSyncKind.Full){let a=async c=>{let l=c.document.uri.toString();this._pendingTextDocumentChanges.set(l,c.document),this._onPendingChangeAdded.fire()};i.push(s.didChange?s.didChange(e,c=>a(c)):a(e))}}return Promise.all(i).then(void 0,o=>{throw this._client.error(`Sending document notification ${Ke.DidChangeTextDocumentNotification.type.method} failed`,o),o})}notificationSent(e,t,r){this._onNotificationSent.fire({textDocument:e,type:t,params:r})}unregister(e){if(this._changeData.delete(e),this._changeData.size===0)this._listener&&(this._listener.dispose(),this._listener=void 0),this._syncKind=Ke.TextDocumentSyncKind.None;else{this._syncKind=Ke.TextDocumentSyncKind.None;for(let t of this._changeData.values())if(this.updateSyncKind(t.syncKind),this._syncKind===Ke.TextDocumentSyncKind.Full)break}}clear(){this._pendingTextDocumentChanges.clear(),this._changeData.clear(),this._syncKind=Ke.TextDocumentSyncKind.None,this._listener&&(this._listener.dispose(),this._listener=void 0)}getPendingDocumentChanges(e){if(this._pendingTextDocumentChanges.size===0)return[];let t;if(e.size===0)t=Array.from(this._pendingTextDocumentChanges.values()),this._pendingTextDocumentChanges.clear();else{t=[];for(let r of this._pendingTextDocumentChanges)e.has(r[0])||(t.push(r[1]),this._pendingTextDocumentChanges.delete(r[0]))}return t}getProvider(e){for(let t of this._changeData.values())if(Zt.languages.match(t.documentSelector,e)>0)return{send:r=>this.callback(r)}}updateSyncKind(e){if(this._syncKind!==Ke.TextDocumentSyncKind.Full)switch(e){case Ke.TextDocumentSyncKind.Full:this._syncKind=e;break;case Ke.TextDocumentSyncKind.Incremental:this._syncKind===Ke.TextDocumentSyncKind.None&&(this._syncKind=Ke.TextDocumentSyncKind.Incremental);break}}};Vt.DidChangeTextDocumentFeature=Il;var Fl=class extends Ze.TextDocumentEventFeature{constructor(e){super(e,Zt.workspace.onWillSaveTextDocument,Ke.WillSaveTextDocumentNotification.type,()=>e.middleware.willSave,t=>e.code2ProtocolConverter.asWillSaveTextDocumentParams(t),t=>t.document,(t,r)=>Ze.TextDocumentEventFeature.textDocumentFilter(t,r.document))}get registrationType(){return Ke.WillSaveTextDocumentNotification.type}fillClientCapabilities(e){let t=(0,Ze.ensure)((0,Ze.ensure)(e,"textDocument"),"synchronization");t.willSave=!0}initialize(e,t){let r=e.resolvedTextDocumentSync;t&&r&&r.willSave&&this.register({id:vi.generateUuid(),registerOptions:{documentSelector:t}})}getTextDocument(e){return e.document}};Vt.WillSaveFeature=Fl;var Ol=class extends Ze.DynamicDocumentFeature{constructor(e){super(e),this._selectors=new Map}getDocumentSelectors(){return this._selectors.values()}get registrationType(){return Ke.WillSaveTextDocumentWaitUntilRequest.type}fillClientCapabilities(e){let t=(0,Ze.ensure)((0,Ze.ensure)(e,"textDocument"),"synchronization");t.willSaveWaitUntil=!0}initialize(e,t){let r=e.resolvedTextDocumentSync;t&&r&&r.willSaveWaitUntil&&this.register({id:vi.generateUuid(),registerOptions:{documentSelector:t}})}register(e){e.registerOptions.documentSelector&&(this._listener||(this._listener=Zt.workspace.onWillSaveTextDocument(this.callback,this)),this._selectors.set(e.id,this._client.protocol2CodeConverter.asDocumentSelector(e.registerOptions.documentSelector)))}callback(e){if(Ze.TextDocumentEventFeature.textDocumentFilter(this._selectors.values(),e.document)&&!this._client.hasDedicatedTextSynchronizationFeature(e.document)){let t=this._client.middleware,r=i=>this._client.sendRequest(Ke.WillSaveTextDocumentWaitUntilRequest.type,this._client.code2ProtocolConverter.asWillSaveTextDocumentParams(i)).then(async o=>{let s=await this._client.protocol2CodeConverter.asTextEdits(o);return s===void 0?[]:s});e.waitUntil(t.willSaveWaitUntil?t.willSaveWaitUntil(e,r):r(e))}}unregister(e){this._selectors.delete(e),this._selectors.size===0&&this._listener&&(this._listener.dispose(),this._listener=void 0)}clear(){this._selectors.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)}};Vt.WillSaveWaitUntilFeature=Ol;var Ml=class extends Ze.TextDocumentEventFeature{constructor(e){super(e,Zt.workspace.onDidSaveTextDocument,Ke.DidSaveTextDocumentNotification.type,()=>e.middleware.didSave,t=>e.code2ProtocolConverter.asSaveTextDocumentParams(t,this._includeText),t=>t,Ze.TextDocumentEventFeature.textDocumentFilter),this._includeText=!1}get registrationType(){return Ke.DidSaveTextDocumentNotification.type}fillClientCapabilities(e){(0,Ze.ensure)((0,Ze.ensure)(e,"textDocument"),"synchronization").didSave=!0}initialize(e,t){let r=e.resolvedTextDocumentSync;if(t&&r&&r.save){let i=typeof r.save=="boolean"?{includeText:!1}:{includeText:!!r.save.includeText};this.register({id:vi.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},i)})}}register(e){this._includeText=!!e.registerOptions.includeText,super.register(e)}getTextDocument(e){return e}};Vt.DidSaveTextDocumentFeature=Ml});var Xy=E(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.CompletionItemFeature=void 0;var kT=require("vscode"),_e=fe(),Al=Ee(),ET=Xe(),xT=[_e.CompletionItemKind.Text,_e.CompletionItemKind.Method,_e.CompletionItemKind.Function,_e.CompletionItemKind.Constructor,_e.CompletionItemKind.Field,_e.CompletionItemKind.Variable,_e.CompletionItemKind.Class,_e.CompletionItemKind.Interface,_e.CompletionItemKind.Module,_e.CompletionItemKind.Property,_e.CompletionItemKind.Unit,_e.CompletionItemKind.Value,_e.CompletionItemKind.Enum,_e.CompletionItemKind.Keyword,_e.CompletionItemKind.Snippet,_e.CompletionItemKind.Color,_e.CompletionItemKind.File,_e.CompletionItemKind.Reference,_e.CompletionItemKind.Folder,_e.CompletionItemKind.EnumMember,_e.CompletionItemKind.Constant,_e.CompletionItemKind.Struct,_e.CompletionItemKind.Event,_e.CompletionItemKind.Operator,_e.CompletionItemKind.TypeParameter],Ll=class extends Al.TextDocumentLanguageFeature{constructor(e){super(e,_e.CompletionRequest.type),this.labelDetailsSupport=new Map}fillClientCapabilities(e){let t=(0,Al.ensure)((0,Al.ensure)(e,"textDocument"),"completion");t.dynamicRegistration=!0,t.contextSupport=!0,t.completionItem={snippetSupport:!0,commitCharactersSupport:!0,documentationFormat:[_e.MarkupKind.Markdown,_e.MarkupKind.PlainText],deprecatedSupport:!0,preselectSupport:!0,tagSupport:{valueSet:[_e.CompletionItemTag.Deprecated]},insertReplaceSupport:!0,resolveSupport:{properties:["documentation","detail","additionalTextEdits"]},insertTextModeSupport:{valueSet:[_e.InsertTextMode.asIs,_e.InsertTextMode.adjustIndentation]},labelDetailsSupport:!0},t.insertTextMode=_e.InsertTextMode.adjustIndentation,t.completionItemKind={valueSet:xT},t.completionList={itemDefaults:["commitCharacters","editRange","insertTextFormat","insertTextMode","data"]}}initialize(e,t){let r=this.getRegistrationOptions(t,e.completionProvider);r&&this.register({id:ET.generateUuid(),registerOptions:r})}registerLanguageProvider(e,t){this.labelDetailsSupport.set(t,!!e.completionItem?.labelDetailsSupport);let r=e.triggerCharacters??[],i=e.allCommitCharacters,o=e.documentSelector,s={provideCompletionItems:(a,c,l,d)=>{let g=this._client,m=this._client.middleware,y=(v,T,P,q)=>g.sendRequest(_e.CompletionRequest.type,g.code2ProtocolConverter.asCompletionParams(v,T,P),q).then(N=>q.isCancellationRequested?null:g.protocol2CodeConverter.asCompletionResult(N,i,q),N=>g.handleFailedRequest(_e.CompletionRequest.type,q,N,null));return m.provideCompletionItem?m.provideCompletionItem(a,c,d,l,y):y(a,c,d,l)},resolveCompletionItem:e.resolveProvider?(a,c)=>{let l=this._client,d=this._client.middleware,g=(m,y)=>l.sendRequest(_e.CompletionResolveRequest.type,l.code2ProtocolConverter.asCompletionItem(m,!!this.labelDetailsSupport.get(t)),y).then(v=>y.isCancellationRequested?null:l.protocol2CodeConverter.asCompletionItem(v),v=>l.handleFailedRequest(_e.CompletionResolveRequest.type,y,v,m));return d.resolveCompletionItem?d.resolveCompletionItem(a,c,g):g(a,c)}:void 0};return[kT.languages.registerCompletionItemProvider(this._client.protocol2CodeConverter.asDocumentSelector(o),s,...r),s]}};Ns.CompletionItemFeature=Ll});var Qy=E(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.HoverFeature=void 0;var qT=require("vscode"),Ji=fe(),Nl=Ee(),IT=Xe(),jl=class extends Nl.TextDocumentLanguageFeature{constructor(e){super(e,Ji.HoverRequest.type)}fillClientCapabilities(e){let t=(0,Nl.ensure)((0,Nl.ensure)(e,"textDocument"),"hover");t.dynamicRegistration=!0,t.contentFormat=[Ji.MarkupKind.Markdown,Ji.MarkupKind.PlainText]}initialize(e,t){let r=this.getRegistrationOptions(t,e.hoverProvider);r&&this.register({id:IT.generateUuid(),registerOptions:r})}registerLanguageProvider(e){let t=e.documentSelector,r={provideHover:(i,o,s)=>{let a=this._client,c=(d,g,m)=>a.sendRequest(Ji.HoverRequest.type,a.code2ProtocolConverter.asTextDocumentPositionParams(d,g),m).then(y=>m.isCancellationRequested?null:a.protocol2CodeConverter.asHover(y),y=>a.handleFailedRequest(Ji.HoverRequest.type,m,y,null)),l=a.middleware;return l.provideHover?l.provideHover(i,o,s,c):c(i,o,s)}};return[this.registerProvider(t,r),r]}registerProvider(e,t){return qT.languages.registerHoverProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};js.HoverFeature=jl});var Yy=E($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.DefinitionFeature=void 0;var FT=require("vscode"),$l=fe(),Ul=Ee(),OT=Xe(),Hl=class extends Ul.TextDocumentLanguageFeature{constructor(e){super(e,$l.DefinitionRequest.type)}fillClientCapabilities(e){let t=(0,Ul.ensure)((0,Ul.ensure)(e,"textDocument"),"definition");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){let r=this.getRegistrationOptions(t,e.definitionProvider);r&&this.register({id:OT.generateUuid(),registerOptions:r})}registerLanguageProvider(e){let t=e.documentSelector,r={provideDefinition:(i,o,s)=>{let a=this._client,c=(d,g,m)=>a.sendRequest($l.DefinitionRequest.type,a.code2ProtocolConverter.asTextDocumentPositionParams(d,g),m).then(y=>m.isCancellationRequested?null:a.protocol2CodeConverter.asDefinitionResult(y,m),y=>a.handleFailedRequest($l.DefinitionRequest.type,m,y,null)),l=a.middleware;return l.provideDefinition?l.provideDefinition(i,o,s,c):c(i,o,s)}};return[this.registerProvider(t,r),r]}registerProvider(e,t){return FT.languages.registerDefinitionProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};$s.DefinitionFeature=Hl});var eb=E(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});Us.SignatureHelpFeature=void 0;var Zy=require("vscode"),Xi=fe(),Wl=Ee(),MT=Xe(),Kl=class extends Wl.TextDocumentLanguageFeature{constructor(e){super(e,Xi.SignatureHelpRequest.type)}fillClientCapabilities(e){let t=(0,Wl.ensure)((0,Wl.ensure)(e,"textDocument"),"signatureHelp");t.dynamicRegistration=!0,t.signatureInformation={documentationFormat:[Xi.MarkupKind.Markdown,Xi.MarkupKind.PlainText]},t.signatureInformation.parameterInformation={labelOffsetSupport:!0},t.signatureInformation.activeParameterSupport=!0,t.contextSupport=!0}initialize(e,t){let r=this.getRegistrationOptions(t,e.signatureHelpProvider);r&&this.register({id:MT.generateUuid(),registerOptions:r})}registerLanguageProvider(e){let t={provideSignatureHelp:(r,i,o,s)=>{let a=this._client,c=(d,g,m,y)=>a.sendRequest(Xi.SignatureHelpRequest.type,a.code2ProtocolConverter.asSignatureHelpParams(d,g,m),y).then(v=>y.isCancellationRequested?null:a.protocol2CodeConverter.asSignatureHelp(v,y),v=>a.handleFailedRequest(Xi.SignatureHelpRequest.type,y,v,null)),l=a.middleware;return l.provideSignatureHelp?l.provideSignatureHelp(r,i,s,o,c):c(r,i,s,o)}};return[this.registerProvider(e,t),t]}registerProvider(e,t){let r=this._client.protocol2CodeConverter.asDocumentSelector(e.documentSelector);if(e.retriggerCharacters===void 0){let i=e.triggerCharacters||[];return Zy.languages.registerSignatureHelpProvider(r,t,...i)}else{let i={triggerCharacters:e.triggerCharacters||[],retriggerCharacters:e.retriggerCharacters||[]};return Zy.languages.registerSignatureHelpProvider(r,t,i)}}};Us.SignatureHelpFeature=Kl});var tb=E(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.DocumentHighlightFeature=void 0;var AT=require("vscode"),Vl=fe(),zl=Ee(),LT=Xe(),Bl=class extends zl.TextDocumentLanguageFeature{constructor(e){super(e,Vl.DocumentHighlightRequest.type)}fillClientCapabilities(e){(0,zl.ensure)((0,zl.ensure)(e,"textDocument"),"documentHighlight").dynamicRegistration=!0}initialize(e,t){let r=this.getRegistrationOptions(t,e.documentHighlightProvider);r&&this.register({id:LT.generateUuid(),registerOptions:r})}registerLanguageProvider(e){let t=e.documentSelector,r={provideDocumentHighlights:(i,o,s)=>{let a=this._client,c=(d,g,m)=>a.sendRequest(Vl.DocumentHighlightRequest.type,a.code2ProtocolConverter.asTextDocumentPositionParams(d,g),m).then(y=>m.isCancellationRequested?null:a.protocol2CodeConverter.asDocumentHighlights(y,m),y=>a.handleFailedRequest(Vl.DocumentHighlightRequest.type,m,y,null)),l=a.middleware;return l.provideDocumentHighlights?l.provideDocumentHighlights(i,o,s,c):c(i,o,s)}};return[AT.languages.registerDocumentHighlightProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),r),r]}};Hs.DocumentHighlightFeature=Bl});var Xl=E(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});Wn.DocumentSymbolFeature=Wn.SupportedSymbolTags=Wn.SupportedSymbolKinds=void 0;var NT=require("vscode"),Me=fe(),Gl=Ee(),jT=Xe();Wn.SupportedSymbolKinds=[Me.SymbolKind.File,Me.SymbolKind.Module,Me.SymbolKind.Namespace,Me.SymbolKind.Package,Me.SymbolKind.Class,Me.SymbolKind.Method,Me.SymbolKind.Property,Me.SymbolKind.Field,Me.SymbolKind.Constructor,Me.SymbolKind.Enum,Me.SymbolKind.Interface,Me.SymbolKind.Function,Me.SymbolKind.Variable,Me.SymbolKind.Constant,Me.SymbolKind.String,Me.SymbolKind.Number,Me.SymbolKind.Boolean,Me.SymbolKind.Array,Me.SymbolKind.Object,Me.SymbolKind.Key,Me.SymbolKind.Null,Me.SymbolKind.EnumMember,Me.SymbolKind.Struct,Me.SymbolKind.Event,Me.SymbolKind.Operator,Me.SymbolKind.TypeParameter];Wn.SupportedSymbolTags=[Me.SymbolTag.Deprecated];var Jl=class extends Gl.TextDocumentLanguageFeature{constructor(e){super(e,Me.DocumentSymbolRequest.type)}fillClientCapabilities(e){let t=(0,Gl.ensure)((0,Gl.ensure)(e,"textDocument"),"documentSymbol");t.dynamicRegistration=!0,t.symbolKind={valueSet:Wn.SupportedSymbolKinds},t.hierarchicalDocumentSymbolSupport=!0,t.tagSupport={valueSet:Wn.SupportedSymbolTags},t.labelSupport=!0}initialize(e,t){let r=this.getRegistrationOptions(t,e.documentSymbolProvider);r&&this.register({id:jT.generateUuid(),registerOptions:r})}registerLanguageProvider(e){let t=e.documentSelector,r={provideDocumentSymbols:(o,s)=>{let a=this._client,c=async(d,g)=>{try{let m=await a.sendRequest(Me.DocumentSymbolRequest.type,a.code2ProtocolConverter.asDocumentSymbolParams(d),g);if(g.isCancellationRequested||m===void 0||m===null)return null;if(m.length===0)return[];{let y=m[0];return Me.DocumentSymbol.is(y)?await a.protocol2CodeConverter.asDocumentSymbols(m,g):await a.protocol2CodeConverter.asSymbolInformations(m,g)}}catch(m){return a.handleFailedRequest(Me.DocumentSymbolRequest.type,g,m,null)}},l=a.middleware;return l.provideDocumentSymbols?l.provideDocumentSymbols(o,s,c):c(o,s)}},i=e.label!==void 0?{label:e.label}:void 0;return[NT.languages.registerDocumentSymbolProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),r,i),r]}};Wn.DocumentSymbolFeature=Jl});var rb=E(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.WorkspaceSymbolFeature=void 0;var $T=require("vscode"),Qi=fe(),Ql=Ee(),nb=Xl(),UT=Xe(),Yl=class extends Ql.WorkspaceFeature{constructor(e){super(e,Qi.WorkspaceSymbolRequest.type)}fillClientCapabilities(e){let t=(0,Ql.ensure)((0,Ql.ensure)(e,"workspace"),"symbol");t.dynamicRegistration=!0,t.symbolKind={valueSet:nb.SupportedSymbolKinds},t.tagSupport={valueSet:nb.SupportedSymbolTags},t.resolveSupport={properties:["location.range"]}}initialize(e){e.workspaceSymbolProvider&&this.register({id:UT.generateUuid(),registerOptions:e.workspaceSymbolProvider===!0?{workDoneProgress:!1}:e.workspaceSymbolProvider})}registerLanguageProvider(e){let t={provideWorkspaceSymbols:(r,i)=>{let o=this._client,s=(c,l)=>o.sendRequest(Qi.WorkspaceSymbolRequest.type,{query:c},l).then(d=>l.isCancellationRequested?null:o.protocol2CodeConverter.asSymbolInformations(d,l),d=>o.handleFailedRequest(Qi.WorkspaceSymbolRequest.type,l,d,null)),a=o.middleware;return a.provideWorkspaceSymbols?a.provideWorkspaceSymbols(r,i,s):s(r,i)},resolveWorkspaceSymbol:e.resolveProvider===!0?(r,i)=>{let o=this._client,s=(c,l)=>o.sendRequest(Qi.WorkspaceSymbolResolveRequest.type,o.code2ProtocolConverter.asWorkspaceSymbol(c),l).then(d=>l.isCancellationRequested?null:o.protocol2CodeConverter.asSymbolInformation(d),d=>o.handleFailedRequest(Qi.WorkspaceSymbolResolveRequest.type,l,d,null)),a=o.middleware;return a.resolveWorkspaceSymbol?a.resolveWorkspaceSymbol(r,i,s):s(r,i)}:void 0};return[$T.languages.registerWorkspaceSymbolProvider(t),t]}};Ws.WorkspaceSymbolFeature=Yl});var ib=E(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.ReferencesFeature=void 0;var HT=require("vscode"),Zl=fe(),ed=Ee(),WT=Xe(),td=class extends ed.TextDocumentLanguageFeature{constructor(e){super(e,Zl.ReferencesRequest.type)}fillClientCapabilities(e){(0,ed.ensure)((0,ed.ensure)(e,"textDocument"),"references").dynamicRegistration=!0}initialize(e,t){let r=this.getRegistrationOptions(t,e.referencesProvider);r&&this.register({id:WT.generateUuid(),registerOptions:r})}registerLanguageProvider(e){let t=e.documentSelector,r={provideReferences:(i,o,s,a)=>{let c=this._client,l=(g,m,y,v)=>c.sendRequest(Zl.ReferencesRequest.type,c.code2ProtocolConverter.asReferenceParams(g,m,y),v).then(T=>v.isCancellationRequested?null:c.protocol2CodeConverter.asReferences(T,v),T=>c.handleFailedRequest(Zl.ReferencesRequest.type,v,T,null)),d=c.middleware;return d.provideReferences?d.provideReferences(i,o,s,a,l):l(i,o,s,a)}};return[this.registerProvider(t,r),r]}registerProvider(e,t){return HT.languages.registerReferenceProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};Ks.ReferencesFeature=td});var ob=E(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.CodeActionFeature=void 0;var KT=require("vscode"),en=fe(),VT=Xe(),nd=Ee(),rd=class extends nd.TextDocumentLanguageFeature{constructor(e){super(e,en.CodeActionRequest.type)}fillClientCapabilities(e){let t=(0,nd.ensure)((0,nd.ensure)(e,"textDocument"),"codeAction");t.dynamicRegistration=!0,t.isPreferredSupport=!0,t.disabledSupport=!0,t.dataSupport=!0,t.resolveSupport={properties:["edit"]},t.codeActionLiteralSupport={codeActionKind:{valueSet:[en.CodeActionKind.Empty,en.CodeActionKind.QuickFix,en.CodeActionKind.Refactor,en.CodeActionKind.RefactorExtract,en.CodeActionKind.RefactorInline,en.CodeActionKind.RefactorRewrite,en.CodeActionKind.Source,en.CodeActionKind.SourceOrganizeImports]}},t.honorsChangeAnnotations=!0}initialize(e,t){let r=this.getRegistrationOptions(t,e.codeActionProvider);r&&this.register({id:VT.generateUuid(),registerOptions:r})}registerLanguageProvider(e){let t=e.documentSelector,r={provideCodeActions:(i,o,s,a)=>{let c=this._client,l=async(g,m,y,v)=>{let T={textDocument:c.code2ProtocolConverter.asTextDocumentIdentifier(g),range:c.code2ProtocolConverter.asRange(m),context:c.code2ProtocolConverter.asCodeActionContextSync(y)};return c.sendRequest(en.CodeActionRequest.type,T,v).then(P=>v.isCancellationRequested||P===null||P===void 0?null:c.protocol2CodeConverter.asCodeActionResult(P,v),P=>c.handleFailedRequest(en.CodeActionRequest.type,v,P,null))},d=c.middleware;return d.provideCodeActions?d.provideCodeActions(i,o,s,a,l):l(i,o,s,a)},resolveCodeAction:e.resolveProvider?(i,o)=>{let s=this._client,a=this._client.middleware,c=async(l,d)=>s.sendRequest(en.CodeActionResolveRequest.type,s.code2ProtocolConverter.asCodeActionSync(l),d).then(g=>d.isCancellationRequested?l:s.protocol2CodeConverter.asCodeAction(g,d),g=>s.handleFailedRequest(en.CodeActionResolveRequest.type,d,g,l));return a.resolveCodeAction?a.resolveCodeAction(i,o,c):c(i,o)}:void 0};return[KT.languages.registerCodeActionsProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),r,e.codeActionKinds?{providedCodeActionKinds:this._client.protocol2CodeConverter.asCodeActionKinds(e.codeActionKinds)}:void 0),r]}};Vs.CodeActionFeature=rd});var ab=E(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.CodeLensFeature=void 0;var sb=require("vscode"),yi=fe(),zT=Xe(),Yi=Ee(),id=class extends Yi.TextDocumentLanguageFeature{constructor(e){super(e,yi.CodeLensRequest.type)}fillClientCapabilities(e){(0,Yi.ensure)((0,Yi.ensure)(e,"textDocument"),"codeLens").dynamicRegistration=!0,(0,Yi.ensure)((0,Yi.ensure)(e,"workspace"),"codeLens").refreshSupport=!0}initialize(e,t){this._client.onRequest(yi.CodeLensRefreshRequest.type,async()=>{for(let o of this.getAllProviders())o.onDidChangeCodeLensEmitter.fire()});let i=this.getRegistrationOptions(t,e.codeLensProvider);i&&this.register({id:zT.generateUuid(),registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,r=new sb.EventEmitter,i={onDidChangeCodeLenses:r.event,provideCodeLenses:(o,s)=>{let a=this._client,c=(d,g)=>a.sendRequest(yi.CodeLensRequest.type,a.code2ProtocolConverter.asCodeLensParams(d),g).then(m=>g.isCancellationRequested?null:a.protocol2CodeConverter.asCodeLenses(m,g),m=>a.handleFailedRequest(yi.CodeLensRequest.type,g,m,null)),l=a.middleware;return l.provideCodeLenses?l.provideCodeLenses(o,s,c):c(o,s)},resolveCodeLens:e.resolveProvider?(o,s)=>{let a=this._client,c=(d,g)=>a.sendRequest(yi.CodeLensResolveRequest.type,a.code2ProtocolConverter.asCodeLens(d),g).then(m=>g.isCancellationRequested?d:a.protocol2CodeConverter.asCodeLens(m),m=>a.handleFailedRequest(yi.CodeLensResolveRequest.type,g,m,d)),l=a.middleware;return l.resolveCodeLens?l.resolveCodeLens(o,s,c):c(o,s)}:void 0};return[sb.languages.registerCodeLensProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),i),{provider:i,onDidChangeCodeLensEmitter:r}]}};zs.CodeLensFeature=id});var cb=E(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.DocumentOnTypeFormattingFeature=Cr.DocumentRangeFormattingFeature=Cr.DocumentFormattingFeature=void 0;var Bs=require("vscode"),Rn=fe(),cd=Xe(),Zn=Ee(),bi;(function(n){function e(t){let r=Bs.workspace.getConfiguration("files",t);return{trimTrailingWhitespace:r.get("trimTrailingWhitespace"),trimFinalNewlines:r.get("trimFinalNewlines"),insertFinalNewline:r.get("insertFinalNewline")}}n.fromConfiguration=e})(bi||(bi={}));var od=class extends Zn.TextDocumentLanguageFeature{constructor(e){super(e,Rn.DocumentFormattingRequest.type)}fillClientCapabilities(e){(0,Zn.ensure)((0,Zn.ensure)(e,"textDocument"),"formatting").dynamicRegistration=!0}initialize(e,t){let r=this.getRegistrationOptions(t,e.documentFormattingProvider);r&&this.register({id:cd.generateUuid(),registerOptions:r})}registerLanguageProvider(e){let t=e.documentSelector,r={provideDocumentFormattingEdits:(i,o,s)=>{let a=this._client,c=(d,g,m)=>{let y={textDocument:a.code2ProtocolConverter.asTextDocumentIdentifier(d),options:a.code2ProtocolConverter.asFormattingOptions(g,bi.fromConfiguration(d))};return a.sendRequest(Rn.DocumentFormattingRequest.type,y,m).then(v=>m.isCancellationRequested?null:a.protocol2CodeConverter.asTextEdits(v,m),v=>a.handleFailedRequest(Rn.DocumentFormattingRequest.type,m,v,null))},l=a.middleware;return l.provideDocumentFormattingEdits?l.provideDocumentFormattingEdits(i,o,s,c):c(i,o,s)}};return[Bs.languages.registerDocumentFormattingEditProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),r),r]}};Cr.DocumentFormattingFeature=od;var sd=class extends Zn.TextDocumentLanguageFeature{constructor(e){super(e,Rn.DocumentRangeFormattingRequest.type)}fillClientCapabilities(e){let t=(0,Zn.ensure)((0,Zn.ensure)(e,"textDocument"),"rangeFormatting");t.dynamicRegistration=!0,t.rangesSupport=!0}initialize(e,t){let r=this.getRegistrationOptions(t,e.documentRangeFormattingProvider);r&&this.register({id:cd.generateUuid(),registerOptions:r})}registerLanguageProvider(e){let t=e.documentSelector,r={provideDocumentRangeFormattingEdits:(i,o,s,a)=>{let c=this._client,l=(g,m,y,v)=>{let T={textDocument:c.code2ProtocolConverter.asTextDocumentIdentifier(g),range:c.code2ProtocolConverter.asRange(m),options:c.code2ProtocolConverter.asFormattingOptions(y,bi.fromConfiguration(g))};return c.sendRequest(Rn.DocumentRangeFormattingRequest.type,T,v).then(P=>v.isCancellationRequested?null:c.protocol2CodeConverter.asTextEdits(P,v),P=>c.handleFailedRequest(Rn.DocumentRangeFormattingRequest.type,v,P,null))},d=c.middleware;return d.provideDocumentRangeFormattingEdits?d.provideDocumentRangeFormattingEdits(i,o,s,a,l):l(i,o,s,a)}};return e.rangesSupport&&(r.provideDocumentRangesFormattingEdits=(i,o,s,a)=>{let c=this._client,l=(g,m,y,v)=>{let T={textDocument:c.code2ProtocolConverter.asTextDocumentIdentifier(g),ranges:c.code2ProtocolConverter.asRanges(m),options:c.code2ProtocolConverter.asFormattingOptions(y,bi.fromConfiguration(g))};return c.sendRequest(Rn.DocumentRangesFormattingRequest.type,T,v).then(P=>v.isCancellationRequested?null:c.protocol2CodeConverter.asTextEdits(P,v),P=>c.handleFailedRequest(Rn.DocumentRangesFormattingRequest.type,v,P,null))},d=c.middleware;return d.provideDocumentRangesFormattingEdits?d.provideDocumentRangesFormattingEdits(i,o,s,a,l):l(i,o,s,a)}),[Bs.languages.registerDocumentRangeFormattingEditProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),r),r]}};Cr.DocumentRangeFormattingFeature=sd;var ad=class extends Zn.TextDocumentLanguageFeature{constructor(e){super(e,Rn.DocumentOnTypeFormattingRequest.type)}fillClientCapabilities(e){(0,Zn.ensure)((0,Zn.ensure)(e,"textDocument"),"onTypeFormatting").dynamicRegistration=!0}initialize(e,t){let r=this.getRegistrationOptions(t,e.documentOnTypeFormattingProvider);r&&this.register({id:cd.generateUuid(),registerOptions:r})}registerLanguageProvider(e){let t=e.documentSelector,r={provideOnTypeFormattingEdits:(o,s,a,c,l)=>{let d=this._client,g=(y,v,T,P,q)=>{let N={textDocument:d.code2ProtocolConverter.asTextDocumentIdentifier(y),position:d.code2ProtocolConverter.asPosition(v),ch:T,options:d.code2ProtocolConverter.asFormattingOptions(P,bi.fromConfiguration(y))};return d.sendRequest(Rn.DocumentOnTypeFormattingRequest.type,N,q).then(L=>q.isCancellationRequested?null:d.protocol2CodeConverter.asTextEdits(L,q),L=>d.handleFailedRequest(Rn.DocumentOnTypeFormattingRequest.type,q,L,null))},m=d.middleware;return m.provideOnTypeFormattingEdits?m.provideOnTypeFormattingEdits(o,s,a,c,l,g):g(o,s,a,c,l)}},i=e.moreTriggerCharacter||[];return[Bs.languages.registerOnTypeFormattingEditProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),r,e.firstTriggerCharacter,...i),r]}};Cr.DocumentOnTypeFormattingFeature=ad});var lb=E(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.RenameFeature=void 0;var BT=require("vscode"),Or=fe(),GT=Xe(),ub=un(),ud=Ee(),ld=class extends ud.TextDocumentLanguageFeature{constructor(e){super(e,Or.RenameRequest.type)}fillClientCapabilities(e){let t=(0,ud.ensure)((0,ud.ensure)(e,"textDocument"),"rename");t.dynamicRegistration=!0,t.prepareSupport=!0,t.prepareSupportDefaultBehavior=Or.PrepareSupportDefaultBehavior.Identifier,t.honorsChangeAnnotations=!0}initialize(e,t){let r=this.getRegistrationOptions(t,e.renameProvider);r&&(ub.boolean(e.renameProvider)&&(r.prepareProvider=!1),this.register({id:GT.generateUuid(),registerOptions:r}))}registerLanguageProvider(e){let t=e.documentSelector,r={provideRenameEdits:(i,o,s,a)=>{let c=this._client,l=(g,m,y,v)=>{let T={textDocument:c.code2ProtocolConverter.asTextDocumentIdentifier(g),position:c.code2ProtocolConverter.asPosition(m),newName:y};return c.sendRequest(Or.RenameRequest.type,T,v).then(P=>v.isCancellationRequested?null:c.protocol2CodeConverter.asWorkspaceEdit(P,v),P=>c.handleFailedRequest(Or.RenameRequest.type,v,P,null,!1))},d=c.middleware;return d.provideRenameEdits?d.provideRenameEdits(i,o,s,a,l):l(i,o,s,a)},prepareRename:e.prepareProvider?(i,o,s)=>{let a=this._client,c=(d,g,m)=>{let y={textDocument:a.code2ProtocolConverter.asTextDocumentIdentifier(d),position:a.code2ProtocolConverter.asPosition(g)};return a.sendRequest(Or.PrepareRenameRequest.type,y,m).then(v=>m.isCancellationRequested?null:Or.Range.is(v)?a.protocol2CodeConverter.asRange(v):this.isDefaultBehavior(v)?v.defaultBehavior===!0?null:Promise.reject(new Error("The element can't be renamed.")):v&&Or.Range.is(v.range)?{range:a.protocol2CodeConverter.asRange(v.range),placeholder:v.placeholder}:Promise.reject(new Error("The element can't be renamed.")),v=>{throw typeof v.message=="string"?new Error(v.message):new Error("The element can't be renamed.")})},l=a.middleware;return l.prepareRename?l.prepareRename(i,o,s,c):c(i,o,s)}:void 0};return[this.registerProvider(t,r),r]}registerProvider(e,t){return BT.languages.registerRenameProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}isDefaultBehavior(e){let t=e;return t&&ub.boolean(t.defaultBehavior)}};Gs.RenameFeature=ld});var db=E(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.DocumentLinkFeature=void 0;var JT=require("vscode"),Zi=fe(),dd=Ee(),XT=Xe(),fd=class extends dd.TextDocumentLanguageFeature{constructor(e){super(e,Zi.DocumentLinkRequest.type)}fillClientCapabilities(e){let t=(0,dd.ensure)((0,dd.ensure)(e,"textDocument"),"documentLink");t.dynamicRegistration=!0,t.tooltipSupport=!0}initialize(e,t){let r=this.getRegistrationOptions(t,e.documentLinkProvider);r&&this.register({id:XT.generateUuid(),registerOptions:r})}registerLanguageProvider(e){let t=e.documentSelector,r={provideDocumentLinks:(i,o)=>{let s=this._client,a=(l,d)=>s.sendRequest(Zi.DocumentLinkRequest.type,s.code2ProtocolConverter.asDocumentLinkParams(l),d).then(g=>d.isCancellationRequested?null:s.protocol2CodeConverter.asDocumentLinks(g,d),g=>s.handleFailedRequest(Zi.DocumentLinkRequest.type,d,g,null)),c=s.middleware;return c.provideDocumentLinks?c.provideDocumentLinks(i,o,a):a(i,o)},resolveDocumentLink:e.resolveProvider?(i,o)=>{let s=this._client,a=(l,d)=>s.sendRequest(Zi.DocumentLinkResolveRequest.type,s.code2ProtocolConverter.asDocumentLink(l),d).then(g=>d.isCancellationRequested?l:s.protocol2CodeConverter.asDocumentLink(g),g=>s.handleFailedRequest(Zi.DocumentLinkResolveRequest.type,d,g,l)),c=s.middleware;return c.resolveDocumentLink?c.resolveDocumentLink(i,o,a):a(i,o)}:void 0};return[JT.languages.registerDocumentLinkProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),r),r]}};Js.DocumentLinkFeature=fd});var pb=E(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.ExecuteCommandFeature=void 0;var QT=require("vscode"),pd=fe(),YT=Xe(),fb=Ee(),hd=class{constructor(e){this._client=e,this._commands=new Map}getState(){return{kind:"workspace",id:this.registrationType.method,registrations:this._commands.size>0}}get registrationType(){return pd.ExecuteCommandRequest.type}fillClientCapabilities(e){(0,fb.ensure)((0,fb.ensure)(e,"workspace"),"executeCommand").dynamicRegistration=!0}initialize(e){e.executeCommandProvider&&this.register({id:YT.generateUuid(),registerOptions:Object.assign({},e.executeCommandProvider)})}register(e){let t=this._client,r=t.middleware,i=(o,s)=>{let a={command:o,arguments:s};return t.sendRequest(pd.ExecuteCommandRequest.type,a).then(void 0,c=>t.handleFailedRequest(pd.ExecuteCommandRequest.type,void 0,c,void 0))};if(e.registerOptions.commands){let o=[];for(let s of e.registerOptions.commands)o.push(QT.commands.registerCommand(s,(...a)=>r.executeCommand?r.executeCommand(s,a,i):i(s,a)));this._commands.set(e.id,o)}}unregister(e){let t=this._commands.get(e);t&&t.forEach(r=>r.dispose())}clear(){this._commands.forEach(e=>{e.forEach(t=>t.dispose())}),this._commands.clear()}};Xs.ExecuteCommandFeature=hd});var hb=E(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.FileSystemWatcherFeature=void 0;var ZT=require("vscode"),Mr=fe(),Qs=Ee(),gd=class{constructor(e,t){this._client=e,this._notifyFileEvent=t,this._watchers=new Map}getState(){return{kind:"workspace",id:this.registrationType.method,registrations:this._watchers.size>0}}get registrationType(){return Mr.DidChangeWatchedFilesNotification.type}fillClientCapabilities(e){(0,Qs.ensure)((0,Qs.ensure)(e,"workspace"),"didChangeWatchedFiles").dynamicRegistration=!0,(0,Qs.ensure)((0,Qs.ensure)(e,"workspace"),"didChangeWatchedFiles").relativePatternSupport=!0}initialize(e,t){}register(e){if(!Array.isArray(e.registerOptions.watchers))return;let t=[];for(let r of e.registerOptions.watchers){let i=this._client.protocol2CodeConverter.asGlobPattern(r.globPattern);if(i===void 0)continue;let o=!0,s=!0,a=!0;r.kind!==void 0&&r.kind!==null&&(o=(r.kind&Mr.WatchKind.Create)!==0,s=(r.kind&Mr.WatchKind.Change)!==0,a=(r.kind&Mr.WatchKind.Delete)!==0);let c=ZT.workspace.createFileSystemWatcher(i,!o,!s,!a);this.hookListeners(c,o,s,a,t),t.push(c)}this._watchers.set(e.id,t)}registerRaw(e,t){let r=[];for(let i of t)this.hookListeners(i,!0,!0,!0,r);this._watchers.set(e,r)}hookListeners(e,t,r,i,o){t&&e.onDidCreate(s=>this._notifyFileEvent({uri:this._client.code2ProtocolConverter.asUri(s),type:Mr.FileChangeType.Created}),null,o),r&&e.onDidChange(s=>this._notifyFileEvent({uri:this._client.code2ProtocolConverter.asUri(s),type:Mr.FileChangeType.Changed}),null,o),i&&e.onDidDelete(s=>this._notifyFileEvent({uri:this._client.code2ProtocolConverter.asUri(s),type:Mr.FileChangeType.Deleted}),null,o)}unregister(e){let t=this._watchers.get(e);if(t)for(let r of t)r.dispose()}clear(){this._watchers.forEach(e=>{for(let t of e)t.dispose()}),this._watchers.clear()}};Ys.FileSystemWatcherFeature=gd});var gb=E(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.ColorProviderFeature=void 0;var eR=require("vscode"),eo=fe(),md=Ee(),vd=class extends md.TextDocumentLanguageFeature{constructor(e){super(e,eo.DocumentColorRequest.type)}fillClientCapabilities(e){(0,md.ensure)((0,md.ensure)(e,"textDocument"),"colorProvider").dynamicRegistration=!0}initialize(e,t){let[r,i]=this.getRegistration(t,e.colorProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,r={provideColorPresentations:(i,o,s)=>{let a=this._client,c=(d,g,m)=>{let y={color:d,textDocument:a.code2ProtocolConverter.asTextDocumentIdentifier(g.document),range:a.code2ProtocolConverter.asRange(g.range)};return a.sendRequest(eo.ColorPresentationRequest.type,y,m).then(v=>m.isCancellationRequested?null:this._client.protocol2CodeConverter.asColorPresentations(v,m),v=>a.handleFailedRequest(eo.ColorPresentationRequest.type,m,v,null))},l=a.middleware;return l.provideColorPresentations?l.provideColorPresentations(i,o,s,c):c(i,o,s)},provideDocumentColors:(i,o)=>{let s=this._client,a=(l,d)=>{let g={textDocument:s.code2ProtocolConverter.asTextDocumentIdentifier(l)};return s.sendRequest(eo.DocumentColorRequest.type,g,d).then(m=>d.isCancellationRequested?null:this._client.protocol2CodeConverter.asColorInformations(m,d),m=>s.handleFailedRequest(eo.DocumentColorRequest.type,d,m,null))},c=s.middleware;return c.provideDocumentColors?c.provideDocumentColors(i,o,a):a(i,o)}};return[eR.languages.registerColorProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),r),r]}};Zs.ColorProviderFeature=vd});var mb=E(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.ImplementationFeature=void 0;var tR=require("vscode"),yd=fe(),bd=Ee(),wd=class extends bd.TextDocumentLanguageFeature{constructor(e){super(e,yd.ImplementationRequest.type)}fillClientCapabilities(e){let t=(0,bd.ensure)((0,bd.ensure)(e,"textDocument"),"implementation");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){let[r,i]=this.getRegistration(t,e.implementationProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,r={provideImplementation:(i,o,s)=>{let a=this._client,c=(d,g,m)=>a.sendRequest(yd.ImplementationRequest.type,a.code2ProtocolConverter.asTextDocumentPositionParams(d,g),m).then(y=>m.isCancellationRequested?null:a.protocol2CodeConverter.asDefinitionResult(y,m),y=>a.handleFailedRequest(yd.ImplementationRequest.type,m,y,null)),l=a.middleware;return l.provideImplementation?l.provideImplementation(i,o,s,c):c(i,o,s)}};return[this.registerProvider(t,r),r]}registerProvider(e,t){return tR.languages.registerImplementationProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};ea.ImplementationFeature=wd});var vb=E(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.TypeDefinitionFeature=void 0;var nR=require("vscode"),Cd=fe(),to=Ee(),Dd=class extends to.TextDocumentLanguageFeature{constructor(e){super(e,Cd.TypeDefinitionRequest.type)}fillClientCapabilities(e){(0,to.ensure)((0,to.ensure)(e,"textDocument"),"typeDefinition").dynamicRegistration=!0;let t=(0,to.ensure)((0,to.ensure)(e,"textDocument"),"typeDefinition");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){let[r,i]=this.getRegistration(t,e.typeDefinitionProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,r={provideTypeDefinition:(i,o,s)=>{let a=this._client,c=(d,g,m)=>a.sendRequest(Cd.TypeDefinitionRequest.type,a.code2ProtocolConverter.asTextDocumentPositionParams(d,g),m).then(y=>m.isCancellationRequested?null:a.protocol2CodeConverter.asDefinitionResult(y,m),y=>a.handleFailedRequest(Cd.TypeDefinitionRequest.type,m,y,null)),l=a.middleware;return l.provideTypeDefinition?l.provideTypeDefinition(i,o,s,c):c(i,o,s)}};return[this.registerProvider(t,r),r]}registerProvider(e,t){return nR.languages.registerTypeDefinitionProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};ta.TypeDefinitionFeature=Dd});var yb=E(wi=>{"use strict";Object.defineProperty(wi,"__esModule",{value:!0});wi.WorkspaceFoldersFeature=wi.arrayDiff=void 0;var rR=Xe(),na=require("vscode"),no=fe();function Sd(n,e){if(n!=null)return n[e]}function _d(n,e){return n.filter(t=>e.indexOf(t)<0)}wi.arrayDiff=_d;var Td=class{constructor(e){this._client=e,this._listeners=new Map}getState(){return{kind:"workspace",id:this.registrationType.method,registrations:this._listeners.size>0}}get registrationType(){return no.DidChangeWorkspaceFoldersNotification.type}fillInitializeParams(e){let t=na.workspace.workspaceFolders;this.initializeWithFolders(t),t===void 0?e.workspaceFolders=null:e.workspaceFolders=t.map(r=>this.asProtocol(r))}initializeWithFolders(e){this._initialFolders=e}fillClientCapabilities(e){e.workspace=e.workspace||{},e.workspace.workspaceFolders=!0}initialize(e){let t=this._client;t.onRequest(no.WorkspaceFoldersRequest.type,o=>{let s=()=>{let c=na.workspace.workspaceFolders;return c===void 0?null:c.map(d=>this.asProtocol(d))},a=t.middleware.workspace;return a&&a.workspaceFolders?a.workspaceFolders(o,s):s(o)});let r=Sd(Sd(Sd(e,"workspace"),"workspaceFolders"),"changeNotifications"),i;typeof r=="string"?i=r:r===!0&&(i=rR.generateUuid()),i&&this.register({id:i,registerOptions:void 0})}sendInitialEvent(e){let t;if(this._initialFolders&&e){let r=_d(this._initialFolders,e),i=_d(e,this._initialFolders);(i.length>0||r.length>0)&&(t=this.doSendEvent(i,r))}else this._initialFolders?t=this.doSendEvent([],this._initialFolders):e&&(t=this.doSendEvent(e,[]));t!==void 0&&t.catch(r=>{this._client.error(`Sending notification ${no.DidChangeWorkspaceFoldersNotification.type.method} failed`,r)})}doSendEvent(e,t){let r={event:{added:e.map(i=>this.asProtocol(i)),removed:t.map(i=>this.asProtocol(i))}};return this._client.sendNotification(no.DidChangeWorkspaceFoldersNotification.type,r)}register(e){let t=e.id,r=this._client,i=na.workspace.onDidChangeWorkspaceFolders(o=>{let s=l=>this.doSendEvent(l.added,l.removed),a=r.middleware.workspace;(a&&a.didChangeWorkspaceFolders?a.didChangeWorkspaceFolders(o,s):s(o)).catch(l=>{this._client.error(`Sending notification ${no.DidChangeWorkspaceFoldersNotification.type.method} failed`,l)})});this._listeners.set(t,i),this.sendInitialEvent(na.workspace.workspaceFolders)}unregister(e){let t=this._listeners.get(e);t!==void 0&&(this._listeners.delete(e),t.dispose())}clear(){for(let e of this._listeners.values())e.dispose();this._listeners.clear()}asProtocol(e){return e===void 0?null:{uri:this._client.code2ProtocolConverter.asUri(e.uri),name:e.name}}};wi.WorkspaceFoldersFeature=Td});var wb=E(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.FoldingRangeFeature=void 0;var bb=require("vscode"),Ar=fe(),ro=Ee(),Rd=class extends ro.TextDocumentLanguageFeature{constructor(e){super(e,Ar.FoldingRangeRequest.type)}fillClientCapabilities(e){let t=(0,ro.ensure)((0,ro.ensure)(e,"textDocument"),"foldingRange");t.dynamicRegistration=!0,t.rangeLimit=5e3,t.lineFoldingOnly=!0,t.foldingRangeKind={valueSet:[Ar.FoldingRangeKind.Comment,Ar.FoldingRangeKind.Imports,Ar.FoldingRangeKind.Region]},t.foldingRange={collapsedText:!1},(0,ro.ensure)((0,ro.ensure)(e,"workspace"),"foldingRange").refreshSupport=!0}initialize(e,t){this._client.onRequest(Ar.FoldingRangeRefreshRequest.type,async()=>{for(let o of this.getAllProviders())o.onDidChangeFoldingRange.fire()});let[r,i]=this.getRegistration(t,e.foldingRangeProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,r=new bb.EventEmitter,i={onDidChangeFoldingRanges:r.event,provideFoldingRanges:(o,s,a)=>{let c=this._client,l=(g,m,y)=>{let v={textDocument:c.code2ProtocolConverter.asTextDocumentIdentifier(g)};return c.sendRequest(Ar.FoldingRangeRequest.type,v,y).then(T=>y.isCancellationRequested?null:c.protocol2CodeConverter.asFoldingRanges(T,y),T=>c.handleFailedRequest(Ar.FoldingRangeRequest.type,y,T,null))},d=c.middleware;return d.provideFoldingRanges?d.provideFoldingRanges(o,s,a,l):l(o,s,a)}};return[bb.languages.registerFoldingRangeProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),i),{provider:i,onDidChangeFoldingRange:r}]}};ra.FoldingRangeFeature=Rd});var Cb=E(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.DeclarationFeature=void 0;var iR=require("vscode"),Pd=fe(),kd=Ee(),Ed=class extends kd.TextDocumentLanguageFeature{constructor(e){super(e,Pd.DeclarationRequest.type)}fillClientCapabilities(e){let t=(0,kd.ensure)((0,kd.ensure)(e,"textDocument"),"declaration");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){let[r,i]=this.getRegistration(t,e.declarationProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,r={provideDeclaration:(i,o,s)=>{let a=this._client,c=(d,g,m)=>a.sendRequest(Pd.DeclarationRequest.type,a.code2ProtocolConverter.asTextDocumentPositionParams(d,g),m).then(y=>m.isCancellationRequested?null:a.protocol2CodeConverter.asDeclarationResult(y,m),y=>a.handleFailedRequest(Pd.DeclarationRequest.type,m,y,null)),l=a.middleware;return l.provideDeclaration?l.provideDeclaration(i,o,s,c):c(i,o,s)}};return[this.registerProvider(t,r),r]}registerProvider(e,t){return iR.languages.registerDeclarationProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};ia.DeclarationFeature=Ed});var Db=E(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.SelectionRangeFeature=void 0;var oR=require("vscode"),xd=fe(),qd=Ee(),Id=class extends qd.TextDocumentLanguageFeature{constructor(e){super(e,xd.SelectionRangeRequest.type)}fillClientCapabilities(e){let t=(0,qd.ensure)((0,qd.ensure)(e,"textDocument"),"selectionRange");t.dynamicRegistration=!0}initialize(e,t){let[r,i]=this.getRegistration(t,e.selectionRangeProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,r={provideSelectionRanges:(i,o,s)=>{let a=this._client,c=async(d,g,m)=>{let y={textDocument:a.code2ProtocolConverter.asTextDocumentIdentifier(d),positions:a.code2ProtocolConverter.asPositionsSync(g,m)};return a.sendRequest(xd.SelectionRangeRequest.type,y,m).then(v=>m.isCancellationRequested?null:a.protocol2CodeConverter.asSelectionRanges(v,m),v=>a.handleFailedRequest(xd.SelectionRangeRequest.type,m,v,null))},l=a.middleware;return l.provideSelectionRanges?l.provideSelectionRanges(i,o,s,c):c(i,o,s)}};return[this.registerProvider(t,r),r]}registerProvider(e,t){return oR.languages.registerSelectionRangeProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};oa.SelectionRangeFeature=Id});var _b=E(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.ProgressFeature=void 0;var Sb=fe(),sR=ol();function aR(n,e){return n[e]===void 0&&(n[e]=Object.create(null)),n[e]}var Fd=class{constructor(e){this._client=e,this.activeParts=new Set}getState(){return{kind:"window",id:Sb.WorkDoneProgressCreateRequest.method,registrations:this.activeParts.size>0}}fillClientCapabilities(e){aR(e,"window").workDoneProgress=!0}initialize(){let e=this._client,t=i=>{this.activeParts.delete(i)},r=i=>{this.activeParts.add(new sR.ProgressPart(this._client,i.token,t))};e.onRequest(Sb.WorkDoneProgressCreateRequest.type,r)}clear(){for(let e of this.activeParts)e.done();this.activeParts.clear()}};sa.ProgressFeature=Fd});var Tb=E(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.CallHierarchyFeature=void 0;var cR=require("vscode"),Lr=fe(),Od=Ee(),Md=class{constructor(e){this.client=e,this.middleware=e.middleware}prepareCallHierarchy(e,t,r){let i=this.client,o=this.middleware,s=(a,c,l)=>{let d=i.code2ProtocolConverter.asTextDocumentPositionParams(a,c);return i.sendRequest(Lr.CallHierarchyPrepareRequest.type,d,l).then(g=>l.isCancellationRequested?null:i.protocol2CodeConverter.asCallHierarchyItems(g,l),g=>i.handleFailedRequest(Lr.CallHierarchyPrepareRequest.type,l,g,null))};return o.prepareCallHierarchy?o.prepareCallHierarchy(e,t,r,s):s(e,t,r)}provideCallHierarchyIncomingCalls(e,t){let r=this.client,i=this.middleware,o=(s,a)=>{let c={item:r.code2ProtocolConverter.asCallHierarchyItem(s)};return r.sendRequest(Lr.CallHierarchyIncomingCallsRequest.type,c,a).then(l=>a.isCancellationRequested?null:r.protocol2CodeConverter.asCallHierarchyIncomingCalls(l,a),l=>r.handleFailedRequest(Lr.CallHierarchyIncomingCallsRequest.type,a,l,null))};return i.provideCallHierarchyIncomingCalls?i.provideCallHierarchyIncomingCalls(e,t,o):o(e,t)}provideCallHierarchyOutgoingCalls(e,t){let r=this.client,i=this.middleware,o=(s,a)=>{let c={item:r.code2ProtocolConverter.asCallHierarchyItem(s)};return r.sendRequest(Lr.CallHierarchyOutgoingCallsRequest.type,c,a).then(l=>a.isCancellationRequested?null:r.protocol2CodeConverter.asCallHierarchyOutgoingCalls(l,a),l=>r.handleFailedRequest(Lr.CallHierarchyOutgoingCallsRequest.type,a,l,null))};return i.provideCallHierarchyOutgoingCalls?i.provideCallHierarchyOutgoingCalls(e,t,o):o(e,t)}},Ad=class extends Od.TextDocumentLanguageFeature{constructor(e){super(e,Lr.CallHierarchyPrepareRequest.type)}fillClientCapabilities(e){let t=e,r=(0,Od.ensure)((0,Od.ensure)(t,"textDocument"),"callHierarchy");r.dynamicRegistration=!0}initialize(e,t){let[r,i]=this.getRegistration(t,e.callHierarchyProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t=this._client,r=new Md(t);return[cR.languages.registerCallHierarchyProvider(this._client.protocol2CodeConverter.asDocumentSelector(e.documentSelector),r),r]}};aa.CallHierarchyFeature=Ad});var Rb=E(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.SemanticTokensFeature=void 0;var ca=require("vscode"),ve=fe(),io=Ee(),uR=un(),Ld=class extends io.TextDocumentLanguageFeature{constructor(e){super(e,ve.SemanticTokensRegistrationType.type)}fillClientCapabilities(e){let t=(0,io.ensure)((0,io.ensure)(e,"textDocument"),"semanticTokens");t.dynamicRegistration=!0,t.tokenTypes=[ve.SemanticTokenTypes.namespace,ve.SemanticTokenTypes.type,ve.SemanticTokenTypes.class,ve.SemanticTokenTypes.enum,ve.SemanticTokenTypes.interface,ve.SemanticTokenTypes.struct,ve.SemanticTokenTypes.typeParameter,ve.SemanticTokenTypes.parameter,ve.SemanticTokenTypes.variable,ve.SemanticTokenTypes.property,ve.SemanticTokenTypes.enumMember,ve.SemanticTokenTypes.event,ve.SemanticTokenTypes.function,ve.SemanticTokenTypes.method,ve.SemanticTokenTypes.macro,ve.SemanticTokenTypes.keyword,ve.SemanticTokenTypes.modifier,ve.SemanticTokenTypes.comment,ve.SemanticTokenTypes.string,ve.SemanticTokenTypes.number,ve.SemanticTokenTypes.regexp,ve.SemanticTokenTypes.operator,ve.SemanticTokenTypes.decorator],t.tokenModifiers=[ve.SemanticTokenModifiers.declaration,ve.SemanticTokenModifiers.definition,ve.SemanticTokenModifiers.readonly,ve.SemanticTokenModifiers.static,ve.SemanticTokenModifiers.deprecated,ve.SemanticTokenModifiers.abstract,ve.SemanticTokenModifiers.async,ve.SemanticTokenModifiers.modification,ve.SemanticTokenModifiers.documentation,ve.SemanticTokenModifiers.defaultLibrary],t.formats=[ve.TokenFormat.Relative],t.requests={range:!0,full:{delta:!0}},t.multilineTokenSupport=!1,t.overlappingTokenSupport=!1,t.serverCancelSupport=!0,t.augmentsSyntaxTokens=!0,(0,io.ensure)((0,io.ensure)(e,"workspace"),"semanticTokens").refreshSupport=!0}initialize(e,t){this._client.onRequest(ve.SemanticTokensRefreshRequest.type,async()=>{for(let s of this.getAllProviders())s.onDidChangeSemanticTokensEmitter.fire()});let[i,o]=this.getRegistration(t,e.semanticTokensProvider);!i||!o||this.register({id:i,registerOptions:o})}registerLanguageProvider(e){let t=e.documentSelector,r=uR.boolean(e.full)?e.full:e.full!==void 0,i=e.full!==void 0&&typeof e.full!="boolean"&&e.full.delta===!0,o=new ca.EventEmitter,s=r?{onDidChangeSemanticTokens:o.event,provideDocumentSemanticTokens:(y,v)=>{let T=this._client,P=T.middleware,q=(N,L)=>{let K={textDocument:T.code2ProtocolConverter.asTextDocumentIdentifier(N)};return T.sendRequest(ve.SemanticTokensRequest.type,K,L).then(te=>L.isCancellationRequested?null:T.protocol2CodeConverter.asSemanticTokens(te,L),te=>T.handleFailedRequest(ve.SemanticTokensRequest.type,L,te,null))};return P.provideDocumentSemanticTokens?P.provideDocumentSemanticTokens(y,v,q):q(y,v)},provideDocumentSemanticTokensEdits:i?(y,v,T)=>{let P=this._client,q=P.middleware,N=(L,K,te)=>{let Z={textDocument:P.code2ProtocolConverter.asTextDocumentIdentifier(L),previousResultId:K};return P.sendRequest(ve.SemanticTokensDeltaRequest.type,Z,te).then(async V=>te.isCancellationRequested?null:ve.SemanticTokens.is(V)?await P.protocol2CodeConverter.asSemanticTokens(V,te):await P.protocol2CodeConverter.asSemanticTokensEdits(V,te),V=>P.handleFailedRequest(ve.SemanticTokensDeltaRequest.type,te,V,null))};return q.provideDocumentSemanticTokensEdits?q.provideDocumentSemanticTokensEdits(y,v,T,N):N(y,v,T)}:void 0}:void 0,c=e.range===!0?{provideDocumentRangeSemanticTokens:(y,v,T)=>{let P=this._client,q=P.middleware,N=(L,K,te)=>{let Z={textDocument:P.code2ProtocolConverter.asTextDocumentIdentifier(L),range:P.code2ProtocolConverter.asRange(K)};return P.sendRequest(ve.SemanticTokensRangeRequest.type,Z,te).then(V=>te.isCancellationRequested?null:P.protocol2CodeConverter.asSemanticTokens(V,te),V=>P.handleFailedRequest(ve.SemanticTokensRangeRequest.type,te,V,null))};return q.provideDocumentRangeSemanticTokens?q.provideDocumentRangeSemanticTokens(y,v,T,N):N(y,v,T)}}:void 0,l=[],d=this._client,g=d.protocol2CodeConverter.asSemanticTokensLegend(e.legend),m=d.protocol2CodeConverter.asDocumentSelector(t);return s!==void 0&&l.push(ca.languages.registerDocumentSemanticTokensProvider(m,s,g)),c!==void 0&&l.push(ca.languages.registerDocumentRangeSemanticTokensProvider(m,c,g)),[new ca.Disposable(()=>l.forEach(y=>y.dispose())),{range:c,full:s,onDidChangeSemanticTokensEmitter:o}]}};ua.SemanticTokensFeature=Ld});var Eb=E(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.WillDeleteFilesFeature=zt.WillRenameFilesFeature=zt.WillCreateFilesFeature=zt.DidDeleteFilesFeature=zt.DidRenameFilesFeature=zt.DidCreateFilesFeature=void 0;var gn=require("vscode"),lR=qs(),er=fe(),dR=Xe();function Pb(n,e){return n[e]===void 0&&(n[e]={}),n[e]}function fR(n,e){return n[e]}function kb(n,e,t){n[e]=t}var oo=class n{constructor(e,t,r,i,o){this._client=e,this._event=t,this._registrationType=r,this._clientCapability=i,this._serverCapability=o,this._filters=new Map}getState(){return{kind:"workspace",id:this._registrationType.method,registrations:this._filters.size>0}}filterSize(){return this._filters.size}get registrationType(){return this._registrationType}fillClientCapabilities(e){let t=Pb(Pb(e,"workspace"),"fileOperations");kb(t,"dynamicRegistration",!0),kb(t,this._clientCapability,!0)}initialize(e){let t=e.workspace?.fileOperations,r=t!==void 0?fR(t,this._serverCapability):void 0;if(r?.filters!==void 0)try{this.register({id:dR.generateUuid(),registerOptions:{filters:r.filters}})}catch(i){this._client.warn(`Ignoring invalid glob pattern for ${this._serverCapability} registration: ${i}`)}}register(e){this._listener||(this._listener=this._event(this.send,this));let t=e.registerOptions.filters.map(r=>{let i=new lR.Minimatch(r.pattern.glob,n.asMinimatchOptions(r.pattern.options));if(!i.makeRe())throw new Error(`Invalid pattern ${r.pattern.glob}!`);return{scheme:r.scheme,matcher:i,kind:r.pattern.matches}});this._filters.set(e.id,t)}unregister(e){this._filters.delete(e),this._filters.size===0&&this._listener&&(this._listener.dispose(),this._listener=void 0)}clear(){this._filters.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)}getFileType(e){return n.getFileType(e)}async filter(e,t){let r=await Promise.all(e.files.map(async o=>{let s=t(o),a=s.fsPath.replace(/\\/g,"/");for(let c of this._filters.values())for(let l of c)if(!(l.scheme!==void 0&&l.scheme!==s.scheme)){if(l.matcher.match(a)){if(l.kind===void 0)return!0;let d=await this.getFileType(s);if(d===void 0)return this._client.error(`Failed to determine file type for ${s.toString()}.`),!0;if(d===gn.FileType.File&&l.kind===er.FileOperationPatternKind.file||d===gn.FileType.Directory&&l.kind===er.FileOperationPatternKind.folder)return!0}else if(l.kind===er.FileOperationPatternKind.folder&&await n.getFileType(s)===gn.FileType.Directory&&l.matcher.match(`${a}/`))return!0}return!1})),i=e.files.filter((o,s)=>r[s]);return{...e,files:i}}static async getFileType(e){try{return(await gn.workspace.fs.stat(e)).type}catch{return}}static asMinimatchOptions(e){let t={dot:!0};return e?.ignoreCase===!0&&(t.nocase=!0),t}},la=class extends oo{constructor(e,t,r,i,o,s,a){super(e,t,r,i,o),this._notificationType=r,this._accessUri=s,this._createParams=a}async send(e){let t=await this.filter(e,this._accessUri);if(t.files.length){let r=async i=>this._client.sendNotification(this._notificationType,this._createParams(i));return this.doSend(t,r)}}},da=class extends la{constructor(){super(...arguments),this._fsPathFileTypes=new Map}async getFileType(e){let t=e.fsPath;if(this._fsPathFileTypes.has(t))return this._fsPathFileTypes.get(t);let r=await oo.getFileType(e);return r&&this._fsPathFileTypes.set(t,r),r}async cacheFileTypes(e,t){await this.filter(e,t)}clearFileTypeCache(){this._fsPathFileTypes.clear()}unregister(e){super.unregister(e),this.filterSize()===0&&this._willListener&&(this._willListener.dispose(),this._willListener=void 0)}clear(){super.clear(),this._willListener&&(this._willListener.dispose(),this._willListener=void 0)}},Nd=class extends la{constructor(e){super(e,gn.workspace.onDidCreateFiles,er.DidCreateFilesNotification.type,"didCreate","didCreate",t=>t,e.code2ProtocolConverter.asDidCreateFilesParams)}doSend(e,t){let r=this._client.middleware.workspace;return r?.didCreateFiles?r.didCreateFiles(e,t):t(e)}};zt.DidCreateFilesFeature=Nd;var jd=class extends da{constructor(e){super(e,gn.workspace.onDidRenameFiles,er.DidRenameFilesNotification.type,"didRename","didRename",t=>t.oldUri,e.code2ProtocolConverter.asDidRenameFilesParams)}register(e){this._willListener||(this._willListener=gn.workspace.onWillRenameFiles(this.willRename,this)),super.register(e)}willRename(e){e.waitUntil(this.cacheFileTypes(e,t=>t.oldUri))}doSend(e,t){this.clearFileTypeCache();let r=this._client.middleware.workspace;return r?.didRenameFiles?r.didRenameFiles(e,t):t(e)}};zt.DidRenameFilesFeature=jd;var $d=class extends da{constructor(e){super(e,gn.workspace.onDidDeleteFiles,er.DidDeleteFilesNotification.type,"didDelete","didDelete",t=>t,e.code2ProtocolConverter.asDidDeleteFilesParams)}register(e){this._willListener||(this._willListener=gn.workspace.onWillDeleteFiles(this.willDelete,this)),super.register(e)}willDelete(e){e.waitUntil(this.cacheFileTypes(e,t=>t))}doSend(e,t){this.clearFileTypeCache();let r=this._client.middleware.workspace;return r?.didDeleteFiles?r.didDeleteFiles(e,t):t(e)}};zt.DidDeleteFilesFeature=$d;var so=class extends oo{constructor(e,t,r,i,o,s,a){super(e,t,r,i,o),this._requestType=r,this._accessUri=s,this._createParams=a}async send(e){let t=this.waitUntil(e);e.waitUntil(t)}async waitUntil(e){let t=await this.filter(e,this._accessUri);if(t.files.length){let r=i=>this._client.sendRequest(this._requestType,this._createParams(i),i.token).then(this._client.protocol2CodeConverter.asWorkspaceEdit);return this.doSend(t,r)}else return}},Ud=class extends so{constructor(e){super(e,gn.workspace.onWillCreateFiles,er.WillCreateFilesRequest.type,"willCreate","willCreate",t=>t,e.code2ProtocolConverter.asWillCreateFilesParams)}doSend(e,t){let r=this._client.middleware.workspace;return r?.willCreateFiles?r.willCreateFiles(e,t):t(e)}};zt.WillCreateFilesFeature=Ud;var Hd=class extends so{constructor(e){super(e,gn.workspace.onWillRenameFiles,er.WillRenameFilesRequest.type,"willRename","willRename",t=>t.oldUri,e.code2ProtocolConverter.asWillRenameFilesParams)}doSend(e,t){let r=this._client.middleware.workspace;return r?.willRenameFiles?r.willRenameFiles(e,t):t(e)}};zt.WillRenameFilesFeature=Hd;var Wd=class extends so{constructor(e){super(e,gn.workspace.onWillDeleteFiles,er.WillDeleteFilesRequest.type,"willDelete","willDelete",t=>t,e.code2ProtocolConverter.asWillDeleteFilesParams)}doSend(e,t){let r=this._client.middleware.workspace;return r?.willDeleteFiles?r.willDeleteFiles(e,t):t(e)}};zt.WillDeleteFilesFeature=Wd});var xb=E(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.LinkedEditingFeature=void 0;var pR=require("vscode"),Kd=fe(),Vd=Ee(),zd=class extends Vd.TextDocumentLanguageFeature{constructor(e){super(e,Kd.LinkedEditingRangeRequest.type)}fillClientCapabilities(e){let t=(0,Vd.ensure)((0,Vd.ensure)(e,"textDocument"),"linkedEditingRange");t.dynamicRegistration=!0}initialize(e,t){let[r,i]=this.getRegistration(t,e.linkedEditingRangeProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,r={provideLinkedEditingRanges:(i,o,s)=>{let a=this._client,c=(d,g,m)=>a.sendRequest(Kd.LinkedEditingRangeRequest.type,a.code2ProtocolConverter.asTextDocumentPositionParams(d,g),m).then(y=>m.isCancellationRequested?null:a.protocol2CodeConverter.asLinkedEditingRanges(y,m),y=>a.handleFailedRequest(Kd.LinkedEditingRangeRequest.type,m,y,null)),l=a.middleware;return l.provideLinkedEditingRange?l.provideLinkedEditingRange(i,o,s,c):c(i,o,s)}};return[this.registerProvider(t,r),r]}registerProvider(e,t){return pR.languages.registerLinkedEditingRangeProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};fa.LinkedEditingFeature=zd});var qb=E(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.TypeHierarchyFeature=void 0;var hR=require("vscode"),Nr=fe(),Bd=Ee(),Gd=class{constructor(e){this.client=e,this.middleware=e.middleware}prepareTypeHierarchy(e,t,r){let i=this.client,o=this.middleware,s=(a,c,l)=>{let d=i.code2ProtocolConverter.asTextDocumentPositionParams(a,c);return i.sendRequest(Nr.TypeHierarchyPrepareRequest.type,d,l).then(g=>l.isCancellationRequested?null:i.protocol2CodeConverter.asTypeHierarchyItems(g,l),g=>i.handleFailedRequest(Nr.TypeHierarchyPrepareRequest.type,l,g,null))};return o.prepareTypeHierarchy?o.prepareTypeHierarchy(e,t,r,s):s(e,t,r)}provideTypeHierarchySupertypes(e,t){let r=this.client,i=this.middleware,o=(s,a)=>{let c={item:r.code2ProtocolConverter.asTypeHierarchyItem(s)};return r.sendRequest(Nr.TypeHierarchySupertypesRequest.type,c,a).then(l=>a.isCancellationRequested?null:r.protocol2CodeConverter.asTypeHierarchyItems(l,a),l=>r.handleFailedRequest(Nr.TypeHierarchySupertypesRequest.type,a,l,null))};return i.provideTypeHierarchySupertypes?i.provideTypeHierarchySupertypes(e,t,o):o(e,t)}provideTypeHierarchySubtypes(e,t){let r=this.client,i=this.middleware,o=(s,a)=>{let c={item:r.code2ProtocolConverter.asTypeHierarchyItem(s)};return r.sendRequest(Nr.TypeHierarchySubtypesRequest.type,c,a).then(l=>a.isCancellationRequested?null:r.protocol2CodeConverter.asTypeHierarchyItems(l,a),l=>r.handleFailedRequest(Nr.TypeHierarchySubtypesRequest.type,a,l,null))};return i.provideTypeHierarchySubtypes?i.provideTypeHierarchySubtypes(e,t,o):o(e,t)}},Jd=class extends Bd.TextDocumentLanguageFeature{constructor(e){super(e,Nr.TypeHierarchyPrepareRequest.type)}fillClientCapabilities(e){let t=(0,Bd.ensure)((0,Bd.ensure)(e,"textDocument"),"typeHierarchy");t.dynamicRegistration=!0}initialize(e,t){let[r,i]=this.getRegistration(t,e.typeHierarchyProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t=this._client,r=new Gd(t);return[hR.languages.registerTypeHierarchyProvider(t.protocol2CodeConverter.asDocumentSelector(e.documentSelector),r),r]}};pa.TypeHierarchyFeature=Jd});var Fb=E(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.InlineValueFeature=void 0;var Ib=require("vscode"),ha=fe(),ao=Ee(),Xd=class extends ao.TextDocumentLanguageFeature{constructor(e){super(e,ha.InlineValueRequest.type)}fillClientCapabilities(e){(0,ao.ensure)((0,ao.ensure)(e,"textDocument"),"inlineValue").dynamicRegistration=!0,(0,ao.ensure)((0,ao.ensure)(e,"workspace"),"inlineValue").refreshSupport=!0}initialize(e,t){this._client.onRequest(ha.InlineValueRefreshRequest.type,async()=>{for(let o of this.getAllProviders())o.onDidChangeInlineValues.fire()});let[r,i]=this.getRegistration(t,e.inlineValueProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,r=new Ib.EventEmitter,i={onDidChangeInlineValues:r.event,provideInlineValues:(o,s,a,c)=>{let l=this._client,d=(m,y,v,T)=>{let P={textDocument:l.code2ProtocolConverter.asTextDocumentIdentifier(m),range:l.code2ProtocolConverter.asRange(y),context:l.code2ProtocolConverter.asInlineValueContext(v)};return l.sendRequest(ha.InlineValueRequest.type,P,T).then(q=>T.isCancellationRequested?null:l.protocol2CodeConverter.asInlineValues(q,T),q=>l.handleFailedRequest(ha.InlineValueRequest.type,T,q,null))},g=l.middleware;return g.provideInlineValues?g.provideInlineValues(o,s,a,c,d):d(o,s,a,c)}};return[this.registerProvider(t,i),{provider:i,onDidChangeInlineValues:r}]}registerProvider(e,t){return Ib.languages.registerInlineValuesProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};ga.InlineValueFeature=Xd});var Mb=E(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.InlayHintsFeature=void 0;var Ob=require("vscode"),Ci=fe(),co=Ee(),Qd=class extends co.TextDocumentLanguageFeature{constructor(e){super(e,Ci.InlayHintRequest.type)}fillClientCapabilities(e){let t=(0,co.ensure)((0,co.ensure)(e,"textDocument"),"inlayHint");t.dynamicRegistration=!0,t.resolveSupport={properties:["tooltip","textEdits","label.tooltip","label.location","label.command"]},(0,co.ensure)((0,co.ensure)(e,"workspace"),"inlayHint").refreshSupport=!0}initialize(e,t){this._client.onRequest(Ci.InlayHintRefreshRequest.type,async()=>{for(let o of this.getAllProviders())o.onDidChangeInlayHints.fire()});let[r,i]=this.getRegistration(t,e.inlayHintProvider);!r||!i||this.register({id:r,registerOptions:i})}registerLanguageProvider(e){let t=e.documentSelector,r=new Ob.EventEmitter,i={onDidChangeInlayHints:r.event,provideInlayHints:(o,s,a)=>{let c=this._client,l=async(g,m,y)=>{let v={textDocument:c.code2ProtocolConverter.asTextDocumentIdentifier(g),range:c.code2ProtocolConverter.asRange(m)};try{let T=await c.sendRequest(Ci.InlayHintRequest.type,v,y);return y.isCancellationRequested?null:c.protocol2CodeConverter.asInlayHints(T,y)}catch(T){return c.handleFailedRequest(Ci.InlayHintRequest.type,y,T,null)}},d=c.middleware;return d.provideInlayHints?d.provideInlayHints(o,s,a,l):l(o,s,a)}};return i.resolveInlayHint=e.resolveProvider===!0?(o,s)=>{let a=this._client,c=async(d,g)=>{try{let m=await a.sendRequest(Ci.InlayHintResolveRequest.type,a.code2ProtocolConverter.asInlayHint(d),g);if(g.isCancellationRequested)return null;let y=a.protocol2CodeConverter.asInlayHint(m,g);return g.isCancellationRequested?null:y}catch(m){return a.handleFailedRequest(Ci.InlayHintResolveRequest.type,g,m,null)}},l=a.middleware;return l.resolveInlayHint?l.resolveInlayHint(o,s,c):c(o,s)}:void 0,[this.registerProvider(t,i),{provider:i,onDidChangeInlayHints:r}]}registerProvider(e,t){return Ob.languages.registerInlayHintsProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}};ma.InlayHintsFeature=Qd});var Ab=E(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.InlineCompletionItemFeature=void 0;var gR=require("vscode"),Yd=fe(),Zd=Ee(),mR=Xe(),ef=class extends Zd.TextDocumentLanguageFeature{constructor(e){super(e,Yd.InlineCompletionRequest.type)}fillClientCapabilities(e){let t=(0,Zd.ensure)((0,Zd.ensure)(e,"textDocument"),"inlineCompletion");t.dynamicRegistration=!0}initialize(e,t){let r=this.getRegistrationOptions(t,e.inlineCompletionProvider);r&&this.register({id:mR.generateUuid(),registerOptions:r})}registerLanguageProvider(e){let t=e.documentSelector,r={provideInlineCompletionItems:(i,o,s,a)=>{let c=this._client,l=this._client.middleware,d=(g,m,y,v)=>c.sendRequest(Yd.InlineCompletionRequest.type,c.code2ProtocolConverter.asInlineCompletionParams(g,m,y),v).then(T=>v.isCancellationRequested?null:c.protocol2CodeConverter.asInlineCompletionResult(T,v),T=>c.handleFailedRequest(Yd.InlineCompletionRequest.type,v,T,null));return l.provideInlineCompletionItems?l.provideInlineCompletionItems(i,o,s,a,d):d(i,o,s,a)}};return[gR.languages.registerInlineCompletionItemProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),r),r]}};va.InlineCompletionItemFeature=ef});var af=E(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.ProposedFeatures=bt.BaseLanguageClient=bt.MessageTransports=bt.SuspendMode=bt.State=bt.CloseAction=bt.ErrorAction=bt.RevealOutputChannelOn=void 0;var Le=require("vscode"),$=fe(),vR=fy(),yR=gy(),kn=un(),ya=_s(),Lb=Xe(),bR=ol(),Pn=Ee(),wR=Tl(),Nb=zy(),jb=Gy(),Di=Jy(),CR=Xy(),DR=Qy(),SR=Yy(),_R=eb(),TR=tb(),RR=Xl(),PR=rb(),kR=ib(),ER=ob(),xR=ab(),tf=cb(),qR=lb(),IR=db(),FR=pb(),OR=hb(),MR=gb(),AR=mb(),LR=vb(),NR=yb(),jR=wb(),$R=Cb(),UR=Db(),HR=_b(),WR=Tb(),KR=Rb(),Si=Eb(),VR=xb(),zR=qb(),BR=Fb(),GR=Mb(),JR=Ab(),jr;(function(n){n[n.Debug=0]="Debug",n[n.Info=1]="Info",n[n.Warn=2]="Warn",n[n.Error=3]="Error",n[n.Never=4]="Never"})(jr||(bt.RevealOutputChannelOn=jr={}));var lo;(function(n){n[n.Continue=1]="Continue",n[n.Shutdown=2]="Shutdown"})(lo||(bt.ErrorAction=lo={}));var Dr;(function(n){n[n.DoNotRestart=1]="DoNotRestart",n[n.Restart=2]="Restart"})(Dr||(bt.CloseAction=Dr={}));var uo;(function(n){n[n.Stopped=1]="Stopped",n[n.Starting=3]="Starting",n[n.Running=2]="Running"})(uo||(bt.State=uo={}));var $b;(function(n){n.off="off",n.on="on"})($b||(bt.SuspendMode=$b={}));var nf;(function(n){function e(t){return t==null?!1:typeof t=="boolean"||typeof t=="object"&&t!==null&&kn.stringArray(t.enabledCommands)?t:!1}n.sanitizeIsTrusted=e})(nf||(nf={}));var rf=class{constructor(e,t){this.client=e,this.maxRestartCount=t,this.restarts=[]}error(e,t,r){return r&&r<=3?{action:lo.Continue}:{action:lo.Shutdown}}closed(){return this.restarts.push(Date.now()),this.restarts.length<=this.maxRestartCount?{action:Dr.Restart}:this.restarts[this.restarts.length-1]-this.restarts[0]<=3*60*1e3?{action:Dr.DoNotRestart,message:`The ${this.client.name} server crashed ${this.maxRestartCount+1} times in the last 3 minutes. The server will not be restarted. See the output for more information.`}:(this.restarts.shift(),{action:Dr.Restart})}},we;(function(n){n.Initial="initial",n.Starting="starting",n.StartFailed="startFailed",n.Running="running",n.Stopping="stopping",n.Stopped="stopped"})(we||(we={}));var Ub;(function(n){function e(t){return t&&$.MessageReader.is(t.reader)&&$.MessageWriter.is(t.writer)}n.is=e})(Ub||(bt.MessageTransports=Ub={}));var fo=class n{constructor(e,t,r){this._traceFormat=$.TraceFormat.Text,this._diagnosticQueue=new Map,this._diagnosticQueueState={state:"idle"},this._features=[],this._dynamicFeatures=new Map,this.workspaceEditLock=new ya.Semaphore(1),this._id=e,this._name=t,r=r||{};let i={isTrusted:!1,supportHtml:!1};r.markdown!==void 0&&(i.isTrusted=nf.sanitizeIsTrusted(r.markdown.isTrusted),i.supportHtml=r.markdown.supportHtml===!0),this._clientOptions={documentSelector:r.documentSelector??[],synchronize:r.synchronize??{},diagnosticCollectionName:r.diagnosticCollectionName,outputChannelName:r.outputChannelName??this._name,revealOutputChannelOn:r.revealOutputChannelOn??jr.Error,stdioEncoding:r.stdioEncoding??"utf8",initializationOptions:r.initializationOptions,initializationFailedHandler:r.initializationFailedHandler,progressOnInitialization:!!r.progressOnInitialization,errorHandler:r.errorHandler??this.createDefaultErrorHandler(r.connectionOptions?.maxRestartCount),middleware:r.middleware??{},uriConverters:r.uriConverters,workspaceFolder:r.workspaceFolder,connectionOptions:r.connectionOptions,markdown:i,diagnosticPullOptions:r.diagnosticPullOptions??{onChange:!0,onSave:!1},notebookDocumentOptions:r.notebookDocumentOptions??{}},this._clientOptions.synchronize=this._clientOptions.synchronize||{},this._state=we.Initial,this._ignoredRegistrations=new Set,this._listeners=[],this._notificationHandlers=new Map,this._pendingNotificationHandlers=new Map,this._notificationDisposables=new Map,this._requestHandlers=new Map,this._pendingRequestHandlers=new Map,this._requestDisposables=new Map,this._progressHandlers=new Map,this._pendingProgressHandlers=new Map,this._progressDisposables=new Map,this._connection=void 0,this._initializeResult=void 0,r.outputChannel?(this._outputChannel=r.outputChannel,this._disposeOutputChannel=!1):(this._outputChannel=void 0,this._disposeOutputChannel=!0),this._traceOutputChannel=r.traceOutputChannel,this._diagnostics=void 0,this._pendingOpenNotifications=new Set,this._pendingChangeSemaphore=new ya.Semaphore(1),this._pendingChangeDelayer=new ya.Delayer(250),this._fileEvents=[],this._fileEventDelayer=new ya.Delayer(250),this._onStop=void 0,this._telemetryEmitter=new $.Emitter,this._stateChangeEmitter=new $.Emitter,this._trace=$.Trace.Off,this._tracer={log:(o,s)=>{kn.string(o)?this.logTrace(o,s):this.logObjectTrace(o)}},this._c2p=vR.createConverter(r.uriConverters?r.uriConverters.code2Protocol:void 0),this._p2c=yR.createConverter(r.uriConverters?r.uriConverters.protocol2Code:void 0,this._clientOptions.markdown.isTrusted,this._clientOptions.markdown.supportHtml),this._syncedDocuments=new Map,this.registerBuiltinFeatures()}get name(){return this._name}get middleware(){return this._clientOptions.middleware??Object.create(null)}get clientOptions(){return this._clientOptions}get protocol2CodeConverter(){return this._p2c}get code2ProtocolConverter(){return this._c2p}get onTelemetry(){return this._telemetryEmitter.event}get onDidChangeState(){return this._stateChangeEmitter.event}get outputChannel(){return this._outputChannel||(this._outputChannel=Le.window.createOutputChannel(this._clientOptions.outputChannelName?this._clientOptions.outputChannelName:this._name)),this._outputChannel}get traceOutputChannel(){return this._traceOutputChannel?this._traceOutputChannel:this.outputChannel}get diagnostics(){return this._diagnostics}get state(){return this.getPublicState()}get $state(){return this._state}set $state(e){let t=this.getPublicState();this._state=e;let r=this.getPublicState();r!==t&&this._stateChangeEmitter.fire({oldState:t,newState:r})}getPublicState(){switch(this.$state){case we.Starting:return uo.Starting;case we.Running:return uo.Running;default:return uo.Stopped}}get initializeResult(){return this._initializeResult}async sendRequest(e,...t){if(this.$state===we.StartFailed||this.$state===we.Stopping||this.$state===we.Stopped)return Promise.reject(new $.ResponseError($.ErrorCodes.ConnectionInactive,"Client is not running"));let r=await this.$start();this._didChangeTextDocumentFeature.syncKind===$.TextDocumentSyncKind.Full&&await this.sendPendingFullTextDocumentChanges(r);let i=this._clientOptions.middleware?.sendRequest;if(i!==void 0){let o,s;return t.length===1?$.CancellationToken.is(t[0])?s=t[0]:o=t[0]:t.length===2&&(o=t[0],s=t[1]),i(e,o,s,(a,c,l)=>{let d=[];return c!==void 0&&d.push(c),l!==void 0&&d.push(l),r.sendRequest(a,...d)})}else return r.sendRequest(e,...t)}onRequest(e,t){let r=typeof e=="string"?e:e.method;this._requestHandlers.set(r,t);let i=this.activeConnection(),o;return i!==void 0?(this._requestDisposables.set(r,i.onRequest(e,t)),o={dispose:()=>{let s=this._requestDisposables.get(r);s!==void 0&&(s.dispose(),this._requestDisposables.delete(r))}}):(this._pendingRequestHandlers.set(r,t),o={dispose:()=>{this._pendingRequestHandlers.delete(r);let s=this._requestDisposables.get(r);s!==void 0&&(s.dispose(),this._requestDisposables.delete(r))}}),{dispose:()=>{this._requestHandlers.delete(r),o.dispose()}}}async sendNotification(e,t){if(this.$state===we.StartFailed||this.$state===we.Stopping||this.$state===we.Stopped)return Promise.reject(new $.ResponseError($.ErrorCodes.ConnectionInactive,"Client is not running"));let r=this._didChangeTextDocumentFeature.syncKind===$.TextDocumentSyncKind.Full,i;r&&typeof e!="string"&&e.method===$.DidOpenTextDocumentNotification.method&&(i=t?.textDocument.uri,this._pendingOpenNotifications.add(i));let o=await this.$start();r&&await this.sendPendingFullTextDocumentChanges(o),i!==void 0&&this._pendingOpenNotifications.delete(i);let s=this._clientOptions.middleware?.sendNotification;return s?s(e,o.sendNotification.bind(o),t):o.sendNotification(e,t)}onNotification(e,t){let r=typeof e=="string"?e:e.method;this._notificationHandlers.set(r,t);let i=this.activeConnection(),o;return i!==void 0?(this._notificationDisposables.set(r,i.onNotification(e,t)),o={dispose:()=>{let s=this._notificationDisposables.get(r);s!==void 0&&(s.dispose(),this._notificationDisposables.delete(r))}}):(this._pendingNotificationHandlers.set(r,t),o={dispose:()=>{this._pendingNotificationHandlers.delete(r);let s=this._notificationDisposables.get(r);s!==void 0&&(s.dispose(),this._notificationDisposables.delete(r))}}),{dispose:()=>{this._notificationHandlers.delete(r),o.dispose()}}}async sendProgress(e,t,r){if(this.$state===we.StartFailed||this.$state===we.Stopping||this.$state===we.Stopped)return Promise.reject(new $.ResponseError($.ErrorCodes.ConnectionInactive,"Client is not running"));try{return(await this.$start()).sendProgress(e,t,r)}catch(i){throw this.error(`Sending progress for token ${t} failed.`,i),i}}onProgress(e,t,r){this._progressHandlers.set(t,{type:e,handler:r});let i=this.activeConnection(),o,s=this._clientOptions.middleware?.handleWorkDoneProgress,a=$.WorkDoneProgress.is(e)&&s!==void 0?c=>{s(t,c,()=>r(c))}:r;return i!==void 0?(this._progressDisposables.set(t,i.onProgress(e,t,a)),o={dispose:()=>{let c=this._progressDisposables.get(t);c!==void 0&&(c.dispose(),this._progressDisposables.delete(t))}}):(this._pendingProgressHandlers.set(t,{type:e,handler:r}),o={dispose:()=>{this._pendingProgressHandlers.delete(t);let c=this._progressDisposables.get(t);c!==void 0&&(c.dispose(),this._progressDisposables.delete(t))}}),{dispose:()=>{this._progressHandlers.delete(t),o.dispose()}}}createDefaultErrorHandler(e){if(e!==void 0&&e<0)throw new Error(`Invalid maxRestartCount: ${e}`);return new rf(this,e??4)}async setTrace(e){this._trace=e;let t=this.activeConnection();t!==void 0&&await t.trace(this._trace,this._tracer,{sendNotification:!1,traceFormat:this._traceFormat})}data2String(e){if(e instanceof $.ResponseError){let t=e;return` Message: ${t.message}
|
|
49
|
-
Code: ${t.code} ${t.data?`
|
|
50
|
-
`+t.data.toString():""}`}return e instanceof Error?kn.string(e.stack)?e.stack:e.message:kn.string(e)?e:e.toString()}debug(e,t,r=!0){this.logOutputMessage($.MessageType.Debug,jr.Debug,"Debug",e,t,r)}info(e,t,r=!0){this.logOutputMessage($.MessageType.Info,jr.Info,"Info",e,t,r)}warn(e,t,r=!0){this.logOutputMessage($.MessageType.Warning,jr.Warn,"Warn",e,t,r)}error(e,t,r=!0){this.logOutputMessage($.MessageType.Error,jr.Error,"Error",e,t,r)}logOutputMessage(e,t,r,i,o,s){this.outputChannel.appendLine(`[${r.padEnd(5)} - ${new Date().toLocaleTimeString()}] ${i}`),o!=null&&this.outputChannel.appendLine(this.data2String(o)),(s==="force"||s&&this._clientOptions.revealOutputChannelOn<=t)&&this.showNotificationMessage(e,i)}showNotificationMessage(e,t){t=t??"A request has failed. See the output for more information.",(e===$.MessageType.Error?Le.window.showErrorMessage:e===$.MessageType.Warning?Le.window.showWarningMessage:Le.window.showInformationMessage)(t,"Go to output").then(i=>{i!==void 0&&this.outputChannel.show(!0)})}logTrace(e,t){this.traceOutputChannel.appendLine(`[Trace - ${new Date().toLocaleTimeString()}] ${e}`),t&&this.traceOutputChannel.appendLine(this.data2String(t))}logObjectTrace(e){e.isLSPMessage&&e.type?this.traceOutputChannel.append(`[LSP - ${new Date().toLocaleTimeString()}] `):this.traceOutputChannel.append(`[Trace - ${new Date().toLocaleTimeString()}] `),e&&this.traceOutputChannel.appendLine(`${JSON.stringify(e)}`)}needsStart(){return this.$state===we.Initial||this.$state===we.Stopping||this.$state===we.Stopped}needsStop(){return this.$state===we.Starting||this.$state===we.Running}activeConnection(){return this.$state===we.Running&&this._connection!==void 0?this._connection:void 0}isRunning(){return this.$state===we.Running}async start(){if(this._disposed==="disposing"||this._disposed==="disposed")throw new Error("Client got disposed and can't be restarted.");if(this.$state===we.Stopping)throw new Error("Client is currently stopping. Can only restart a full stopped client");if(this._onStart!==void 0)return this._onStart;let[e,t,r]=this.createOnStartPromise();this._onStart=e,this._diagnostics===void 0&&(this._diagnostics=this._clientOptions.diagnosticCollectionName?Le.languages.createDiagnosticCollection(this._clientOptions.diagnosticCollectionName):Le.languages.createDiagnosticCollection());for(let[i,o]of this._notificationHandlers)this._pendingNotificationHandlers.has(i)||this._pendingNotificationHandlers.set(i,o);for(let[i,o]of this._requestHandlers)this._pendingRequestHandlers.has(i)||this._pendingRequestHandlers.set(i,o);for(let[i,o]of this._progressHandlers)this._pendingProgressHandlers.has(i)||this._pendingProgressHandlers.set(i,o);this.$state=we.Starting;try{let i=await this.createConnection();i.onNotification($.LogMessageNotification.type,o=>{switch(o.type){case $.MessageType.Error:this.error(o.message,void 0,!1);break;case $.MessageType.Warning:this.warn(o.message,void 0,!1);break;case $.MessageType.Info:this.info(o.message,void 0,!1);break;case $.MessageType.Debug:this.debug(o.message,void 0,!1);break;default:this.outputChannel.appendLine(o.message)}}),i.onNotification($.ShowMessageNotification.type,o=>{switch(o.type){case $.MessageType.Error:Le.window.showErrorMessage(o.message);break;case $.MessageType.Warning:Le.window.showWarningMessage(o.message);break;case $.MessageType.Info:Le.window.showInformationMessage(o.message);break;default:Le.window.showInformationMessage(o.message)}}),i.onRequest($.ShowMessageRequest.type,o=>{let s;switch(o.type){case $.MessageType.Error:s=Le.window.showErrorMessage;break;case $.MessageType.Warning:s=Le.window.showWarningMessage;break;case $.MessageType.Info:s=Le.window.showInformationMessage;break;default:s=Le.window.showInformationMessage}let a=o.actions||[];return s(o.message,...a)}),i.onNotification($.TelemetryEventNotification.type,o=>{this._telemetryEmitter.fire(o)}),i.onRequest($.ShowDocumentRequest.type,async o=>{let s=async c=>{let l=this.protocol2CodeConverter.asUri(c.uri);try{if(c.external===!0)return{success:await Le.env.openExternal(l)};{let d={};return c.selection!==void 0&&(d.selection=this.protocol2CodeConverter.asRange(c.selection)),c.takeFocus===void 0||c.takeFocus===!1?d.preserveFocus=!0:c.takeFocus===!0&&(d.preserveFocus=!1),await Le.window.showTextDocument(l,d),{success:!0}}}catch{return{success:!1}}},a=this._clientOptions.middleware.window?.showDocument;return a!==void 0?a(o,s):s(o)}),i.listen(),await this.initialize(i),t()}catch(i){this.$state=we.StartFailed,this.error(`${this._name} client: couldn't create connection to server.`,i,"force"),r(i)}return this._onStart}createOnStartPromise(){let e,t;return[new Promise((i,o)=>{e=i,t=o}),e,t]}async initialize(e){this.refreshTrace(e,!1);let t=this._clientOptions.initializationOptions,[r,i]=this._clientOptions.workspaceFolder!==void 0?[this._clientOptions.workspaceFolder.uri.fsPath,[{uri:this._c2p.asUri(this._clientOptions.workspaceFolder.uri),name:this._clientOptions.workspaceFolder.name}]]:[this._clientGetRootPath(),null],o={processId:null,clientInfo:{name:Le.env.appName,version:Le.version},locale:this.getLocale(),rootPath:r||null,rootUri:r?this._c2p.asUri(Le.Uri.file(r)):null,capabilities:this.computeClientCapabilities(),initializationOptions:kn.func(t)?t():t,trace:$.Trace.toString(this._trace),workspaceFolders:i};if(this.fillInitializeParams(o),this._clientOptions.progressOnInitialization){let s=Lb.generateUuid(),a=new bR.ProgressPart(e,s);o.workDoneToken=s;try{let c=await this.doInitialize(e,o);return a.done(),c}catch(c){throw a.cancel(),c}}else return this.doInitialize(e,o)}async doInitialize(e,t){try{let r=await e.initialize(t);if(r.capabilities.positionEncoding!==void 0&&r.capabilities.positionEncoding!==$.PositionEncodingKind.UTF16)throw new Error(`Unsupported position encoding (${r.capabilities.positionEncoding}) received from server ${this.name}`);this._initializeResult=r,this.$state=we.Running;let i;kn.number(r.capabilities.textDocumentSync)?r.capabilities.textDocumentSync===$.TextDocumentSyncKind.None?i={openClose:!1,change:$.TextDocumentSyncKind.None,save:void 0}:i={openClose:!0,change:r.capabilities.textDocumentSync,save:{includeText:!1}}:r.capabilities.textDocumentSync!==void 0&&r.capabilities.textDocumentSync!==null&&(i=r.capabilities.textDocumentSync),this._capabilities=Object.assign({},r.capabilities,{resolvedTextDocumentSync:i}),e.onNotification($.PublishDiagnosticsNotification.type,o=>this.handleDiagnostics(o)),e.onRequest($.RegistrationRequest.type,o=>this.handleRegistrationRequest(o)),e.onRequest("client/registerFeature",o=>this.handleRegistrationRequest(o)),e.onRequest($.UnregistrationRequest.type,o=>this.handleUnregistrationRequest(o)),e.onRequest("client/unregisterFeature",o=>this.handleUnregistrationRequest(o)),e.onRequest($.ApplyWorkspaceEditRequest.type,o=>this.handleApplyWorkspaceEdit(o));for(let[o,s]of this._pendingNotificationHandlers)this._notificationDisposables.set(o,e.onNotification(o,s));this._pendingNotificationHandlers.clear();for(let[o,s]of this._pendingRequestHandlers)this._requestDisposables.set(o,e.onRequest(o,s));this._pendingRequestHandlers.clear();for(let[o,s]of this._pendingProgressHandlers)this._progressDisposables.set(o,e.onProgress(s.type,o,s.handler));return this._pendingProgressHandlers.clear(),await e.sendNotification($.InitializedNotification.type,{}),this.hookFileEvents(e),this.hookConfigurationChanged(e),this.initializeFeatures(e),r}catch(r){throw this._clientOptions.initializationFailedHandler?this._clientOptions.initializationFailedHandler(r)?this.initialize(e):this.stop():r instanceof $.ResponseError&&r.data&&r.data.retry?Le.window.showErrorMessage(r.message,{title:"Retry",id:"retry"}).then(i=>{i&&i.id==="retry"?this.initialize(e):this.stop()}):(r&&r.message&&Le.window.showErrorMessage(r.message),this.error("Server initialization failed.",r),this.stop()),r}}_clientGetRootPath(){let e=Le.workspace.workspaceFolders;if(!e||e.length===0)return;let t=e[0];if(t.uri.scheme==="file")return t.uri.fsPath}stop(e=2e3){return this.shutdown("stop",e)}dispose(e=2e3){try{return this._disposed="disposing",this.stop(e)}finally{this._disposed="disposed"}}async shutdown(e,t){if(this.$state===we.Stopped||this.$state===we.Initial)return;if(this.$state===we.Stopping){if(this._onStop!==void 0)return this._onStop;throw new Error("Client is stopping but no stop promise available.")}let r=this.activeConnection();if(r===void 0||this.$state!==we.Running)throw new Error(`Client is not running and can't be stopped. It's current state is: ${this.$state}`);this._initializeResult=void 0,this.$state=we.Stopping,this.cleanUp(e);let i=new Promise(s=>{(0,$.RAL)().timer.setTimeout(s,t)}),o=(async s=>(await s.shutdown(),await s.exit(),s))(r);return this._onStop=Promise.race([i,o]).then(s=>{if(s!==void 0)s.end(),s.dispose();else throw this.error("Stopping server timed out",void 0,!1),new Error("Stopping the server timed out")},s=>{throw this.error("Stopping server failed",s,!1),s}).finally(()=>{this.$state=we.Stopped,e==="stop"&&this.cleanUpChannel(),this._onStart=void 0,this._onStop=void 0,this._connection=void 0,this._ignoredRegistrations.clear()})}cleanUp(e){this._fileEvents=[],this._fileEventDelayer.cancel();let t=this._listeners.splice(0,this._listeners.length);for(let r of t)r.dispose();this._syncedDocuments&&this._syncedDocuments.clear();for(let r of Array.from(this._features.entries()).map(i=>i[1]).reverse())r.clear();e==="stop"&&this._diagnostics!==void 0&&(this._diagnostics.dispose(),this._diagnostics=void 0),this._idleInterval!==void 0&&(this._idleInterval.dispose(),this._idleInterval=void 0)}cleanUpChannel(){this._outputChannel!==void 0&&this._disposeOutputChannel&&(this._outputChannel.dispose(),this._outputChannel=void 0)}notifyFileEvent(e){let t=this;async function r(o){return t._fileEvents.push(o),t._fileEventDelayer.trigger(async()=>{await t.sendNotification($.DidChangeWatchedFilesNotification.type,{changes:t._fileEvents}),t._fileEvents=[]})}let i=this.clientOptions.middleware?.workspace;(i?.didChangeWatchedFile?i.didChangeWatchedFile(e,r):r(e)).catch(o=>{t.error("Notify file events failed.",o)})}async sendPendingFullTextDocumentChanges(e){return this._pendingChangeSemaphore.lock(async()=>{try{let t=this._didChangeTextDocumentFeature.getPendingDocumentChanges(this._pendingOpenNotifications);if(t.length===0)return;for(let r of t){let i=this.code2ProtocolConverter.asChangeTextDocumentParams(r);await e.sendNotification($.DidChangeTextDocumentNotification.type,i),this._didChangeTextDocumentFeature.notificationSent(r,$.DidChangeTextDocumentNotification.type,i)}}catch(t){throw this.error("Sending pending changes failed",t,!1),t}})}triggerPendingChangeDelivery(){this._pendingChangeDelayer.trigger(async()=>{let e=this.activeConnection();if(e===void 0){this.triggerPendingChangeDelivery();return}await this.sendPendingFullTextDocumentChanges(e)}).catch(e=>this.error("Delivering pending changes failed",e,!1))}handleDiagnostics(e){if(!this._diagnostics)return;let t=e.uri;this._diagnosticQueueState.state==="busy"&&this._diagnosticQueueState.document===t&&this._diagnosticQueueState.tokenSource.cancel(),this._diagnosticQueue.set(e.uri,e.diagnostics),this.triggerDiagnosticQueue()}triggerDiagnosticQueue(){(0,$.RAL)().timer.setImmediate(()=>{this.workDiagnosticQueue()})}workDiagnosticQueue(){if(this._diagnosticQueueState.state==="busy")return;let e=this._diagnosticQueue.entries().next();if(e.done===!0)return;let[t,r]=e.value;this._diagnosticQueue.delete(t);let i=new Le.CancellationTokenSource;this._diagnosticQueueState={state:"busy",document:t,tokenSource:i},this._p2c.asDiagnostics(r,i.token).then(o=>{if(!i.token.isCancellationRequested){let s=this._p2c.asUri(t),a=this.clientOptions.middleware;a.handleDiagnostics?a.handleDiagnostics(s,o,(c,l)=>this.setDiagnostics(c,l)):this.setDiagnostics(s,o)}}).finally(()=>{this._diagnosticQueueState={state:"idle"},this.triggerDiagnosticQueue()})}setDiagnostics(e,t){this._diagnostics&&this._diagnostics.set(e,t)}getLocale(){return Le.env.language}async $start(){if(this.$state===we.StartFailed)throw new Error("Previous start failed. Can't restart server.");await this.start();let e=this.activeConnection();if(e===void 0)throw new Error("Starting server failed");return e}async createConnection(){let e=(i,o,s)=>{this.handleConnectionError(i,o,s).catch(a=>this.error("Handling connection error failed",a))},t=()=>{this.handleConnectionClosed().catch(i=>this.error("Handling connection close failed",i))},r=await this.createMessageTransports(this._clientOptions.stdioEncoding||"utf8");return this._connection=XR(r.reader,r.writer,e,t,this._clientOptions.connectionOptions),this._connection}async handleConnectionClosed(){if(this.$state===we.Stopped)return;try{this._connection!==void 0&&this._connection.dispose()}catch{}let e={action:Dr.DoNotRestart};if(this.$state!==we.Stopping)try{e=await this._clientOptions.errorHandler.closed()}catch{}this._connection=void 0,e.action===Dr.DoNotRestart?(this.error(e.message??"Connection to server got closed. Server will not be restarted.",void 0,e.handled===!0?!1:"force"),this.cleanUp("stop"),this.$state===we.Starting?this.$state=we.StartFailed:this.$state=we.Stopped,this._onStop=Promise.resolve(),this._onStart=void 0):e.action===Dr.Restart&&(this.info(e.message??"Connection to server got closed. Server will restart.",!e.handled),this.cleanUp("restart"),this.$state=we.Initial,this._onStop=Promise.resolve(),this._onStart=void 0,this.start().catch(t=>this.error("Restarting server failed",t,"force")))}async handleConnectionError(e,t,r){let i=await this._clientOptions.errorHandler.error(e,t,r);i.action===lo.Shutdown?(this.error(i.message??`Client ${this._name}: connection to server is erroring.
|
|
51
|
-
${e.message}
|
|
52
|
-
Shutting down server.`,void 0,i.handled===!0?!1:"force"),this.stop().catch(o=>{this.error("Stopping server failed",o,!1)})):this.error(i.message??`Client ${this._name}: connection to server is erroring.
|
|
53
|
-
${e.message}`,void 0,i.handled===!0?!1:"force")}hookConfigurationChanged(e){this._listeners.push(Le.workspace.onDidChangeConfiguration(()=>{this.refreshTrace(e,!0)}))}refreshTrace(e,t=!1){let r=Le.workspace.getConfiguration(this._id),i=$.Trace.Off,o=$.TraceFormat.Text;if(r){let s=r.get("trace.server","off");typeof s=="string"?i=$.Trace.fromString(s):(i=$.Trace.fromString(r.get("trace.server.verbosity","off")),o=$.TraceFormat.fromString(r.get("trace.server.format","text")))}this._trace=i,this._traceFormat=o,e.trace(this._trace,this._tracer,{sendNotification:t,traceFormat:this._traceFormat}).catch(s=>{this.error("Updating trace failed with error",s,!1)})}hookFileEvents(e){let t=this._clientOptions.synchronize.fileEvents;if(!t)return;let r;kn.array(t)?r=t:r=[t],r&&this._dynamicFeatures.get($.DidChangeWatchedFilesNotification.type.method).registerRaw(Lb.generateUuid(),r)}registerFeatures(e){for(let t of e)this.registerFeature(t)}registerFeature(e){if(this._features.push(e),Pn.DynamicFeature.is(e)){let t=e.registrationType;this._dynamicFeatures.set(t.method,e)}}getFeature(e){return this._dynamicFeatures.get(e)}hasDedicatedTextSynchronizationFeature(e){let t=this.getFeature($.NotebookDocumentSyncRegistrationType.method);return t===void 0||!(t instanceof Nb.NotebookDocumentSyncFeature)?!1:t.handles(e)}registerBuiltinFeatures(){let e=new Map;this.registerFeature(new jb.ConfigurationFeature(this)),this.registerFeature(new Di.DidOpenTextDocumentFeature(this,this._syncedDocuments)),this._didChangeTextDocumentFeature=new Di.DidChangeTextDocumentFeature(this,e),this._didChangeTextDocumentFeature.onPendingChangeAdded(()=>{this.triggerPendingChangeDelivery()}),this.registerFeature(this._didChangeTextDocumentFeature),this.registerFeature(new Di.WillSaveFeature(this)),this.registerFeature(new Di.WillSaveWaitUntilFeature(this)),this.registerFeature(new Di.DidSaveTextDocumentFeature(this)),this.registerFeature(new Di.DidCloseTextDocumentFeature(this,this._syncedDocuments,e)),this.registerFeature(new OR.FileSystemWatcherFeature(this,t=>this.notifyFileEvent(t))),this.registerFeature(new CR.CompletionItemFeature(this)),this.registerFeature(new DR.HoverFeature(this)),this.registerFeature(new _R.SignatureHelpFeature(this)),this.registerFeature(new SR.DefinitionFeature(this)),this.registerFeature(new kR.ReferencesFeature(this)),this.registerFeature(new TR.DocumentHighlightFeature(this)),this.registerFeature(new RR.DocumentSymbolFeature(this)),this.registerFeature(new PR.WorkspaceSymbolFeature(this)),this.registerFeature(new ER.CodeActionFeature(this)),this.registerFeature(new xR.CodeLensFeature(this)),this.registerFeature(new tf.DocumentFormattingFeature(this)),this.registerFeature(new tf.DocumentRangeFormattingFeature(this)),this.registerFeature(new tf.DocumentOnTypeFormattingFeature(this)),this.registerFeature(new qR.RenameFeature(this)),this.registerFeature(new IR.DocumentLinkFeature(this)),this.registerFeature(new FR.ExecuteCommandFeature(this)),this.registerFeature(new jb.SyncConfigurationFeature(this)),this.registerFeature(new LR.TypeDefinitionFeature(this)),this.registerFeature(new AR.ImplementationFeature(this)),this.registerFeature(new MR.ColorProviderFeature(this)),this.clientOptions.workspaceFolder===void 0&&this.registerFeature(new NR.WorkspaceFoldersFeature(this)),this.registerFeature(new jR.FoldingRangeFeature(this)),this.registerFeature(new $R.DeclarationFeature(this)),this.registerFeature(new UR.SelectionRangeFeature(this)),this.registerFeature(new HR.ProgressFeature(this)),this.registerFeature(new WR.CallHierarchyFeature(this)),this.registerFeature(new KR.SemanticTokensFeature(this)),this.registerFeature(new VR.LinkedEditingFeature(this)),this.registerFeature(new Si.DidCreateFilesFeature(this)),this.registerFeature(new Si.DidRenameFilesFeature(this)),this.registerFeature(new Si.DidDeleteFilesFeature(this)),this.registerFeature(new Si.WillCreateFilesFeature(this)),this.registerFeature(new Si.WillRenameFilesFeature(this)),this.registerFeature(new Si.WillDeleteFilesFeature(this)),this.registerFeature(new zR.TypeHierarchyFeature(this)),this.registerFeature(new BR.InlineValueFeature(this)),this.registerFeature(new GR.InlayHintsFeature(this)),this.registerFeature(new wR.DiagnosticFeature(this)),this.registerFeature(new Nb.NotebookDocumentSyncFeature(this))}registerProposedFeatures(){this.registerFeatures(sf.createAll(this))}fillInitializeParams(e){for(let t of this._features)kn.func(t.fillInitializeParams)&&t.fillInitializeParams(e)}computeClientCapabilities(){let e={};(0,Pn.ensure)(e,"workspace").applyEdit=!0;let t=(0,Pn.ensure)((0,Pn.ensure)(e,"workspace"),"workspaceEdit");t.documentChanges=!0,t.resourceOperations=[$.ResourceOperationKind.Create,$.ResourceOperationKind.Rename,$.ResourceOperationKind.Delete],t.failureHandling=$.FailureHandlingKind.TextOnlyTransactional,t.normalizesLineEndings=!0,t.changeAnnotationSupport={groupsOnLabel:!0};let r=(0,Pn.ensure)((0,Pn.ensure)(e,"textDocument"),"publishDiagnostics");r.relatedInformation=!0,r.versionSupport=!1,r.tagSupport={valueSet:[$.DiagnosticTag.Unnecessary,$.DiagnosticTag.Deprecated]},r.codeDescriptionSupport=!0,r.dataSupport=!0;let i=(0,Pn.ensure)(e,"window"),o=(0,Pn.ensure)(i,"showMessage");o.messageActionItem={additionalPropertiesSupport:!0};let s=(0,Pn.ensure)(i,"showDocument");s.support=!0;let a=(0,Pn.ensure)(e,"general");a.staleRequestSupport={cancel:!0,retryOnContentModified:Array.from(n.RequestsToCancelOnContentModified)},a.regularExpressions={engine:"ECMAScript",version:"ES2020"},a.markdown={parser:"marked",version:"1.1.0"},a.positionEncodings=["utf-16"],this._clientOptions.markdown.supportHtml&&(a.markdown.allowedTags=["ul","li","p","code","blockquote","ol","h1","h2","h3","h4","h5","h6","hr","em","pre","table","thead","tbody","tr","th","td","div","del","a","strong","br","img","span"]);for(let c of this._features)c.fillClientCapabilities(e);return e}initializeFeatures(e){let t=this._clientOptions.documentSelector;for(let r of this._features)kn.func(r.preInitialize)&&r.preInitialize(this._capabilities,t);for(let r of this._features)r.initialize(this._capabilities,t)}async handleRegistrationRequest(e){let t=this.clientOptions.middleware?.handleRegisterCapability;return t?t(e,r=>this.doRegisterCapability(r)):this.doRegisterCapability(e)}async doRegisterCapability(e){if(!this.isRunning()){for(let t of e.registrations)this._ignoredRegistrations.add(t.id);return}for(let t of e.registrations){let r=this._dynamicFeatures.get(t.method);if(r===void 0)return Promise.reject(new Error(`No feature implementation for ${t.method} found. Registration failed.`));let i=t.registerOptions??{};i.documentSelector=i.documentSelector??this._clientOptions.documentSelector;let o={id:t.id,registerOptions:i};try{r.register(o)}catch(s){return Promise.reject(s)}}}async handleUnregistrationRequest(e){let t=this.clientOptions.middleware?.handleUnregisterCapability;return t?t(e,r=>this.doUnregisterCapability(r)):this.doUnregisterCapability(e)}async doUnregisterCapability(e){for(let t of e.unregisterations){if(this._ignoredRegistrations.has(t.id))continue;let r=this._dynamicFeatures.get(t.method);if(!r)return Promise.reject(new Error(`No feature implementation for ${t.method} found. Unregistration failed.`));r.unregister(t.id)}}async handleApplyWorkspaceEdit(e){let t=e.edit,r=await this.workspaceEditLock.lock(()=>this._p2c.asWorkspaceEdit(t)),i=new Map;Le.workspace.textDocuments.forEach(s=>i.set(s.uri.toString(),s));let o=!1;if(t.documentChanges){for(let s of t.documentChanges)if($.TextDocumentEdit.is(s)&&s.textDocument.version&&s.textDocument.version>=0){let a=this._p2c.asUri(s.textDocument.uri).toString(),c=i.get(a);if(c&&c.version!==s.textDocument.version){o=!0;break}}}return o?Promise.resolve({applied:!1}):kn.asPromise(Le.workspace.applyEdit(r).then(s=>({applied:s})))}handleFailedRequest(e,t,r,i,o=!0){if(r instanceof $.ResponseError){if(r.code===$.ErrorCodes.PendingResponseRejected||r.code===$.ErrorCodes.ConnectionInactive)return i;if(r.code===$.LSPErrorCodes.RequestCancelled||r.code===$.LSPErrorCodes.ServerCancelled){if(t!==void 0&&t.isCancellationRequested)return i;throw r.data!==void 0?new Pn.LSPCancellationError(r.data):new Le.CancellationError}else if(r.code===$.LSPErrorCodes.ContentModified){if(n.RequestsToCancelOnContentModified.has(e.method)||n.CancellableResolveCalls.has(e.method))throw new Le.CancellationError;return i}}throw this.error(`Request ${e.method} failed.`,r,o),r}};bt.BaseLanguageClient=fo;fo.RequestsToCancelOnContentModified=new Set([$.SemanticTokensRequest.method,$.SemanticTokensRangeRequest.method,$.SemanticTokensDeltaRequest.method]);fo.CancellableResolveCalls=new Set([$.CompletionResolveRequest.method,$.CodeLensResolveRequest.method,$.CodeActionResolveRequest.method,$.InlayHintResolveRequest.method,$.DocumentLinkResolveRequest.method,$.WorkspaceSymbolResolveRequest.method]);var of=class{error(e){(0,$.RAL)().console.error(e)}warn(e){(0,$.RAL)().console.warn(e)}info(e){(0,$.RAL)().console.info(e)}log(e){(0,$.RAL)().console.log(e)}};function XR(n,e,t,r,i){let o=new of,s=(0,$.createProtocolConnection)(n,e,o,i);return s.onError(c=>{t(c[0],c[1],c[2])}),s.onClose(r),{listen:()=>s.listen(),sendRequest:s.sendRequest,onRequest:s.onRequest,hasPendingResponse:s.hasPendingResponse,sendNotification:s.sendNotification,onNotification:s.onNotification,onProgress:s.onProgress,sendProgress:s.sendProgress,trace:(c,l,d)=>{let g={sendNotification:!1,traceFormat:$.TraceFormat.Text};return d===void 0?s.trace(c,l,g):(kn.boolean(d),s.trace(c,l,d))},initialize:c=>s.sendRequest($.InitializeRequest.type,c),shutdown:()=>s.sendRequest($.ShutdownRequest.type,void 0),exit:()=>s.sendNotification($.ExitNotification.type),end:()=>s.end(),dispose:()=>s.dispose()}}var sf;(function(n){function e(t){return[new JR.InlineCompletionItemFeature(t)]}n.createAll=e})(sf||(bt.ProposedFeatures=sf={}))});var Wb=E(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.terminate=void 0;var Hb=require("child_process"),QR=require("path"),YR=process.platform==="win32",ZR=process.platform==="darwin",eP=process.platform==="linux";function tP(n,e){if(YR)try{let i={stdio:["pipe","pipe","ignore"]};return e&&(i.cwd=e),Hb.execFileSync("taskkill",["/T","/F","/PID",n.pid.toString()],i),!0}catch{return!1}else if(eP||ZR)try{var t=(0,QR.join)(__dirname,"terminateProcess.sh"),r=Hb.spawnSync(t,[n.pid.toString()]);return!r.error}catch{return!1}else return n.kill("SIGKILL"),!0}ba.terminate=tP});var cf=E((p0,Kb)=>{"use strict";Kb.exports=fe()});var zb=E(tn=>{"use strict";var nP=tn&&tn.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(n,r,i)}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),uf=tn&&tn.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&nP(e,n,t)};Object.defineProperty(tn,"__esModule",{value:!0});tn.DiagnosticPullMode=tn.vsdiag=void 0;uf(fe(),tn);uf(Ee(),tn);var Vb=Tl();Object.defineProperty(tn,"vsdiag",{enumerable:!0,get:function(){return Vb.vsdiag}});Object.defineProperty(tn,"DiagnosticPullMode",{enumerable:!0,get:function(){return Vb.DiagnosticPullMode}});uf(af(),tn)});var Xb=E(Bt=>{"use strict";var rP=Bt&&Bt.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(n,r,i)}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),Jb=Bt&&Bt.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&rP(e,n,t)};Object.defineProperty(Bt,"__esModule",{value:!0});Bt.SettingMonitor=Bt.LanguageClient=Bt.TransportKind=void 0;var tr=require("child_process"),lf=require("fs"),df=require("path"),_r=require("vscode"),Qe=un(),Bb=af(),iP=Wb(),et=cf(),oP=ar(),sP=Hr();Jb(cf(),Bt);Jb(zb(),Bt);var Gb="^1.82.0",tt;(function(n){n[n.stdio=0]="stdio",n[n.ipc=1]="ipc",n[n.pipe=2]="pipe",n[n.socket=3]="socket"})(tt||(Bt.TransportKind=tt={}));var Sr;(function(n){function e(t){let r=t;return r&&r.kind===tt.socket&&Qe.number(r.port)}n.isSocket=e})(Sr||(Sr={}));var ff;(function(n){function e(t){return Qe.string(t.command)}n.is=e})(ff||(ff={}));var pf;(function(n){function e(t){return Qe.string(t.module)}n.is=e})(pf||(pf={}));var hf;(function(n){function e(t){let r=t;return r&&r.writer!==void 0&&r.reader!==void 0}n.is=e})(hf||(hf={}));var gf;(function(n){function e(t){let r=t;return r&&r.process!==void 0&&typeof r.detached=="boolean"}n.is=e})(gf||(gf={}));var mf=class extends Bb.BaseLanguageClient{constructor(e,t,r,i,o){let s,a,c,l,d;Qe.string(t)?(s=e,a=t,c=r,l=i,d=!!o):(s=e.toLowerCase(),a=e,c=t,l=r,d=i),d===void 0&&(d=!1),super(s,a,l),this._serverOptions=c,this._forceDebug=d,this._isInDebugMode=d;try{this.checkVersion()}catch(g){throw Qe.string(g.message)&&this.outputChannel.appendLine(g.message),g}}checkVersion(){let e=oP(_r.version);if(!e)throw new Error(`No valid VS Code version detected. Version string is: ${_r.version}`);if(e.prerelease&&e.prerelease.length>0&&(e.prerelease=[]),!sP(e,Gb))throw new Error(`The language client requires VS Code version ${Gb} but received version ${_r.version}`)}get isInDebugMode(){return this._isInDebugMode}async restart(){await this.stop(),this.isInDebugMode?(await new Promise(e=>setTimeout(e,1e3)),await this.start()):await this.start()}stop(e=2e3){return super.stop(e).finally(()=>{if(this._serverProcess){let t=this._serverProcess;this._serverProcess=void 0,(this._isDetached===void 0||!this._isDetached)&&this.checkProcessDied(t),this._isDetached=void 0}})}checkProcessDied(e){!e||e.pid===void 0||setTimeout(()=>{try{e.pid!==void 0&&(process.kill(e.pid,0),(0,iP.terminate)(e))}catch{}},2e3)}handleConnectionClosed(){return this._serverProcess=void 0,super.handleConnectionClosed()}fillInitializeParams(e){super.fillInitializeParams(e),e.processId===null&&(e.processId=process.pid)}createMessageTransports(e){function t(d,g){if(!d&&!g)return;let m=Object.create(null);return Object.keys(process.env).forEach(y=>m[y]=process.env[y]),g&&(m.ELECTRON_RUN_AS_NODE="1",m.ELECTRON_NO_ASAR="1"),d&&Object.keys(d).forEach(y=>m[y]=d[y]),m}let r=["--debug=","--debug-brk=","--inspect=","--inspect-brk="],i=["--debug","--debug-brk","--inspect","--inspect-brk"];function o(){let d=process.execArgv;return d?d.some(g=>r.some(m=>g.startsWith(m))||i.some(m=>g===m)):!1}function s(d){if(d.stdin===null||d.stdout===null||d.stderr===null)throw new Error("Process created without stdio streams")}let a=this._serverOptions;if(Qe.func(a))return a().then(d=>{if(Bb.MessageTransports.is(d))return this._isDetached=!!d.detached,d;if(hf.is(d))return this._isDetached=!!d.detached,{reader:new et.StreamMessageReader(d.reader),writer:new et.StreamMessageWriter(d.writer)};{let g;return gf.is(d)?(g=d.process,this._isDetached=d.detached):(g=d,this._isDetached=!1),g.stderr.on("data",m=>this.outputChannel.append(Qe.string(m)?m:m.toString(e))),{reader:new et.StreamMessageReader(g.stdout),writer:new et.StreamMessageWriter(g.stdin)}}});let c,l=a;return l.run||l.debug?this._forceDebug||o()?(c=l.debug,this._isInDebugMode=!0):(c=l.run,this._isInDebugMode=!1):c=a,this._getServerWorkingDir(c.options).then(d=>{if(pf.is(c)&&c.module){let g=c,m=g.transport||tt.stdio;if(g.runtime){let y=[],v=g.options??Object.create(null);v.execArgv&&v.execArgv.forEach(N=>y.push(N)),y.push(g.module),g.args&&g.args.forEach(N=>y.push(N));let T=Object.create(null);T.cwd=d,T.env=t(v.env,!1);let P=this._getRuntimePath(g.runtime,d),q;if(m===tt.ipc?(T.stdio=[null,null,null,"ipc"],y.push("--node-ipc")):m===tt.stdio?y.push("--stdio"):m===tt.pipe?(q=(0,et.generateRandomPipeName)(),y.push(`--pipe=${q}`)):Sr.isSocket(m)&&y.push(`--socket=${m.port}`),y.push(`--clientProcessId=${process.pid.toString()}`),m===tt.ipc||m===tt.stdio){let N=tr.spawn(P,y,T);return!N||!N.pid?_i(N,`Launching server using runtime ${P} failed.`):(this._serverProcess=N,N.stderr.on("data",L=>this.outputChannel.append(Qe.string(L)?L:L.toString(e))),m===tt.ipc?(N.stdout.on("data",L=>this.outputChannel.append(Qe.string(L)?L:L.toString(e))),Promise.resolve({reader:new et.IPCMessageReader(N),writer:new et.IPCMessageWriter(N)})):Promise.resolve({reader:new et.StreamMessageReader(N.stdout),writer:new et.StreamMessageWriter(N.stdin)}))}else{if(m===tt.pipe)return(0,et.createClientPipeTransport)(q).then(N=>{let L=tr.spawn(P,y,T);return!L||!L.pid?_i(L,`Launching server using runtime ${P} failed.`):(this._serverProcess=L,L.stderr.on("data",K=>this.outputChannel.append(Qe.string(K)?K:K.toString(e))),L.stdout.on("data",K=>this.outputChannel.append(Qe.string(K)?K:K.toString(e))),N.onConnected().then(K=>({reader:K[0],writer:K[1]})))});if(Sr.isSocket(m))return(0,et.createClientSocketTransport)(m.port).then(N=>{let L=tr.spawn(P,y,T);return!L||!L.pid?_i(L,`Launching server using runtime ${P} failed.`):(this._serverProcess=L,L.stderr.on("data",K=>this.outputChannel.append(Qe.string(K)?K:K.toString(e))),L.stdout.on("data",K=>this.outputChannel.append(Qe.string(K)?K:K.toString(e))),N.onConnected().then(K=>({reader:K[0],writer:K[1]})))})}}else{let y;return new Promise((v,T)=>{let P=(g.args&&g.args.slice())??[];m===tt.ipc?P.push("--node-ipc"):m===tt.stdio?P.push("--stdio"):m===tt.pipe?(y=(0,et.generateRandomPipeName)(),P.push(`--pipe=${y}`)):Sr.isSocket(m)&&P.push(`--socket=${m.port}`),P.push(`--clientProcessId=${process.pid.toString()}`);let q=g.options??Object.create(null);if(q.env=t(q.env,!0),q.execArgv=q.execArgv||[],q.cwd=d,q.silent=!0,m===tt.ipc||m===tt.stdio){let N=tr.fork(g.module,P||[],q);s(N),this._serverProcess=N,N.stderr.on("data",L=>this.outputChannel.append(Qe.string(L)?L:L.toString(e))),m===tt.ipc?(N.stdout.on("data",L=>this.outputChannel.append(Qe.string(L)?L:L.toString(e))),v({reader:new et.IPCMessageReader(this._serverProcess),writer:new et.IPCMessageWriter(this._serverProcess)})):v({reader:new et.StreamMessageReader(N.stdout),writer:new et.StreamMessageWriter(N.stdin)})}else m===tt.pipe?(0,et.createClientPipeTransport)(y).then(N=>{let L=tr.fork(g.module,P||[],q);s(L),this._serverProcess=L,L.stderr.on("data",K=>this.outputChannel.append(Qe.string(K)?K:K.toString(e))),L.stdout.on("data",K=>this.outputChannel.append(Qe.string(K)?K:K.toString(e))),N.onConnected().then(K=>{v({reader:K[0],writer:K[1]})},T)},T):Sr.isSocket(m)&&(0,et.createClientSocketTransport)(m.port).then(N=>{let L=tr.fork(g.module,P||[],q);s(L),this._serverProcess=L,L.stderr.on("data",K=>this.outputChannel.append(Qe.string(K)?K:K.toString(e))),L.stdout.on("data",K=>this.outputChannel.append(Qe.string(K)?K:K.toString(e))),N.onConnected().then(K=>{v({reader:K[0],writer:K[1]})},T)},T)})}}else if(ff.is(c)&&c.command){let g=c,m=c.args!==void 0?c.args.slice(0):[],y,v=c.transport;if(v===tt.stdio)m.push("--stdio");else if(v===tt.pipe)y=(0,et.generateRandomPipeName)(),m.push(`--pipe=${y}`);else if(Sr.isSocket(v))m.push(`--socket=${v.port}`);else if(v===tt.ipc)throw new Error("Transport kind ipc is not support for command executable");let T=Object.assign({},g.options);if(T.cwd=T.cwd||d,v===void 0||v===tt.stdio){let P=tr.spawn(g.command,m,T);return!P||!P.pid?_i(P,`Launching server using command ${g.command} failed.`):(P.stderr.on("data",q=>this.outputChannel.append(Qe.string(q)?q:q.toString(e))),this._serverProcess=P,this._isDetached=!!T.detached,Promise.resolve({reader:new et.StreamMessageReader(P.stdout),writer:new et.StreamMessageWriter(P.stdin)}))}else{if(v===tt.pipe)return(0,et.createClientPipeTransport)(y).then(P=>{let q=tr.spawn(g.command,m,T);return!q||!q.pid?_i(q,`Launching server using command ${g.command} failed.`):(this._serverProcess=q,this._isDetached=!!T.detached,q.stderr.on("data",N=>this.outputChannel.append(Qe.string(N)?N:N.toString(e))),q.stdout.on("data",N=>this.outputChannel.append(Qe.string(N)?N:N.toString(e))),P.onConnected().then(N=>({reader:N[0],writer:N[1]})))});if(Sr.isSocket(v))return(0,et.createClientSocketTransport)(v.port).then(P=>{let q=tr.spawn(g.command,m,T);return!q||!q.pid?_i(q,`Launching server using command ${g.command} failed.`):(this._serverProcess=q,this._isDetached=!!T.detached,q.stderr.on("data",N=>this.outputChannel.append(Qe.string(N)?N:N.toString(e))),q.stdout.on("data",N=>this.outputChannel.append(Qe.string(N)?N:N.toString(e))),P.onConnected().then(N=>({reader:N[0],writer:N[1]})))})}}return Promise.reject(new Error("Unsupported server configuration "+JSON.stringify(a,null,4)))}).finally(()=>{this._serverProcess!==void 0&&this._serverProcess.on("exit",(d,g)=>{d!==null&&this.error(`Server process exited with code ${d}.`,void 0,!1),g!==null&&this.error(`Server process exited with signal ${g}.`,void 0,!1)})})}_getRuntimePath(e,t){if(df.isAbsolute(e))return e;let r=this._mainGetRootPath();if(r!==void 0){let i=df.join(r,e);if(lf.existsSync(i))return i}if(t!==void 0){let i=df.join(t,e);if(lf.existsSync(i))return i}return e}_mainGetRootPath(){let e=_r.workspace.workspaceFolders;if(!e||e.length===0)return;let t=e[0];if(t.uri.scheme==="file")return t.uri.fsPath}_getServerWorkingDir(e){let t=e&&e.cwd;return t||(t=this.clientOptions.workspaceFolder?this.clientOptions.workspaceFolder.uri.fsPath:this._mainGetRootPath()),t?new Promise(r=>{lf.lstat(t,(i,o)=>{r(!i&&o.isDirectory()?t:void 0)})}):Promise.resolve(void 0)}};Bt.LanguageClient=mf;var vf=class{constructor(e,t){this._client=e,this._setting=t,this._listeners=[]}start(){return _r.workspace.onDidChangeConfiguration(this.onDidChangeConfiguration,this,this._listeners),this.onDidChangeConfiguration(),new _r.Disposable(()=>{this._client.needsStop()&&this._client.stop()})}onDidChangeConfiguration(){let e=this._setting.indexOf("."),t=e>=0?this._setting.substr(0,e):this._setting,r=e>=0?this._setting.substr(e+1):void 0,i=r?_r.workspace.getConfiguration(t).get(r,!1):_r.workspace.getConfiguration(t);i&&this._client.needsStart()?this._client.start().catch(o=>this._client.error("Start failed after configuration change",o,"force")):!i&&this._client.needsStop()&&this._client.stop().catch(o=>this._client.error("Stop failed after configuration change",o,"force"))}};Bt.SettingMonitor=vf;function _i(n,e){return n===null?Promise.reject(e):new Promise((t,r)=>{n.on("error",i=>{r(`${e} ${i}`)}),setImmediate(()=>r(e))})}});var Yb=E((m0,Qb)=>{"use strict";Qb.exports=Xb()});var rw=E((D0,uP)=>{uP.exports=`<!DOCTYPE html>\r
|
|
27
|
+
</html>`;function Kt(s,e){return isNaN(s)?e:isNaN(e)?s:Math.max(s,e)}var Ht=class s{constructor(e=0,t=0){this.timer=e;this.count=t}add(e){return e?new s(this.timer+e.timer,this.count+e.count):this}avg(){return this.timer/this.count}},oi=class{functions=new Map;lines=new Map;add(e){e.functions.forEach((t,n)=>{this.functions.set(n,t.add(this.functions.get(n)))}),e.lines.forEach((t,n)=>{this.lines.set(n,t.add(this.lines.get(n)))})}max(){let e={func:{timer:0,count:0,average:0},line:{timer:0,count:0,average:0}};return this.functions.forEach(t=>{e.func.timer=Kt(e.func.timer,t.timer),e.func.count=Kt(e.func.count,t.count),e.func.average=Kt(e.func.average,t.avg())}),this.lines.forEach(t=>{e.line.timer=Kt(e.line.timer,t.timer),e.line.count=Kt(e.line.count,t.count),e.line.average=Kt(e.line.average,t.avg())}),e}},Or=class{totalTime=0;file=new Map},ai=class s{constructor(e,t,n,i){this.name=e;this.value=t;this.filename=n;this.line=i}children=[];ToStringInner(e){return`${e}${this.name} : ${this.value}
|
|
28
|
+
${this.children.map(t=>t.ToStringInner(e+" ")).join(`
|
|
29
|
+
`)}`}ToString(){return this.ToStringInner("")}AddToChild(e,t,n,i){let r=this.children.find(o=>o.name===e);return r?r.value+=t:(r=new s(e,t,n,i),this.children.push(r)),r}Merge(e){this.value+=e.value,e.children.forEach(t=>{let n=this.children.find(i=>i.name===t.name);n?n.Merge(t):this.children.push(t)})}},Ar=class{totalTime=0;mod=new Map;getMod(e){let t=this.mod.get(e);return t||(t=new Or,this.mod.set(e,t)),t}getFile(e,t){let n=this.getMod(e),i=n.file.get(t);return i||(i=new oi,n.file.set(t,i)),i}AddModTime(e,t){this.totalTime+=t,this.getMod(e).totalTime+=t}AddLineTime(e,t,n,i,r){let o=this.getFile(e,t),c=new Ht(i,r),d=o.lines.get(n);o.lines.set(n,c.add(d))}AddFuncTime(e,t,n,i,r){let o=this.getFile(e,t),c=new Ht(i,r),d=o.functions.get(n);o.functions.set(n,c.add(d))}Report(e){let t=new oi;return this.mod.forEach(n=>{let i=n.file.get(e);i&&t.add(i)}),{totalTime:this.totalTime,fileData:t}}},ci=class{constructor(e,t,n){this.context=t;this.debug=n;this._disposables.push(O.debug.onDidReceiveDebugSessionCustomEvent(r=>this.onCustomEvent(r),this)),this._disposables.push(O.debug.onDidTerminateDebugSession(r=>this.onTerminate(r),this)),this.timeDecorationType=O.window.createTextEditorDecorationType({before:{contentText:"",color:new O.ThemeColor("factorio.ProfileTimerForeground")}}),this.funcDecorationType=O.window.createTextEditorDecorationType({after:{contentText:"",color:new O.ThemeColor("factorio.ProfileFunctionTimerForeground"),borderColor:new O.ThemeColor("factorio.ProfileFunctionTimerForeground"),border:"1px solid",margin:"0 0 0 3ch"}});let i=O.workspace.getConfiguration().get("factorio.profile.rulers",[]);this.rulerDecorationTypes=i.filter(r=>r.color||r.themeColor).map(r=>{let o=O.OverviewRulerLane.Right;switch(r.lane){case"Right":o=O.OverviewRulerLane.Right;break;case"Center":o=O.OverviewRulerLane.Center;break;case"Left":o=O.OverviewRulerLane.Left;break;case"Full":o=O.OverviewRulerLane.Full;break;default:break}return{type:O.window.createTextEditorDecorationType({overviewRulerColor:r.color??new O.ThemeColor(r.themeColor),overviewRulerLane:o}),threshold:r.threshold}}),this.statusBar=O.window.createStatusBarItem(),this._disposables.push(O.window.onDidChangeActiveTextEditor(r=>{r&&r.document.uri.scheme==="file"&&this.render(r)})),e&&this.createFlamePanel()}profileData=new Ar;profileTreeRoot=new ai("root",0);profileOverhead=new Ht(0,0);timeDecorationType;funcDecorationType;rulerDecorationTypes;statusBar;flamePanel;_disposables=[];onTerminate(e){e===this.debug&&this.dispose()}dispose(){this._disposables.forEach(e=>e.dispose()),this.timeDecorationType.dispose(),this.funcDecorationType.dispose(),this.rulerDecorationTypes.forEach(e=>{e.type.dispose()}),this.statusBar.dispose(),this.flamePanel&&this.flamePanel.dispose()}async onCustomEvent(e){if(e.session===this.debug&&e.event==="x-Factorio-Profile"){await this.parse(e.body);let t=O.window.activeTextEditor;t&&t.document.uri.scheme==="file"&&this.render(t)}}createFlamePanel(){if(this.flamePanel)return;this.flamePanel=O.window.createWebviewPanel("factorioProfile","Factorio Profile",O.ViewColumn.Two,{enableScripts:!0,localResourceRoots:[this.context.extensionUri]});let e=this.flamePanel.webview;e.html=Ha.replace("$Flamegraph.css$",e.asWebviewUri(O.Uri.joinPath(this.context.extensionUri,"/dist/Flamegraph.css")).toString()).replace("$Flamegraph.js$",e.asWebviewUri(O.Uri.joinPath(this.context.extensionUri,"/dist/Flamegraph.js")).toString()),e.onDidReceiveMessage(t=>{switch(t.command){case"init":e.postMessage({command:"update",data:this.profileTreeRoot});break;case"click":t.line&&t.line>0&&t.filename&&t.line&&O.window.showTextDocument(O.Uri.parse(t.filename),{selection:new O.Range(t.line,0,t.line,0),viewColumn:O.ViewColumn.One});break;default:break}}),this.flamePanel.onDidDispose(()=>this.flamePanel=void 0)}async parse(e){let t=e.split(`
|
|
30
|
+
`),n,i,r=[new ai("root",0)],o;for(let c of t){let d=c.split(":");switch(d[0]){case"PROFILE":break;case"PMN":{n=d[1].replace(/[\r\n]*/g,"");let l=parseFloat(d[3]);this.profileData.AddModTime(n,l)}break;case"PFN":n&&(i=await this.debug.customRequest("x-Factorio-ConvertPath",{path:d[1].replace(/[\r\n]*/g,"")}));break;case"PLN":if(n&&i){let l=parseInt(d[1]),p=parseFloat(d[3]),g=parseInt(d[4]);this.profileData.AddLineTime(n,i,l,p,g)}break;case"PFT":if(n&&i){let l=parseInt(d[1]),p=parseFloat(d[3]),g=parseInt(d[4]);this.profileData.AddFuncTime(n,i,l,p,g)}break;case"POV":{let l=parseFloat(d[2]);this.profileOverhead=this.profileOverhead.add(new Ht(l,1))}break;case"PROOT":n&&($a(r.length===1),o=r[0].AddToChild(n,0));break;case"PTREE":if(o){let l=d[1],p=await this.debug.customRequest("x-Factorio-ConvertPath",{path:d[2]}),g=d[3],h=l+":"+p+":"+g,v=parseFloat(d[5]);r.push(o),o=o.AddToChild(h,v,p,parseInt(g))}break;case"PTEND":o&&(r.length===1?o=void 0:o=r.pop());break}}$a(r.length===1),this.flamePanel&&this.flamePanel.visible&&this.flamePanel.webview.postMessage({command:"merge",data:r[0]}),this.profileTreeRoot.Merge(r[0])}render(e){let t=this.profileData.Report(e.document.uri.fsPath),n=t.fileData.max(),i=n.line.timer,r=n.line.average,o=n.line.count,c=new Array,d=new Array,l=this.rulerDecorationTypes.map((V,Z)=>({type:V.type,threshold:V.threshold,decs:new Array})),p=O.workspace.getConfiguration().get("factorio.profile.displayAverageTime"),g=O.workspace.getConfiguration().get("factorio.profile.colorBy","totaltime"),h=O.workspace.getConfiguration().get("factorio.profile.timerHighlightColor"),v={count:o,totaltime:i,averagetime:r}[g],f=Math.max(Number.MIN_VALUE,O.workspace.getConfiguration().get("factorio.profile.colorScaleFactor",1)),y={boost:V=>Math.log1p(V*f)/Math.log1p(v*f),linear:V=>V/v,mute:V=>(Math.pow(1+v,V*f/v)-1)/(v*f)}[O.workspace.getConfiguration().get("factorio.profile.colorScaleMode","boost")],w=o.toFixed(0).length+1,b=p?6:3,T=i.toFixed(b).length+1,P=w+T+3,q=t.fileData.lines.size>0,ce=t.fileData.functions.size>0;for(let V=1;V<=e.document.lineCount;V++){if(q){let Z=t.fileData.lines.get(V);if(Z){let Ye=Z.timer,ot=Z.count,Xe=p?Z.avg():Ye,at=y({count:ot,totaltime:Ye,averagetime:Z.avg()}[g]),Et=e.document.validateRange(new O.Range(V-1,0,V-1,1/0));c.push({range:Et,hoverMessage:p?`total: ${Ye}`:`avg: ${Z.avg()}`,renderOptions:{before:{backgroundColor:`${h}${Math.floor(255*at).toString(16)}`,contentText:`${ot.toFixed(0).padStart(w,"\xA0")}${Xe.toFixed(b).padStart(T,"\xA0")}\xA0ms`,width:`${P+1}ch`}}});let Mt=l.find(ct=>at>=ct.threshold);Mt&&Mt.decs.push({range:Et})}else c.push({range:e.document.validateRange(new O.Range(V-1,0,V-1,1/0)),renderOptions:{before:{width:`${P+1}ch`}}})}if(ce){let Z=t.fileData.functions.get(V);if(Z){let Ye=Z.timer,ot=Z.count,Xe=p?Z.avg():Ye,at=e.document.validateRange(new O.Range(V-1,0,V-1,1/0));d.push({range:at,renderOptions:{after:{contentText:`\xA0${ot.toFixed(0)}\xA0|\xA0${Xe.toFixed(b)}\xA0ms\xA0`,color:new O.ThemeColor("factorio.ProfileFunctionTimerForeground"),borderColor:new O.ThemeColor("factorio.ProfileFunctionTimerForeground"),margin:"0 0 0 3ch"}}})}}}e.setDecorations(this.timeDecorationType,c),e.setDecorations(this.funcDecorationType,d),l.forEach(V=>{e.setDecorations(V.type,V.decs)}),this.statusBar.text=`Profile Dump Avg ${this.profileOverhead.avg().toFixed(3)} ms`,this.statusBar.show()}clear(){O.window.visibleTextEditors.forEach(e=>{e.setDecorations(this.timeDecorationType,[]),e.setDecorations(this.funcDecorationType,[]),this.rulerDecorationTypes.forEach(t=>{e.setDecorations(t.type,[])})}),this.statusBar.hide()}};var di=class{constructor(e){this.context=e;e.subscriptions.push(Wa.debug.onDidStartDebugSession(t=>this.onDidStartDebugSession(t),this))}onDidStartDebugSession(e){e.type==="factoriomod"&&e.configuration.hookMode==="profile"&&new ci(e.configuration.profileTree??!0,this.context,e)}};var En=br(yd(),1);import*as wd from"path";import{workspace as Cd}from"vscode";function Dd(s){let e=s.asAbsolutePath(wd.join("dist","fmtk-cli.js")),t={execArgv:["--nolazy","--inspect-brk=34199"]},n={run:{module:e,transport:En.TransportKind.ipc,args:["lsp"]},debug:{module:e,transport:En.TransportKind.ipc,args:["lsp"],options:t}},i={documentSelector:[{language:"factorio-locale"},{language:"factorio-changelog"},{language:"lua"}],synchronize:{fileEvents:[Cd.createFileSystemWatcher("**/locale/*/*.cfg"),Cd.createFileSystemWatcher("**/changelog.txt")]}},r=new En.LanguageClient("factorioLanguageServer","Factorio Language Server",n,i);r.start(),s.subscriptions.push({dispose(){return r.stop()}})}import*as ve from"vscode";function Sd(s){return s.type==="int"?{type:"int",value:wp("",s.value)}:s}function wa(s,e){return typeof e=="bigint"?`jsonbigint ${e}n`:e}function wp(s,e){if(typeof e=="string"){let t=e.match(/^jsonbigint\x01\x02 (\d+)n$/);if(t)return BigInt(t[1])}return e}function rr(){let s="",e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";for(let t=0;t<32;t++)s+=e.charAt(Math.floor(Math.random()*e.length));return s}var _d=`<!DOCTYPE html>\r
|
|
54
31
|
<html lang="en">\r
|
|
55
32
|
<head>\r
|
|
56
33
|
<meta charset="UTF-8">\r
|
|
@@ -173,7 +150,7 @@ ${e.message}`,void 0,i.handled===!0?!1:"force")}hookConfigurationChanged(e){this
|
|
|
173
150
|
\r
|
|
174
151
|
<script type="module" nonce="$nonce$" src="$ModSettingsWebview.js$" defer/></script>\r
|
|
175
152
|
</body>\r
|
|
176
|
-
</html
|
|
153
|
+
</html>`;var sr=class{constructor(e){this.context=e;this.context.subscriptions.push(ve.window.registerCustomEditorProvider("fmtk.modsettings",this,{supportsMultipleEditorsPerDocument:!1,webviewOptions:{retainContextWhenHidden:!0}}))}webviews=new Map;_onDidChangeCustomDocument=new ve.EventEmitter;onDidChangeCustomDocument=this._onDidChangeCustomDocument.event;async saveCustomDocument(e,t){return e.save(t)}async saveCustomDocumentAs(e,t,n){return e.saveAs(t,n)}async revertCustomDocument(e,t){return e.revert(t)}async backupCustomDocument(e,t,n){return e.backup(t.destination,n)}async openCustomDocument(e,t,n){let i=await Da.create(e,t.backupId),r=[];return r.push(i.onDidChange(o=>{this._onDidChangeCustomDocument.fire({document:i,...o})})),r.push(i.onDidChangeContent(o=>{let c=this.webviews.get(i.uri.toString());c&&this.postMessage(c,"init",{version:i.version,saves_ints:i.saves_ints,settings:JSON.stringify(i.settings,wa),editable:ve.workspace.fs.isWritableFileSystem(i.uri.scheme)!==!1})})),i.onDidDispose(()=>r.forEach(o=>o.dispose())),i}resolveCustomEditor(e,t,n){let i=t.webview;this.webviews.set(e.uri.toString(),t),i.options={enableScripts:!0},i.html=_d.replace(/\$cspSource\$/g,i.cspSource).replace(/\$nonce\$/g,rr()).replace(/\$ModSettingsWebview\.css\$/g,i.asWebviewUri(ve.Uri.joinPath(this.context.extensionUri,"/dist/ModSettingsWebview.css")).toString()).replace(/\$ModSettingsWebview\.js\$/g,i.asWebviewUri(ve.Uri.joinPath(this.context.extensionUri,"/dist/ModSettingsWebview.js")).toString()),t.webview.onDidReceiveMessage(r=>this.onMessage(e,r)),t.webview.onDidReceiveMessage(r=>{r.type==="ready"&&this.postMessage(t,"init",{version:e.version,saves_ints:e.saves_ints,settings:JSON.stringify(e.settings,wa),editable:ve.workspace.fs.isWritableFileSystem(e.uri.scheme)!==!1})})}postMessage(e,t,n){e.webview.postMessage({type:t,body:n})}onMessage(e,t){switch(t.type){case"edit":{e.edit(t.body);return}}}},Da=class s{constructor(e,t){this.uri=e;this._settings=new Tr(new an(t))}static async create(e,t){let n=typeof t=="string"?ve.Uri.parse(t):e,i=await ve.workspace.fs.readFile(n);return new s(e,i)}_settings;get version(){return this._settings.version.format()}get saves_ints(){return this._settings.version.isBeyond(1,2)}get settings(){return this._settings.settings}async save(e){return this.saveAs(this.uri,e)}async saveAs(e,t){return ve.workspace.fs.writeFile(e,this._settings.save())}async revert(e){this._settings=new Tr(new an(await ve.workspace.fs.readFile(this.uri))),this._onDidChangeDocument.fire({})}async backup(e,t){return await this.saveAs(e,t),{id:e.toString(),delete:()=>{ve.workspace.fs.delete(e)}}}edit(e){e.value.type==="none"?this._settings.set(e.scope,e.name,void 0):this._settings.set(e.scope,e.name,Sd(e.value)),this._onDidChange.fire({})}_onDidDispose=new ve.EventEmitter;onDidDispose=this._onDidDispose.event;_onDidChangeDocument=new ve.EventEmitter;onDidChangeContent=this._onDidChangeDocument.event;_onDidChange=new ve.EventEmitter;onDidChange=this._onDidChange.event;disposables=[this._onDidDispose,this._onDidChangeDocument,this._onDidChange];dispose(){this._onDidDispose.fire(),this.disposables.forEach(e=>e.dispose())}};import*as qe from"vscode";function or(s){switch(s.type){case"Table":case"TableWithMeta":return Object.assign({},s,{values:void 0});default:return s}}var bd=`<!DOCTYPE html>\r
|
|
177
154
|
<html lang="en">\r
|
|
178
155
|
<head>\r
|
|
179
156
|
<meta charset="UTF-8">\r
|
|
@@ -200,15 +177,5 @@ ${e.message}`,void 0,i.handled===!0?!1:"force")}hookConfigurationChanged(e){this
|
|
|
200
177
|
\r
|
|
201
178
|
<script type="module" nonce="$nonce$" src="$ScriptDatWebview.js$" defer/></script>\r
|
|
202
179
|
</body>\r
|
|
203
|
-
</html
|
|
204
|
-
`),r.write(JSON.stringify(e,void 0,2)),r.close()}))}getFMTKCLIPath(){return this.context.asAbsolutePath("./dist/fmtk-cli.js")}AdjustModsTask(e){let t=["mods","--modsPath",e.modsPath,"adjust"];e.allowDisableBaseMod&&t.push("--allowDisableBase"),e.disableExtraMods&&t.push("--disableExtra");for(let r in e.adjustMods)t.push(`${r}=${e.adjustMods[r]}`);return new j.CustomExecution(async()=>new Dn(async r=>{await Ln(r,this.getFMTKCLIPath(),t,process.cwd()),r.close()}))}},Nn=class extends j.TreeItem{constructor(t,r,i,o){super(t);this.resourceUri=t;this.keychain=i;this.context=o;this.label=r.name,this.description=r.version,this.tooltip=r.title,this.command={title:"Open",command:"vscode.open",arguments:[t]},this.scripts=r.package?.scripts}label;description;scripts;static sort(t,r){let i=t.label.toLowerCase().localeCompare(r.label.toLowerCase());if(i!==0)return i*100;let o=za.compare(t.description,r.description,{loose:!0});return o!==0?-o*10:t.resourceUri<r.resourceUri?-1:t.resourceUri>r.resourceUri?1:0}static latestPackages(t){let r=new Map;for(let o of t)r.has(o.label)?r.get(o.label).push(o):r.set(o.label,[o]);let i=new Set;for(let o of r.values())i.add(o.reduce((s,a)=>za.compare(s.description,a.description,{loose:!0})<0?a:s));return i}async Update(){let r=(await j.workspace.openTextDocument(this.resourceUri)).getText(),i=JSON.parse(r);this.label=i.name,this.description=i.version,this.tooltip=i.title,this.scripts=i.package?.scripts}getFMTKCLIPath(){return this.context.asAbsolutePath("./dist/fmtk-cli.js")}RunTask(t,r){return new j.CustomExecution(async()=>new Dn(async i=>{await Ln(i,this.getFMTKCLIPath(),["run",t,...r??[]],j.Uri.joinPath(this.resourceUri,"..").fsPath),await this.Update(),i.close()}))}DateStampTask(){return new j.CustomExecution(async()=>new Dn(async t=>{await Ln(t,this.getFMTKCLIPath(),["datestamp"],j.Uri.joinPath(this.resourceUri,"..").fsPath),await this.Update(),t.close()}))}PackageTask(){let t=["package"];return j.workspace.getConfiguration(void 0,this.resourceUri).get("factorio.package.zipLocation","inside")==="outside"&&(t.push("--outdir"),t.push("..")),new j.CustomExecution(async()=>new Dn(async i=>{await Ln(i,this.getFMTKCLIPath(),t,j.Uri.joinPath(this.resourceUri,"..").fsPath),await this.Update(),i.close()}))}IncrementTask(){return new j.CustomExecution(async()=>new Dn(async t=>{await Ln(t,this.getFMTKCLIPath(),["version"],j.Uri.joinPath(this.resourceUri,"..").fsPath),await this.Update(),t.close()}))}PostToPortalTask(){return new j.CustomExecution(async()=>new Dn(async t=>{await this.Update();let r=j.workspace.getConfiguration(void 0,this.resourceUri),i=Kr.dirname(this.resourceUri.path);switch(r.get("factorio.package.zipLocation","inside")){case"outside":i=Kr.dirname(i);break;case"inside":default:break}let o=this.resourceUri.with({path:i}),a=(await j.workspace.fs.readDirectory(o)).filter(([g,m])=>m===j.FileType.File&&g.startsWith(this.label)&&g.match(/_\d+\.\d+\.\d+\.zip$/)).map(([g,m])=>g).sort().reverse(),c=await j.window.showQuickPick(a,{placeHolder:"Select Package to upload"});if(!c){t.close();return}let l=Kr.join(o.fsPath,c),d=await this.keychain.ReadyAPIKey();d&&await Ln(t,this.getFMTKCLIPath(),["upload",l,this.label],j.Uri.joinPath(this.resourceUri,"..").fsPath,d.from!=="env"?{FACTORIO_UPLOAD_API_KEY:d.key}:void 0),await this.Update(),t.close()}))}DetailsTask(){return new j.CustomExecution(async()=>new Dn(async t=>{await Ln(t,this.getFMTKCLIPath(),["details"],j.Uri.joinPath(this.resourceUri,"..").fsPath),await this.Update(),t.close()}))}PublishTask(){return new j.CustomExecution(async()=>new Dn(async t=>{let r=await this.keychain.ReadyAPIKey();r&&await Ln(t,this.getFMTKCLIPath(),["publish"],j.Uri.joinPath(this.resourceUri,"..").fsPath,r.from!=="env"?{FACTORIO_UPLOAD_API_KEY:r.key}:void 0),await this.Update(),t.close()}))}},Ja=class{constructor(e,t){this.context=e;this.keychain=t;this.modPackages=new Map,j.workspace.findFiles("**/info.json").then(i=>{i.forEach(this.updateInfoJson,this)});let r=j.workspace.createFileSystemWatcher("**/info.json");this.subscriptions.push(r.onDidChange(this.updateInfoJson,this)),this.subscriptions.push(r.onDidCreate(this.updateInfoJson,this)),this.subscriptions.push(r.onDidDelete(this.removeInfoJson,this)),this.subscriptions.push(r),this.subscriptions.push(j.tasks.registerTaskProvider("factorio",new Ga(this.context,this.modPackages))),this.subscriptions.push(j.commands.registerCommand("factorio.openchangelog",async i=>j.window.showTextDocument(j.Uri.joinPath(i.resourceUri,"../changelog.txt")))),this.subscriptions.push(j.commands.registerCommand("factorio.datestamp",async i=>{let o=(await j.tasks.fetchTasks({type:"factorio"})).find(s=>s.definition.command==="datestamp"&&s.definition.modname===i.label);await j.tasks.executeTask(o)})),this.subscriptions.push(j.commands.registerCommand("factorio.package",async i=>{let o=(await j.tasks.fetchTasks({type:"factorio"})).find(s=>s.definition.command==="package"&&s.definition.modname===i.label);await j.tasks.executeTask(o)})),this.subscriptions.push(j.commands.registerCommand("factorio.version",async i=>{let o=(await j.tasks.fetchTasks({type:"factorio"})).find(s=>s.definition.command==="version"&&s.definition.modname===i.label);await j.tasks.executeTask(o)})),this.subscriptions.push(j.commands.registerCommand("factorio.upload",async i=>{let o=(await j.tasks.fetchTasks({type:"factorio"})).find(s=>s.definition.command==="upload"&&s.definition.modname===i.label);await j.tasks.executeTask(o)})),this.subscriptions.push(j.commands.registerCommand("factorio.publish",async i=>{let o=(await j.tasks.fetchTasks({type:"factorio"})).find(s=>s.definition.command==="publish"&&s.definition.modname===i.label);await j.tasks.executeTask(o)}))}_onDidChangeTreeData=new j.EventEmitter;onDidChangeTreeData=this._onDidChangeTreeData.event;modPackages;subscriptions=[this._onDidChangeTreeData];dispose(){this.subscriptions.forEach(e=>e.dispose())}async updateInfoJson(e){if(e.scheme==="file"){let r=(await j.workspace.openTextDocument(e)).getText();if(r){let i=JSON.parse(r);i&&i.name?this.modPackages.has(e.toString())?await this.modPackages.get(e.toString())?.Update():this.modPackages.set(e.toString(),new Nn(e,i,this.keychain,this.context)):this.modPackages.delete(e.toString())}else this.modPackages.delete(e.toString())}else this.modPackages.delete(e.toString());this._onDidChangeTreeData.fire(void 0)}async removeInfoJson(e){this.modPackages.delete(e.toString()),this._onDidChangeTreeData.fire(void 0)}getTreeItem(e){return e}async getChildren(e){if(e)if(e instanceof Nn){let t=[];if(this.modPackages){let r=Nn.latestPackages(this.modPackages.values());r.has(e)&&this.modPackages.forEach((i,o)=>{i.label===e.label&&!r.has(i)&&(t.push(i),i.contextValue="older")})}return t.sort(Nn.sort)}else return[];else{let t=[];if(this.modPackages){let r=Nn.latestPackages(this.modPackages.values());for(let i of this.modPackages.values())if(r.has(i)){t.push(i);let o=["latest"];try{await j.workspace.fs.stat(j.Uri.joinPath(i.resourceUri,"../changelog.txt")),o.push("haschangelog")}catch{}i.contextValue=o.join(" "),i.collapsibleState=(()=>{for(let s of this.modPackages.values())if(i.label===s.label&&!r.has(s))return j.TreeItemCollapsibleState.Collapsed;return j.TreeItemCollapsibleState.None})()}}return t.sort(Nn.sort)}}},Va=j.Uri.file(Kr.join((0,qo.tmpdir)(),`vscode-${process.pid}-fmtk-config.json`));async function Ln(n,e,t,r,i,o){let s=j.workspace.getConfiguration("factorio");await j.workspace.fs.writeFile(Va,Buffer.from(JSON.stringify(Dh.dot({docs:await s.get("docs"),package:await s.get("package")}))));let a=Object.assign({},process.env,i,{FMTK_CONFIG:Va.fsPath});return a.Path=fS(a.Path??""),new Promise((c,l)=>{let d=s.get("inspect",!1),g=(0,Ch.fork)(e,t,{cwd:r,execArgv:d?["--nolazy","--inspect-brk=34200"]:void 0,env:a,stdio:"pipe"});new Ba.BufferSplitter(g.stdout,Buffer.from(`
|
|
205
|
-
`)).on("segment",v=>{n.write(v.toString()+`\r
|
|
206
|
-
`)}),new Ba.BufferSplitter(g.stderr,Buffer.from(`
|
|
207
|
-
`)).on("segment",v=>{v.toString().match(/^Debugger listening/)&&console.log(v.toString()),n.write(v.toString()+`\r
|
|
208
|
-
`)}),g.on("error",v=>{n.write(`${v.message}\r
|
|
209
|
-
`)}),g.on("exit",(v,T)=>{j.workspace.fs.delete(Va),c(v??-1)}),o&&g.stdin.write(o),g.stdin.end()})}var Dn=class{constructor(e){this.runner=e}writeEmitter=new j.EventEmitter;onDidWrite=this.writeEmitter.event;closeEmitter=new j.EventEmitter;onDidClose=this.closeEmitter.event;tokensource=new j.CancellationTokenSource;async open(e){let t=this.writeEmitter,r=this.closeEmitter;await this.runner({write:i=>t.fire(i.replace(/\r?\n/g,`\r
|
|
210
|
-
`)),close:()=>r.fire()},this.tokensource.token),r.fire()}close(){this.tokensource.cancel()}};var ue=mt(require("vscode")),Xa=mt(require("os")),Th=mt(require("path"));var _h;(()=>{"use strict";var n={470:i=>{function o(c){if(typeof c!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(c))}function s(c,l){for(var d,g="",m=0,y=-1,v=0,T=0;T<=c.length;++T){if(T<c.length)d=c.charCodeAt(T);else{if(d===47)break;d=47}if(d===47){if(!(y===T-1||v===1))if(y!==T-1&&v===2){if(g.length<2||m!==2||g.charCodeAt(g.length-1)!==46||g.charCodeAt(g.length-2)!==46){if(g.length>2){var P=g.lastIndexOf("/");if(P!==g.length-1){P===-1?(g="",m=0):m=(g=g.slice(0,P)).length-1-g.lastIndexOf("/"),y=T,v=0;continue}}else if(g.length===2||g.length===1){g="",m=0,y=T,v=0;continue}}l&&(g.length>0?g+="/..":g="..",m=2)}else g.length>0?g+="/"+c.slice(y+1,T):g=c.slice(y+1,T),m=T-y-1;y=T,v=0}else d===46&&v!==-1?++v:v=-1}return g}var a={resolve:function(){for(var c,l="",d=!1,g=arguments.length-1;g>=-1&&!d;g--){var m;g>=0?m=arguments[g]:(c===void 0&&(c=process.cwd()),m=c),o(m),m.length!==0&&(l=m+"/"+l,d=m.charCodeAt(0)===47)}return l=s(l,!d),d?l.length>0?"/"+l:"/":l.length>0?l:"."},normalize:function(c){if(o(c),c.length===0)return".";var l=c.charCodeAt(0)===47,d=c.charCodeAt(c.length-1)===47;return(c=s(c,!l)).length!==0||l||(c="."),c.length>0&&d&&(c+="/"),l?"/"+c:c},isAbsolute:function(c){return o(c),c.length>0&&c.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var c,l=0;l<arguments.length;++l){var d=arguments[l];o(d),d.length>0&&(c===void 0?c=d:c+="/"+d)}return c===void 0?".":a.normalize(c)},relative:function(c,l){if(o(c),o(l),c===l||(c=a.resolve(c))===(l=a.resolve(l)))return"";for(var d=1;d<c.length&&c.charCodeAt(d)===47;++d);for(var g=c.length,m=g-d,y=1;y<l.length&&l.charCodeAt(y)===47;++y);for(var v=l.length-y,T=m<v?m:v,P=-1,q=0;q<=T;++q){if(q===T){if(v>T){if(l.charCodeAt(y+q)===47)return l.slice(y+q+1);if(q===0)return l.slice(y+q)}else m>T&&(c.charCodeAt(d+q)===47?P=q:q===0&&(P=0));break}var N=c.charCodeAt(d+q);if(N!==l.charCodeAt(y+q))break;N===47&&(P=q)}var L="";for(q=d+P+1;q<=g;++q)q!==g&&c.charCodeAt(q)!==47||(L.length===0?L+="..":L+="/..");return L.length>0?L+l.slice(y+P):(y+=P,l.charCodeAt(y)===47&&++y,l.slice(y))},_makeLong:function(c){return c},dirname:function(c){if(o(c),c.length===0)return".";for(var l=c.charCodeAt(0),d=l===47,g=-1,m=!0,y=c.length-1;y>=1;--y)if((l=c.charCodeAt(y))===47){if(!m){g=y;break}}else m=!1;return g===-1?d?"/":".":d&&g===1?"//":c.slice(0,g)},basename:function(c,l){if(l!==void 0&&typeof l!="string")throw new TypeError('"ext" argument must be a string');o(c);var d,g=0,m=-1,y=!0;if(l!==void 0&&l.length>0&&l.length<=c.length){if(l.length===c.length&&l===c)return"";var v=l.length-1,T=-1;for(d=c.length-1;d>=0;--d){var P=c.charCodeAt(d);if(P===47){if(!y){g=d+1;break}}else T===-1&&(y=!1,T=d+1),v>=0&&(P===l.charCodeAt(v)?--v==-1&&(m=d):(v=-1,m=T))}return g===m?m=T:m===-1&&(m=c.length),c.slice(g,m)}for(d=c.length-1;d>=0;--d)if(c.charCodeAt(d)===47){if(!y){g=d+1;break}}else m===-1&&(y=!1,m=d+1);return m===-1?"":c.slice(g,m)},extname:function(c){o(c);for(var l=-1,d=0,g=-1,m=!0,y=0,v=c.length-1;v>=0;--v){var T=c.charCodeAt(v);if(T!==47)g===-1&&(m=!1,g=v+1),T===46?l===-1?l=v:y!==1&&(y=1):l!==-1&&(y=-1);else if(!m){d=v+1;break}}return l===-1||g===-1||y===0||y===1&&l===g-1&&l===d+1?"":c.slice(l,g)},format:function(c){if(c===null||typeof c!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof c);return function(l,d){var g=d.dir||d.root,m=d.base||(d.name||"")+(d.ext||"");return g?g===d.root?g+m:g+"/"+m:m}(0,c)},parse:function(c){o(c);var l={root:"",dir:"",base:"",ext:"",name:""};if(c.length===0)return l;var d,g=c.charCodeAt(0),m=g===47;m?(l.root="/",d=1):d=0;for(var y=-1,v=0,T=-1,P=!0,q=c.length-1,N=0;q>=d;--q)if((g=c.charCodeAt(q))!==47)T===-1&&(P=!1,T=q+1),g===46?y===-1?y=q:N!==1&&(N=1):y!==-1&&(N=-1);else if(!P){v=q+1;break}return y===-1||T===-1||N===0||N===1&&y===T-1&&y===v+1?T!==-1&&(l.base=l.name=v===0&&m?c.slice(1,T):c.slice(v,T)):(v===0&&m?(l.name=c.slice(1,y),l.base=c.slice(1,T)):(l.name=c.slice(v,y),l.base=c.slice(v,T)),l.ext=c.slice(y,T)),v>0?l.dir=c.slice(0,v-1):m&&(l.dir="/"),l},sep:"/",delimiter:":",win32:null,posix:null};a.posix=a,i.exports=a}},e={};function t(i){var o=e[i];if(o!==void 0)return o.exports;var s=e[i]={exports:{}};return n[i](s,s.exports,t),s.exports}t.d=(i,o)=>{for(var s in o)t.o(o,s)&&!t.o(i,s)&&Object.defineProperty(i,s,{enumerable:!0,get:o[s]})},t.o=(i,o)=>Object.prototype.hasOwnProperty.call(i,o),t.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var r={};(()=>{let i;t.r(r),t.d(r,{URI:()=>m,Utils:()=>Ne}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let o=/^\w[\w\d+.-]*$/,s=/^\//,a=/^\/\//;function c(U,I){if(!U.scheme&&I)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${U.authority}", path: "${U.path}", query: "${U.query}", fragment: "${U.fragment}"}`);if(U.scheme&&!o.test(U.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(U.path){if(U.authority){if(!s.test(U.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(U.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let l="",d="/",g=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class m{static isUri(I){return I instanceof m||!!I&&typeof I.authority=="string"&&typeof I.fragment=="string"&&typeof I.path=="string"&&typeof I.query=="string"&&typeof I.scheme=="string"&&typeof I.fsPath=="string"&&typeof I.with=="function"&&typeof I.toString=="function"}scheme;authority;path;query;fragment;constructor(I,J,B,pe,ie,oe=!1){typeof I=="object"?(this.scheme=I.scheme||l,this.authority=I.authority||l,this.path=I.path||l,this.query=I.query||l,this.fragment=I.fragment||l):(this.scheme=function(st,be){return st||be?st:"file"}(I,oe),this.authority=J||l,this.path=function(st,be){switch(st){case"https":case"http":case"file":be?be[0]!==d&&(be=d+be):be=d}return be}(this.scheme,B||l),this.query=pe||l,this.fragment=ie||l,c(this,oe))}get fsPath(){return N(this,!1)}with(I){if(!I)return this;let{scheme:J,authority:B,path:pe,query:ie,fragment:oe}=I;return J===void 0?J=this.scheme:J===null&&(J=l),B===void 0?B=this.authority:B===null&&(B=l),pe===void 0?pe=this.path:pe===null&&(pe=l),ie===void 0?ie=this.query:ie===null&&(ie=l),oe===void 0?oe=this.fragment:oe===null&&(oe=l),J===this.scheme&&B===this.authority&&pe===this.path&&ie===this.query&&oe===this.fragment?this:new v(J,B,pe,ie,oe)}static parse(I,J=!1){let B=g.exec(I);return B?new v(B[2]||l,Z(B[4]||l),Z(B[5]||l),Z(B[7]||l),Z(B[9]||l),J):new v(l,l,l,l,l)}static file(I){let J=l;if(i&&(I=I.replace(/\\/g,d)),I[0]===d&&I[1]===d){let B=I.indexOf(d,2);B===-1?(J=I.substring(2),I=d):(J=I.substring(2,B),I=I.substring(B)||d)}return new v("file",J,I,l,l)}static from(I){let J=new v(I.scheme,I.authority,I.path,I.query,I.fragment);return c(J,!0),J}toString(I=!1){return L(this,I)}toJSON(){return this}static revive(I){if(I){if(I instanceof m)return I;{let J=new v(I);return J._formatted=I.external,J._fsPath=I._sep===y?I.fsPath:null,J}}return I}}let y=i?1:void 0;class v extends m{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=N(this,!1)),this._fsPath}toString(I=!1){return I?L(this,!0):(this._formatted||(this._formatted=L(this,!1)),this._formatted)}toJSON(){let I={$mid:1};return this._fsPath&&(I.fsPath=this._fsPath,I._sep=y),this._formatted&&(I.external=this._formatted),this.path&&(I.path=this.path),this.scheme&&(I.scheme=this.scheme),this.authority&&(I.authority=this.authority),this.query&&(I.query=this.query),this.fragment&&(I.fragment=this.fragment),I}}let T={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function P(U,I,J){let B,pe=-1;for(let ie=0;ie<U.length;ie++){let oe=U.charCodeAt(ie);if(oe>=97&&oe<=122||oe>=65&&oe<=90||oe>=48&&oe<=57||oe===45||oe===46||oe===95||oe===126||I&&oe===47||J&&oe===91||J&&oe===93||J&&oe===58)pe!==-1&&(B+=encodeURIComponent(U.substring(pe,ie)),pe=-1),B!==void 0&&(B+=U.charAt(ie));else{B===void 0&&(B=U.substr(0,ie));let st=T[oe];st!==void 0?(pe!==-1&&(B+=encodeURIComponent(U.substring(pe,ie)),pe=-1),B+=st):pe===-1&&(pe=ie)}}return pe!==-1&&(B+=encodeURIComponent(U.substring(pe))),B!==void 0?B:U}function q(U){let I;for(let J=0;J<U.length;J++){let B=U.charCodeAt(J);B===35||B===63?(I===void 0&&(I=U.substr(0,J)),I+=T[B]):I!==void 0&&(I+=U[J])}return I!==void 0?I:U}function N(U,I){let J;return J=U.authority&&U.path.length>1&&U.scheme==="file"?`//${U.authority}${U.path}`:U.path.charCodeAt(0)===47&&(U.path.charCodeAt(1)>=65&&U.path.charCodeAt(1)<=90||U.path.charCodeAt(1)>=97&&U.path.charCodeAt(1)<=122)&&U.path.charCodeAt(2)===58?I?U.path.substr(1):U.path[1].toLowerCase()+U.path.substr(2):U.path,i&&(J=J.replace(/\//g,"\\")),J}function L(U,I){let J=I?q:P,B="",{scheme:pe,authority:ie,path:oe,query:st,fragment:be}=U;if(pe&&(B+=pe,B+=":"),(ie||pe==="file")&&(B+=d,B+=d),ie){let Re=ie.indexOf("@");if(Re!==-1){let ct=ie.substr(0,Re);ie=ie.substr(Re+1),Re=ct.lastIndexOf(":"),Re===-1?B+=J(ct,!1,!1):(B+=J(ct.substr(0,Re),!1,!1),B+=":",B+=J(ct.substr(Re+1),!1,!0)),B+="@"}ie=ie.toLowerCase(),Re=ie.lastIndexOf(":"),Re===-1?B+=J(ie,!1,!0):(B+=J(ie.substr(0,Re),!1,!0),B+=ie.substr(Re))}if(oe){if(oe.length>=3&&oe.charCodeAt(0)===47&&oe.charCodeAt(2)===58){let Re=oe.charCodeAt(1);Re>=65&&Re<=90&&(oe=`/${String.fromCharCode(Re+32)}:${oe.substr(3)}`)}else if(oe.length>=2&&oe.charCodeAt(1)===58){let Re=oe.charCodeAt(0);Re>=65&&Re<=90&&(oe=`${String.fromCharCode(Re+32)}:${oe.substr(2)}`)}B+=J(oe,!0,!1)}return st&&(B+="?",B+=J(st,!1,!1)),be&&(B+="#",B+=I?be:P(be,!1,!1)),B}function K(U){try{return decodeURIComponent(U)}catch{return U.length>3?U.substr(0,3)+K(U.substr(3)):U}}let te=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Z(U){return U.match(te)?U.replace(te,I=>K(I)):U}var V=t(470);let ne=V.posix||V,ce="/";var Ne;(function(U){U.joinPath=function(I,...J){return I.with({path:ne.join(I.path,...J)})},U.resolvePath=function(I,...J){let B=I.path,pe=!1;B[0]!==ce&&(B=ce+B,pe=!0);let ie=ne.resolve(B,...J);return pe&&ie[0]===ce&&!I.authority&&(ie=ie.substring(1)),I.with({path:ie})},U.dirname=function(I){if(I.path.length===0||I.path===ce)return I;let J=ne.dirname(I.path);return J.length===1&&J.charCodeAt(0)===46&&(J=""),I.with({path:J})},U.basename=function(I){return ne.basename(I.path)},U.extname=function(I){return ne.extname(I.path)}})(Ne||(Ne={}))})(),_h=r})();var{URI:cr,Utils:$t}=_h;var Io="2.0.4";var cn=require("./fmtk.js"),jn=ue.workspace.fs,hS=[{name:"Steam",factorioPath:"C:\\Program Files (x86)\\Steam\\steamapps\\common\\Factorio\\bin\\x64\\factorio.exe"},{name:"System",factorioPath:"C:\\Program Files\\Factorio\\bin\\x64\\factorio.exe"},{name:"Steam",factorioPath:"~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio"},{name:"System",factorioPath:"/Applications/factorio.app/Contents/MacOS/factorio"},{name:"Home",factorioPath:"~/.factorio/bin/x64/factorio"}],Fo=class{constructor(e,t){this.context=e;this.output=t;this.bar=ue.window.createStatusBarItem("factorio-version",ue.StatusBarAlignment.Left,10),this.bar.name="Factorio Version Selector",this.bar.text="Factorio (unselected)",this.bar.command="factorio.selectVersion",this.bar.show(),e.subscriptions.push(this.bar),e.subscriptions.push(ue.commands.registerCommand("factorio.selectVersion",this.selectVersionCommand,this)),e.subscriptions.push(ue.commands.registerCommand("factorio.checkConfig",this.checkConfigCommand,this)),e.subscriptions.push(ue.commands.registerCommand("factorio.disablePrototypeCache",this.disablePrototypeCacheCommand,this)),e.subscriptions.push(ue.commands.registerCommand("factorio.disableMouseAutoCapture",this.disableMouseAutoCaptureCommand,this)),this.loadActiveVersion(),e.subscriptions.push(ue.workspace.onDidChangeConfiguration(r=>{r.affectsConfiguration("factorio.versions")&&this.loadActiveVersion()}))}bar;async loadActiveVersion(){let e=ue.workspace.getConfiguration("factorio"),t=e.get("versions",[]),r=t.find(o=>o.active);if(!r||this._active_version&&this._active_version.is(r))return;let i=await this.tryJsonDocs(r);if(!i){delete r.active,e.update("versions",t);return}this.bar.text=`Factorio ${i.application_version} (${r.name})`,this._active_version=new cn.ActiveFactorioVersion(ue.workspace.fs,r,i,ue.workspace.workspaceFolders),this.output.info(`Active Factorio version: ${r.name} (${i.application_version})`),this.checkDocs()}async checkConfigCommand(){this.output.info("Check Config:"),this.output.show();let e=await this.getActiveVersion();if(!e){this.output.error("No Active Factorio Version");return}this.output.info("Active Factorio Version:"),this.output.info(`Binary: ${await e.getBinaryVersion().catch(m=>m.toString())}`),this.output.info(`Runtime JSON: ${e.docs.application_version}`),await e.isPrototypeCacheEnabled()&&this.output.warn("Prototype Cache is enabled!"),await e.isMouseAutoCaptureDisabled()&&this.output.info("Mouse Auto Capture is disabled");let t=this.context.storageUri;if(!t){this.output.error("No Workspace");return}try{let m=(await jn.readFile($t.joinPath(t,"sumneko-3rd/factorio/config.json"))).toString(),y=JSON.parse(m);this.output.info(`Library bundle found in ${t.fsPath}, generated from Factorio ${y.factorioVersion} with FMTK ${y.bundleVersion}`);for(let v of await cn.LuaLSAddon.getLuaFiles())try{(await jn.readFile($t.joinPath(t,"sumneko-3rd",v.name))).toString()!==v.content&&this.output.info(`file ${v.name} content mismatch!`)}catch(T){this.output.error(`file ${v.name} ${T}`)}}catch(m){this.output.error(`Missing or damaged library bundle info ${m}`)}let r=ue.extensions.getExtension("sumneko.lua");if(!r){this.output.warn("LuaLS (sumneko.lua) not present!");return}this.output.info(`LuaLS ${r.packageJSON.version} ${r.isActive?"Activated":"Not Yet Activated"}`);let i=ue.workspace.getConfiguration("Lua"),o=ue.workspace.getConfiguration("factorio"),s=i.get("workspace.userThirdParty");if(!s)this.output.warn("Lua.workspace.userThirdParty not present!");else{let m=$t.joinPath(t,"sumneko-3rd").fsPath;s.includes(m)?this.output.info(`Lua.workspace.userThirdParty: workspace link OK (${m})`):this.output.warn(`Lua.workspace.userThirdParty: workspace link missing! (${m})`);let y=s.filter(v=>v!==m);for(let v of y)v.match(/justarandomgeek\.factoriomod\-debug[\\\/]sumneko\-3rd$/)?this.output.warn(`Lua.workspace.userThirdParty: stale workspace link? (${v})`):this.output.info(`Lua.workspace.userThirdParty: other library (${v})`)}let a=i.get("workspace.checkThirdParty"),c=a==="ApplyInMemory";a===!1||a==="Disable"?this.output.warn(`Lua.workspace.checkThirdParty = ${a}`):this.output.info(`Lua.workspace.checkThirdParty = ${a}`);let l=o.get("workspace.manageLibraryDataLinks",!1),d=i.get("workspace.library");if(!d)this.output.warn("Lua.workspace.library not present!");else{let m=cr.file(await e.dataPath()).fsPath;d.includes(m)?this.output.info(`Lua.workspace.library: /data link OK (${m})`):l&&this.output.warn(`Lua.workspace.library: /data link missing! (${m})`);let y=$t.joinPath(t,"sumneko-3rd/factorio/library").fsPath,v=d.find(P=>cr.file(P).fsPath===y);v?c?this.output.warn(`Lua.workspace.library: redundant workspace library link (${v})`):this.output.info(`Lua.workspace.library: workspace library link OK (${v})`):c||this.output.warn(`Lua.workspace.library: workspace library link missing! (${y})`);let T=d.filter(P=>![m,v].includes(P));for(let P of T)P.match(/justarandomgeek\.factoriomod\-debug[\\\/]sumneko\-3rd[\\\/]factorio[\\\/]library$/)?this.output.warn(`Lua.workspace.library: stale workspace link? (${P})`):P.endsWith("data")?this.output.warn(`Lua.workspace.library: stale data link? (${P})`):this.output.info(`Lua.workspace.library: other library (${P})`)}let g=i.get("runtime.plugin");if(!g)c||this.output.warn("Lua.runtime.plugin not present!");else{let m=$t.joinPath(t,"sumneko-3rd/factorio/plugin.lua").fsPath.replace(/[\\]/g,"/");g===m?c?this.output.warn(`Lua.runtime.plugin: redundant workspace link (${g})`):this.output.info(`Lua.runtime.plugin: OK (${g})`):this.output.warn(`Lua.runtime.plugin: wrong plugin? (${g})`)}}async disablePrototypeCacheCommand(){return(await this.getActiveVersion())?.disablePrototypeCache()}async disableMouseAutoCaptureCommand(){return(await this.getActiveVersion())?.disableMouseAutoCapture()}async selectVersionCommand(){if(ue.debug.activeDebugSession?.type==="factoriomod"){ue.window.showInformationMessage("Cannot select Factorio version while debugging.");return}let e=ue.workspace.getConfiguration("factorio"),t=e.get("versions",[]),r=t.map(d=>d.factorioPath),i=(await Promise.all(hS.filter(d=>!r.includes(d.factorioPath)).map(async d=>{try{return(await jn.stat(cr.file((0,cn.substitutePathVariables)(d.factorioPath,ue.workspace.workspaceFolders)))).type&ue.FileType.File?d:void 0}catch{return}}))).filter(d=>!!d),o=async d=>d.onlineDocs===!0?"latest":d.onlineDocs?d.onlineDocs:(await this.tryJsonDocs(d))?.application_version,s=await ue.window.showQuickPick(Promise.all([...t.map(async d=>({fv:d,label:d.name,description:await o(d),detail:d.factorioPath,picked:d.active})),...i.map(async d=>({fv:d,label:`${d.name} (autodetected)`,description:await o(d),detail:d.factorioPath})),{fv:void 0,label:"Select other version..."}]),{title:"Select Factorio Version"});if(!s)return;let a=s.fv;if(a){let d=!1;try{(await jn.stat(cr.file((0,cn.substitutePathVariables)(a.factorioPath,ue.workspace.workspaceFolders)))).type&ue.FileType.File&&(d=!0)}catch{}if(!d)switch(await ue.window.showErrorMessage("The selected factorio version is no longer present at the specified location","Remove from settings","Cancel")){case"Remove from settings":e.update("versions",t.filter(m=>m!==a));return;default:return}}if(!a){let d=await ue.window.showOpenDialog({canSelectFiles:!0,canSelectFolders:!1,openLabel:"Select Factorio binary",filters:Xa.platform()==="win32"?{"":["exe"]}:void 0});if(!d)return;let g=await ue.window.showInputBox({prompt:"Display Name for this version",placeHolder:"Enter a display name to be used in the Version Selector for this version",ignoreFocusOut:!0});if(!g)return;a={name:g,factorioPath:d[0].fsPath}}let c;try{c=await this.tryJsonDocs(a,!0)}catch(d){if(await ue.window.showErrorMessage(`Unable to read JSON docs: ${d}`,"Select alternate location","Cancel")!=="Select alternate location")return;let g=await ue.window.showOpenDialog({canSelectFiles:!0,canSelectFolders:!1,openLabel:"Select Runtime JSON Docs",title:"Select Runtime JSON Docs",filters:{"JSON Docs":["json"]}});if(!g)return;a.docsPath=Th.relative((0,cn.substitutePathVariables)(a.factorioPath,ue.workspace.workspaceFolders),g[0].fsPath);try{c=await this.tryJsonDocs(a,!0)}catch(m){ue.window.showErrorMessage(`Unable to read JSON docs: ${m}`);return}}t.includes(a)||t.push(a),t.forEach(d=>delete d.active),a.active=!0,e.update("versions",t),this.bar.text=`Factorio ${c.application_version} (${a.name})`;let l=this._active_version;this._active_version=new cn.ActiveFactorioVersion(ue.workspace.fs,a,c,ue.workspace.workspaceFolders),this.output.info(`Active Factorio version: ${a.name} (${c.application_version})`),await this.generateDocs(l)}_active_version;async getActiveVersion(){return this._active_version||await this.selectVersionCommand(),this._active_version}async tryJsonDocs(e,t){let r;if(e.onlineDocs){let s=`https://lua-api.factorio.com/${e.onlineDocs===!0?"latest":e.onlineDocs}/runtime-api.json`,a=await fetch(s);if(!a.ok){if(!t)return;throw new Error(`Error fetching ${s} : ${a.statusText}`)}r=await a.text()}else{let o=$t.joinPath(cr.file((0,cn.substitutePathVariables)(e.factorioPath,ue.workspace.workspaceFolders)),e.docsPath?e.docsPath:Xa.platform()==="darwin"?"../../doc-html/runtime-api.json":"../../../doc-html/runtime-api.json");r=(await jn.readFile(o)).toString()}let i=await ue.workspace.getConfiguration("factorio").get("docs",{});try{return new cn.ApiDocGenerator(r,i)}catch(o){if(!t)return;throw o}}async checkDocs(){let e=await this.getActiveVersion();if(!e)return;let t=this.context.storageUri;if(t)try{let r=(await jn.readFile($t.joinPath(t,"sumneko-3rd/factorio/config.json"))).toString(),i=JSON.parse(r);if(i.factorioVersion!==e.docs.application_version||i.bundleVersion!==Io){this.generateDocs();return}}catch{this.generateDocs();return}}async generateDocs(e){if(!ue.workspace.getConfiguration("factorio").get("docs.generateDocs",!0))return;let t=await this.getActiveVersion();if(!t)return;let r=this.context.storageUri;if(!r){ue.window.showErrorMessage("Unable to generate docs: no open workspace");return}let i=$t.joinPath(r,"sumneko-3rd");await jn.createDirectory(i);try{await Promise.allSettled([jn.delete($t.joinPath(i,"factorio","library"),{recursive:!0}),jn.delete($t.joinPath(i,"factorio","factorio-plugin"),{recursive:!0})])}catch{}await Ln({close(){},write(v){}},this.context.asAbsolutePath("./dist/fmtk-cli.js"),t.docArgs,i.fsPath);let o=ue.workspace.getConfiguration("Lua"),s=o.get("workspace.library",[]),a=(v,...T)=>{if(v){let P=$t.joinPath(v,...T),q=s.indexOf(P.fsPath);q!==-1&&s.splice(q,1)}},c=async(v,...T)=>{try{let P=$t.joinPath(v,...T);!s.includes(P.fsPath)&&(await jn.stat(P)).type&ue.FileType.Directory&&s.push(P.fsPath)}catch{}},l=ue.workspace.getConfiguration("factorio");if(e){let v=cr.file(await e.dataPath());a(v)}if(s.length===0?await o.update("workspace.library",void 0):await o.update("workspace.library",s),l.get("workspace.manageLibraryDataLinks",!1)){let v=cr.file(await t.dataPath());await c(v)}s.length===0?await o.update("workspace.library",void 0):await o.update("workspace.library",s);let d=o.get("workspace.userThirdParty",[]),g=$t.joinPath(r,"sumneko-3rd").fsPath;d=d.filter(v=>!v.includes("justarandomgeek.factoriomod-debug")),await o.update("workspace.userThirdParty",d),d.push(g),await o.update("workspace.userThirdParty",d);let m=o.get("workspace.checkThirdParty");m&&["Ask","Apply","ApplyInMemory"].includes(m)||await o.update("workspace.checkThirdParty","ApplyInMemory");let y=ue.extensions.getExtension("sumneko.lua");y&&(y.isActive||await y.activate())}};var Ph=mt(require("vscode"));var de=mt(require("vscode")),Qa=require("console");function Vr(n,e){return isNaN(n)?e:isNaN(e)?n:Math.max(n,e)}var zr=class n{constructor(e=0,t=0){this.timer=e;this.count=t}add(e){return e?new n(this.timer+e.timer,this.count+e.count):this}avg(){return this.timer/this.count}},Oo=class{functions=new Map;lines=new Map;add(e){e.functions.forEach((t,r)=>{this.functions.set(r,t.add(this.functions.get(r)))}),e.lines.forEach((t,r)=>{this.lines.set(r,t.add(this.lines.get(r)))})}max(){let e={func:{timer:0,count:0,average:0},line:{timer:0,count:0,average:0}};return this.functions.forEach(t=>{e.func.timer=Vr(e.func.timer,t.timer),e.func.count=Vr(e.func.count,t.count),e.func.average=Vr(e.func.average,t.avg())}),this.lines.forEach(t=>{e.line.timer=Vr(e.line.timer,t.timer),e.line.count=Vr(e.line.count,t.count),e.line.average=Vr(e.line.average,t.avg())}),e}},Ya=class{totalTime=0;file=new Map},Mo=class n{constructor(e,t,r,i){this.name=e;this.value=t;this.filename=r;this.line=i}children=[];ToStringInner(e){return`${e}${this.name} : ${this.value}
|
|
211
|
-
${this.children.map(t=>t.ToStringInner(e+" ")).join(`
|
|
212
|
-
`)}`}ToString(){return this.ToStringInner("")}AddToChild(e,t,r,i){let o=this.children.find(s=>s.name===e);return o?o.value+=t:(o=new n(e,t,r,i),this.children.push(o)),o}Merge(e){this.value+=e.value,e.children.forEach(t=>{let r=this.children.find(i=>i.name===t.name);r?r.Merge(t):this.children.push(t)})}},Za=class{totalTime=0;mod=new Map;getMod(e){let t=this.mod.get(e);return t||(t=new Ya,this.mod.set(e,t)),t}getFile(e,t){let r=this.getMod(e),i=r.file.get(t);return i||(i=new Oo,r.file.set(t,i)),i}AddModTime(e,t){this.totalTime+=t,this.getMod(e).totalTime+=t}AddLineTime(e,t,r,i,o){let s=this.getFile(e,t),a=new zr(i,o),c=s.lines.get(r);s.lines.set(r,a.add(c))}AddFuncTime(e,t,r,i,o){let s=this.getFile(e,t),a=new zr(i,o),c=s.functions.get(r);s.functions.set(r,a.add(c))}Report(e){let t=new Oo;return this.mod.forEach(r=>{let i=r.file.get(e);i&&t.add(i)}),{totalTime:this.totalTime,fileData:t}}},Ao=class{constructor(e,t,r){this.context=t;this.debug=r;this._disposables.push(de.debug.onDidReceiveDebugSessionCustomEvent(this.onCustomEvent,this)),this._disposables.push(de.debug.onDidTerminateDebugSession(this.onTerminate,this)),this.timeDecorationType=de.window.createTextEditorDecorationType({before:{contentText:"",color:new de.ThemeColor("factorio.ProfileTimerForeground")}}),this.funcDecorationType=de.window.createTextEditorDecorationType({after:{contentText:"",color:new de.ThemeColor("factorio.ProfileFunctionTimerForeground"),borderColor:new de.ThemeColor("factorio.ProfileFunctionTimerForeground"),border:"1px solid",margin:"0 0 0 3ch"}});let i=de.workspace.getConfiguration().get("factorio.profile.rulers",[]);this.rulerDecorationTypes=i.filter(o=>o.color||o.themeColor).map(o=>{let s=de.OverviewRulerLane.Right;switch(o.lane){case"Right":s=de.OverviewRulerLane.Right;break;case"Center":s=de.OverviewRulerLane.Center;break;case"Left":s=de.OverviewRulerLane.Left;break;case"Full":s=de.OverviewRulerLane.Full;break;default:break}return{type:de.window.createTextEditorDecorationType({overviewRulerColor:o.color??new de.ThemeColor(o.themeColor),overviewRulerLane:s}),threshold:o.threshold}}),this.statusBar=de.window.createStatusBarItem(),this._disposables.push(de.window.onDidChangeActiveTextEditor(o=>{o&&o.document.uri.scheme==="file"&&this.render(o)})),e&&this.createFlamePanel()}profileData=new Za;profileTreeRoot=new Mo("root",0);profileOverhead=new zr(0,0);timeDecorationType;funcDecorationType;rulerDecorationTypes;statusBar;flamePanel;_disposables=[];onTerminate(e){e===this.debug&&this.dispose()}dispose(){this._disposables.forEach(e=>e.dispose()),this.timeDecorationType.dispose(),this.funcDecorationType.dispose(),this.rulerDecorationTypes.forEach(e=>{e.type.dispose()}),this.statusBar.dispose(),this.flamePanel&&this.flamePanel.dispose()}async onCustomEvent(e){if(e.session===this.debug&&e.event==="x-Factorio-Profile"){await this.parse(e.body);let t=de.window.activeTextEditor;t&&t.document.uri.scheme==="file"&&this.render(t)}}async createFlamePanel(){if(this.flamePanel)return;this.flamePanel=de.window.createWebviewPanel("factorioProfile","Factorio Profile",de.ViewColumn.Two,{enableScripts:!0,localResourceRoots:[this.context.extensionUri]});let e=this.flamePanel.webview,t=(await Promise.resolve().then(()=>mt(Rh()))).default;e.html=t.replace("$Flamegraph.css$",e.asWebviewUri(de.Uri.joinPath(this.context.extensionUri,"/dist/Flamegraph.css")).toString()).replace("$Flamegraph.js$",e.asWebviewUri(de.Uri.joinPath(this.context.extensionUri,"/dist/Flamegraph.js")).toString()),e.onDidReceiveMessage(r=>{switch(r.command){case"init":e.postMessage({command:"update",data:this.profileTreeRoot});break;case"click":r.line&&r.line>0&&r.filename&&r.line&&de.window.showTextDocument(de.Uri.parse(r.filename),{selection:new de.Range(r.line,0,r.line,0),viewColumn:de.ViewColumn.One});break;default:break}}),this.flamePanel.onDidDispose(()=>this.flamePanel=void 0)}async parse(e){let t=e.split(`
|
|
213
|
-
`),r,i,o=[new Mo("root",0)],s;for(let a of t){let c=a.split(":");switch(c[0]){case"PROFILE":break;case"PMN":{r=c[1].replace(/[\r\n]*/g,"");let l=parseFloat(c[3]);this.profileData.AddModTime(r,l)}break;case"PFN":r&&(i=await this.debug.customRequest("x-Factorio-ConvertPath",{path:c[1].replace(/[\r\n]*/g,"")}));break;case"PLN":if(r&&i){let l=parseInt(c[1]),d=parseFloat(c[3]),g=parseInt(c[4]);this.profileData.AddLineTime(r,i,l,d,g)}break;case"PFT":if(r&&i){let l=parseInt(c[1]),d=parseFloat(c[3]),g=parseInt(c[4]);this.profileData.AddFuncTime(r,i,l,d,g)}break;case"POV":{let l=parseFloat(c[2]);this.profileOverhead=this.profileOverhead.add(new zr(l,1))}break;case"PROOT":r&&((0,Qa.assert)(o.length===1),s=o[0].AddToChild(r,0));break;case"PTREE":if(s){let l=c[1],d=await this.debug.customRequest("x-Factorio-ConvertPath",{path:c[2]}),g=c[3],m=l+":"+d+":"+g,y=parseFloat(c[5]);o.push(s),s=s.AddToChild(m,y,d,parseInt(g))}break;case"PTEND":s&&(o.length===1?s=void 0:s=o.pop());break}}(0,Qa.assert)(o.length===1),this.flamePanel&&this.flamePanel.visible&&this.flamePanel.webview.postMessage({command:"merge",data:o[0]}),this.profileTreeRoot.Merge(o[0])}render(e){let t=this.profileData.Report(e.document.uri.fsPath),r=t.fileData.max(),i=r.line.timer,o=r.line.average,s=r.line.count,a=new Array,c=new Array,l=this.rulerDecorationTypes.map((Z,V)=>({type:Z.type,threshold:Z.threshold,decs:new Array})),d=de.workspace.getConfiguration().get("factorio.profile.displayAverageTime"),g=de.workspace.getConfiguration().get("factorio.profile.colorBy","totaltime"),m=de.workspace.getConfiguration().get("factorio.profile.timerHighlightColor"),y={count:s,totaltime:i,averagetime:o}[g],v=Math.max(Number.MIN_VALUE,de.workspace.getConfiguration().get("factorio.profile.colorScaleFactor",1)),T={boost:Z=>Math.log1p(Z*v)/Math.log1p(y*v),linear:Z=>Z/y,mute:Z=>(Math.pow(1+y,Z*v/y)-1)/(y*v)}[de.workspace.getConfiguration().get("factorio.profile.colorScaleMode","boost")],P=s.toFixed(0).length+1,q=d?6:3,N=i.toFixed(q).length+1,L=P+N+3,K=t.fileData.lines.size>0,te=t.fileData.functions.size>0;for(let Z=1;Z<=e.document.lineCount;Z++){if(K){let V=t.fileData.lines.get(Z);if(V){let ne=V.timer,ce=V.count,Ne=d?V.avg():ne,U=T({count:ce,totaltime:ne,averagetime:V.avg()}[g]),I=e.document.validateRange(new de.Range(Z-1,0,Z-1,1/0));a.push({range:I,hoverMessage:d?`total: ${ne}`:`avg: ${V.avg()}`,renderOptions:{before:{backgroundColor:`${m}${Math.floor(255*U).toString(16)}`,contentText:`${ce.toFixed(0).padStart(P,"\xA0")}${Ne.toFixed(q).padStart(N,"\xA0")}\xA0ms`,width:`${L+1}ch`}}});let J=l.find(B=>U>=B.threshold);J&&J.decs.push({range:I})}else a.push({range:e.document.validateRange(new de.Range(Z-1,0,Z-1,1/0)),renderOptions:{before:{width:`${L+1}ch`}}})}if(te){let V=t.fileData.functions.get(Z);if(V){let ne=V.timer,ce=V.count,Ne=d?V.avg():ne,U=e.document.validateRange(new de.Range(Z-1,0,Z-1,1/0));c.push({range:U,renderOptions:{after:{contentText:`\xA0${ce.toFixed(0)}\xA0|\xA0${Ne.toFixed(q)}\xA0ms\xA0`,color:new de.ThemeColor("factorio.ProfileFunctionTimerForeground"),borderColor:new de.ThemeColor("factorio.ProfileFunctionTimerForeground"),margin:"0 0 0 3ch"}}})}}}e.setDecorations(this.timeDecorationType,a),e.setDecorations(this.funcDecorationType,c),l.forEach(Z=>{e.setDecorations(Z.type,Z.decs)}),this.statusBar.text=`Profile Dump Avg ${this.profileOverhead.avg().toFixed(3)} ms`,this.statusBar.show()}clear(){de.window.visibleTextEditors.forEach(e=>{e.setDecorations(this.timeDecorationType,[]),e.setDecorations(this.funcDecorationType,[]),this.rulerDecorationTypes.forEach(t=>{e.setDecorations(t.type,[])})}),this.statusBar.hide()}};var Lo=class{constructor(e){this.context=e;e.subscriptions.push(Ph.debug.onDidStartDebugSession(this.onDidStartDebugSession,this))}async onDidStartDebugSession(e){e.type==="factoriomod"&&e.configuration.hookMode==="profile"&&new Ao(e.configuration.profileTree??!0,this.context,e)}};var Zb=mt(require("path")),ew=require("vscode"),po=mt(Yb());function tw(n){let e=n.asAbsolutePath(Zb.join("dist","fmtk-cli.js")),t={execArgv:["--nolazy","--inspect-brk=34199"]},r={run:{module:e,transport:po.TransportKind.ipc,args:["lsp"]},debug:{module:e,transport:po.TransportKind.ipc,args:["lsp"],options:t}},i={documentSelector:[{language:"factorio-locale"},{language:"factorio-changelog"},{language:"lua"}],synchronize:{fileEvents:[ew.workspace.createFileSystemWatcher("**/locale/*/*.cfg")]}},o=new po.LanguageClient("factorioLanguageServer","Factorio Language Server",r,i);o.start(),n.subscriptions.push({dispose(){return o.stop()}})}var wt=mt(require("vscode")),Ti=require("./fmtk.js");function nw(n){return n.type==="int"?{type:"int",value:cP("",n.value)}:n}function yf(n,e){return typeof e=="bigint"?`jsonbigint ${e}n`:e}function cP(n,e){if(typeof e=="string"){let t=e.match(/^jsonbigint\x01\x02 (\d+)n$/);if(t)return BigInt(t[1])}return e}function wa(){let n="",e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";for(let t=0;t<32;t++)n+=e.charAt(Math.floor(Math.random()*e.length));return n}var Ca=class{constructor(e){this.context=e;this.context.subscriptions.push(wt.window.registerCustomEditorProvider("fmtk.modsettings",this,{supportsMultipleEditorsPerDocument:!1,webviewOptions:{retainContextWhenHidden:!0}}))}webviews=new Map;_onDidChangeCustomDocument=new wt.EventEmitter;onDidChangeCustomDocument=this._onDidChangeCustomDocument.event;async saveCustomDocument(e,t){return e.save(t)}async saveCustomDocumentAs(e,t,r){return e.saveAs(t,r)}async revertCustomDocument(e,t){return e.revert(t)}async backupCustomDocument(e,t,r){return e.backup(t.destination,r)}async openCustomDocument(e,t,r){let i=await bf.create(e,t.backupId),o=[];return o.push(i.onDidChange(s=>{this._onDidChangeCustomDocument.fire({document:i,...s})})),o.push(i.onDidChangeContent(s=>{let a=this.webviews.get(i.uri.toString());a&&this.postMessage(a,"init",{version:i.version,saves_ints:i.saves_ints,settings:JSON.stringify(i.settings,yf),editable:wt.workspace.fs.isWritableFileSystem(i.uri.scheme)!==!1})})),i.onDidDispose(()=>o.forEach(s=>s.dispose())),i}async resolveCustomEditor(e,t,r){let i=t.webview;this.webviews.set(e.uri.toString(),t),i.options={enableScripts:!0};let o=(await Promise.resolve().then(()=>mt(rw()))).default;i.html=o.replace(/\$cspSource\$/g,i.cspSource).replace(/\$nonce\$/g,wa()).replace(/\$ModSettingsWebview\.css\$/g,i.asWebviewUri(wt.Uri.joinPath(this.context.extensionUri,"/dist/ModSettingsWebview.css")).toString()).replace(/\$ModSettingsWebview\.js\$/g,i.asWebviewUri(wt.Uri.joinPath(this.context.extensionUri,"/dist/ModSettingsWebview.js")).toString()),t.webview.onDidReceiveMessage(s=>this.onMessage(e,s)),t.webview.onDidReceiveMessage(s=>{s.type==="ready"&&this.postMessage(t,"init",{version:e.version,saves_ints:e.saves_ints,settings:JSON.stringify(e.settings,yf),editable:wt.workspace.fs.isWritableFileSystem(e.uri.scheme)!==!1})})}postMessage(e,t,r){e.webview.postMessage({type:t,body:r})}onMessage(e,t){switch(t.type){case"edit":{e.edit(t.body);return}}}},bf=class n{constructor(e,t){this.uri=e;this._settings=new Ti.ModSettings(new Ti.BufferStream(t))}static async create(e,t){let r=typeof t=="string"?wt.Uri.parse(t):e,i=await wt.workspace.fs.readFile(r);return new n(e,i)}_settings;get version(){return this._settings.version.format()}get saves_ints(){return this._settings.version.isBeyond(1,2)}get settings(){return this._settings.settings}async save(e){return this.saveAs(this.uri,e)}async saveAs(e,t){return wt.workspace.fs.writeFile(e,this._settings.save())}async revert(e){this._settings=new Ti.ModSettings(new Ti.BufferStream(await wt.workspace.fs.readFile(this.uri))),this._onDidChangeDocument.fire({})}async backup(e,t){return await this.saveAs(e,t),{id:e.toString(),delete:async()=>{try{await wt.workspace.fs.delete(e)}catch{}}}}edit(e){e.value.type==="none"?this._settings.set(e.scope,e.name,void 0):this._settings.set(e.scope,e.name,nw(e.value)),this._onDidChange.fire({})}_onDidDispose=new wt.EventEmitter;onDidDispose=this._onDidDispose.event;_onDidChangeDocument=new wt.EventEmitter;onDidChangeContent=this._onDidChangeDocument.event;_onDidChange=new wt.EventEmitter;onDidChange=this._onDidChange.event;disposables=[this._onDidDispose,this._onDidChangeDocument,this._onDidChange];dispose(){this._onDidDispose.fire(),this.disposables.forEach(e=>e.dispose())}};var nn=mt(require("vscode"));var _a=require("./fmtk.js");function Da(n){switch(n.type){case"Table":case"TableWithMeta":return Object.assign({},n,{values:void 0});default:return n}}var Sa=class{constructor(e){this.context=e;this.context.subscriptions.push(nn.window.registerCustomEditorProvider("fmtk.scriptdat",this,{supportsMultipleEditorsPerDocument:!1,webviewOptions:{retainContextWhenHidden:!0}}))}webviews=new Map;_onDidChangeCustomDocument=new nn.EventEmitter;onDidChangeCustomDocument=this._onDidChangeCustomDocument.event;async openCustomDocument(e,t,r){let i=await wf.create(e,t.backupId),o=[];return o.push(i.onDidChange(s=>{this._onDidChangeCustomDocument.fire({document:i,...s})})),o.push(i.onDidChangeContent(s=>{let a=this.webviews.get(i.uri.toString());a&&this.postMessage(a,"init",{version:i.version,data:i.rootdata})})),i.onDidDispose(()=>o.forEach(s=>s.dispose())),i}async resolveCustomEditor(e,t,r){let i=t.webview;this.webviews.set(e.uri.toString(),t),i.options={enableScripts:!0};let o=(await Promise.resolve().then(()=>mt(iw()))).default;i.html=o.replace(/\$cspSource\$/g,i.cspSource).replace(/\$nonce\$/g,wa()).replace(/\$ScriptDatWebview\.css\$/g,i.asWebviewUri(nn.Uri.joinPath(this.context.extensionUri,"/dist/ScriptDatWebview.css")).toString()).replace(/\$ScriptDatWebview\.js\$/g,i.asWebviewUri(nn.Uri.joinPath(this.context.extensionUri,"/dist/ScriptDatWebview.js")).toString()),t.webview.onDidReceiveMessage(s=>this.onMessage(e,s)),t.webview.onDidReceiveMessage(s=>{s.type==="ready"&&this.postMessage(t,"init",{version:e.version,data:e.rootdata})})}postMessage(e,t,r){e.webview.postMessage({type:t,body:r})}onMessage(e,t){switch(t.type){case"fetch":let r=t.body,i=e.find(r.modname,r.gcid);this.postMessage(this.webviews.get(e.uri.toString()),"values",{...r,values:i.values.map(o=>({key:Da(o.key),value:Da(o.value)}))});break}}},wf=class n{constructor(e,t){this.uri=e;this._data=new _a.ScriptDat(new _a.BufferStream(t))}static async create(e,t){let r=typeof t=="string"?nn.Uri.parse(t):e,i=await nn.workspace.fs.readFile(r);return new n(e,i)}_data;get version(){return this._data.version.format()}get rootdata(){let e={};for(let t in this._data.data)e[t]=Da(this._data.data[t]);return e}find(e,t){return this._data.find(e,t)}_onDidDispose=new nn.EventEmitter;onDidDispose=this._onDidDispose.event;_onDidChangeDocument=new nn.EventEmitter;onDidChangeContent=this._onDidChangeDocument.event;_onDidChange=new nn.EventEmitter;onDidChange=this._onDidChange.event;disposables=[this._onDidDispose,this._onDidChangeDocument,this._onDidChange];dispose(){this._onDidDispose.fire(),this.disposables.forEach(e=>e.dispose())}};function dP(n){let e=pt.window.createOutputChannel("FMTK",{log:!0});e.info(`FMTK ${Io}`);try{e.info("Registering Version Selector...");let t=new Fo(n,e);e.info("Registering Debug Provider...");let r=new Cf(t);n.subscriptions.push(pt.debug.registerDebugConfigurationProvider("factoriomod",r));let i=new Df(t);n.subscriptions.push(pt.debug.registerDebugAdapterDescriptorFactory("factoriomod",i)),n.subscriptions.push(i),e.info("Registering Language Client..."),tw(n),e.info("Registering Mod Package Provider..."),Sh(n),e.info("Registering Profile Renderer..."),new Lo(n),e.info("Registering Custom Editors..."),new Ca(n),new Sa(n),e.info("Activate Complete")}catch(t){e.error(`Error while activating: ${t}`)}}var Cf=class{constructor(e){this.versionSelector=e}async resolveDebugConfigurationWithSubstitutedVariables(e,t,r){let i=await this.versionSelector.getActiveVersion();if(!i)return;if(await i.isPrototypeCacheEnabled()){let s=await pt.window.showWarningMessage("Prototype Caching is enabled, which usually conflicts with the final portion of debugger initialization (which occurs in settings stage).","Disable in config.ini","Continue anyway");if(s==="Disable in config.ini")await i.disablePrototypeCache();else if(s===void 0)return}let o=pt.workspace.getConfiguration("factorio.debug").get("env",{});return Object.keys(o).length>0&&(t.env=Object.assign({},o,t.env)),t}},Df=class{constructor(e){this.versionSelector=e}async createDebugAdapterDescriptor(e,t){let r=await this.versionSelector.getActiveVersion();if(!r)return;if(r.nativeDAP)return new pt.DebugAdapterExecutable(r.factorioPath,["--dap"]);let i=pt.workspace.getConfiguration("factorio");switch(i.get("debug.runMode","inline")){case"inline":default:return new pt.DebugAdapterInlineImplementation(new ow.FactorioModDebugSession(r,pt.workspace.fs,{findWorkspaceFiles:pt.workspace.findFiles,getExtension:pt.extensions.getExtension,executeCommand:pt.commands.executeCommand}));case"external":return i.get("inspect",!1)&&t.args.unshift("--nolazy","--inspect-brk=34198"),t.args.push(...await r.debugLaunchArgs()),t}}dispose(){}};0&&(module.exports={activate});
|
|
180
|
+
</html>`;var ar=class{constructor(e){this.context=e;this.context.subscriptions.push(qe.window.registerCustomEditorProvider("fmtk.scriptdat",this,{supportsMultipleEditorsPerDocument:!1,webviewOptions:{retainContextWhenHidden:!0}}))}webviews=new Map;_onDidChangeCustomDocument=new qe.EventEmitter;onDidChangeCustomDocument=this._onDidChangeCustomDocument.event;async openCustomDocument(e,t,n){let i=await Sa.create(e,t.backupId),r=[];return r.push(i.onDidChange(o=>{this._onDidChangeCustomDocument.fire({document:i,...o})})),r.push(i.onDidChangeContent(o=>{let c=this.webviews.get(i.uri.toString());c&&this.postMessage(c,"init",{version:i.version,data:i.rootdata})})),i.onDidDispose(()=>r.forEach(o=>o.dispose())),i}resolveCustomEditor(e,t,n){let i=t.webview;this.webviews.set(e.uri.toString(),t),i.options={enableScripts:!0},i.html=bd.replace(/\$cspSource\$/g,i.cspSource).replace(/\$nonce\$/g,rr()).replace(/\$ScriptDatWebview\.css\$/g,i.asWebviewUri(qe.Uri.joinPath(this.context.extensionUri,"/dist/ScriptDatWebview.css")).toString()).replace(/\$ScriptDatWebview\.js\$/g,i.asWebviewUri(qe.Uri.joinPath(this.context.extensionUri,"/dist/ScriptDatWebview.js")).toString()),t.webview.onDidReceiveMessage(r=>this.onMessage(e,r)),t.webview.onDidReceiveMessage(r=>{r.type==="ready"&&this.postMessage(t,"init",{version:e.version,data:e.rootdata})})}postMessage(e,t,n){e.webview.postMessage({type:t,body:n})}onMessage(e,t){switch(t.type){case"fetch":let n=t.body,i=e.find(n.modname,n.gcid);this.postMessage(this.webviews.get(e.uri.toString()),"values",{...n,values:i.values.map(r=>({key:or(r.key),value:or(r.value)}))});break}}},Sa=class s{constructor(e,t){this.uri=e;this._data=new Ma(new an(t))}static async create(e,t){let n=typeof t=="string"?qe.Uri.parse(t):e,i=await qe.workspace.fs.readFile(n);return new s(e,i)}_data;get version(){return this._data.version.format()}get rootdata(){let e={};for(let t in this._data.data)e[t]=or(this._data.data[t]);return e}find(e,t){return this._data.find(e,t)}_onDidDispose=new qe.EventEmitter;onDidDispose=this._onDidDispose.event;_onDidChangeDocument=new qe.EventEmitter;onDidChangeContent=this._onDidChangeDocument.event;_onDidChange=new qe.EventEmitter;onDidChange=this._onDidChange.event;disposables=[this._onDidDispose,this._onDidChangeDocument,this._onDidChange];dispose(){this._onDidDispose.fire(),this.disposables.forEach(e=>e.dispose())}};function Ch(s){let e=ue.window.createOutputChannel("FMTK",{log:!0});e.info(`FMTK ${Yn}`);try{e.info("Registering FS Provider...");let t=new si;s.subscriptions.push(ue.workspace.registerFileSystemProvider("fmtk",t,{isCaseSensitive:!0})),e.info("Registering Version Selector...");let n=new ii(s,e,t);e.info("Registering Debug Provider...");let i=new _a(n);s.subscriptions.push(ue.debug.registerDebugConfigurationProvider("factoriomod",i));let r=new ba(n);s.subscriptions.push(ue.debug.registerDebugAdapterDescriptorFactory("factoriomod",r)),s.subscriptions.push(r),e.info("Registering Language Client..."),Dd(s),e.info("Registering Mod Package Provider..."),Na(s),e.info("Registering Profile Renderer..."),new di(s),e.info("Registering Custom Editors..."),new sr(s),new ar(s),e.info("Activate Complete")}catch(t){e.error(`Error while activating: ${t}`)}}var _a=class{constructor(e){this.versionSelector=e}async resolveDebugConfigurationWithSubstitutedVariables(e,t,n){let i=await this.versionSelector.getActiveVersion();if(!i)return;if(await i.isPrototypeCacheEnabled()){let o=await ue.window.showWarningMessage("Prototype Caching is enabled, which usually conflicts with the final portion of debugger initialization (which occurs in settings stage).",{modal:!0},"Disable in config.ini","Continue anyway");if(o==="Disable in config.ini")await i.disablePrototypeCache();else if(o===void 0)return}let r=ue.workspace.getConfiguration("factorio.debug").get("env",{});return Object.keys(r).length>0&&(t.env=Object.assign({},r,t.env)),t}},ba=class{constructor(e){this.versionSelector=e}async createDebugAdapterDescriptor(e,t){let n=await this.versionSelector.getActiveVersion();if(!n)return;if(n.nativeDAP)return new ue.DebugAdapterExecutable(n.factorioPath,["--dap"]);let i=ue.workspace.getConfiguration("factorio");switch(i.get("debug.runMode","inline")){case"inline":default:return new ue.DebugAdapterInlineImplementation(new Ea(n,ue.workspace.fs,{findWorkspaceFiles:ue.workspace.findFiles,getExtension:ue.extensions.getExtension,executeCommand:ue.commands.executeCommand}));case"external":return i.get("inspect",!1)&&t.args.unshift("--nolazy","--inspect-brk=34198"),t.args.push(...await n.debugLaunchArgs()),t}}dispose(){}};export{Ch as activate};
|
|
214
181
|
//# sourceMappingURL=fmtk-vscode.js.map
|