greybel-languageserver-browser 1.0.5 → 1.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. package/index.js +2 -2
  2. package/package.json +2 -2
package/index.js CHANGED
@@ -313,10 +313,10 @@ end if`},IfClause:(n,r)=>{let i=t.make(n.condition),s=[],o;for(o of n.body){let
313
313
  EXPORTED[r]=module
314
314
  return EXPORTED[r]
315
315
  end function`).parseChunk();Lr.MAIN_BOILERPLATE=new Zy.Parser('"$0"').parseChunk()});var VT=T(Du=>{"use strict";Object.defineProperty(Du,"__esModule",{value:!0});Du.DirectTranspiler=void 0;var Es=Dr(),Yq=Gn(),WT=eb(),Qq=Au(),tb=class extends Es.DirectTranspiler{parse(){let e=this,n=(0,Qq.getFactory)(e.buildType),i=new Yq.Parser(e.code).parseChunk(),s=(0,Es.fetchNamespaces)(i),o=[].concat(i.literals),l=(0,Es.generateCharsetMap)(e.obfuscation),c=new Es.Context({variablesCharset:l.variables,variablesExcluded:e.excludedNamespaces,modulesCharset:l.modules});e.disableNamespacesOptimization||new Set(s).forEach(h=>c.variables.createNamespace(h)),e.disableLiteralsOptimization||o.forEach(d=>c.literals.add(d));let a=new Es.Transformer({buildOptions:e.buildOptions,mapFactory:n,context:c,environmentVariables:e.environmentVariables}),u=new Es.OutputProcessor(c,a,{main:WT.MAIN_BOILERPLATE,header:WT.HEADER_BOILERPLATE});e.disableLiteralsOptimization||u.addLiteralsOptimization();let p=a.transform(i);return u.addCode(p),u.build()}};Du.DirectTranspiler=tb});var rb=T(Mr=>{"use strict";var Jq=Mr&&Mr.__awaiter||function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function l(u){try{a(r.next(u))}catch(p){o(p)}}function c(u){try{a(r.throw(u))}catch(p){o(p)}}function a(u){u.done?s(u.value):i(u.value).then(l,c)}a((r=r.apply(t,e||[])).next())})},Xq=Mr&&Mr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Mr,"__esModule",{value:!0});Mr.Target=void 0;var Zq=Xq((Bn(),Qe($n))),HT=Dr(),eF=Gn(),tF=Tu(),zT=Ou(),nb=class extends Zq.default{constructor(e){super();let n=this;n.target=e.target,n.resourceHandler=e.resourceHandler,n.context=e.context}parse(e){return Jq(this,void 0,void 0,function*(){let n=this,r=n.resourceHandler,i=yield r.resolve(n.target);if(!(yield r.has(i)))throw new Error("Target "+i+" does not exist...");let s=n.context,o=yield r.get(i);n.emit("parse-before",i);try{let c=new eF.Parser(o,{filename:i}).parseChunk(),a=new zT.Dependency({target:i,resourceHandler:r,chunk:c,context:s}),{namespaces:u,literals:p}=yield a.findDependencies(),d=new Map,h=n.context.getOrCreateData(tF.ContextDataProperty.ASTRefDependencyMap,()=>new Map);for(let m of a.dependencies)if(m.type===zT.DependencyType.NativeImport){let f=m.fetchNativeImports();for(let g of f)d.set(g.target,{chunk:g.chunk,dependency:g});d.set(m.target,{chunk:m.chunk,dependency:m}),h.set(m.ref,{main:m,imports:f})}if(!e.disableNamespacesOptimization){let m=new Set(u);for(let f of m)s.variables.createNamespace(f)}if(!e.disableLiteralsOptimization)for(let m of p)s.literals.add(m);return{main:{chunk:c,dependency:a},nativeImports:d}}catch(l){throw l instanceof HT.BuildError?l:new HT.BuildError(l.message,{target:this.target,range:l.range})}})}};Mr.Target=nb});var KT=T(Cs=>{"use strict";var nF=Cs&&Cs.__awaiter||function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function l(u){try{a(r.next(u))}catch(p){o(p)}}function c(u){try{a(r.throw(u))}catch(p){o(p)}}function a(u){u.done?s(u.value):i(u.value).then(l,c)}a((r=r.apply(t,e||[])).next())})};Object.defineProperty(Cs,"__esModule",{value:!0});Cs.Transpiler=void 0;var ib=Dr(),sb=eb(),rF=Au(),iF=Tu(),GT=Ou(),sF=rb(),ob=class extends ib.Transpiler{constructor(e){super(e);let n=this;e.processImportPathCallback&&n.context.set(iF.ContextDataProperty.ProcessImportPathCallback,e.processImportPathCallback)}parse(){return nF(this,void 0,void 0,function*(){let e=this,n=(0,rF.getFactory)(e.buildType),r=e.context,s=yield new sF.Target({target:e.target,resourceHandler:e.resourceHandler,context:e.context}).parse({disableLiteralsOptimization:e.disableLiteralsOptimization,disableNamespacesOptimization:e.disableNamespacesOptimization}),o=new ib.Transformer({buildOptions:e.buildOptions,mapFactory:n,context:r,environmentVariables:e.environmentVariables,resourceHandler:e.resourceHandler}),l=s.main,c=o.transform(sb.MODULE_BOILERPLATE),a=(u,p,d)=>{let h=r.modules.get(u.getId()),m={},f=0,g=function(_){let w=_.getNamespace();if(!(w in m)){if(w!==h&&_.type===GT.DependencyType.Import){let S=o.transform(_.chunk,_);m[w]=c.replace('"$0"','"'+w+'"').replace('"$1"',S),f++}for(let S of _.dependencies)_.type!==GT.DependencyType.NativeImport&&g(S)}};g(u);let b=new ib.OutputProcessor(r,o,{main:sb.MAIN_BOILERPLATE,header:sb.HEADER_BOILERPLATE});d||(p&&b.addLiteralsOptimization(),f>0&&b.addHeader()),Object.keys(m).forEach(_=>b.addCode(m[_]));let v=o.transform(u.chunk,u);return b.addCode(v,!d),b.build()};return Object.assign({[e.target]:a(l.dependency,!e.disableLiteralsOptimization,!1)},Array.from(s.nativeImports.values()).reduce((u,p)=>Object.assign(Object.assign({},u),{[p.dependency.target]:a(p.dependency,!e.disableLiteralsOptimization,!0)}),{}))})}};Cs.Transpiler=ob});var QT=T(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.Transpiler=Wt.Target=Wt.DirectTranspiler=Wt.Dependency=Wt.getFactory=Wt.BuildType=void 0;var YT=Au();Object.defineProperty(Wt,"BuildType",{enumerable:!0,get:function(){return YT.BuildType}});Object.defineProperty(Wt,"getFactory",{enumerable:!0,get:function(){return YT.getFactory}});var oF=Ou();Object.defineProperty(Wt,"Dependency",{enumerable:!0,get:function(){return oF.Dependency}});var aF=VT();Object.defineProperty(Wt,"DirectTranspiler",{enumerable:!0,get:function(){return aF.DirectTranspiler}});var lF=rb();Object.defineProperty(Wt,"Target",{enumerable:!0,get:function(){return lF.Target}});var cF=KT();Object.defineProperty(Wt,"Transpiler",{enumerable:!0,get:function(){return cF.Transpiler}})});var JT=T(ju=>{"use strict";Object.defineProperty(ju,"__esModule",{value:!0});ju.activate=void 0;var uF=Dr(),dF=QT();function pF(t){function e(n){return V(this,null,function*(){try{let r=t.getConfiguration();return new dF.DirectTranspiler({code:n,buildType:uF.BuildType.BEAUTIFY,buildOptions:{isDevMode:!0,keepParentheses:r.transpiler.beautify.keepParentheses,indentation:r.transpiler.beautify.indentation==="Tab"?0:1,indentationSpaces:r.transpiler.beautify.indentationSpaces}}).parse()}catch(r){return null}})}t.connection.onDocumentFormatting(n=>V(this,null,function*(){if(!t.getConfiguration().formatter)return;let r=yield t.fs.getTextDocument(n.textDocument.uri);if(r==null)return;let i=yield t.documentManager.getLatest(r),s=yield e(r.getText());return s===null?void 0:[{range:{start:{line:0,character:0},end:i.document.end},newText:s}]}))}ju.activate=pF});var Mu=T(Lu=>{"use strict";Object.defineProperty(Lu,"__esModule",{value:!0});Lu.MarkdownString=void 0;var ab=class{constructor(e=""){this.sanitize=!0,this.value=e}appendText(e){return this.value+=e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&"),this}appendMarkdown(e){return this.value+=e,this}appendCodeblock(e,n){return this.value+="\n```",this.value+=e,this.value+=`
316
- `,this.value+=n,this.value+="\n```\n",this}toString(){return this.value}};Lu.MarkdownString=ab});var qu=T(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.createHover=et.createSignatureInfo=et.appendTooltipBody=et.appendTooltipHeader=et.createTooltipHeader=et.formatDefaultValue=et.formatTypes=void 0;var XT=zi(),ZT=Mu();function lb(t=[]){return t.map(e=>e.toString().replace(",","\u066B")).join(" or ")}et.formatTypes=lb;function e1(t){return typeof t=="string"?`"${t}"`:t.toString()}et.formatDefaultValue=e1;var hF=(t,e)=>{let n=e.getArguments()||[],r=lb(e.getReturns())||"null";if(n.length===0)return`(${t.kind}) ${t.label} (): ${r}`;let i=n.map(s=>`${s.getLabel()}${s.isOptional()?"?":""}: ${lb(s.getTypes())}${s.getDefault()?` = ${e1(s.getDefault().value)}`:""}`).join(", ");return`(${t.kind}) ${t.label} (${i}): ${r}`};et.createTooltipHeader=hF;var fF=(t,e,n)=>{t.appendCodeblock(XT.LanguageId,(0,et.createTooltipHeader)(e,n)),t.appendMarkdown(`***
316
+ `,this.value+=n,this.value+="\n```\n",this}toString(){return this.value}};Lu.MarkdownString=ab});var qu=T(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.createHover=et.createSignatureInfo=et.appendTooltipBody=et.appendTooltipHeader=et.createTooltipHeader=et.formatDefaultValue=et.formatTypes=void 0;var XT=zi(),ZT=Mu();function lb(t){return t==null?"":t.map(e=>e.toString().replace(",","\u066B")).join(" or ")}et.formatTypes=lb;function e1(t){return typeof t=="string"?`"${t}"`:t.toString()}et.formatDefaultValue=e1;var hF=(t,e)=>{let n=e.getArguments()||[],r=lb(e.getReturns())||"null";if(n.length===0)return`(${t.kind}) ${t.label} (): ${r}`;let i=n.map(s=>`${s.getLabel()}${s.isOptional()?"?":""}: ${lb(s.getTypes())}${s.getDefault()?` = ${e1(s.getDefault().value)}`:""}`).join(", ");return`(${t.kind}) ${t.label} (${i}): ${r}`};et.createTooltipHeader=hF;var fF=(t,e,n)=>{t.appendCodeblock(XT.LanguageId,(0,et.createTooltipHeader)(e,n)),t.appendMarkdown(`***
317
317
  `)};et.appendTooltipHeader=fF;var mF=(t,e)=>{let n=e.getExample()||[];t.appendMarkdown(e.getDescription()+`
318
318
  `),n.length>0&&(t.appendMarkdown(`#### Examples:
319
319
  `),t.appendCodeblock(XT.LanguageId,n.join(`
320
320
  `)))};et.appendTooltipBody=mF;var gF=t=>{var n;let e=[];for(let r of t.signatureDefinitions){let i=r,o={label:(0,et.createTooltipHeader)(t,i)},l=(n=i.getArguments())!=null?n:[],c=new ZT.MarkdownString("");(0,et.appendTooltipBody)(c,i),o.parameters=l.map(a=>({label:`${a.getLabel()}${a.isOptional()?"?":""}: ${a.getTypes().join(" or ")}`})),o.documentation=c.toString(),e.push(o)}return e};et.createSignatureInfo=gF;var yF=t=>{let e=[];for(let n of t.signatureDefinitions){let r=new ZT.MarkdownString(""),i=n;(0,et.appendTooltipHeader)(r,t,i),(0,et.appendTooltipBody)(r,i),e.push(r)}return{contents:e.map(n=>n.toString())}};et.createHover=yF});var r1=T(Rs=>{"use strict";var bF=Rs&&Rs.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Rs,"__esModule",{value:!0});Rs.activate=void 0;var t1=Bt(),vF=Gn(),cb=Yt(),n1=bF((Yn(),Qe(Kn))),pi=Rl(),_F=ms(),ub=Mu(),db=qu(),wF=zi();function xF(t){function e(r,i){return V(this,null,function*(){let s=new ub.MarkdownString(""),o=i.closest,l=yield t.fs.getWorkspaceFolderUris(),c=o.directory.startsWith("/")?l[0]:pi.Utils.joinPath(pi.URI.parse(r.uri),".."),a=pi.Utils.joinPath(c,o.directory),u=[`[Imports file "${n1.default.basename(a.path)}" inside this code](${a.toString()})`,"***","Click the link above to open the file.","","Use the build command to create an installer","file which will bundle all dependencies."];return s.appendMarkdown(u.join(`
321
321
  `)),{contents:s.toString()}})}function n(r,i){return V(this,null,function*(){let s=new ub.MarkdownString(""),l=i.closest.path,c=yield t.fs.getWorkspaceFolderUris(),a=l.startsWith("/")?c[0]:pi.Utils.joinPath(pi.URI.parse(r.uri),".."),u=pi.Utils.joinPath(a,l),p=pi.Utils.joinPath(a,`${l}`),d=yield t.fs.findExistingPath(u.toString(),p.toString()),h=[`[Inserts file "${n1.default.basename(d)}" inside this code when building](${d.toString()})`,"***","Click the link above to open the file."];return s.appendMarkdown(h.join(`
322
- `)),{contents:s.toString()}})}t.connection.onHover(r=>V(this,null,function*(){if(!t.getConfiguration().hoverdocs)return;let i=yield t.fs.getTextDocument(r.textDocument.uri);if(i==null)return;let s=new _F.LookupHelper(i,t),o=s.lookupAST(r.position);if(!o)return;if(o.closest.type===vF.ASTType.ImportCodeExpression)return yield e(i,o);if(o.closest.type===t1.ASTType.FeatureImportExpression||o.closest.type===t1.ASTType.FeatureIncludeExpression)return yield n(i,o);let l=yield s.lookupTypeInfo(o);if(!l)return;if(l.isCallable())return(0,db.createHover)(l);let c=new ub.MarkdownString(""),a=Array.from(l.types).map(cb.SignatureDefinitionTypeMeta.parse),u=`(${l.kind}) ${l.label}: ${(0,db.formatTypes)(a)}`;if(l.types.has(cb.SignatureDefinitionBaseType.Map)){let p={};for(let[d,h]of l.values){let m=Array.from(h.types).map(cb.SignatureDefinitionTypeMeta.parse);p[d.slice(2)]=(0,db.formatTypes)(m)}u+=" "+JSON.stringify(p,null,2)}return c.appendCodeblock(wF.LanguageId,u),{contents:c.toString()}}))}Rs.activate=xF});var s1=T(Fu=>{"use strict";Object.defineProperty(Fu,"__esModule",{value:!0});Fu.activate=void 0;var i1=pe(),SF=ms(),kF=qu(),TF=t=>{if(t.closest.type===i1.ASTType.CallExpression)return t.closest;for(let e=t.outer.length-1;e>=0;e--){let n=t.outer[e];if(n.type===i1.ASTType.CallExpression)return n}return null};function IF(t){t.connection.onSignatureHelp(e=>V(this,null,function*(){if(!t.getConfiguration().autocomplete)return;let n=yield t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;yield t.documentManager.getLatest(n);let r=new SF.LookupHelper(n,t),i=r.lookupAST(e.position);if(!i)return;let{closest:s}=i,o=TF(i);if(o===null)return;let l=yield r.lookupTypeInfo({closest:o.base,outer:s.scope?[s.scope]:[]});if(!l||!l.isCallable())return;let a=o.arguments.findIndex(p=>{let d=p.start.character-1,h=p.end.character;return d<=e.position.character&&h>=e.position.character}),u={activeParameter:a===-1?0:a,signatures:[],activeSignature:0};return u.signatures.push(...(0,kF.createSignatureInfo)(l)),u}))}Fu.activate=IF});var a1=T(Nu=>{"use strict";Object.defineProperty(Nu,"__esModule",{value:!0});Nu.activate=void 0;var o1=zi();function EF(t){let e=r=>r.languageId!==o1.LanguageId?!1:t.documentManager.schedule(r),n=r=>{r.languageId===o1.LanguageId&&t.documentManager.clear(r)};t.fs.on("text-document-open",e),t.fs.on("text-document-change",e),t.fs.on("text-document-close",n)}Nu.activate=EF});var c1=T(Ps=>{"use strict";var CF=Ps&&Ps.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ps,"__esModule",{value:!0});Ps.activate=void 0;var RF=Uo(),PF=Gg(),AF=CF(Vo()),l1=(t,e)=>{var s;let n=AF.default.get(t.uri),r=n.resolveAllAssignmentsWithQuery(e),i=[];for(let o of r){let l=o,c=n.resolveNamespace(l.variable,!0);if(c==null)continue;let a=(s=c==null?void 0:c.label)!=null?s:(0,RF.createExpressionId)(o.variable),u=c!=null&&c.kind?(0,PF.getSymbolItemKind)(c.kind):13,p={line:l.variable.start.line-1,character:l.variable.start.character-1},d={line:l.variable.end.line-1,character:l.variable.end.character-1};i.push({name:a,containerName:a,kind:u,location:{uri:t.uri,range:{start:p,end:d}}})}return i};function OF(t){t.connection.onDocumentSymbol(e=>V(this,null,function*(){let n=yield t.fs.getTextDocument(e.textDocument.uri);if(!(n==null||!t.documentManager.get(n).document))return l1(n,"")})),t.connection.onWorkspaceSymbol(e=>{let n=[];for(let r of t.fs.getAllTextDocuments())t.documentManager.get(r).document&&n.push(...l1(r,e.query));return n})}Ps.activate=OF});var g1=T((e3,m1)=>{var mb=Object.defineProperty,DF=Object.getOwnPropertyDescriptor,jF=Object.getOwnPropertyNames,LF=Object.prototype.hasOwnProperty,MF=(t,e)=>{for(var n in e)mb(t,n,{get:e[n],enumerable:!0})},qF=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of jF(e))!LF.call(t,i)&&i!==n&&mb(t,i,{get:()=>e[i],enumerable:!(r=DF(e,i))||r.enumerable});return t},FF=t=>qF(mb({},"__esModule",{value:!0}),t),u1={};MF(u1,{ScheduleIntervalHelper:()=>pb,SchedulePostMessageHelper:()=>hb,ScheduleSetImmmediateHelper:()=>fb,schedule:()=>BF,scheduleProvider:()=>f1});m1.exports=FF(u1);var NF=Promise.prototype.then.bind(Promise.resolve()),qn,gb=(qn=class{constructor(){this.queue=[],this.sleep=0}static isApplicable(){return!1}static createCallback(){throw new Error("Cannot create callback from base schedule helper!")}tick(){let e=this.queue,n=Math.min(e.length,qn.QUEUE_LIMIT);this.queue=this.queue.slice(qn.QUEUE_LIMIT);for(let r=0;r<n;NF(e[r++]));if(this.queue.length>0&&(this.sleep=0),this.sleep++<=qn.SLEEP_LIMIT){this.nextTick();return}this.endTick()}start(){this.isTickActive()||(this.sleep=0,this.startTick())}add(e){this.queue.push(e),this.start()}},qn.SLEEP_LIMIT=512,qn.QUEUE_LIMIT=1024,qn),pb=class d1 extends gb{constructor(){super(...arguments),this.timer=null,this.boundTick=this.tick.bind(this)}static isApplicable(){return!!globalThis.setInterval}static createCallback(){let e=new d1;return e.add.bind(e)}isTickActive(){return this.timer!==null}startTick(){this.timer=setInterval(this.boundTick,0)}nextTick(){}endTick(){clearInterval(this.timer),this.timer=null}},$F=()=>{try{return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}catch(t){}return!1},hb=class p1 extends gb{constructor(){super(),this.id=(Math.random()+1).toString(36).substring(7),this.active=!1,self.addEventListener("message",this.onMessage.bind(this))}static isApplicable(){return!$F()&&!!self.postMessage&&!!self.addEventListener}static createCallback(){let e=new p1;return e.add.bind(e)}onMessage(e){e.source!==self||e.data!==this.id||this.tick()}isTickActive(){return this.active}startTick(){this.active=!0,self.postMessage(this.id)}nextTick(){self.postMessage(this.id)}endTick(){this.active=!1}},fb=class h1 extends gb{constructor(){super(...arguments),this.immediate=null,this.boundTick=this.tick.bind(this)}static isApplicable(){return!!globalThis.setImmediate}static createCallback(){let e=new h1;return e.add.bind(e)}isTickActive(){return this.immediate!==null}startTick(){this.immediate=setImmediate(this.boundTick)}nextTick(){this.immediate=setImmediate(this.boundTick)}endTick(){clearImmediate(this.immediate),this.immediate=null}};function f1(){if(fb.isApplicable())return fb.createCallback();if(hb.isApplicable())return hb.createCallback();if(pb.isApplicable())return pb.createCallback();throw new Error("No schedule helper fulfills requirements!")}var BF=f1()});var _1=T(Qt=>{"use strict";var bb=Qt&&Qt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Qt,"__esModule",{value:!0});Qt.DocumentManager=Qt.PROCESSING_TIMEOUT=Qt.ActiveDocument=Qt.DocumentURIBuilder=void 0;var UF=bb((Bn(),Qe($n))),y1=Gn(),WF=bb(Qh()),b1=g1(),$u=Rl(),v1=bb(Vo()),ia=class{constructor(e,n=null){this.workspaceFolderUri=n,this.rootPath=e}getFromWorkspaceFolder(e){if(this.workspaceFolderUri==null)throw new Error("Workspace folder is not defined!");return $u.Utils.joinPath(this.workspaceFolderUri,e).toString()}getFromRootPath(e){return $u.Utils.joinPath(this.rootPath,e).toString()}};Qt.DocumentURIBuilder=ia;var As=class{constructor(e){this.documentManager=e.documentManager,this.content=e.content,this.textDocument=e.textDocument,this.document=e.document,this.errors=e.errors}getDirectory(){return $u.Utils.joinPath($u.URI.parse(this.textDocument.uri),"..")}getNativeImports(e=null){if(this.document==null)return[];let n=this.document,r=this.getDirectory(),i=new ia(r,e);return n.nativeImports.filter(s=>s.directory).map(s=>s.directory.startsWith("/")?i.getFromWorkspaceFolder(s.directory):i.getFromRootPath(s.directory))}getImportsAndIncludes(e=null){if(this.document==null)return[];let n=this.document,r=this.getDirectory(),i=this.documentManager.context,s=new ia(r,e),o=l=>l.startsWith("/")?i.fs.findExistingPath(s.getFromWorkspaceFolder(l),s.getFromWorkspaceFolder(`${l}.src`)):i.fs.findExistingPath(s.getFromRootPath(l),s.getFromRootPath(`${l}.src`));return[...n.imports.filter(l=>l.path).map(l=>o(l.path)),...n.includes.filter(l=>l.path).map(l=>o(l.path))]}getDependencies(){return V(this,null,function*(){if(this.document==null)return[];if(this.dependencies)return this.dependencies;let e=yield this.documentManager.context.fs.getWorkspaceFolderUris(),n=this.getNativeImports(e[0]),r=this.getImportsAndIncludes(e[0]),i=new Set([...n,...r]);return this.dependencies=Array.from(i),this.dependencies})}getImports(){return V(this,null,function*(){if(this.document==null)return[];let e=new Set,n=new Set([this.textDocument.uri]),r=i=>V(this,null,function*(){let s=yield i.getDependencies();for(let o of s){if(n.has(o))continue;let l=yield this.documentManager.open(o);n.add(o),l!==null&&(e.add(l),l.document!==null&&(yield r(l)))}});return yield r(this),Array.from(e)})}};Qt.ActiveDocument=As;Qt.PROCESSING_TIMEOUT=100;var yb=class extends UF.default{get context(){return this._context}setContext(e){return this._context=e,this}constructor(e=Qt.PROCESSING_TIMEOUT){super(),this._context=null,this._timer=null,this.results=new WF.default({ttl:1e3*60*20,ttlAutopurge:!0}),this.scheduledItems=new Map,this.tickRef=this.tick.bind(this),this.processingTimeout=e}tick(){if(this.scheduledItems.size===0){this._timer=null;return}let e=Date.now(),n=Array.from(this.scheduledItems.values());for(let r=0;r<n.length;r++){let i=n[r];e-i.createdAt>this.processingTimeout&&(0,b1.schedule)(()=>this.refresh(i.document))}this._timer=setTimeout(this.tickRef,0)}refresh(e){let n=e.uri;if(!this.scheduledItems.has(n)&&this.results.has(n))return this.results.get(n);let r=this.create(e);return this.results.set(n,r),this.emit("parsed",e,r),this.scheduledItems.delete(n),r}create(e){var s;let n=e.getText(),r=new y1.Parser(n,{unsafe:!0}),i=r.parseChunk();if(((s=i.body)==null?void 0:s.length)>0)return v1.default.analyze(e.uri,i),new As({documentManager:this,content:n,textDocument:e,document:i,errors:[...r.lexer.errors,...r.errors]});try{let l=new y1.Parser(e.getText()).parseChunk();return v1.default.analyze(e.uri,l),new As({documentManager:this,content:n,textDocument:e,document:l,errors:[]})}catch(o){return new As({documentManager:this,content:n,textDocument:e,document:null,errors:[o]})}}schedule(e){var i;let n=e.uri,r=e.getText();return((i=this.results.get(n))==null?void 0:i.content)===r?!1:(this.scheduledItems.set(n,{document:e,createdAt:Date.now()}),this._timer===null&&(this._timer=setTimeout(this.tickRef,0)),!0)}open(e){return V(this,null,function*(){try{let n=yield this.context.fs.getTextDocument(e);return n==null?null:this.get(n)}catch(n){return null}})}get(e){return this.results.get(e.uri)||this.refresh(e)}getLatest(e,n=5e3){return new Promise(r=>{(0,b1.schedule)(()=>{if(!this.scheduledItems.has(e.uri))return r(this.get(e));let i=()=>{this.removeListener("parsed",s),r(this.get(e))},s=l=>{l.uri===e.uri&&(this.removeListener("parsed",s),clearTimeout(o),r(this.get(e)))},o=setTimeout(i,n);this.addListener("parsed",s)})})}clear(e){this.results.delete(e.uri),this.emit("cleared",e)}};Qt.DocumentManager=yb});var x1=T(Os=>{"use strict";var VF=Os&&Os.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Os,"__esModule",{value:!0});Os.CoreContext=void 0;var HF=VF((Bn(),Qe($n))),vb=zi();function w1(t){var e,n,r,i,s,o,l,c,a,u,p,d,h;return{formatter:(e=t==null?void 0:t.formatter)!=null?e:!0,autocomplete:(n=t==null?void 0:t.autocomplete)!=null?n:!0,hoverdocs:(r=t==null?void 0:t.hoverdocs)!=null?r:!0,diagnostic:(i=t==null?void 0:t.diagnostic)!=null?i:!0,transpiler:{beautify:{keepParentheses:(l=(o=(s=t==null?void 0:t.transpiler)==null?void 0:s.beautify)==null?void 0:o.keepParentheses)!=null?l:!0,indentation:(u=(a=(c=t==null?void 0:t.transpiler)==null?void 0:c.beautify)==null?void 0:a.indentation)!=null?u:vb.IndentationType.Tab,indentationSpaces:(h=(d=(p=t==null?void 0:t.transpiler)==null?void 0:p.beautify)==null?void 0:d.indentationSpaces)!=null?h:2}}}}var _b=class extends HF.default{constructor(){super(),this._configuration=w1(),this._features={configuration:!1,workspaceFolder:!1}}get features(){return this._features}getConfiguration(){return this._configuration}syncConfiguraton(){return V(this,null,function*(){let e=yield this.connection.workspace.getConfiguration(vb.ConfigurationNamespace);this._configuration=w1(e)})}configureCapabilties(e){this._features.configuration=!!(e.workspace&&e.workspace.configuration),this._features.workspaceFolder=!!(e.workspace&&e.workspace.workspaceFolders)}onInitialize(e){return V(this,null,function*(){this.configureCapabilties(e.capabilities);let n={capabilities:{completionProvider:{triggerCharacters:["."],resolveProvider:!0},hoverProvider:!0,colorProvider:!0,definitionProvider:!0,documentFormattingProvider:!0,signatureHelpProvider:{triggerCharacters:[",","("]},documentSymbolProvider:!0,workspaceSymbolProvider:!0,diagnosticProvider:{identifier:vb.LanguageId,interFileDependencies:!1,workspaceDiagnostics:!1},textDocumentSync:2}};return this._features.workspaceFolder&&(n.capabilities.workspace={workspaceFolders:{supported:!0}}),this.emit("ready",this),n})}onInitialized(e){return V(this,null,function*(){this._features.configuration&&(yield this.syncConfiguraton(),this.connection.onDidChangeConfiguration(()=>V(this,null,function*(){let n=this._configuration;yield this.syncConfiguraton(),this.emit("configuration-change",this,this._configuration,n)}))),this.emit("loaded",this)})}listen(){return V(this,null,function*(){this.fs.listen(this.connection),this.connection.onInitialize(this.onInitialize.bind(this)),this.connection.onInitialized(this.onInitialized.bind(this)),this.connection.listen()})}};Os.CoreContext=_b});var Bu=T(U=>{"use strict";var zF=U&&U.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),GF=U&&U.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),KF=U&&U.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&zF(e,t,n);return GF(e,t),e},YF=U&&U.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(U,"__esModule",{value:!0});U.CoreContext=U.typeAnalyzer=U.lookupBase=U.lookupIdentifier=U.appendTooltipHeader=U.appendTooltipBody=U.formatTypes=U.formatDefaultValue=U.createTooltipHeader=U.createSignatureInfo=U.createHover=U.MarkdownString=U.LookupHelper=U.DocumentManager=U.ActiveDocument=U.ASTScraper=U.activateSymbol=U.activateSubscriptions=U.activateSignature=U.activateHover=U.activateFormatter=U.activateDiagnostic=U.activateDefinition=U.activateColor=U.activateAutocomplete=U.ConfigurationNamespace=U.LanguageId=U.IndentationType=void 0;var wb=zi();Object.defineProperty(U,"IndentationType",{enumerable:!0,get:function(){return wb.IndentationType}});Object.defineProperty(U,"LanguageId",{enumerable:!0,get:function(){return wb.LanguageId}});Object.defineProperty(U,"ConfigurationNamespace",{enumerable:!0,get:function(){return wb.ConfigurationNamespace}});var QF=J0();Object.defineProperty(U,"activateAutocomplete",{enumerable:!0,get:function(){return QF.activate}});var JF=aT();Object.defineProperty(U,"activateColor",{enumerable:!0,get:function(){return JF.activate}});var XF=uT();Object.defineProperty(U,"activateDefinition",{enumerable:!0,get:function(){return XF.activate}});var ZF=dT();Object.defineProperty(U,"activateDiagnostic",{enumerable:!0,get:function(){return ZF.activate}});var eN=JT();Object.defineProperty(U,"activateFormatter",{enumerable:!0,get:function(){return eN.activate}});var tN=r1();Object.defineProperty(U,"activateHover",{enumerable:!0,get:function(){return tN.activate}});var nN=s1();Object.defineProperty(U,"activateSignature",{enumerable:!0,get:function(){return nN.activate}});var rN=a1();Object.defineProperty(U,"activateSubscriptions",{enumerable:!0,get:function(){return rN.activate}});var iN=c1();Object.defineProperty(U,"activateSymbol",{enumerable:!0,get:function(){return iN.activate}});U.ASTScraper=KF(Yg());var S1=_1();Object.defineProperty(U,"ActiveDocument",{enumerable:!0,get:function(){return S1.ActiveDocument}});Object.defineProperty(U,"DocumentManager",{enumerable:!0,get:function(){return S1.DocumentManager}});var sN=ms();Object.defineProperty(U,"LookupHelper",{enumerable:!0,get:function(){return sN.LookupHelper}});var oN=Mu();Object.defineProperty(U,"MarkdownString",{enumerable:!0,get:function(){return oN.MarkdownString}});var hi=qu();Object.defineProperty(U,"createHover",{enumerable:!0,get:function(){return hi.createHover}});Object.defineProperty(U,"createSignatureInfo",{enumerable:!0,get:function(){return hi.createSignatureInfo}});Object.defineProperty(U,"createTooltipHeader",{enumerable:!0,get:function(){return hi.createTooltipHeader}});Object.defineProperty(U,"formatDefaultValue",{enumerable:!0,get:function(){return hi.formatDefaultValue}});Object.defineProperty(U,"formatTypes",{enumerable:!0,get:function(){return hi.formatTypes}});Object.defineProperty(U,"appendTooltipBody",{enumerable:!0,get:function(){return hi.appendTooltipBody}});Object.defineProperty(U,"appendTooltipHeader",{enumerable:!0,get:function(){return hi.appendTooltipHeader}});var xb=Vo();Object.defineProperty(U,"lookupIdentifier",{enumerable:!0,get:function(){return xb.lookupIdentifier}});Object.defineProperty(U,"lookupBase",{enumerable:!0,get:function(){return xb.lookupBase}});Object.defineProperty(U,"typeAnalyzer",{enumerable:!0,get:function(){return YF(xb).default}});var aN=x1();Object.defineProperty(U,"CoreContext",{enumerable:!0,get:function(){return aN.CoreContext}})});var E1=T(Qn=>{"use strict";var T1=Qn&&Qn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Qn,"__esModule",{value:!0});Qn.FileSystem=Qn.FileSystemRequest=void 0;var lN=$h(),k1=(Jx(),Qe(Qx)),cN=T1((Bn(),Qe($n))),Sb=Rl(),uN=T1(Qh()),dN=Bu(),I1;(function(t){t.FileContent="read-file"})(I1=Qn.FileSystemRequest||(Qn.FileSystemRequest={}));var kb=class extends cN.default{constructor(e){super(),this._context=e,this._textDocumentManager=new lN.TextDocuments(k1.TextDocument),this._tempTextDocumentCache=new uN.default({ttl:1e3,max:100})}getWorkspaceFolderUris(){return V(this,null,function*(){if(!this._context.features.workspaceFolder)return[];let e=yield this._workspace.getWorkspaceFolders();return Array.from(new Set(e.map(n=>n.uri))).map(n=>Sb.URI.parse(n))})}findExistingPath(...e){if(e.length===0)return"";for(let n=0;n<e.length;n++)if(this.getTextDocument(e[n])!=null)return e[n];return e[0]}getAllTextDocuments(){return this._textDocumentManager.all()}requestFileContent(e){return V(this,null,function*(){let n=`custom/${I1.FileContent}`;try{return yield this._context.connection.sendRequest(n,e.toString())}catch(r){return console.error(`Cannot fetch text document! Maybe the client does not support ${n}`,r),null}})}fetchTextDocument(e){return V(this,null,function*(){let n=Sb.URI.parse(e),r=this._tempTextDocumentCache.get(e);if(r!=null)return r;let i=null,s=yield this.requestFileContent(n);return s!=null&&(i=k1.TextDocument.create(e,dN.LanguageId,0,s)),this._tempTextDocumentCache.set(e,i),i})}getTextDocument(e){return V(this,null,function*(){let n=this._textDocumentManager.get(e);return n||(Sb.URI.parse(e).scheme=="file"?yield this.fetchTextDocument(e):null)})}readFile(e){return V(this,null,function*(){return(yield this.getTextDocument(e)).getText()})}listen(e){this._workspace=e.workspace,this._textDocumentManager.listen(e),this._textDocumentManager.onDidOpen(n=>{this.emit("text-document-open",n.document)}),this._textDocumentManager.onDidChangeContent(n=>{this.emit("text-document-change",n.document)}),this._textDocumentManager.onDidClose(n=>{this.emit("text-document-close",n.document)})}};Qn.FileSystem=kb});var R1=T(Wu=>{"use strict";Object.defineProperty(Wu,"__esModule",{value:!0});Wu.BrowserContext=void 0;var Uu=$h(),pN=E1(),C1=Bu(),Tb=class extends C1.CoreContext{constructor(){super(),this.documentManager=new C1.DocumentManager().setContext(this),this._messageReader=new Uu.BrowserMessageReader(self),this._messageWriter=new Uu.BrowserMessageWriter(self),this.connection=(0,Uu.createConnection)(Uu.ProposedFeatures.all,this._messageReader,this._messageWriter),this.fs=new pN.FileSystem(this)}};Wu.BrowserContext=Tb});var fN=T(A1=>{Object.defineProperty(A1,"__esModule",{value:!0});var hN=R1(),Jn=Bu(),P1=new hN.BrowserContext;P1.on("ready",t=>{(0,Jn.activateAutocomplete)(t),(0,Jn.activateColor)(t),(0,Jn.activateDefinition)(t),(0,Jn.activateDiagnostic)(t),(0,Jn.activateFormatter)(t),(0,Jn.activateHover)(t),(0,Jn.activateSignature)(t),(0,Jn.activateSubscriptions)(t),(0,Jn.activateSymbol)(t)});P1.listen()});fN();})();
322
+ `)),{contents:s.toString()}})}t.connection.onHover(r=>V(this,null,function*(){if(!t.getConfiguration().hoverdocs)return;let i=yield t.fs.getTextDocument(r.textDocument.uri);if(i==null)return;let s=new _F.LookupHelper(i,t),o=s.lookupAST(r.position);if(!o)return;if(o.closest.type===vF.ASTType.ImportCodeExpression)return yield e(i,o);if(o.closest.type===t1.ASTType.FeatureImportExpression||o.closest.type===t1.ASTType.FeatureIncludeExpression)return yield n(i,o);let l=yield s.lookupTypeInfo(o);if(!l)return;if(l.isCallable())return(0,db.createHover)(l);let c=new ub.MarkdownString(""),a=Array.from(l.types).map(cb.SignatureDefinitionTypeMeta.parse),u=`(${l.kind}) ${l.label}: ${(0,db.formatTypes)(a)}`;if(l.types.has(cb.SignatureDefinitionBaseType.Map)){let p={};for(let[d,h]of l.values){let m=Array.from(h.types).map(cb.SignatureDefinitionTypeMeta.parse);p[d.slice(2)]=(0,db.formatTypes)(m)}u+=" "+JSON.stringify(p,null,2)}return c.appendCodeblock(wF.LanguageId,u),{contents:c.toString()}}))}Rs.activate=xF});var s1=T(Fu=>{"use strict";Object.defineProperty(Fu,"__esModule",{value:!0});Fu.activate=void 0;var i1=pe(),SF=ms(),kF=qu(),TF=t=>{if(t.closest.type===i1.ASTType.CallExpression)return t.closest;for(let e=t.outer.length-1;e>=0;e--){let n=t.outer[e];if(n.type===i1.ASTType.CallExpression)return n}return null};function IF(t){t.connection.onSignatureHelp(e=>V(this,null,function*(){if(!t.getConfiguration().autocomplete)return;let n=yield t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;yield t.documentManager.getLatest(n);let r=new SF.LookupHelper(n,t),i=r.lookupAST(e.position);if(!i)return;let{closest:s}=i,o=TF(i);if(o===null)return;let l=yield r.lookupTypeInfo({closest:o.base,outer:s.scope?[s.scope]:[]});if(!l||!l.isCallable())return;let a=o.arguments.findIndex(p=>{let d=p.start.character-1,h=p.end.character;return d<=e.position.character&&h>=e.position.character}),u={activeParameter:a===-1?0:a,signatures:[],activeSignature:0};return u.signatures.push(...(0,kF.createSignatureInfo)(l)),u}))}Fu.activate=IF});var a1=T(Nu=>{"use strict";Object.defineProperty(Nu,"__esModule",{value:!0});Nu.activate=void 0;var o1=zi();function EF(t){let e=r=>r.languageId!==o1.LanguageId?!1:t.documentManager.schedule(r),n=r=>{r.languageId===o1.LanguageId&&t.documentManager.clear(r)};t.fs.on("text-document-open",e),t.fs.on("text-document-change",e),t.fs.on("text-document-close",n)}Nu.activate=EF});var c1=T(Ps=>{"use strict";var CF=Ps&&Ps.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ps,"__esModule",{value:!0});Ps.activate=void 0;var RF=Uo(),PF=Gg(),AF=CF(Vo()),l1=(t,e)=>{var s;let n=AF.default.get(t.uri),r=n.resolveAllAssignmentsWithQuery(e),i=[];for(let o of r){let l=o,c=n.resolveNamespace(l.variable,!0);if(c==null)continue;let a=(s=c==null?void 0:c.label)!=null?s:(0,RF.createExpressionId)(o.variable),u=c!=null&&c.kind?(0,PF.getSymbolItemKind)(c.kind):13,p={line:l.variable.start.line-1,character:l.variable.start.character-1},d={line:l.variable.end.line-1,character:l.variable.end.character-1};i.push({name:a,containerName:a,kind:u,location:{uri:t.uri,range:{start:p,end:d}}})}return i};function OF(t){t.connection.onDocumentSymbol(e=>V(this,null,function*(){let n=yield t.fs.getTextDocument(e.textDocument.uri);if(!(n==null||!t.documentManager.get(n).document))return l1(n,"")})),t.connection.onWorkspaceSymbol(e=>{let n=[];for(let r of t.fs.getAllTextDocuments())t.documentManager.get(r).document&&n.push(...l1(r,e.query));return n})}Ps.activate=OF});var g1=T((e3,m1)=>{var mb=Object.defineProperty,DF=Object.getOwnPropertyDescriptor,jF=Object.getOwnPropertyNames,LF=Object.prototype.hasOwnProperty,MF=(t,e)=>{for(var n in e)mb(t,n,{get:e[n],enumerable:!0})},qF=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of jF(e))!LF.call(t,i)&&i!==n&&mb(t,i,{get:()=>e[i],enumerable:!(r=DF(e,i))||r.enumerable});return t},FF=t=>qF(mb({},"__esModule",{value:!0}),t),u1={};MF(u1,{ScheduleIntervalHelper:()=>pb,SchedulePostMessageHelper:()=>hb,ScheduleSetImmmediateHelper:()=>fb,schedule:()=>BF,scheduleProvider:()=>f1});m1.exports=FF(u1);var NF=Promise.prototype.then.bind(Promise.resolve()),qn,gb=(qn=class{constructor(){this.queue=[],this.sleep=0}static isApplicable(){return!1}static createCallback(){throw new Error("Cannot create callback from base schedule helper!")}tick(){let e=this.queue,n=Math.min(e.length,qn.QUEUE_LIMIT);this.queue=this.queue.slice(qn.QUEUE_LIMIT);for(let r=0;r<n;NF(e[r++]));if(this.queue.length>0&&(this.sleep=0),this.sleep++<=qn.SLEEP_LIMIT){this.nextTick();return}this.endTick()}start(){this.isTickActive()||(this.sleep=0,this.startTick())}add(e){this.queue.push(e),this.start()}},qn.SLEEP_LIMIT=512,qn.QUEUE_LIMIT=1024,qn),pb=class d1 extends gb{constructor(){super(...arguments),this.timer=null,this.boundTick=this.tick.bind(this)}static isApplicable(){return!!globalThis.setInterval}static createCallback(){let e=new d1;return e.add.bind(e)}isTickActive(){return this.timer!==null}startTick(){this.timer=setInterval(this.boundTick,0)}nextTick(){}endTick(){clearInterval(this.timer),this.timer=null}},$F=()=>{try{return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}catch(t){}return!1},hb=class p1 extends gb{constructor(){super(),this.id=(Math.random()+1).toString(36).substring(7),this.active=!1,self.addEventListener("message",this.onMessage.bind(this))}static isApplicable(){return!$F()&&!!self.postMessage&&!!self.addEventListener}static createCallback(){let e=new p1;return e.add.bind(e)}onMessage(e){e.source!==self||e.data!==this.id||this.tick()}isTickActive(){return this.active}startTick(){this.active=!0,self.postMessage(this.id)}nextTick(){self.postMessage(this.id)}endTick(){this.active=!1}},fb=class h1 extends gb{constructor(){super(...arguments),this.immediate=null,this.boundTick=this.tick.bind(this)}static isApplicable(){return!!globalThis.setImmediate}static createCallback(){let e=new h1;return e.add.bind(e)}isTickActive(){return this.immediate!==null}startTick(){this.immediate=setImmediate(this.boundTick)}nextTick(){this.immediate=setImmediate(this.boundTick)}endTick(){clearImmediate(this.immediate),this.immediate=null}};function f1(){if(fb.isApplicable())return fb.createCallback();if(hb.isApplicable())return hb.createCallback();if(pb.isApplicable())return pb.createCallback();throw new Error("No schedule helper fulfills requirements!")}var BF=f1()});var _1=T(Qt=>{"use strict";var bb=Qt&&Qt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Qt,"__esModule",{value:!0});Qt.DocumentManager=Qt.PROCESSING_TIMEOUT=Qt.ActiveDocument=Qt.DocumentURIBuilder=void 0;var UF=bb((Bn(),Qe($n))),y1=Gn(),WF=bb(Qh()),b1=g1(),$u=Rl(),v1=bb(Vo()),ia=class{constructor(e,n=null){this.workspaceFolderUri=n,this.rootPath=e}getFromWorkspaceFolder(e){if(this.workspaceFolderUri==null)throw new Error("Workspace folder is not defined!");return $u.Utils.joinPath(this.workspaceFolderUri,e).toString()}getFromRootPath(e){return $u.Utils.joinPath(this.rootPath,e).toString()}};Qt.DocumentURIBuilder=ia;var As=class{constructor(e){this.documentManager=e.documentManager,this.content=e.content,this.textDocument=e.textDocument,this.document=e.document,this.errors=e.errors}getDirectory(){return $u.Utils.joinPath($u.URI.parse(this.textDocument.uri),"..")}getNativeImports(e=null){if(this.document==null)return[];let n=this.document,r=this.getDirectory(),i=new ia(r,e);return n.nativeImports.filter(s=>s.directory).map(s=>s.directory.startsWith("/")?i.getFromWorkspaceFolder(s.directory):i.getFromRootPath(s.directory))}getImportsAndIncludes(e=null){if(this.document==null)return[];let n=this.document,r=this.getDirectory(),i=this.documentManager.context,s=new ia(r,e),o=l=>l.startsWith("/")?i.fs.findExistingPath(s.getFromWorkspaceFolder(l),s.getFromWorkspaceFolder(`${l}.src`)):i.fs.findExistingPath(s.getFromRootPath(l),s.getFromRootPath(`${l}.src`));return[...n.imports.filter(l=>l.path).map(l=>o(l.path)),...n.includes.filter(l=>l.path).map(l=>o(l.path))]}getDependencies(){return V(this,null,function*(){if(this.document==null)return[];if(this.dependencies)return this.dependencies;let e=yield this.documentManager.context.fs.getWorkspaceFolderUris(),n=this.getNativeImports(e[0]),r=this.getImportsAndIncludes(e[0]),i=new Set([...n,...r]);return this.dependencies=Array.from(i),this.dependencies})}getImports(){return V(this,null,function*(){if(this.document==null)return[];let e=new Set,n=new Set([this.textDocument.uri]),r=i=>V(this,null,function*(){let s=yield i.getDependencies();for(let o of s){if(n.has(o))continue;let l=yield this.documentManager.open(o);n.add(o),l!==null&&(e.add(l),l.document!==null&&(yield r(l)))}});return yield r(this),Array.from(e)})}};Qt.ActiveDocument=As;Qt.PROCESSING_TIMEOUT=100;var yb=class extends UF.default{get context(){return this._context}setContext(e){return this._context=e,this}constructor(e=Qt.PROCESSING_TIMEOUT){super(),this._context=null,this._timer=null,this.results=new WF.default({ttl:1e3*60*20,ttlAutopurge:!0}),this.scheduledItems=new Map,this.tickRef=this.tick.bind(this),this.processingTimeout=e}tick(){if(this.scheduledItems.size===0){this._timer=null;return}let e=Date.now(),n=Array.from(this.scheduledItems.values());for(let r=0;r<n.length;r++){let i=n[r];e-i.createdAt>this.processingTimeout&&(0,b1.schedule)(()=>this.refresh(i.document))}this._timer=setTimeout(this.tickRef,0)}refresh(e){let n=e.uri;if(!this.scheduledItems.has(n)&&this.results.has(n))return this.results.get(n);let r=this.create(e);return this.results.set(n,r),this.emit("parsed",e,r),this.scheduledItems.delete(n),r}create(e){var s;let n=e.getText(),r=new y1.Parser(n,{unsafe:!0}),i=r.parseChunk();if(((s=i.body)==null?void 0:s.length)>0)return v1.default.analyze(e.uri,i),new As({documentManager:this,content:n,textDocument:e,document:i,errors:[...r.lexer.errors,...r.errors]});try{let l=new y1.Parser(e.getText()).parseChunk();return v1.default.analyze(e.uri,l),new As({documentManager:this,content:n,textDocument:e,document:l,errors:[]})}catch(o){return new As({documentManager:this,content:n,textDocument:e,document:null,errors:[o]})}}schedule(e){var i;let n=e.uri,r=e.getText();return((i=this.results.get(n))==null?void 0:i.content)===r?!1:(this.scheduledItems.set(n,{document:e,createdAt:Date.now()}),this._timer===null&&(this._timer=setTimeout(this.tickRef,0)),!0)}open(e){return V(this,null,function*(){try{let n=yield this.context.fs.getTextDocument(e);return n==null?null:this.get(n)}catch(n){return null}})}get(e){return this.results.get(e.uri)||this.refresh(e)}getLatest(e,n=5e3){return new Promise(r=>{(0,b1.schedule)(()=>{if(!this.scheduledItems.has(e.uri))return r(this.get(e));let i=()=>{this.removeListener("parsed",s),r(this.get(e))},s=l=>{l.uri===e.uri&&(this.removeListener("parsed",s),clearTimeout(o),r(this.get(e)))},o=setTimeout(i,n);this.addListener("parsed",s)})})}clear(e){this.results.delete(e.uri),this.emit("cleared",e)}};Qt.DocumentManager=yb});var x1=T(Os=>{"use strict";var VF=Os&&Os.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Os,"__esModule",{value:!0});Os.CoreContext=void 0;var HF=VF((Bn(),Qe($n))),vb=zi();function w1(t){var e,n,r,i,s,o,l,c,a,u,p,d,h;return{formatter:(e=t==null?void 0:t.formatter)!=null?e:!0,autocomplete:(n=t==null?void 0:t.autocomplete)!=null?n:!0,hoverdocs:(r=t==null?void 0:t.hoverdocs)!=null?r:!0,diagnostic:(i=t==null?void 0:t.diagnostic)!=null?i:!0,transpiler:{beautify:{keepParentheses:(l=(o=(s=t==null?void 0:t.transpiler)==null?void 0:s.beautify)==null?void 0:o.keepParentheses)!=null?l:!0,indentation:(u=(a=(c=t==null?void 0:t.transpiler)==null?void 0:c.beautify)==null?void 0:a.indentation)!=null?u:vb.IndentationType.Tab,indentationSpaces:(h=(d=(p=t==null?void 0:t.transpiler)==null?void 0:p.beautify)==null?void 0:d.indentationSpaces)!=null?h:2}}}}var _b=class extends HF.default{constructor(){super(),this._configuration=w1(),this._features={configuration:!1,workspaceFolder:!1}}get features(){return this._features}getConfiguration(){return this._configuration}syncConfiguraton(){return V(this,null,function*(){let e=yield this.connection.workspace.getConfiguration(vb.ConfigurationNamespace);this._configuration=w1(e)})}configureCapabilties(e){this._features.configuration=!!(e.workspace&&e.workspace.configuration),this._features.workspaceFolder=!!(e.workspace&&e.workspace.workspaceFolders)}onInitialize(e){return V(this,null,function*(){this.configureCapabilties(e.capabilities);let n={capabilities:{completionProvider:{triggerCharacters:["."],resolveProvider:!0},hoverProvider:!0,colorProvider:!0,definitionProvider:!0,documentFormattingProvider:!0,signatureHelpProvider:{triggerCharacters:[",","("]},documentSymbolProvider:!0,workspaceSymbolProvider:!0,diagnosticProvider:{identifier:vb.LanguageId,interFileDependencies:!1,workspaceDiagnostics:!1},textDocumentSync:2}};return this._features.workspaceFolder&&(n.capabilities.workspace={workspaceFolders:{supported:!0}}),this.emit("ready",this),n})}onInitialized(e){return V(this,null,function*(){this._features.configuration&&(yield this.syncConfiguraton(),this.connection.onDidChangeConfiguration(()=>V(this,null,function*(){let n=this._configuration;yield this.syncConfiguraton(),this.emit("configuration-change",this,this._configuration,n)}))),this.emit("loaded",this)})}listen(){return V(this,null,function*(){this.fs.listen(this.connection),this.connection.onInitialize(this.onInitialize.bind(this)),this.connection.onInitialized(this.onInitialized.bind(this)),this.connection.listen()})}};Os.CoreContext=_b});var Bu=T(U=>{"use strict";var zF=U&&U.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),GF=U&&U.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),KF=U&&U.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&zF(e,t,n);return GF(e,t),e},YF=U&&U.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(U,"__esModule",{value:!0});U.CoreContext=U.typeAnalyzer=U.lookupBase=U.lookupIdentifier=U.appendTooltipHeader=U.appendTooltipBody=U.formatTypes=U.formatDefaultValue=U.createTooltipHeader=U.createSignatureInfo=U.createHover=U.MarkdownString=U.LookupHelper=U.DocumentManager=U.ActiveDocument=U.ASTScraper=U.activateSymbol=U.activateSubscriptions=U.activateSignature=U.activateHover=U.activateFormatter=U.activateDiagnostic=U.activateDefinition=U.activateColor=U.activateAutocomplete=U.ConfigurationNamespace=U.LanguageId=U.IndentationType=void 0;var wb=zi();Object.defineProperty(U,"IndentationType",{enumerable:!0,get:function(){return wb.IndentationType}});Object.defineProperty(U,"LanguageId",{enumerable:!0,get:function(){return wb.LanguageId}});Object.defineProperty(U,"ConfigurationNamespace",{enumerable:!0,get:function(){return wb.ConfigurationNamespace}});var QF=J0();Object.defineProperty(U,"activateAutocomplete",{enumerable:!0,get:function(){return QF.activate}});var JF=aT();Object.defineProperty(U,"activateColor",{enumerable:!0,get:function(){return JF.activate}});var XF=uT();Object.defineProperty(U,"activateDefinition",{enumerable:!0,get:function(){return XF.activate}});var ZF=dT();Object.defineProperty(U,"activateDiagnostic",{enumerable:!0,get:function(){return ZF.activate}});var eN=JT();Object.defineProperty(U,"activateFormatter",{enumerable:!0,get:function(){return eN.activate}});var tN=r1();Object.defineProperty(U,"activateHover",{enumerable:!0,get:function(){return tN.activate}});var nN=s1();Object.defineProperty(U,"activateSignature",{enumerable:!0,get:function(){return nN.activate}});var rN=a1();Object.defineProperty(U,"activateSubscriptions",{enumerable:!0,get:function(){return rN.activate}});var iN=c1();Object.defineProperty(U,"activateSymbol",{enumerable:!0,get:function(){return iN.activate}});U.ASTScraper=KF(Yg());var S1=_1();Object.defineProperty(U,"ActiveDocument",{enumerable:!0,get:function(){return S1.ActiveDocument}});Object.defineProperty(U,"DocumentManager",{enumerable:!0,get:function(){return S1.DocumentManager}});var sN=ms();Object.defineProperty(U,"LookupHelper",{enumerable:!0,get:function(){return sN.LookupHelper}});var oN=Mu();Object.defineProperty(U,"MarkdownString",{enumerable:!0,get:function(){return oN.MarkdownString}});var hi=qu();Object.defineProperty(U,"createHover",{enumerable:!0,get:function(){return hi.createHover}});Object.defineProperty(U,"createSignatureInfo",{enumerable:!0,get:function(){return hi.createSignatureInfo}});Object.defineProperty(U,"createTooltipHeader",{enumerable:!0,get:function(){return hi.createTooltipHeader}});Object.defineProperty(U,"formatDefaultValue",{enumerable:!0,get:function(){return hi.formatDefaultValue}});Object.defineProperty(U,"formatTypes",{enumerable:!0,get:function(){return hi.formatTypes}});Object.defineProperty(U,"appendTooltipBody",{enumerable:!0,get:function(){return hi.appendTooltipBody}});Object.defineProperty(U,"appendTooltipHeader",{enumerable:!0,get:function(){return hi.appendTooltipHeader}});var xb=Vo();Object.defineProperty(U,"lookupIdentifier",{enumerable:!0,get:function(){return xb.lookupIdentifier}});Object.defineProperty(U,"lookupBase",{enumerable:!0,get:function(){return xb.lookupBase}});Object.defineProperty(U,"typeAnalyzer",{enumerable:!0,get:function(){return YF(xb).default}});var aN=x1();Object.defineProperty(U,"CoreContext",{enumerable:!0,get:function(){return aN.CoreContext}})});var E1=T(Qn=>{"use strict";var T1=Qn&&Qn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Qn,"__esModule",{value:!0});Qn.FileSystem=Qn.FileSystemRequest=void 0;var lN=$h(),k1=(Jx(),Qe(Qx)),cN=T1((Bn(),Qe($n))),Sb=Rl(),uN=T1(Qh()),dN=Bu(),I1;(function(t){t.FileContent="read-file"})(I1=Qn.FileSystemRequest||(Qn.FileSystemRequest={}));var kb=class extends cN.default{constructor(e){super(),this._context=e,this._textDocumentManager=new lN.TextDocuments(k1.TextDocument),this._tempTextDocumentCache=new uN.default({ttl:1e3,max:100})}getWorkspaceFolderUris(){return V(this,null,function*(){if(!this._context.features.workspaceFolder)return[];let e=yield this._workspace.getWorkspaceFolders();return e==null?[]:Array.from(new Set(e.map(n=>n.uri))).map(n=>Sb.URI.parse(n))})}findExistingPath(...e){if(e.length===0)return"";for(let n=0;n<e.length;n++)if(this.getTextDocument(e[n])!=null)return e[n];return e[0]}getAllTextDocuments(){return this._textDocumentManager.all()}requestFileContent(e){return V(this,null,function*(){let n=`custom/${I1.FileContent}`;try{return yield this._context.connection.sendRequest(n,e.toString())}catch(r){return console.error(`Cannot fetch text document! Maybe the client does not support ${n}`,r),null}})}fetchTextDocument(e){return V(this,null,function*(){let n=Sb.URI.parse(e),r=this._tempTextDocumentCache.get(e);if(r!=null)return r;let i=null,s=yield this.requestFileContent(n);return s!=null&&(i=k1.TextDocument.create(e,dN.LanguageId,0,s)),this._tempTextDocumentCache.set(e,i),i})}getTextDocument(e){return V(this,null,function*(){let n=this._textDocumentManager.get(e);return n||(Sb.URI.parse(e).scheme=="file"?yield this.fetchTextDocument(e):null)})}readFile(e){return V(this,null,function*(){return(yield this.getTextDocument(e)).getText()})}listen(e){this._workspace=e.workspace,this._textDocumentManager.listen(e),this._textDocumentManager.onDidOpen(n=>{this.emit("text-document-open",n.document)}),this._textDocumentManager.onDidChangeContent(n=>{this.emit("text-document-change",n.document)}),this._textDocumentManager.onDidClose(n=>{this.emit("text-document-close",n.document)})}};Qn.FileSystem=kb});var R1=T(Wu=>{"use strict";Object.defineProperty(Wu,"__esModule",{value:!0});Wu.BrowserContext=void 0;var Uu=$h(),pN=E1(),C1=Bu(),Tb=class extends C1.CoreContext{constructor(){super(),this.documentManager=new C1.DocumentManager().setContext(this),this._messageReader=new Uu.BrowserMessageReader(self),this._messageWriter=new Uu.BrowserMessageWriter(self),this.connection=(0,Uu.createConnection)(Uu.ProposedFeatures.all,this._messageReader,this._messageWriter),this.fs=new pN.FileSystem(this)}};Wu.BrowserContext=Tb});var fN=T(A1=>{Object.defineProperty(A1,"__esModule",{value:!0});var hN=R1(),Jn=Bu(),P1=new hN.BrowserContext;P1.on("ready",t=>{(0,Jn.activateAutocomplete)(t),(0,Jn.activateColor)(t),(0,Jn.activateDefinition)(t),(0,Jn.activateDiagnostic)(t),(0,Jn.activateFormatter)(t),(0,Jn.activateHover)(t),(0,Jn.activateSignature)(t),(0,Jn.activateSubscriptions)(t),(0,Jn.activateSymbol)(t)});P1.listen()});fN();})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "greybel-languageserver-browser",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "Language server for GreyScript",
5
5
  "main": "./index.js",
6
6
  "scripts": {
@@ -74,6 +74,6 @@
74
74
  "greyscript-meta": "~4.0.11",
75
75
  "greyscript-transpiler": "~1.0.9",
76
76
  "miniscript-type-analyzer": "~0.8.2",
77
- "greybel-languageserver-core": "^1.0.4"
77
+ "greybel-languageserver-core": "^1.0.5"
78
78
  }
79
79
  }