UNPKG

@sap/cds-lsp

Version:

Language server for CDS

407 lines (403 loc) 546 kB
"use strict";var ig=Object.create;var _r=Object.defineProperty;var og=Object.getOwnPropertyDescriptor;var _A=Object.getOwnPropertyNames;var UA=Object.getPrototypeOf,$A=Object.prototype.hasOwnProperty;var sg=(i,e)=>(e=Symbol[i])?e:Symbol.for("Symbol."+i),Ri=i=>{throw TypeError(i)};var ag=(i,e,t)=>e in i?_r(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var s=(i,e)=>_r(i,"name",{value:e,configurable:!0});var lg=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),MA=(i,e)=>{for(var t in e)_r(i,t,{get:e[t],enumerable:!0})}, cg=(i,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of _A(e))!$A.call(i,r)&&r!==t&&_r(i,r,{get:()=>e[r], enumerable:!(n=og(e,r))||n.enumerable});return i};var J=(i,e,t)=>(t=i!=null?ig(UA(i)):{},cg(e||!i||!i.__esModule?_r(t,"default",{value:i,enumerable:!0}):t,i)),WA=i=>cg(_r( {},"__esModule",{value:!0}),i);var C=i=>[,,,ig(i?.[sg("metadata")]??null)],pg=["class","method","getter","setter","accessor","field","value","get","set"], os=i=>i!==void 0&&typeof i!="function"?Ri("Function expected"):i,BA=(i,e,t,n,r)=>({kind:pg[i],name:e,metadata:n,addInitializer:o=>t. _?Ri("Already initialized"):r.push(os(o||null))}),k=(i,e)=>ag(e,sg("metadata"),i[3]),x=(i,e,t,n)=>{for(var r=0,o=i[e>>1], a=o&&o.length;r<a;r++)e&1?o[r].call(t):n=o[r].call(t,n);return n},f=(i,e,t,n,r,o)=>{var a,l,c,p,u,d=e&7,m=!!(e&8),h=!!(e& 16),I=d>3?i.length+1:d?m?1:2:0,T=pg[d+5],P=d>3&&(i[I-1]=[]),v=i[I]||(i[I]=[]),w=d&&(!h&&!m&&(r=r.prototype),d<5&&(d>3||!h)&& og(d<4?r:{get[t](){return Jn(this,o)},set[t](O){return ss(this,o,O)}},t));d?h&&d<4&&s(o,(d>2?"set ":d>1?"get ":"")+t):s( r,t);for(var R=n.length-1;R>=0;R--)p=BA(d,t,c={},i[3],v),d&&(p.static=m,p.private=h,u=p.access={has:h?O=>XA(r,O):O=>t in O},d^3&&(u.get=h?O=>(d^1?Jn:VA)(O,r,d^4?o:w.get):O=>O[t]),d>2&&(u.set=h?(O,D)=>ss(O,r,D,d^4?o:w.set):(O,D)=>O[t]=D)),l=(0,n[R])( d?d<4?h?o:w[T]:d>4?void 0:{get:w.get,set:w.set}:r,p),c._=1,d^4||l===void 0?os(l)&&(d>4?P.unshift(l):d?h?o=l:w[T]=l:r=l): typeof l!="object"||l===null?Ri("Object expected"):(os(a=l.get)&&(w.get=a),os(a=l.set)&&(w.set=a),os(a=l.init)&&P.unshift( a));return d||k(i,r),w&&_r(r,t,w),h?d^4?o:w:r},S=(i,e,t)=>ag(i,typeof e!="symbol"?e+"":e,t),$d=(i,e,t)=>e.has(i)||Ri("Ca\ nnot "+t),XA=(i,e)=>Object(e)!==e?Ri('Cannot use the "in" operator on this value'):i.has(e),Jn=(i,e,t)=>($d(i,e,"read fr\ om private field"),t?t.call(i):e.get(i)),ug=(i,e,t)=>e.has(i)?Ri("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(i):e.set(i,t),ss=(i,e,t,n)=>($d(i,e,"write to private field"),n?n.call(i,t):e.set(i,t),t),VA=(i,e,t)=>($d( i,e,"access private method"),t);var Ky=lg((yU,Fm)=>{function Xy(i){return Array.isArray(i)?i:[i]}s(Xy,"makeArray");var HR=void 0,Pm="",Wy=" ",Cm="\\",KR=/^\s+$/, zR=/(?:[^\\]|^)\\$/,jR=/^\\!/,QR=/^\\#/,JR=/\r?\n/g,YR=/^\.{0,2}\/|^\.{1,2}$/,ZR=/\/$/,Qi="/",Vy="node-ignore";typeof Symbol< "u"&&(Vy=Symbol.for("node-ignore"));var qy=Vy,Cs=s((i,e,t)=>(Object.defineProperty(i,e,{value:t}),t),"define"),eL=/([0-z])-([0-z])/g, Gy=s(()=>!1,"RETURN_FALSE"),tL=s(i=>i.replace(eL,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:Pm),"sanitizeRange"),nL=s(i=>{ let{length:e}=i;return i.slice(0,e-e%2)},"cleanRangeBackSlash"),rL=[[/^\uFEFF/,()=>Pm],[/((?:\\\\)*?)(\\?\s+)$/,(i,e,t)=>e+ (t.indexOf("\\")===0?Wy:Pm)],[/(\\+?)\s/g,(i,e)=>{let{length:t}=e;return e.slice(0,t-t%2)+Wy}],[/[\\$.|*+(){^]/g,i=>`\\${i}`], [/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,s(function(){ return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"},"startingReplacer")],[/\\\/\\\*\\\*(?=\\\/|$)/g,(i,e,t)=>e+6<t.length?"(?:\\/\ [^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(i,e,t)=>{let n=t.replace(/\\\*/g,"[^\\/]*");return e+n}],[/\\\\\\(?=[$.|*+(){^])/g, ()=>Cm],[/\\\\/g,()=>Cm],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(i,e,t,n,r)=>e===Cm?`\\[${t}${nL(n)}${r}`:r==="]"&&n.length%2=== 0?`[${tL(t)}${n}]`:"[]"],[/(?:[^*])$/,i=>/\/$/.test(i)?`${i}$`:`${i}(?=$|\\/$)`]],iL=/(^|\\\/)?\\\*$/,Ps="regex",lc="che\ ckRegex",By="_",oL={[Ps](i,e){return`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`},[lc](i,e){return`${e?`${e}[^/]*`:"[^/]*"}(?=$|\ \\/$)`}},sL=s(i=>rL.reduce((e,[t,n])=>e.replace(t,n.bind(i)),i),"makeRegexPrefix"),cc=s(i=>typeof i=="string","isString"), aL=s(i=>i&&cc(i)&&!KR.test(i)&&!zR.test(i)&&i.indexOf("#")!==0,"checkPattern"),lL=s(i=>i.split(JR).filter(Boolean),"spli\ tPattern"),vm=class{static{s(this,"IgnoreRule")}constructor(e,t,n,r,o,a){this.pattern=e,this.mark=t,this.negative=o,Cs(this, "body",n),Cs(this,"ignoreCase",r),Cs(this,"regexPrefix",a)}get regex(){let e=By+Ps;return this[e]?this[e]:this._make(Ps, e)}get checkRegex(){let e=By+lc;return this[e]?this[e]:this._make(lc,e)}_make(e,t){let n=this.regexPrefix.replace(iL,oL[e]), r=this.ignoreCase?new RegExp(n,"i"):new RegExp(n);return Cs(this,t,r)}},cL=s(({pattern:i,mark:e},t)=>{let n=!1,r=i;r.indexOf( "!")===0&&(n=!0,r=r.substr(1)),r=r.replace(jR,"!").replace(QR,"#");let o=sL(r);return new vm(i,e,r,t,n,o)},"createRule"), Am=class{static{s(this,"RuleManager")}constructor(e){this._ignoreCase=e,this._rules=[]}_add(e){if(e&&e[qy]){this._rules= this._rules.concat(e._rules._rules),this._added=!0;return}if(cc(e)&&(e={pattern:e}),aL(e.pattern)){let t=cL(e,this._ignoreCase); this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,Xy(cc(e)?lL(e):e).forEach(this._add,this),this._added}test(e,t,n){ let r=!1,o=!1,a;this._rules.forEach(c=>{let{negative:p}=c;o===p&&r!==o||p&&!r&&!o&&!t||!c[n].test(e)||(r=!p,o=p,a=p?HR:c)}); let l={ignored:r,unignored:o};return a&&(l.rule=a),l}},pL=s((i,e)=>{throw new e(i)},"throwError"),Un=s((i,e,t)=>cc(i)?i? Un.isNotRelative(i)?t(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:t("path must not be \ empty",TypeError):t(`path must be a string, but got \`${e}\``,TypeError),"checkPath"),Hy=s(i=>YR.test(i),"isNotRelative"); Un.isNotRelative=Hy;Un.convert=i=>i;var Rm=class{static{s(this,"Ignore")}constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){ Cs(this,qy,!0),this._rules=new Am(t),this._strictPathCheck=!n,this._initCache()}_initCache(){this._ignoreCache=Object.create( null),this._testCache=Object.create(null)}add(e){return this._rules.add(e)&&this._initCache(),this}addPattern(e){return this. add(e)}_test(e,t,n,r){let o=e&&Un.convert(e);return Un(o,e,this._strictPathCheck?pL:Gy),this._t(o,t,n,r)}checkIgnore(e){ if(!ZR.test(e))return this.test(e);let t=e.split(Qi).filter(Boolean);if(t.pop(),t.length){let n=this._t(t.join(Qi)+Qi,this. _testCache,!0,t);if(n.ignored)return n}return this._rules.test(e,!1,lc)}_t(e,t,n,r){if(e in t)return t[e];if(r||(r=e.split( Qi).filter(Boolean)),r.pop(),!r.length)return t[e]=this._rules.test(e,n,Ps);let o=this._t(r.join(Qi)+Qi,t,n,r);return t[e]= o.ignored?o:this._rules.test(e,n,Ps)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this. ignores(e)}filter(e){return Xy(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},Lm=s(i=>new Rm( i),"factory"),uL=s(i=>Un(i&&Un.convert(i),i,Gy),"isPathValid");if(typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32|| process.platform==="win32")){let i=s(t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u.test(t)?t:t.replace(/\\/g,"/"),"mak\ ePosix");Un.convert=i;let e=/^[a-z]:\//i;Un.isNotRelative=t=>e.test(t)||Hy(t)}Fm.exports=Lm;Lm.default=Lm;Fm.exports.isPathValid= uL});var sh=lg(oh=>{"use strict";Object.defineProperty(oh,"__esModule",{value:!0});oh.TypedEmitter=require("events").EventEmitter});var qE={};MA(qE,{ServerStarter:()=>Od,createCdsLanguageTestServer:()=>RE,formatCli:()=>tg,lspRoot:()=>lt,ruleName:()=>Ke}); module.exports=WA(qE);var Rn=require("node:path");var at="";function cl(i){return(0,Rn.isAbsolute)(i)}s(cl,"path_isAbsolute");function Z(i){return(0,Rn.dirname)(i)}s(Z,"p\ ath_dirname");function E(...i){return(0,Rn.resolve)(...i)}s(E,"path_resolve");function rt(i,e){return(0,Rn.relative)(i,e)} s(rt,"path_relative");function dg(){return process.cwd()}s(dg,"process_cwd");var qA={filename:"/data/xmake/prod-build10210/workspace/ght-cap/ght-cap-cds-lsp-SP-REL-linuxx86_64_indirectshipment-linu\ xx86_64/gen/out/module/src/root.ts",dirname:"/data/xmake/prod-build10210/workspace/ght-cap/ght-cap-cds-lsp-SP-REL-linuxx\ 86_64_indirectshipment-linuxx86_64/gen/out/module/src",relativefilename:"src/root.ts",relativedirname:"src"};var lt=E(global.__lspBundleDirname??qA.dirname,"..");var Yn="";var Ee="/",cn="\\",pl=` `;var mg="'";function Ur(){return process.env.NODE_ENV!=="test"}s(Ur,"isProduction");function GA(i){return`CDS_LSP_${i}_FEATURE`}s(GA,"featureEnvName");function Li(i,e){return HA(GA(i))??e}s(Li,"isFeatureE\ nabled");function HA(i){let e=process.env[i];if(e!==void 0){if(["off","false","0"].includes(e))return!1;if(["on","true", "1"].includes(e))return!0}}s(HA,"isEnabled");function Ln(i,e,t){return i?e():t}s(Ln,"fallback");var ml=J(require("node:async_hooks"));var ul=class{constructor(e){this.asyncId=e}static{s(this,"ClsFrame")}},dl=class{constructor(e){this.clsFactory=e;this.hook= ml.createHook({init:s((t,n,r,o)=>{let a=this.getFrame(r),l=this.getFrame(t,a);this.frames.set(t,l)},"init"),destroy:s(t=>{ this.frames.delete(t)},"destroy")}),this.hook.enable()}static{s(this,"ContinuationLocalStorage")}frames=new Map;hook;getFrame(e,t){ let n=this.frames.get(e);return n||(n=this.clsFactory.createFrame(e,t),this.frames.set(e,n)),n}currentFrame(){return this. getFrame(ml.executionAsyncId())}};var Md="\x1B[",Wd="m",fg=s(i=>Md+i+Wd,"makeAnsi"),$r=s((i,e=i+20)=>{let t=fg(i),n=fg(e);return r=>t+r+n},"makeTypo"),hg=s( (i,e=!1)=>t=>{let l=Md+(t+(i?30:40)+(e?60:0))+Wd,c=Md+(9+(i?30:40))+Wd;return p=>l+p+c},"makeColorize"),KA=["black","red", "green","khaki","blue","purple","petrol","lightgray"],zA=["darkgray","lightred","lightgreen","yellow","lightblue","magen\ ta","cyan","white"],gg=s(i=>{let e={};return KA.forEach((t,n)=>{e[t]=hg(i,!1)(n)}),zA.forEach((t,n)=>{e[t]=hg(i,!0)(n)}), e},"makeColors"),Mr=gg(!0),Ig=gg(!1),ae={fg:Mr,bg:Ig,intense:$r(1,22),dim:$r(2),italic:$r(3),underline:$r(4),blink:$r(5), inverse:$r(7),strikethrough:$r(9)},ee={requestFromServer:Mr.purple,responseToClient:Mr.lightgreen,error:s(i=>Mr.yellow(Ig. red(i)),"error"),warn:Mr.yellow,info:Mr.white,success:Mr.green};var jA="^>",QA="<^";function j(i=""){return`${jA}${i}${QA}`}s(j,"tagPrivateData");function yg(i){return i.replaceAll(/\^>.*?<\^/gm, "...")}s(yg,"hidePrivateData");var H=(p=>(p[p.invalid=0]="invalid",p[p.OFF=1]="OFF",p[p.INFRASTRUCTURE=2]="INFRASTRUCTUR\ E",p[p.ERROR=3]="ERROR",p[p.WARNING=4]="WARNING",p[p.INFO=5]="INFO",p[p.VERBOSE=6]="VERBOSE",p[p.DEBUG=7]="DEBUG",p[p.IGNORE= 8]="IGNORE",p))(H||{}),N=(R=>(R.ALL="*",R.ADAPTER="adapter",R.COMPLETION="completion",R.COMPILER="compiler",R.CONTRIBUTION= "contribution",R.DOCUMENTATION="docs",R.FORMATTING="format",R.MODEL="model",R.MODEL_TODOS="model-todos",R.REFACTOR="refa\ ctor",R.REQUESTS="requests",R.SETTINGS="settings",R.UTIL="util",R.TELEMETRY="telemetry",R.WORKSPACE="workspace",R.FILES= "files",R.ENV="cdsenv",R.COMMAND="command",R.CONTEXT_LOG="context-log",R))(N||{});var hl="---> ",Fn="<--- ";function Zn(i,{errorPredicate:e=!1,warnPredicate:t=!1,infoPredicate:n=!1,successPredicate:r=!1, debugPredicate:o=!1}){return e?ee.error(i):t?ee.warn(i):r?ee.success(i):n?ee.info(i):o?ae.fg.darkgray(i):i}s(Zn,"highlig\ ht");var as=class{constructor(e=!1){this.warnPrinted=e}static{s(this,"NoTracer")}printWarning(){this.warnPrinted||(this. warnPrinted=!0,console.error(` NoTracer was used!!! ${new Error().stack}`))}isTracing(e){return this.printWarning(),!1}debug(e){this.conditionalTrace(7,e)}verbose(e){this.conditionalTrace( 6,e)}info(e){this.conditionalTrace(5,e)}warn(e){this.conditionalTrace(4,e)}error(e){this.conditionalTrace(3,e)}footprint(e,t,n,r){ return t(...n)}conditionalTrace(e,t){this.printWarning()}},fl=class{constructor(e=new as){this._tracer=e}static{s(this,"\ NoTrace")}conditionalTrace(){}configure(){}doTraceToFile(){}noTraceDuring(e){return e()}renderMessage(e,t,n){return""}tracer(){ return this._tracer}extendedStat(){}extendedStatLater(){}cancelLaterStats(){}traceLevel(e){return 1}},Fi=class{static{s( this,"UnsupportedValue")}constructor(e){}};var gl=class{static{s(this,"SymbolData")}},Bd=class extends gl{static{s(this,"LspClsAppScope")}trace=new fl;statistics=new class extends Map{static{ s(this,"Statistics")}report(t){let n={type:"statistics",trigger:t,...[...this.entries()].reduce((r,[o,[a,l]])=>{let c=`${o}\ .average`;return r[c]=Math.round(a/l),r[`${o}.total`]=a,r},{})};return this.clear(),n}}},Il=class extends gl{constructor(t,n){ super();this.name=t;this.requestNumber=n}static{s(this,"LspClsRequestScope")}snapshots=new Map},ls=class{static{s(this,"\ LspClsFrameScope")}indentLevel=0;constructor(e=0){this.indentLevel=e}isTraceEnabled(){return this.indentLevel>=0}},yl=class extends ul{constructor(t,n,r,o){ super(t);this.appScope=n;this.frameScope=o,this.requestScope=r}static{s(this,"LspClsFrame")}requestScope;frameScope},Xd=class{static{ s(this,"LspFrameFactory")}appScope=new Bd;createFrame(e,t){return t?t.frameScope.isTraceEnabled()?new yl(e,t.appScope,t. requestScope,new ls(t.frameScope.indentLevel)):t:new yl(e,this.appScope,new Il("<fromScratch>",-e),new ls)}},JA=new Xd,YA=new dl( JA),q=s(()=>YA.currentFrame(),"currentFrame");function L(){return q().appScope.trace}s(L,"currentTrace");function Vd(i){ return q().appScope[i]}s(Vd,"current");function qd(i,e){q().appScope[i]=e}s(qd,"initCurrent");var Tg=1,Ei=s((i,e=Tg)=>{Tg++; let t=q(),n=t.requestScope;return t.requestScope=new Il(i,e),t.frameScope=new ls,n},"startRequestScope");function bg(i){ return()=>{let e=q();e.requestScope=i}}s(bg,"endRequestScope");var Pe=require("node:fs"),Hd=require("node:os"),Rg=require("node:path");var Tl=require("node:path"),Ni=require("node:util"),We=J(require("vscode-languageserver-protocol"));function kg(i){switch(i){case We.DocumentHighlightKind.Text:return"text";case We.DocumentHighlightKind.Read:return"read";case We.DocumentHighlightKind. Write:return"writ";default:return ee.error(`[E] <unknown kind> ${i}`)}}s(kg,"renderKind");function cs(i,e=70){return JSON. stringify(i.length<=e?i:`${i.slice(0,e-3)}...`)}s(cs,"shorten");function xg(i){if(We.MarkupContent.is(i))return`${i.kind}\ : ${cs(i.value)}`;let e=s(t=>typeof t=="string"?cs(t):`[${t.language}] ${cs(t.value)}`,"renderMarkedString");return Array. isArray(i)?Ge(i.map(e)):e(i)}s(xg,"renderContents");function ZA(i){return!!i?.range}s(ZA,"isIncremental");var eR={[We.FileChangeType. Created]:"Created",[We.FileChangeType.Deleted]:"Deleted",[We.FileChangeType.Changed]:"Changed"};function Sg(i){if(i!==void 0) switch(i){case We.DiagnosticSeverity.Error:return"Error";case We.DiagnosticSeverity.Warning:return"Warn";case We.DiagnosticSeverity. Information:return"Info";case We.DiagnosticSeverity.Hint:return"Hint"}return"?"}s(Sg,"renderSeverity");function tR(i=""){ return e=>Ag(e,i)}s(tR,"makeRenderLocation");function Cg(i){let e="";return i?.documentation&&(e=We.MarkupContent.is(i.documentation)? i.documentation.value:i.documentation),`${i?.data?.providerName??ee.warn("UnknownProvider")}: <${i.kind}> ${i.label} [${i. commitCharacters||""}] ${cs(e)}`}s(Cg,"renderCompletionItem");function Pg(i,e=[]){let t={};for(let r of e){let o=r.lastIndexOf( i)+1,a=r.slice(0,o),l=r.slice(o);(t[a]??=[]).push(l)}let n="";for(let r of Object.keys(t).sort()){let o=t[r];if(o.length=== 1)n+=` ${r}${o[0]}`;else{let l=o.reduce((u,d)=>Math.max(u,d.length),0)+2,c=Math.floor(120/l);n+=` ${r} `;let p=0;o.sort();for(let u of o)n+=`${u.padEnd(l)}${++p%c===0?` `:""}`}}return n}s(Pg,"renderPaths");function Ge(i,e=""){return i?i.length?`${i.reduce((t,n)=>`${t} ${e} ${n}`,"[")} ${e}]`:"[]":""}s(Ge,"arr");var vg=(z=>(z[z.File=1]="File",z[z.Module=2]="Module",z[z.Namespace=3]="Namespace",z[z.Package= 4]="Package",z[z.Class=5]="Class",z[z.Method=6]="Method",z[z.Property=7]="Property",z[z.Field=8]="Field",z[z.Constructor= 9]="Constructor",z[z.Enum=10]="Enum",z[z.Interface=11]="Interface",z[z.Function=12]="Function",z[z.Variable=13]="Variabl\ e",z[z.Constant=14]="Constant",z[z.String=15]="String",z[z.Number=16]="Number",z[z.Boolean=17]="Boolean",z[z.Array=18]="\ Array",z[z.Object=19]="Object",z[z.Key=20]="Key",z[z.Null=21]="Null",z[z.EnumMember=22]="EnumMember",z[z.Struct=23]="Str\ uct",z[z.Event=24]="Event",z[z.Operator=25]="Operator",z[z.TypeParameter=26]="TypeParameter",z))(vg||{});function Gd(i,e=""){ return(e?"":` `)+i.map(t=>iR(t,e)).join(` `)+(e?"":` `)}s(Gd,"docSymbolsToString");function nR(i){let e=i.map(n=>(0,Ni.inspect)(n,{compact:!0,maxStringLength:200,breakLength:200})), t=e.reduce((n,r)=>n+r.length,0)>200;return e.join(t?`, `:", ")}s(nR,"renderArgs");var g={array:s(i=>g.asIs(i),"array"),asIs:s(i=>(0,Ni.inspect)(i,{depth:null,compact:!1}),"asI\ s"),args:nR,changeTextDoc:s(i=>`${i.textDocument.uri}#${i.textDocument.version} ${Ge(i.contentChanges.map(aR))}`,"change\ TextDoc"),changeWatched:s(i=>Ge(i.changes.map(e=>`${eR[e.type]||e.type} ${e.uri})`)),"changeWatched"),codeAction:s(i=>`${i. textDocument.uri} ${g.range(i.range)}`,"codeAction"),codeActions:s(i=>Ge(i.map(e=>`${e.title}: ${e.command?.command}(${g. asIs(e.data)})`)),"codeActions"),codeLens:s(i=>Ge(i.map(e=>`${e.command?.title}`)),"codeLens"),completionItem:Cg,completionList:s( i=>`${i.isIncomplete?"incomplete":""} ${Ge(i.items.map(Cg))}`,"completionList"),contents:xg,diags:s(i=>g.diagsWithIndent( i),"diags"),diagsWithIndent:s((i,e="")=>Ge(i.map(t=>`${Sg(t.severity)} ${g.range(t.range)}: ${t.message}`),e),"diagsWith\ Indent"),docClosed:s(i=>i.textDocument.uri,"docClosed"),docHighlight:s(i=>`${kg(i.kind)}: ${g.range(i.range)}`,"docHighl\ ight"),docHighlights:s(i=>Ge(i.map(g.docHighlight)),"docHighlights"),docOpened:s(i=>`${i.textDocument.uri}#${i.textDocument. version} ${cs(i.textDocument.text,30)}`,"docOpened"),docSaved:s(i=>`${i.textDocument.uri}`,"docSaved"),docSymbolParams:s( i=>i.textDocument.uri,"docSymbolParams"),docSymbolResult:oR,docSymbols:s(i=>Gd(i),"docSymbols"),documentLink:s(i=>`${i.data}\ @${g.pos(i.range.start)} -> ${i.target}`,"documentLink"),documentLinkParams:s(i=>`${i.textDocument.uri}`,"documentLinkPa\ rams"),documentLinks:s(i=>Ge(i.map(g.documentLink)),"documentLinks"),execCmd:s(i=>`(${JSON.stringify(i.arguments)})`,"ex\ ecCmd"),exception:s(i=>rR(i)&&i.stack?i.stack:(0,Ni.inspect)(i),"exception"),hov:s(i=>i?`${i.range?g.range(i.range):""}:\ ${xg(i?.contents)}`:"","hov"),kind:kg,location:Ag,locations:s(i=>Ge(i.map(tR())),"locations"),localPaths:s((i=[])=>Pg(Tl.sep, i),"localPaths"),map:s(i=>[...i.entries()].map(([e,t])=>`${e}: ${(0,Ni.inspect)(t)}`).join(` `),"map"),nothing:s(()=>"","nothing"),pos:s(i=>`[${i.line}:${i.character}]`,"pos"),range:s(i=>`[${i.start.line}:${i.start. character}-${i.end.line}:${i.end.character}]`,"range"),ref:s(i=>`${i.textDocument.uri} ${g.pos(i.position)} ${i.context. includeDeclaration?"withDecl":""}`,"ref"),result:s(i=>(0,Ni.inspect)(i,{compact:!0,maxStringLength:200,breakLength:200}), "result"),severity:Sg,symbolInfos:s(i=>Ge(i.map(e=>`${g.range(e.location.range).padEnd(14)} ${`${e.kind}`.padStart(2)} ${e. name.padEnd(20)} (${e.containerName||"/"})`)),"symbolInfos"),symbolInfos_Uri:lR,symbolKind:s(i=>vg[i]??"<unknown symbol \ kind>","symbolKind"),textEdits:s(i=>`${Ge(i.map(e=>`'${e.newText.replaceAll(pl,`${cn}n`)}'${g.range(e.range)}`))}`,"text\ Edits"),textPos:s(i=>`${i.textDocument.uri} ${g.pos(i.position)}`,"textPos"),uris:s((i=[])=>Pg(Ee,i),"uris"),wsSymbol:s( i=>i.query,"wsSymbol"),direntsOrStrings:s(i=>i.length?typeof i[0]=="string"?Ge(i):g.dirEnts(i):"[]","direntsOrStrings"), dirEnts:s(i=>Ge(i.map(g.dirEnt)),"dirEnts"),dirEnt:s(i=>`${g.dirEntType(i)} ${i.name}`,"dirEnt"),dirEntType(i){return i. isFile()?"-":i.isDirectory()?"d":i.isSymbolicLink()?"l":i.isFIFO()?"p":i.isSocket()?"s":i.isBlockDevice()?"b":i.isCharacterDevice()? "c":"?"},stats:s(i=>i?`${g.dirEntType(i)} ${i.mode.toString(8)} ${new Date(i.mtimeMs).toISOString()} ${i.size} bytes`:"<\ undefined>","stats"),content:s(i=>`"${i.slice(0,10)}${i.length>10?`..." (${i.length} bytes)`:'"'}`,"content")};function rR(i){ return!!i?.stack}s(rR,"isError");function iR(i,e){return`${e}${g.symbolKind(i.kind)} ${i.name} ${g.range(i.selectionRange)}\ ${g.range(i.range)}${i.detail?` "${i.detail}"`:""}${i.children?.length?` ${Gd(i.children,`${e} `)}`:""}`}s(iR,"docSymbolToString");function oR(i){return i?.length?We.DocumentSymbol.is(i[0])?Gd( i):g.symbolInfos(i):g.asIs(i)}s(oR,"renderDocSymbolResult");function sR(i){return i!==void 0?i:""}s(sR,"renderExists");function aR(i){ return`${ZA(i)?g.range(i.range):""} ${sR(i?.rangeLength)}`}s(aR,"renderTextDocConChEv");function Ag(i,e=""){let t=s(n=>e. length?(0,Tl.relative)(e,n):n,"relPath");return We.LocationLink.is(i)?`${t(i.targetUri)}${g.range(i.targetSelectionRange)}\ in ${g.range(i.targetRange)}`:`${t(i.uri)}${g.range(i.range)}`}s(Ag,"renderLocation");function er(i,e,t=`${e}s`){return i=== 1?e:t}s(er,"numerus");function lR(i,e){if(e<7){let t=i||[],n=t.reduce((r,o)=>r.add(o.location.uri),new Set);return`${t.length}\ symbols from ${n.size} ${er(n.size,"file")}`}return Ge(i.map(t=>`${`${t.kind}`.padStart(2)} ${`(${t.containerName||"/"}\ )`.padEnd(40)} ${t.name.padEnd(20)} ${g.range(t.location.range).padEnd(14)} ${t.location.uri}`))}s(lR,"renderSymbolInfos\ _Uri");function ke(i){return typeof i[0]=="string"?i[0]:g.asIs(i[0])}s(ke,"firstArg");function ct(i){return e=>{try{let t=i. split("."),n=t.shift(),r=e[Number(n)];for(let o=t.shift();o!==void 0;o=t.shift())r=r?.[o];return typeof r=="string"?r:g. asIs(r)}catch(t){return`? ${t}`}}}s(ct,"specificArg");var cR=1,bl=class i{static{s(this,"LogFile")}_folder;fileDescriptor=0;_filePath;logId;constructor(e=`${process.pid}_${cR++}`,t=""){ let n=t+e;this.logId=n,this._folder=this.defaultFolder(),this._filePath=this.logFilePath(n),this.createFile()}createFile(){ try{this.fileDescriptor=(0,Pe.openSync)(this._filePath,"w+",511),this.appendRaw(`#!/usr/bin/env less -f -R `),this.appendRaw(`${ee.requestFromServer("---------- opened trace file")} `),this.appendRaw(`${ee.responseToClient(new Date().toISOString())} `)}catch(e){this.logError(e)}}defaultFolder(){return E((0,Hd.tmpdir)(),"cdxlsp")}get folder(){return i.ensureFolderExists( this._folder)}set folder(e){e&&(this._folder=e)}static ensureFolderExists(e){return(0,Pe.existsSync)(e)||(0,Pe.mkdirSync)( e,{recursive:!0}),e}get filePath(){return this._filePath}logError(e){console.error(g.exception(e))}onceRenamed=!1;rename(e){ if(this.onceRenamed){this.append(`[w] LogFile.rename(id: ${this.logId} => ${e}) ignored`);return}this.onceRenamed=!0,this. append(`LogFile.rename(id: ${this.logId} => ${e})`),this.logId=e;try{let t=this.logFilePath(this.logId);this._filePath!== t&&((0,Pe.closeSync)(this.fileDescriptor),this.deleteOrphanedLogFiles(),Z(this._filePath)===Z(t)?(0,Pe.renameSync)(this. _filePath,t):((0,Pe.copyFileSync)(this._filePath,t),(0,Pe.unlinkSync)(this._filePath)),this._filePath=t,this.fileDescriptor= (0,Pe.openSync)(this._filePath,"a+"))}catch(t){this.logError(t)}}deleteOrphanedLogFiles(){}logFilePath(e){let t=`${e.replaceAll( /[:/\\]/g,"_")}.log`;return pR(()=>E(this.folder,t),E((0,Hd.tmpdir)(),`cdxlsp_${t}`))}append(e){this.appendRaw(`${e} `)}appendRaw(e){try{(0,Pe.appendFileSync)(this.fileDescriptor,e)}catch{}}close(){this.appendRaw(` ---------- closing trace file `),(0,Pe.closeSync)(this.fileDescriptor),this.fileDescriptor=0}},wi=class i extends bl{static{s(this,"RotationLogFile")}static DEFAULT_MAX_FILE_SIZE=1e7;static DEFAULT_NUMBER_OF_FILES=3;_maxFileSize=i. DEFAULT_MAX_FILE_SIZE;_numberOfFiles=i.DEFAULT_NUMBER_OF_FILES;currentFileNumber=0;currentFileCount=0;appendRaw(e){super. appendRaw(e),this.currentFileCount+=e.length,this.currentFileCount>=this.maxFileSize&&this.rotateFile()}get numberOfFiles(){ return this._numberOfFiles}set numberOfFiles(e){e!==void 0&&(this._numberOfFiles=Math.max(2,e))}get maxFileSize(){return this. _maxFileSize}set maxFileSize(e){e!==void 0&&(this._maxFileSize=Math.max(1e3,e))}logFilePath(e){return super.logFilePath( `${e}.${this.currentFileNumber??0}`)}rotateFile(){try{let e=this._filePath;this.bumpFileNumber(),this._filePath=this.logFilePath( this.logId),this.currentFileCount=0,this.appendRaw(` ----- continued in ${this._filePath}`),(0,Pe.closeSync)(this.fileDescriptor),this.fileDescriptor=(0,Pe.openSync)(this._filePath, "w+"),this.currentFileCount=0,this.appendRaw(`----- continued from ${e} `)}catch(e){this.logError(e)}}bumpFileNumber(){let e=(this.currentFileNumber+1)%(this.numberOfFiles+1);this.currentFileNumber= e||1}deleteOrphanedLogFiles(){try{for(let e of this.findOrphanedFiles())this.renameAndUnlinkOrphanedFile(e)}catch(e){this. logError(e)}}findOrphanedFiles(){let e=super.logFilePath(`${this.logId}.[0-9]+`),t=(0,Rg.basename)(e),n=Z(e);return(0,Pe.readdirSync)( n).filter(r=>r.match(t)).map(r=>E(n,r))}renameAndUnlinkOrphanedFile(e){let t=Z(e);if((0,Pe.statSync)(e).isFile()){let r=E( t,`orphaned-${Math.floor(Math.random()*1e4)}`);(0,Pe.renameSync)(e,r),(0,Pe.unlinkSync)(r)}else this.appendRaw(`Orphaned\ but not a file: ${e}`)}},kl=class extends bl{static{s(this,"ContextLogFile")}get enabled(){return Ur()}constructor(){super( void 0,"context")}createFile(){this.enabled&&super.createFile()}appendRaw(e){this.enabled&&super.appendRaw(e)}rename(e){ this.enabled&&super.rename(e)}};function pR(i,e){try{return i()}catch{return e}}s(pR,"tryCatch");function Di(i){return Object.entries(i??{})}s(Di,"entries");function xl(i){return Object.entries(i??{})}s(xl,"entries2"); function At(i){return JSON.parse(i)}s(At,"parseJson");function Sl(i){return uR(i)}s(Sl,"calculateHashDigest");function uR(i){ let e=5381,t=2166136261,n=i.length;for(;n;){let r=i.charCodeAt(--n);e=e*33^r,t=(t^r)*16777619}return`${e>>>0}/${t>>>0}`} s(uR,"hash");var Pl=require("node:util");var us=1024*1024,Lg=1e3*1e3;function Fg(i){return Math.abs(i)>=us?`${Math.round(i/us)}~M`:`${Math.round(i/1024)}~K`}s(Fg, "memoryUnit");var ps=[{unit:"ns",factor:1n},{unit:"us",factor:BigInt(1e3)},{unit:ae.fg.yellow("ms"),factor:BigInt(1e6)}, {unit:ae.fg.lightred("s"),factor:BigInt(1e9)},{unit:ae.fg.lightred("min"),factor:BigInt(6e10)}];function Kd(i){let e=s(()=>{ let o=ps.findIndex((l,c)=>{let p=ps[c+1];return p?i<2n*p.factor:!0}),a=o===ps.length-1;return[ps[o],a?ps[o-1]:void 0]},"\ getScales"),[t,n]=e(),r=`${i/t.factor} ${t.unit}`;return n&&(r+=` ${i%t.factor/n.factor} ${n.unit}`),Zn(r,{errorPredicate:i> 1e3*Lg,warnPredicate:i>200*Lg,successPredicate:i<0})}s(Kd,"renderElapsedNanos");var Eg=s(()=>global.gc?.call(global,!0), "gc"),Oi=class{static{s(this,"Stopwatch")}startTime;startMemory;constructor(e=!1){e&&(Eg(),this.startMemory=process.memoryUsage()), this.startTime=process.hrtime.bigint()}get elapsedNanos(){return process.hrtime.bigint()-this.startTime}get elapsed(){return this. elapsedMemory()+Kd(this.elapsedNanos)}elapsedMemory(){if(!this.startMemory)return"";Eg();let e=process.memoryUsage(),t=s( (n,r=!0)=>{let o=e[n],a=r?"":this.diffMemory(o-this.startMemory[n]),l=Zn(Fg(o),{errorPredicate:o>200*us,warnPredicate:o> 100*us});return`${n}${a}=${l} `},"diff");return`${t("rss")}${t("external")}${t("heapUsed",!1)}`}diffMemory(e){if(e!==0){ let t=Fg(e);return Zn((e>0?"+":"")+t,{errorPredicate:e>20*us,successPredicate:e<0})}return""}};function Ng(i){return new Promise( e=>setTimeout(e,i))}s(Ng,"sleep");function dR(i){return(e,t,n)=>{try{let r=i(e,t,n);return typeof r=="string"?r:(0,Pl.inspect)(r)}catch(r){let o=r;return ee. error(`[E] argument rendering failed with: ${o.message} ${g.args(e)}`)}}}s(dR,"SafeArgs");function mR(i){return(e,t,n,r)=>{try{let o=i(e,t,n,r);return typeof o=="string"?o:(0,Pl.inspect)( o)}catch(o){let a=o;return ee.error(`[E] result rendering failed with: ${a.message} ${g.result(e)}`)}}}s(mR,"SafeResult");var Cl=class extends as{constructor(t,n){super();this.component=t;this.tracerAdapter= n}static{s(this,"Tracer")}isTracing(t){return this.tracerAdapter.traceLevel(this.component)>=t}footprint(t,n,r,o){let a="\ <unknown>",l=o.startScope||o.scope||a,c=o.endScope||o.scope||a;o.onlyTraceEndIfTakesLongerMs&&(o.onlyTraceEnd=!0);let p=this. tracerAdapter.traceLevel(this.component),u=o.traceLevel??5,d=p>=u,m=p>=6,h=mR(o.resultRenderer??g.result),I=dR(o.argumentsRenderer?? (m?g.args:g.nothing)),T=new Oi(o.trackMemory),P=this.tracerAdapter.indentLevel,v=s(()=>{q().frameScope.indentLevel=P},"r\ ebaseIndent"),w=this;function R(D,Y){if(v(),d&&!o.onlyTraceStart){let V=T.elapsedNanos;o.onlyTraceEndIfTakesLongerMs?o.onlyTraceEndIfTakesLongerMs* 1e6<V&&w.conditionalTrace(u,()=>`}${Y?"~":""} ${c} [${ee.warn(T.elapsed)}] ${m?`(${I(r,t,u)})`:""}${m?` => ${h(D,r,t,p)}`: ""}`):w.conditionalTrace(u,()=>`}${Y?"~":""} ${c} [${T.elapsed}] ${m?` => ${h(D,r,t,p)}`:""}`)}return D}s(R,"onSuccess"); function O(D,Y){throw v(),w.error(()=>`}${Y?"~":""} [E] ${c} [${T.elapsed}] => ${(0,Pl.inspect)(D)}`),D}s(O,"onError");try{ d&&!o.onlyTraceEnd&&this.conditionalTrace(u,()=>`${l} ${m?`(${I(r,t,u)})`:""} {`),this.tracerAdapter.increaseIndent();let D=n( ...r),Y=D;return Y?.then?(v(),Y.then(V=>R(V,!0)).catch(V=>O(V,!0))):R(D,!1)}catch(D){return O(D,!1)}}conditionalTrace(t,n){ this.tracerAdapter.conditionalTrace(this.component,t,n)}};var fR=Object.keys(N).reduce((i,e)=>Math.max(i,e.length),0),wg={},hR=s(i=>wg[i]??(wg[i]="".padEnd(i*3)),"paddingFor"),gR={ 1:"[-]",2:ae.fg.magenta("[:]"),3:ee.error("[E]"),4:ee.warn("[w]"),5:ee.info(" | "),6:" : ",7:ae.fg.darkgray(" . ")},_i=class i{static{ s(this,"LspTrace")}logFile;extendedStatsLogFile;onError;traceComponents=new Map([["*",6]]);constructor(){this.logFile=new wi, this.extendedStatsLogFile=new kl;let e=IR();this.configureRotation(e.maxSize,e.count),this.configureTraceComponents([...zd(). entries()].map(([t,n])=>({name:t,level:n})))}get indentLevel(){return q().frameScope.indentLevel}increaseIndent(){let e=q(). frameScope;e.isTraceEnabled()&&(e.indentLevel+=1)}decreaseIndent(){let e=q().frameScope;e.isTraceEnabled()&&(e.indentLevel-= 1,e.indentLevel<0&&(e.indentLevel=0,this.doTraceToFile("!!! Indent underflow")))}traceLevel(e){return this.traceComponents. get(e)||this.traceComponents.get("*")||1}get logfilename(){return this.logFile.filePath}configureFolder(e){e&&(this.logFile. folder=e,this.extendedStatsLogFile.folder=e)}configureName(e){if(e){let t=e.length<=60?e:`${e.slice(0,40)}_${Sl(e).replaceAll( /[/\\]/g,"_")}`;this.logFile.rename(t),this.extendedStatsLogFile.rename(`${t}_context`)}}configureRotation(e,t){typeof e== "number"&&(this.logFile.maxFileSize=e),typeof t=="number"&&(this.logFile.numberOfFiles=t),this.doTrace(2,"util",()=>`New\ trace files configuration: files <= ${t} size <= ${e}`)}configureTraceComponents(e){let t=this.traceComponents,n=this.traceLevel("util");if(Array.isArray(e)){ t.clear();for(let o of e){let a=o.name;a==="*"&&t.clear(),t.set(a,i.toTraceLevel(o.level))}if(Math.max(n,this.traceLevel( "util"))>=2){this.doTrace(2,"util",()=>"New trace component configuration: ");for(let[o,a]of t.entries())this.doTrace(2, "util",()=>` ${o} = ${H[a]}`)}}}configure(e){this.configureFolder(e.folder),this.configureName(e.name),this.conditionalTrace( "util",2,()=>`(current logs in ${this.logFile.filePath})`)}tracers=new Map;tracer(e){let t=this.tracers.get(e);return t|| (t=new Cl(e,this),this.tracers.set(e,t)),t}async noTraceDuring(e){return s(async()=>{let{indentLevel:n}=q().frameScope;try{ return q().frameScope.indentLevel=-1,await e()}finally{q().frameScope.indentLevel=n}},"wrapper")()}conditionalTrace(e,t,n){ t===3&&this.onError?.(this.renderMessage(t,e,n)),!(this.traceLevel(e)<t||!q().frameScope.isTraceEnabled())&&this.doTrace( t,e,n)}doTrace(e,t,n){if(t==="context-log")this.extendedStatsLogFile?.appendRaw(n());else{let r=this.renderMessage(e,t,n); this.doTraceMessage(r)}}startTime=Date.now();lastTimeTraced=Date.now();renderMessage(e,t,n){let r=n(),o=this.traceLevel( "requests")>=6,a=s(T=>{let P=T%1e3,v=Math.floor(T/1e3),w=v%60,R=Math.floor(v/60),O=R%60,D=Math.floor(R/60),Y=D?`${D}:`:"\ ",V=D||O?`${String(O).padStart(2,"0")}:`:" ",De=String(w).padStart(2,D||O?"0":" ");return`${Y}${V}${De}.${String(P). padStart(3,"0")}`},"millisToTime"),l=0,c=s(()=>{let T=Date.now(),P=T-this.lastTimeTraced;this.lastTimeTraced=T;let v=a(T- this.startTime);if(l=v.length,t==="requests"){if(r.startsWith(hl))return ee.requestFromServer(v);if(r.includes(Fn))return ee. responseToClient(v)}return Zn(v,{errorPredicate:P>5e3})},"colorizedTime"),p=0;function u(){let T=`{${t}}`.padEnd(fR+2),P=31, {name:v,requestNumber:w=-1,snapshots:R}=q().requestScope,O="";if(o&&R){let V=[];for(let De of R.values())De.constructor. name!=="NonScanningWorkspaceSnapshot"&&V.push(De.workspaceVersion);O=`/${V.join(",")}`}let D=Zn(v.padEnd(P),{warnPredicate:v. startsWith("@")}),Y=`${w}${O}`.padStart(o?11:5);return p=6+Y.length+D.length+T.length,`${Y}:${D} ${gR[e]??"???"} ${T}`}s( u,"colorizedContext");let d=hR(this.indentLevel),m=`${c()} ${u()} ${d}`,h=2+l+p+d.length;function I(){let T=r;if(T.includes( ` `)){let P=" ".repeat(h),v=s((w,R,O)=>`${w}${O>0?P:""}${R} `,"appendIndented");T=T.split(/\r?\n/g).reduce(v,"")}return Zn(T,{errorPredicate:e===3,warnPredicate:e===4,infoPredicate:e=== 5,debugPredicate:e===7})}return s(I,"colorizedMessage"),`${m}${I()}`}doTraceMessage(e){this.doTraceToFile(e)}doTraceToFile(e){ this.logFile&&this.logFile.append(e)}static toTraceLevel(e){switch(e){case"off":return 1;case"error":return 3;case"warni\ ng":return 4;case"info":return 5;case"verbose":return 6;case"debug":return 7;default:return 1}}};function zd(){return(process. env.CDS_LSP_TRACE_COMPONENTS??"").split(",").filter(e=>e.trim()).reduce((e,t)=>{let[n,r]=t.split(":").map(o=>o.trim());return n=== "*"&&e.clear(),e.set(n,r),e},new Map)}s(zd,"getRawTraceComponents");function IR(){return{count:Dg(process.env.CDS_LSP_TRACE_FILES_COUNT?? "",1,10,wi.DEFAULT_NUMBER_OF_FILES),maxSize:Dg(process.env.CDS_LSP_TRACE_FILES_MAXSIZE??"",1e7,1e8,wi.DEFAULT_MAX_FILE_SIZE)}} s(IR,"getTraceFilesConfig");function Dg(i,e,t,n){return Math.max(Math.min(Number.parseInt(i,10)||n,t),e)}s(Dg,"canonical\ izeNumber");function y(i,e={}){let t=Ur();return(n,r)=>{if(!jd.isTracing(i,e.traceLevel??5))return n;e.scope||=r.name;let o,a=s(()=>(t&& o||(o=L().tracer(i)),o),"getTracer");return s(function(...c){return a().footprint(this,n.bind(this),c,e)},"FootprintDeco\ rator")}}s(y,"Footprint");var jd=class i{static{s(this,"ConfiguredTraceComponents")}static _rawTraceComponents;static get rawTraceComponents(){ return i._rawTraceComponents||(i._rawTraceComponents=zd()),i._rawTraceComponents}static isTracing(e,t){let n=i.rawTraceComponents. get(e)??i.rawTraceComponents.get("*")??"off";return _i.toTraceLevel(n)>=t}};function Ne(i){i?.catch(e=>{})}s(Ne,"safeTriggerAsync");var $g=require("node:path"),Mg=require("node:util"),G=J(require("vscode-languageserver-protocol"));function Wr(i,e,t,n=0,r=i.length-1){if(n>r)return;let o=Math.floor((n+r)/2),a=t(i[o],e);return a===0?i[o]:a>0?Wr(i,e,t,n, o-1):Wr(i,e,t,o+1,r)}s(Wr,"binSearch");function Ui(i){return i?Array.isArray(i)?i:[i]:[]}s(Ui,"flatten");function vl(i,e,t){ return i[e]===void 0&&(i[e]=t()),i[e]}s(vl,"getOrCreate");function U(i,e){return i??e}s(U,"ensure");var Og=new Set,_g=s(i=>vl(i,"__CACHES",()=>new Map),"cachesFor"),Al=s((i,e)=>{let t=_g(i),n=t.get(e);return n||(n=new Map, t.set(e,n),Og.add(n)),n},"cacheFor");function M(i={}){return i.key||=e=>e[0],i.doNotCacheUndefined||=!1,(e,t)=>s(function(...r){ let o=Al(this,String(t.name)),a=i.key(r);if(!o.has(a)){let l=e.call(this,...r);(l!==void 0||!i.doNotCacheUndefined)&&o.set( a,l)}return o.get(a)},"CacheDecorator")}s(M,"Cache");M.clear=(i,e)=>{if(i)e?Al(i,e).clear():_g(i).clear();else{if(e)throw new Error( `Clearing method cache '${e}' requires an instance`);for(let t of Og)t.clear()}};M.set=(i,e,t,n)=>{Al(i,e).set(t,n)};M.get= (i,e,t)=>Al(i,e).get(t);function Yd(i){return[".csn",".json"].includes((0,$g.extname)(i))}s(Yd,"isCsn");var yR=s(()=>({start:{line:0,character:0}, end:{line:0,character:0}}),"csnFallbackLocation"),Zt=class{static{s(this,"RangeAdapter")}static adapt(e){return Yd(e.file)? yR():{start:{line:e.line-1,character:e.col-1},end:{line:e.endLine?e.endLine-1:e.line-1,character:e.endCol?e.endCol-1:e.col- 1}}}};function Nn(i){return Zt.adapt(i)}s(Nn,"adaptRange");function Zd(i){return Jd.adapt(i)}s(Zd,"adaptCompletionKind"); var TR=new Map([["context",G.CompletionItemKind.Unit],["element",G.CompletionItemKind.Field],["entity",G.CompletionItemKind. Class],["namespace",G.CompletionItemKind.Module],["source",G.CompletionItemKind.File],["type",G.CompletionItemKind.Interface]]), Jd=class{static{s(this,"CompletionKindAdapter")}static adapt(e){return TR.get(e)??G.CompletionItemKind.Variable}},En=class{static{ s(this,"SeverityAdapter")}static adapt(e){switch(e){case"Error":return G.DiagnosticSeverity.Error;case"Warning":return G.DiagnosticSeverity. Warning;case"Info":return G.DiagnosticSeverity.Information;default:return G.DiagnosticSeverity.Hint}}};function je(){return Object. create(null)}s(je,"empty");var bR=new Map([["action",G.SymbolKind.Function],["aspect",G.SymbolKind.Constructor],["contex\ t",G.SymbolKind.Package],["element",G.SymbolKind.Field],["entity",G.SymbolKind.Class],["enum",G.SymbolKind.EnumMember],[ "event",G.SymbolKind.Event],["function",G.SymbolKind.Function],["mixin",G.SymbolKind.Field],["namespace",G.SymbolKind.Namespace], ["param",G.SymbolKind.Variable],["qualifiedAnnotation",G.SymbolKind.Property],["type",G.SymbolKind.Interface],["using",G.SymbolKind. Module],["service",G.SymbolKind.Object],["view",G.SymbolKind.Class]]);function wn(i,e){let t=e||i,n=bR.get(t);return n|| L().tracer("adapter").warn(()=>`unknown adaptSymbolKind(${t})`),n??G.SymbolKind.String}s(wn,"adaptSymbolKind");var kR=new Map( [[G.SymbolKind.Module,G.CompletionItemKind.Module],[G.SymbolKind.Namespace,G.CompletionItemKind.Unit],[G.SymbolKind.Package, G.CompletionItemKind.Unit],[G.SymbolKind.Class,G.CompletionItemKind.Class],[G.SymbolKind.Field,G.CompletionItemKind.Field], [G.SymbolKind.Interface,G.CompletionItemKind.Interface],[G.SymbolKind.Function,G.CompletionItemKind.Function],[G.SymbolKind. Variable,G.CompletionItemKind.Variable],[G.SymbolKind.Object,G.CompletionItemKind.Method],[G.SymbolKind.EnumMember,G.CompletionItemKind. EnumMember],[G.SymbolKind.Event,G.CompletionItemKind.Event],[G.SymbolKind.TypeParameter,G.CompletionItemKind.TypeParameter], [G.SymbolKind.String,G.CompletionItemKind.Text]]);function Wg(i){return kR.get(i)??G.CompletionItemKind.Text}s(Wg,"toCom\ pletionKind");function Ll(i,e){if(!(i instanceof e))throw new TypeError}s(Ll,"assertsType");function ms(i,e,t={},n=3){if(i== null)throw new TypeError(`${e}: ${(0,Mg.inspect)(t,{depth:n})}`)}s(ms,"assertExists");var Ug,Qd;Ug=[M()];var ds=class ds{constructor(){ x(Qd,5,this)}isWindows(){return process.platform.startsWith("win")}};Qd=C(null),f(Qd,1,"isWindows",Ug,ds),k(Qd,ds),s(ds, "PlatformTester");var Rl=ds;function xR(i){return i.toLowerCase()===i?i.toUpperCase():i.toLowerCase()}s(xR,"toggleCase"); function Fl(i){return xR(i[0])+i.slice(1)}s(Fl,"toggleDriveLetter");var wl=J(require("node:child_process"));var Nl=class extends Error{constructor(t,n){let r=Ln(n.exitCode!==0,()=>` <exit code:> ${n.exitCode}`,""),o=Ln(n.stdout,()=>` <stdout:> ${n.stdout}`,""),a=Ln(n.stderr,()=>` <stderr:> ${n.stderr}`,"");super(t+r+o+a);this.result=n}static{s(this,"CliError")}},Bg,Xg,El;Xg=[y("util",{argumentsRenderer:s(e=>`\ <<${++Rt._currentlyRunning}>> ${g.args(e)}`,"argumentsRenderer"),resultRenderer:s((e,t)=>`<<${--Rt._currentlyRunning}>> ${g. args(t)} => ${g.result(e)}`,"resultRenderer")})],Bg=[y("util",{argumentsRenderer:s(e=>`<<${++Rt._currentlyRunning}>> ${g. args(e)}`,"argumentsRenderer"),resultRenderer:s((e,t)=>`<<${--Rt._currentlyRunning}>> ${g.args(t)} => ${g.result(e)}`,"r\ esultRenderer")})];var Rt=class Rt{constructor(){}static streamIntoResult(e,t,n,r="utf8"){return new Promise((o,a)=>{e.setEncoding( r),e.on("data",l=>{t[n]+=l}),e.on("end",()=>o(t[n])),e.on("error",a)})}static async run(e,t,n={failIfNonZeroExit:!0}){n. shell=!0;let r=wl.spawn(e,t,n);r.stdin.end();let o={stdout:"",stderr:"",exitCode:1},a=s(()=>{o.stdout=o.stdout.trim(),o. stderr=o.stderr.trim()},"trimResult"),l=Rt.streamIntoResult(r.stdout,o,"stdout"),c=Rt.streamIntoResult(r.stderr,o,"stder\ r"),p=new Promise((u,d)=>{r.on("error",d),r.on("close",(m,h)=>{a(),o.exitCode=h??m,h||m!==0&&n.failIfNonZeroExit?d(new Nl( `Failed: ${e} ${t.join(" ")}`,o)):u(o)})});return await Promise.allSettled([l,c,p]),p}static runSync(e,t,n={encoding:"ut\ f8"}){n.shell=!0,n.encoding="utf8";let r=wl.spawnSync(e,t,n),o={stdout:"",stderr:"",exitCode:1};if(o.stdout=r.stdout.trim(), o.stderr=r.stderr.trim(),o.exitCode=r.signal??r.status??0,r.error)throw r.error;if(r.signal||r.status!==0&&n.failIfNonZeroExit) throw new Nl(`Failed: ${e} ${j(t.join(" "))}`,o);return o}};El=C(null),f(El,9,"run",Xg,Rt),f(El,9,"runSync",Bg,Rt),k(El, Rt),x(El,3,Rt),s(Rt,"CLI"),S(Rt,"_currentlyRunning",0);var pn=Rt;var Vw=Symbol("_originalClass");function Vg(i,e){let t=[];for(let n of i)e(n)&&t.push(n);return t}s(Vg,"filter");function Br(i,e){let t=i.uri.localeCompare(e.uri);return t!==0?Math.sign(t):(t=He(i.range.start,e.range.start),t!==0?t:He( i.range.end,e.range.end))}s(Br,"compareLocations");function He(i,e){let t=i.line-e.line;return Math.sign(t!==0?t:i.character- e.character)}s(He,"comparePosition");function $i(i,e){let t=He(i.start,e);return t>0?1:t===0?0:He(i.end,e)<0?-1:0}s($i,"\ compareRange");function Dl(i,e){return(t,n)=>Li(i,e)?t:()=>{}}s(Dl,"Conditional");var qg=Symbol("languageServer"),Gg=Symbol("factory");function oe(){return Vd(qg)}s(oe,"currentLanguageServer");function Hg(i){ qd(qg,i)}s(Hg,"initLanguageServer");function _(){return Vd(Gg)}s(_,"currentFactory");function SR(i){qd(Gg,i)}s(SR,"initF\ actory");var Mi=s(i=>{SR(i),q().appScope.trace=i.getTrace()},"startAppScope");var tr=require("node:fs"),zg=require("node:os"),tm=require("node:util");var Kg,em;Kg=[y("util",{scope:"installEmergencyHooks"})];var fs=class fs{constructor(e=L()){this.trace=e;x(em,5,this);S( this,"emergencyHooksInstalled",!1)}install(){if(this.emergencyHooksInstalled){this.trace.tracer("util").warn(()=>"Ignore\ d: hooks already attached");return}this.emergencyHooksInstalled=!0,process.on("uncaughtException",this.onUncaughtException. bind(this)),process.on("unhandledRejection",this.onUnhandledRejection.bind(this)),process.on("exit",e=>this.onExit(e)),process. on("warning",this.onWarning.bind(this))}onUncaughtException(e){this.trace.conditionalTrace("util",3,()=>`SEVERE: uncaugh\ tException: ${g.exception(e)}`)}onUnhandledRejection(e,t){this.trace.conditionalTrace("util",3,()=>`Unhandled Rejection \ at: ${(0,tm.inspect)(t,!0,4)} reason: ${e}`)}onExit(e){this.trace.conditionalTrace("util",2,()=>`CDS-LS will exit now wi\ th code ${e}`);let t=` ----- ${new Date().toISOString()} pid: ${process.pid} <- ${process.ppid} memory: ${JSON.stringify(process.memoryUsage(),null,2)} exited with code ${e}: ${new Error().stack?.split(/\r?\n/).slice(1).join(` `)} process details: ${(0,tm.inspect)(process)} `;this.trace.doTraceToFile(t);let n=E((0,zg.tmpdir)(),"cdxlsp/exitInfos.txt");(0,tr.existsSync)(n)&&(0,tr.statSync)(n).mtime. toDateString()!==new Date().toDateString()&&(0,tr.rmSync)(n),(0,tr.appendFileSync)(n,t)}onWarning(e){this.trace.doTraceToFile( this.trace.renderMessage(2,"util",()=>`Process warning (${e.name}): ${e.message} ${e.stack} `))}};em=C(null),f(em,1,"install",Kg,fs),k(em,fs),s(fs,"EmergencyHooks");var Ol=fs;function _l(i){throw new Error(i)}s(_l,"NoSuchOption");var ye=require("node:fs"),nr=require("node:fs/promises"),LI=require("node:os"),Lt=require("node:path");var Ul=Symbol("LSP isArtifactName"),jg=Symbol("LSP xsn path"),Qg=Symbol("LSP public definition"),K=Symbol("file does not\ exist"),hs=["db","srv","app"];var xe=(se=>(se.CDS_TYPER_OUTPUT_PATH="cds.typeGenerator.outputPath",se.CDS_TYPER_ENABLED="cds.typeGenerator.enabled",se. CDS_TYPER_LOCAL_INSTALLATION_ONLY="cds.typeGenerator.localInstallationOnly",se.CDS_TYPER_COMMAND="cds.typeGenerator.comm\ and",se.DIAGNOSTICS_LEVEL="cds.diagnosticsSeverity",se.WARN_MISSING_TRANSLATIONS="cds.compiler.markMissingI18nDefault",se. SHOW_COMPILER_ERRORS="cds.compiler.showInternalErrors",se.DOCS_IN_COMPLETION="cds.completion.showDocumentation",se.DOCFILES_FOR_COMPLETION= "cds.completion.docFiles",se.FORMAT_SNIPPETS="cds.completion.formatSnippets",se.DOCSYMBOLS_SEMANTICAL="cds.outline.seman\ tical",se.WORKSPACESYMBOLS_FOR_COMPLETION_MIN_PREFIX="cds.completion.workspaceSymbols.minPrefixLength",se.WORKSPACESYMBOLS_FOR_COMPLETION_MAX_PROPOSALS= "cds.completion.workspaceSymbols.maxProposals",se.OMIT_REDUNDANT_TYPES_IN_SNIPPETS="cds.completion.annotations.omitRedun\ dantTypesInSnippets",se.CONTRIBUTIONS_REGISTRY="cds.contributions.registry",se.CONTRIBUTIONS_ANALYTICS_ENABLED="cds.cont\ ributions.enablement.additionalAnalyticalAnnotations",se.CONTRIBUTIONS_ODATA_ENABLED="cds.contributions.enablement.odata", se.IMPORT_ARTIFACT_QUICKFIX="cds.quickfix.importArtifact",se.CODE_LENS_STATISTICS="cds.codeLensStatistics.enabled",se.SEMANTIC_HIGHLIGHTING= "cds.semanticHighlighting.enabled",se.REFACTOR_USINGS_ON_RENAME="cds.refactoring.files.rename.enabled",se.REFACTOR_USINGS_ON_DELETE= "cds.refactoring.files.delete.enabled",se.SHOW_GENERIC_ANNOTATIONS="cds.whereused.showGenericAnnotations",se.SHOW_STRING_LITERALS= "cds.whereused.showStringConstants",se.WORKSPACE_DEBOUNCE_FAST_CHANGES="cds.workspace.debounceFastChanges",se.WORKSPACE_SCAN_CSN= "cds.workspace.scanCsn",se.WORKSPACE_SCAN_DEPENDENT_MODULES="cds.workspace.scanDependentModules",se.WORKSPACE_VALIDATION_MODE= "cds.workspaceValidationMode",se.WORKSPACESYMBOLS_LAZY="cds.workspaceSymbols.lazy",se.WORKSPACESYMBOLS_CASE_INSENSITIVE= "cds.workspaceSymbols.caseInsensitive",se.INSPECT_TOKENS="cds.internal.inspectTokens",se))(xe||{});var Jg=["@title","@description"],Yg="<add text here>",en=(a=>(a.IMPORT_ARTIFACT="import-artifact",a.REMOVE_UNUSED_IMPORT= "remove-unused-import",a.MAINTAIN_TRANSLATION="maintain-translation",a.MIGRATE_TO_DOCCOMMENT="migrate-to-doccomment",a.MIGRATE_DEPRECATED_DELIMITER= "migrate-deprecated-delimiter",a.CUSTOM_ANNOTATION_QUICKFIX="custom-annotation-quickfix",a))(en||{});var Zg=["format-range","analyze-dependencies","active-editor-changed"],nm="cds/userOutput",rm="cds/statusMessage";function eI(i,e,t){ let n=t;for(let r of i)e(n,r);return n}s(eI,"reduceFiles");var Qe=class i{static{s(this,"Untitled")}static isUntitledFile(e){return e.startsWith(i.UNTITLED_ROOT_URI)}static UNTITLED_ROOT_URI="\ untitled:"};var $l=require("node:url");function pt(i){return(0,$l.pathToFileURL)(i).toString()}s(pt,"pathToFileURL");function gt(i){return(0,$l.fileURLToPath)( i)}s(gt,"fileURLToPath");var It="package.json";function PR(i){let e=vR(i);return gt(e)}s(PR,"getLocalPath");function vR(i){return i.startsWith("f\ ile:")?i:pt(i)}s(vR,"ensureUri");var tI,nI,rI,iI,oI,sI,aI,lI,cI,pI,uI,dI,mI,fI,hI,gI,II,yI,TI,bI,kI,xI,SI,CI,PI,vI,AI,RI, he;RI=[y("files",{traceLevel:7,argumentsRenderer:s(e=>e[1],"argumentsRenderer")})],AI=[y("files",{traceLevel:7})],vI=[y( "files",{traceLevel:7,argumentsRenderer:s(e=>e[0],"argumentsRenderer")})],PI=[y("files",{traceLevel:7})],CI=[y("files",{ traceLevel:7,argumentsRenderer:s(e=>e[0],"argumentsRenderer")})],SI=[y("files",{traceLevel:7})],xI=[y("files",{traceLevel:7})], kI=[y("files",{traceLevel:7})],bI=[y("files",{traceLevel:7,argumentsRenderer:s(e=>e[0],"argumentsRenderer")})],TI=[y("fi\ les",{traceLevel:7})],yI=[y("files",{traceLevel:7})],II=[y("files",{traceLevel:6,resultRenderer:s((e,t)=>`${e.length} by\ tes for ${t[0]}`,"resultRenderer")})],gI=[y("files",{traceLevel:6,resultRenderer:s((e,t)=>`${e.length} bytes for ${t[0]}`, "resultRenderer")})],hI=[y("files",{argumentsRenderer:s(e=>e[0],"argumentsRenderer"),resultRenderer:g.nothing})],fI=[y("\ files",{resultRenderer:g.nothing})],mI=[y("files")],dI=[y("files")],uI=[y("files")],pI=[y("files")],cI=[y("files")],lI=[ y("files")],aI=[y("files",{traceLevel:7,resultRenderer:g.direntsOrStrings})],sI=[y("files",{traceLevel:7,resultRenderer:g. stats})],oI=[y("files",{traceLevel:7,resultRenderer:g.stats})],iI=[y("files",{traceLevel:7})],rI=[y("files",{traceLevel:7})], nI=[y("files",{traceLevel:7})],tI=[y("files",{traceLevel:7})];var ue=class ue{constructor(){x(he,5,this);S(this,"uriToIs\ Csn",new Map)}isTranslationFile(e,t){let n=(0,Lt.extname)(t);if(![".properties",".json",".csv"].includes(n)||!(0,Lt.basename)( t).startsWith(e.i18n.file))return!1;t=t.replaceAll(Lt.sep,Ee);for(let o of e.i18n.folders)for(let a of[e.i18n.fallback_bundle, e.i18n.default_language]){let l=a.length?`_${a.replace("-","_")}`:a;if(t.endsWith(`/${o}/${e.i18n.file}${l}${n}`)||a.length&& (l=`_${a.match(/[a-zA-Z]+/)}`,t.endsWith(`/${o}/${e.i18n.file}${l}${n}`)))return!0}return!1}isPackageJsonFile(e=""){return(0,Lt.basename)( e)===It}typeofFile(e,t,n){if(e&&!e.endsWith(Lt.sep)){let r=(0,Lt.basename)(e);switch((0,Lt.extname)(e)){case".cds":return"\ CdsSource";case".csn":return"CsnFile";case".json":if(r===It)return"PackageJson";if(this.isCdsEnvFile(e))return".cdsrc.js\ on";if(this.isCsnFile(e,n))return"CsnFile";break;case"":if(this.isIgnoreFile(r))return"IgnoreFile";break}if(this.isTranslationFile( t,e))return"TranslationDefinitions"}return"Unrelated"}isCsnFileByExtension(e){return e.endsWith(".csn")||e.endsWith(".cs\ n.json")}isCsnFile(e,t){if(this.isCsnFileByExtension(e))return!0;if(e.endsWith(".json")&&!this.isPackageJsonFile(e))try{ let n=this.uriToIsCsn.get(e);if(n!==void 0)return n;let r=t();if(r===K)return!1;let o=At(r),a=!!(o?.$version&&o?.meta?.creator?. toLowerCase().includes("cds"))||!!o?.version?.csn;return this.uriToIsCsn.set(e,a),a}catch(n){L().tracer("workspace").warn( ()=>`Invalid JSON file ${e}: ${n}`)}return!1}isCdsEnvFile(e){return[".cdsrc.json","default-env.json",".env","package.jso\ n"].includes((0,Lt.basename)(e))}isIgnoreFile(e=""){return[".gitignore",".cdsignore"].includes((0,Lt.basename)(e))}isCdsSourceFile(e=""){ return(0,Lt.extname)(e)===".c