greybel-languageserver-browser 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +1 -1
  2. package/package.json +2 -2
package/index.js CHANGED
@@ -319,4 +319,4 @@ end if`},IfClause:(n,r)=>{let i=t.make(n.condition),s=[],o;for(o of n.body){let
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),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 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 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.2",
3
+ "version": "1.0.4",
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.10",
75
75
  "greyscript-transpiler": "~1.0.9",
76
76
  "miniscript-type-analyzer": "~0.8.2",
77
- "greybel-languageserver-core": "^1.0.2"
77
+ "greybel-languageserver-core": "^1.0.4"
78
78
  }
79
79
  }