miniscript-languageserver 1.5.4 → 1.5.5

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 +1 -1
  2. package/package.json +2 -2
package/index.js CHANGED
@@ -104,7 +104,7 @@ ${e}`;for(let a=0;a<this.details.length;++a){let u=a+1;o=`${o}
104
104
 
105
105
  `),n=t.tags.filter(s=>s.tag===Na.Param).map(s=>({label:s.name,types:s.type.split("|"),opt:s.optional})),r=t.tags.find(s=>s.tag===Na.Return)??{type:"any"},i=t.tags.filter(s=>s.tag===Na.Example).map(J0);return{descriptions:e,args:n,returns:r,examples:i}}function kM(t){let e=(0,TM.parse)(`/**
106
106
  ${t.getDescription()}
107
- */`),[n]=e;if(n.tags.length>0){let{descriptions:r,args:i,returns:s,examples:o}=SM(n);return Y0.SignatureDefinitionFunction.parse({type:Y0.SignatureDefinitionBaseType.Function,arguments:t.getArguments().map((a,u)=>{let c=a.getLabel(),l=a.getTypes().map(p=>p.toString()),d=a.isOptional();return{types:l,opt:d,...i[u],label:c}}),returns:s.type.split("|"),description:r,example:o})}return t}ss.enrichWithMetaInformation=kM});var oy=g(Hl=>{"use strict";Object.defineProperty(Hl,"__esModule",{value:!0});Hl.createResolveChain=void 0;var an=qe();function wi(t,e,n=null,r=!1){switch(t.type){case an.ASTType.ParenthesisExpression:{wi(t.expression,e,n);return}case an.ASTType.MemberExpression:{let i=t;wi(i.base,e),e.push({ref:t,getter:i.identifier,unary:n,isInCallExpression:r});return}case an.ASTType.IndexExpression:{let i=t;wi(i.base,e),e.push({ref:t,getter:i.index,unary:n,isInCallExpression:r});return}case an.ASTType.CallStatement:{wi(t.expression,e,n,!0);return}case an.ASTType.CallExpression:{wi(t.base,e,n,!0);return}case an.ASTType.NegationExpression:case an.ASTType.BinaryNegatedExpression:case an.ASTType.UnaryExpression:{let i=t;wi(i.argument,e,i);return}case an.ASTType.Identifier:{e.push({ref:t,getter:t,unary:n,isInCallExpression:r});return}case an.ASTType.NumericLiteral:case an.ASTType.StringLiteral:case an.ASTType.NilLiteral:case an.ASTType.MapConstructorExpression:case an.ASTType.ListConstructorExpression:{e.push({ref:t,value:t,unary:n,isInCallExpression:r});return}case an.ASTType.SliceExpression:wi(t.base,e),e.push({ref:t,unary:n,isInCallExpression:r})}}function xM(t){let e=[];return wi(t,e),e}Hl.createResolveChain=xM});var Z0=g(ay=>{function Q0(t,e){return t>e?1:-1}ay.hash=function t(e,n){var r=5381;if(typeof e=="object"&&e!==null&&(e.toString===Object.prototype.toString||e.toString===Array.prototype.toString)){n||(n=new WeakSet);for(var i=Object.keys(e).sort(Q0),s=0;s<i.length;s++){var o=i[s],a=e[o];if(r=33*r^t(o,n),typeof a=="object"&&a!==null&&(e.toString===Object.prototype.toString||e.toString===Array.prototype.toString)){if(n.has(a))continue;n.add(a)}r=33*r^t(a,n)}return 33*r^t(e.constructor,n)}var u=typeof e;try{e instanceof Date?u+=e.getTime():u+=String(e)}catch{u+=String(Object.assign({},e))}for(var c=0;c<u.length;c++)r=33*r^u.charCodeAt(c);return r},ay.sortNumbers=Q0});var ly=g(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.ObjectSet=co.ObjectSetIterator=void 0;var uy=Z0(),Wl=class{constructor(e){let n=this;n.value=e,n.index=0}next(){let e=this;return e.index>=e.value.length?{value:null,done:!0}:{value:e.value[e.index++],done:!1}}};co.ObjectSetIterator=Wl;var cy=class{constructor(e){let r=(e?Array.from(e):[]).map(i=>[(0,uy.hash)(i),i]);this._map=new Map(r),this._first=null,this._last=null,r.length>0&&(this._first=r[0][0],this._last=r[r.length-1][0])}[Symbol.iterator](){return new Wl(Array.from(this._map.values()))}first(){return this._first!=null?this._map.get(this._first)??null:null}last(){return this._last!=null?this._map.get(this._last)??null:null}toArray(){return Array.from(this._map.values())}add(e){let n=(0,uy.hash)(e);return this._map.set(n,e),this._first??(this._first=n),this._last=n,this}delete(e){let n=(0,uy.hash)(e);return this._map.delete(n)}extend(e){for(let[n,r]of e._map)this._map.set(n,r),this._first??(this._first=n),this._last=n;return this}toJSON(){return Array.from(this._map.values())}clear(){this._map.clear()}};co.ObjectSet=cy});var dy=g(Gl=>{"use strict";Object.defineProperty(Gl,"__esModule",{value:!0});Gl.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=void 0;Gl.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION="This is a custom method. You can add a description for this method by adding a comment above or after the function.\n```\nmyFunction = function(a, b, c) // This function does xyz\n```\nor\n```\n/*\n This function does xyz\n*/\nmyFunction = function(a, b, c)\n```"});var os=g(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.CompletionItemKind=void 0;var wM;(function(t){t.Variable="var",t.Property="var",t.Function="function",t.Literal="literal",t.Constant="constant",t.ListConstructor="list",t.MapConstructor="map",t.Expression="expr",t.Unknown="unknown"})(wM=qa.CompletionItemKind||(qa.CompletionItemKind={}))});var fy=g(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.isResolveChainItemWithValue=Ar.isResolveChainItemWithIdentifier=Ar.isResolveChainItemWithMember=Ar.isResolveChainItemWithIndex=void 0;var Ei=qe(),EM=t=>t!=null&&t.ref.type===Ei.ASTType.IndexExpression;Ar.isResolveChainItemWithIndex=EM;var AM=t=>t!=null&&t.ref.type===Ei.ASTType.MemberExpression;Ar.isResolveChainItemWithMember=AM;var OM=t=>t!=null&&t.ref.type===Ei.ASTType.Identifier;Ar.isResolveChainItemWithIdentifier=OM;var CM=t=>t!=null&&(t.ref.type===Ei.ASTType.NumericLiteral||t.ref.type===Ei.ASTType.StringLiteral||t.ref.type===Ei.ASTType.NilLiteral||t.ref.type===Ei.ASTType.MapConstructorExpression||t.ref.type===Ei.ASTType.ListConstructorExpression);Ar.isResolveChainItemWithValue=CM});var py=g(Kl=>{"use strict";Object.defineProperty(Kl,"__esModule",{value:!0});Kl.isSignatureDefinitionFunction=void 0;var RM=Wn(),PM=t=>t.getType().type===RM.SignatureDefinitionBaseType.Function;Kl.isSignatureDefinitionFunction=PM});var hy=g(Vl=>{"use strict";Object.defineProperty(Vl,"__esModule",{value:!0});Vl.aggregateEntity=void 0;var DM=t=>{let e=[],n=t;for(;n!=null;)e.push(n),n=n.getIsa();return e};Vl.aggregateEntity=DM});var ja=g(zl=>{"use strict";Object.defineProperty(zl,"__esModule",{value:!0});zl.injectIdentifers=void 0;var IM=hy(),MM=(t,e)=>{let n=(0,IM.aggregateEntity)(e);for(let r=0;r<n.length;r++){let i=n[r];for(let[s,o]of i.values)if(s.startsWith("i:")){let a=s.slice(2);if(t.has(a))continue;t.set(a,{kind:o.kind,line:o.source===e.source?o.line:-1})}}};zl.injectIdentifers=MM});var Yl=g(Xl=>{"use strict";Object.defineProperty(Xl,"__esModule",{value:!0});Xl.isEligibleForProperties=void 0;var gy=Wn(),LM=t=>t.types.has(gy.SignatureDefinitionBaseType.Map)||t.types.has(gy.SignatureDefinitionBaseType.List)||t.types.has(gy.SignatureDefinitionBaseType.Any);Xl.isEligibleForProperties=LM});var Ql=g(Jl=>{"use strict";Object.defineProperty(Jl,"__esModule",{value:!0});Jl.lookupProperty=void 0;var NM=Yl(),qM=(t,e)=>{let n=t;for(;(0,NM.isEligibleForProperties)(n);){let r=n.values.get(`i:${e}`);if(r!=null)return r;let i=n.getIsa();if(i==null)break;n=i}return null};Jl.lookupProperty=qM});var po=g(Ai=>{"use strict";Object.defineProperty(Ai,"__esModule",{value:!0});Ai.Entity=Ai.resolveEntity=void 0;var lo=Wn(),fo=os(),jM=py(),FM=ja(),Zl=Yl(),eE=Ql(),tE=ly(),$M=(t,e,n=!1)=>{if(e.isCallable()&&!n){let r=e.getReturnEntity();if(r!==null)return r;let i=e.getCallableReturnTypes();return i?new as({source:e.source,kind:fo.CompletionItemKind.Variable,container:t,label:e.label,context:e.context}).addTypes(i):new as({source:e.source,kind:fo.CompletionItemKind.Variable,container:t,label:e.label,context:e.context}).addType(lo.SignatureDefinitionBaseType.Any)}return e};Ai.resolveEntity=$M;var my={hasProperty(t,e,n){return!!(0,eE.lookupProperty)(t,n)||!t.isAPI()&&!!e.getDefinition(Array.from(t.types),n,!0)},resolveProperty(t,e,n,r=!1){let i=(0,eE.lookupProperty)(t,n)??null;return i==null?t.isAPI()?null:e.getDefinition(Array.from(t.types),n,r):(0,Ai.resolveEntity)(e,i,r)},setProperty(t,e,n,r){if(!(0,Zl.isEligibleForProperties)(t))return!1;let i=`i:${n}`,s=t.values.get(i);return s?s.extend(r):t.values.set(i,r.copy({container:e,label:n,context:t,definitions:[]})),!0}},yy={hasProperty(t,e,n){if(!(0,Zl.isEligibleForProperties)(t))return!1;for(let r of n.types)if(t.values.has(`t:${r}`))return!0;return!1},resolveProperty(t,e,n,r=!1){if(!(0,Zl.isEligibleForProperties)(t))return new as({source:t.source,kind:fo.CompletionItemKind.Variable,container:e,label:n.label,context:t}).addType(lo.SignatureDefinitionBaseType.Any);let i=new as({source:n.source,kind:fo.CompletionItemKind.Variable,container:e,label:n.label,context:t});for(let s of n.types){let o=t.values.get(`t:${s}`);o&&i.extend(o)}return i.types.size===0&&i.addType(lo.SignatureDefinitionBaseType.Any),(0,Ai.resolveEntity)(e,i,r)},setProperty(t,e,n,r){if(!(0,Zl.isEligibleForProperties)(t))return!1;for(let i of n.types){let s=`t:${i}`,o=t.values.get(s);o?o.extend(r):t.values.set(s,r.copy({container:e,label:i,context:t,definitions:[]}))}return!0}},as=class t{get source(){return this._source}get definitions(){return this._definitions}get kind(){return this._kind}get line(){return this._line}get signatureDefinitions(){return this._signatureDefinitions}get context(){return this._context}get label(){return this._label}get types(){return this._types}get values(){return this._values}constructor(e){this._source=e.source,this._isAPI=e.isAPI??!1,this._isFromSignature=e.isFromSignature??!1,this._kind=e.kind,this._line=e.line??-1,this._label=e.label??"anonymous",this._signatureDefinitions=e.signatureDefinitions??new tE.ObjectSet,this._types=e.types??new Set,this._values=e.values??new Map,this._context=e.context??null,this._container=e.container,this._definitions=e.definitions??[],this._returnEntity=e.returnEntity??null}isFromSignature(){return this._isFromSignature}hasContext(){return this._context!=null&&!this._context.isAPI}getIsa(){return this._values.get("i:__isa")??null}hasIsa(){return this._values.has("i:__isa")}isAPI(){return this._isAPI}isCallable(){return this._types.has(lo.SignatureDefinitionBaseType.Function)}getCallableReturnTypes(){if(!this.isCallable())return null;let e=Array.from(this._signatureDefinitions).filter(n=>(0,jM.isSignatureDefinitionFunction)(n));return e.length===0?null:e.flatMap(n=>n.getReturns()).map(n=>n.type)}addSignatureType(e){return this._signatureDefinitions.add(e),this.addType(e.getType().type),this}setReturnEntity(e){return this._returnEntity=e,this}getReturnEntity(){return this._returnEntity}setKind(e){return this._kind=e,this}setLine(e){return this._line=e,this}setLabel(e){return this._label=e,this}setContext(e){return this._context=e,this}addType(e){return this._types.add(e),this}addTypes(e){for(let n=0;n<e.length;n++)this._types.add(e[n]);return this}hasProperty(e){switch(typeof e){case"object":return yy.hasProperty(this,this._container,e);default:return my.hasProperty(this,this._container,e)}}resolveProperty(e,n=!1){switch(typeof e){case"object":return yy.resolveProperty(this,this._container,e,n);default:return my.resolveProperty(this,this._container,e,n)}}setProperty(e,n){switch(typeof e){case"object":return yy.setProperty(this,this._container,e,n);default:return my.setProperty(this,this._container,e,n)}}extend(e){if(e===this)return this;this._isFromSignature=!1,this._signatureDefinitions.extend(e.signatureDefinitions),this.addTypes(Array.from(e.types));for(let[n,r]of e.values){let i=this.values.get(n);i==null?this.values.set(n,r.copy({container:this._container,context:this})):i.extend(r)}return this}insertSignature(e){let n=Object.keys(e.getDefinitions());this.addType(lo.SignatureDefinitionBaseType.Map);for(let r=0;r<n.length;r++){let i=n[r],s=e.getDefinition(i),o=new t({source:this._source,label:i,kind:s.getType().type===lo.SignatureDefinitionBaseType.Function?fo.CompletionItemKind.Function:fo.CompletionItemKind.Property,container:this._container,isFromSignature:!0});o.addSignatureType(s),this.setProperty(i,o)}return this}getAllIdentifier(){let e=new Map;for(let n of this._types){let r=this._container.getAllIdentifier(n);for(let i of r)e.set(...i)}return(0,FM.injectIdentifers)(e,this),e}toJSONInternal(e=new WeakMap){if(e.has(this))return e.get(this);let n={};return e.set(this,n),n.kind=this.kind,n.signatureDefinitions=this._signatureDefinitions.toJSON(),n.types=Array.from(this._types),n.values=Array.from(this._values).reduce((r,[i,s])=>(r[i]=s?.toJSONInternal(e),r),{}),n}toJSON(){return this.toJSONInternal()}copy(e={}){let n=new t({source:e.source??this._source,kind:e.kind??this._kind,line:e.line??this._line,isFromSignature:e.isFromSignature??this._isFromSignature,isAPI:e.isAPI??this._isAPI,container:e.container??this._container,label:e.label??this._label,context:e.context??this._context,signatureDefinitions:new tE.ObjectSet(Array.from(this._signatureDefinitions,r=>r.copy())),types:new Set(this._types),returnEntity:this._returnEntity,values:e.values??this.values,definitions:e.definitions??this._definitions});return e.deepCopy&&(n._values=new Map(Array.from(this._values,([r,i])=>[r,i.copy({deepCopy:e.deepCopy,container:e.container,line:e.line,context:n,values:i.values})])),n._definitions=[...this._definitions]),n}};Ai.Entity=as});var _y=g(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});nd.Scope=void 0;var ed=Wn(),us=os(),by=ja(),td=po(),vy=class t{get source(){return this._source}get definitions(){return[]}get signatureDefinitions(){return null}get kind(){return us.CompletionItemKind.Constant}get line(){return this._locals.line}get label(){return this._locals.label}get context(){return this._locals.context}get types(){return new Set(ed.SignatureDefinitionBaseType.Map)}get values(){return this._locals.values}get globals(){return this._globals}get outer(){return this._parent?.locals??null}get locals(){return this._locals}constructor(e){this._source=e.source,this._container=e.container,this._parent=e.parent??null,this._globals=e.globals,this._locals=e.locals??new td.Entity({source:this._source,kind:us.CompletionItemKind.Constant,container:this._container,label:"locals"}).addType(ed.SignatureDefinitionBaseType.Map)}getIsa(){return null}hasIsa(){return!1}setCustomType(e,n){this._container.setCustomType(e,n)}addSignatureType(){throw new Error("Cannot add signature type to scope!")}hasProperty(e){return this._locals.hasProperty(e)}resolveProperty(e,n){return this._locals.resolveProperty(e,n)}resolveNamespace(e,n=!1){if(typeof e!="string")throw new Error("Invalid property type for scope!");if(e==="locals")return this._locals;if(e==="outer")return this._parent?.locals??this._globals;if(e==="globals")return this._globals;if(this._locals.values.has(`i:${e}`)){let r=this._locals.values.get(`i:${e}`);return(0,td.resolveEntity)(this._container,r,n)}else if(this._parent?.locals.values.has(`i:${e}`)){let r=this._parent.locals.values.get(`i:${e}`);return(0,td.resolveEntity)(this._container,r,n)}else if(this._globals.values.has(`i:${e}`)){let r=this._globals.values.get(`i:${e}`);return(0,td.resolveEntity)(this._container,r,n)}return this._container.getGeneralDefinition(e,n)}setProperty(e,n){return this._locals.setProperty(e,n)}extend(e){return this._locals.extend(e),this}addType(){throw new Error("Scope cannot get type assigned!")}addTypes(){throw new Error("Scope cannot get types assigned!")}setReturnEntity(){throw new Error("Scope cannot set return entity!")}getReturnEntity(){throw new Error("Scope cannot get return entity!")}setKind(e){return this._locals.setKind(e),this}setLine(e){return this._locals.setLine(e),this}setLabel(e){return this._locals.setLabel(e),this}setContext(e){return this._locals.setContext(e),this}insertSignature(e){return this._locals.insertSignature(e),this}isAPI(){return!1}hasContext(){return!1}isFromSignature(){return!1}isCallable(){return!1}getCallableReturnTypes(){return null}getAllIdentifier(){let e=new Map([["globals",{kind:us.CompletionItemKind.Constant,line:-1}],["locals",{kind:us.CompletionItemKind.Constant,line:-1}],["outer",{kind:us.CompletionItemKind.Constant,line:-1}],...this._container.getAllIdentifier(ed.SignatureDefinitionBaseType.General)]);return this._locals!==this._globals&&(0,by.injectIdentifers)(e,this._globals),this._parent&&(0,by.injectIdentifers)(e,this._parent.locals),(0,by.injectIdentifers)(e,this._locals),this.isSelfAvailable()&&e.set("self",{kind:us.CompletionItemKind.Constant,line:-1}),this.isSuperAvailable()&&e.set("super",{kind:us.CompletionItemKind.Constant,line:-1}),e}isSelfAvailable(){return this._locals.context!=null&&this._locals.context.types.has(ed.SignatureDefinitionBaseType.Map)}isSuperAvailable(){return this.isSelfAvailable()&&this._locals.context.hasProperty("__isa")}toJSON(){return this._locals.toJSON()}copy(e={}){return new t({source:this._source,container:e.container??this._container,parent:this._parent.copy({container:e.container,deepCopy:!0}),globals:this._globals.copy({container:e.container,deepCopy:!0}),locals:this._locals.copy({...e,deepCopy:!0})})}};nd.Scope=vy});var ho=g(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.GreybelKeyword=void 0;var BM;(function(t){t.Envar="#envar",t.Import="#import",t.Include="#include",t.ImportWithComment="//import",t.IncludeWithComment="//include",t.Debugger="debugger",t.Line="#line",t.File="#filename",t.Inject="#inject"})(BM=Fa.GreybelKeyword||(Fa.GreybelKeyword={}))});var ky=g(Sy=>{"use strict";Object.defineProperty(Sy,"__esModule",{value:!0});var cs=qe(),UM=ho(),Ty=class extends cs.LexerValidator{constructor(){super(...arguments),this.isKeyword=Set.prototype.has.bind(new Set([...Object.values(cs.Keyword),...Object.values(UM.GreybelKeyword)]))}isIdentifierStart(e){return super.isIdentifierStart(e)||e===cs.CharacterCode.HASH}isMultilineComment(e,n){return cs.CharacterCode.SLASH===e&&cs.CharacterCode.ASTERISK===n}isMultilineCommentEnd(e,n){return cs.CharacterCode.ASTERISK===e&&cs.CharacterCode.SLASH===n}isComment(e,n){return super.isComment(e,n)||this.isMultilineComment(e,n)}};Sy.default=Ty});var xy=g($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.CharacterCode=void 0;var HM;(function(t){t[t.VERTICAL_LINE=124]="VERTICAL_LINE",t[t.AMPERSAND=38]="AMPERSAND"})(HM=$a.CharacterCode||($a.CharacterCode={}))});var go=g(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.Operator=void 0;var WM;(function(t){t.BitwiseAnd="&",t.BitwiseOr="|",t.LeftShift="<<",t.RightShift=">>",t.UnsignedRightShift=">>>"})(WM=Ba.Operator||(Ba.Operator={}))});var Ey=g(Ua=>{"use strict";var GM=Ua&&Ua.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ua,"__esModule",{value:!0});var or=qe(),KM=GM(ky()),nE=xy(),rE=ho(),wy=go();function iE(t){let e=this.content[this.index];return this.index+=e.length,this.createPunctuator(e,t)}var rd=class t extends or.Lexer{constructor(e,n={}){n.validator=n.validator||new KM.default,super(e,n)}scan(e,n){let r=t.greybelScanHandlers[e];return r?r.call(this,n)||super.scan(e,n):super.scan(e,n)}scanMultilineComment(e){let n=this,r=n.line,i=n.lineStart,s=n.index,o=n.offset,a=n.offset,u=!1;for(;n.index<n.length;){let d=n.codeAt();if(n.validator.isEndOfLine(d))n.validator.isWinNewline(d,n.codeAt(1))&&n.index++,n.line++,a=n.index+1;else if(n.validator.isMultilineCommentEnd(n.codeAt(),n.codeAt(1))){u=!0;break}n.index++}if(!u)return n.raise("Unexpected end of file in multiline comment.",new or.ASTRange(new or.ASTPosition(r,s-o+1),new or.ASTPosition(n.line,n.index-a+3)));let c=n.content.slice(s+2,n.index);n.index+=2;let l=new or.Token({type:or.TokenType.Comment,value:c,line:r,lineStart:i,range:[n.tokenStart,n.index],offsetRange:[o,a],afterSpace:e,lastLine:n.line,lastLineStart:n.lineStart});return n.offset=a,n.snapshot.enqueue(l),l}scanComment(e){let n=this,r=n.validator;return n.content.startsWith(rE.GreybelKeyword.ImportWithComment,n.index)||n.content.startsWith(rE.GreybelKeyword.IncludeWithComment,n.index)?(n.index++,n.scanIdentifierOrKeyword(e)):r.isMultilineComment(n.codeAt(),n.codeAt(1))?n.scanMultilineComment(e):super.scanComment(e)}};Ua.default=rd;rd.greybelScanHandlers={[or.CharacterCode.ARROW_LEFT]:function(e){if(or.CharacterCode.ARROW_LEFT===this.codeAt(1))return this.scanPunctuator(wy.Operator.LeftShift,e)},[or.CharacterCode.ARROW_RIGHT]:function(e){if(or.CharacterCode.ARROW_RIGHT===this.codeAt(1))return or.CharacterCode.ARROW_RIGHT===this.codeAt(2)?this.scanPunctuator(wy.Operator.UnsignedRightShift,e):this.scanPunctuator(wy.Operator.RightShift,e)},[nE.CharacterCode.AMPERSAND]:iE,[nE.CharacterCode.VERTICAL_LINE]:iE}});var id=g(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.ASTType=void 0;var VM;(function(t){t.FeatureImportExpression="FeatureImportExpression",t.FeatureIncludeExpression="FeatureIncludeExpression",t.FeatureEnvarExpression="FeatureEnvarExpression",t.FeatureInjectExpression="FeatureInjectExpression",t.FeatureDebuggerExpression="FeatureDebuggerExpression",t.FeatureLineExpression="FeatureLineExpression",t.FeatureFileExpression="FeatureFileExpression"})(VM=Ha.ASTType||(Ha.ASTType={}))});var Oy=g(sd=>{"use strict";Object.defineProperty(sd,"__esModule",{value:!0});sd.ASTChunkAdvanced=void 0;var zM=qe(),Ay=class t extends zM.ASTChunk{constructor(e){super(e),this.imports=e.imports||[],this.includes=e.includes||[],this.injects=e.injects||[]}clone(){return new t({literals:this.literals.map(e=>e.clone()),scopes:this.scopes.map(e=>e.clone()),imports:this.imports.map(e=>e.clone()),includes:this.includes.map(e=>e.clone()),injects:this.injects.map(e=>e.clone()),lines:this.lines,start:this.start,end:this.end,range:this.range,scope:this.scope})}};sd.ASTChunkAdvanced=Ay});var My=g(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.ASTFeatureFileExpression=Gn.ASTFeatureInjectExpression=Gn.ASTFeatureEnvarExpression=Gn.ASTFeatureIncludeExpression=Gn.ASTFeatureImportExpression=void 0;var Wa=qe(),Ga=id(),Cy=class t extends Wa.ASTBase{constructor(e){super(Ga.ASTType.FeatureImportExpression,e),this.name=e.name,this.path=e.path,this.chunk=e.chunk,this.namespace=e.namespace}toString(){return`FeatureImportExpression[${this.start}-${this.end}][name = ${this.name}, path = ${this.path}]`}clone(){return new t({name:this.name.clone(),path:this.path,chunk:this.chunk.clone(),namespace:this.namespace,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Gn.ASTFeatureImportExpression=Cy;var Ry=class t extends Wa.ASTBase{constructor(e){super(Ga.ASTType.FeatureIncludeExpression,e),this.path=e.path,this.chunk=e.chunk,this.namespace=e.namespace}toString(){return`FeatureIncludeExpression[${this.start}-${this.end}][path = ${this.path}]`}clone(){return new t({path:this.path,chunk:this.chunk.clone(),namespace:this.namespace,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Gn.ASTFeatureIncludeExpression=Ry;var Py=class t extends Wa.ASTBase{constructor(e){super(Ga.ASTType.FeatureEnvarExpression,e),this.name=e.name}toString(){return`FeatureEnvarExpression[${this.start}-${this.end}][name = ${this.name}]`}clone(){return new t({name:this.name,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Gn.ASTFeatureEnvarExpression=Py;var Dy=class t extends Wa.ASTBase{constructor(e){super(Ga.ASTType.FeatureInjectExpression,e),this.path=e.path}toString(){return`FeatureInjectExpression[${this.start}-${this.end}][path = ${this.path}]`}clone(){return new t({path:this.path,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Gn.ASTFeatureInjectExpression=Dy;var Iy=class t extends Wa.ASTBase{constructor(e){super(Ga.ASTType.FeatureFileExpression,e),this.filename=e.filename}toString(){return`FeatureFileExpression[${this.start}-${this.end}][path = ${this.filename}]`}clone(){return new t({filename:this.filename,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Gn.ASTFeatureFileExpression=Iy});var qy=g(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.ASTFeatureInjectExpression=Nt.ASTFeatureIncludeExpression=Nt.ASTFeatureImportExpression=Nt.ASTFeatureFileExpression=Nt.ASTFeatureEnvarExpression=Nt.ASTChunkAdvanced=Nt.ASTType=Nt.ASTProvider=void 0;var Ly=qe(),sE=id(),XM=Oy(),Ka=My(),Ny=class extends Ly.ASTProvider{featureImportExpression(e){return new Ka.ASTFeatureImportExpression(e)}featureIncludeExpression(e){return new Ka.ASTFeatureIncludeExpression(e)}featureEnvarExpression(e){return new Ka.ASTFeatureEnvarExpression(e)}featureInjectExpression(e){return new Ka.ASTFeatureInjectExpression(e)}featureDebuggerExpression(e){return new Ly.ASTBase(sE.ASTType.FeatureDebuggerExpression,e)}featureLineExpression(e){return new Ly.ASTBase(sE.ASTType.FeatureLineExpression,e)}featureFileExpression(e){return new Ka.ASTFeatureFileExpression(e)}chunkAdvanced(e){return new XM.ASTChunkAdvanced(e)}};Nt.ASTProvider=Ny;var YM=id();Object.defineProperty(Nt,"ASTType",{enumerable:!0,get:function(){return YM.ASTType}});var JM=Oy();Object.defineProperty(Nt,"ASTChunkAdvanced",{enumerable:!0,get:function(){return JM.ASTChunkAdvanced}});var Va=My();Object.defineProperty(Nt,"ASTFeatureEnvarExpression",{enumerable:!0,get:function(){return Va.ASTFeatureEnvarExpression}});Object.defineProperty(Nt,"ASTFeatureFileExpression",{enumerable:!0,get:function(){return Va.ASTFeatureFileExpression}});Object.defineProperty(Nt,"ASTFeatureImportExpression",{enumerable:!0,get:function(){return Va.ASTFeatureImportExpression}});Object.defineProperty(Nt,"ASTFeatureIncludeExpression",{enumerable:!0,get:function(){return Va.ASTFeatureIncludeExpression}});Object.defineProperty(Nt,"ASTFeatureInjectExpression",{enumerable:!0,get:function(){return Va.ASTFeatureInjectExpression}})});var jy=g(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.SelectorGroups=gt.SelectorGroupType=gt.Selectors=gt.SelectorTypes=void 0;var He=qe(),od=ho(),za=go(),QM;(function(t){t.From="From",t.Envar="Envar",t.Inject="Inject",t.Line="Line",t.File="File",t.LeftShift="LeftShift",t.RightShift="RightShift",t.UnsignedRightShift="UnsignedRightShift",t.BitwiseOr="BitwiseOr",t.BitwiseAnd="BitwiseAnd",t.Escape="Escape"})(QM=gt.SelectorTypes||(gt.SelectorTypes={}));gt.Selectors=Object.assign(Object.assign({},He.Selectors),{From:(0,He.createSelector)({type:He.TokenType.Identifier,value:"from"}),Envar:(0,He.createSelector)({type:He.TokenType.Keyword,value:od.GreybelKeyword.Envar}),Inject:(0,He.createSelector)({type:He.TokenType.Keyword,value:od.GreybelKeyword.Inject}),Line:(0,He.createSelector)({type:He.TokenType.Keyword,value:od.GreybelKeyword.Line}),File:(0,He.createSelector)({type:He.TokenType.Keyword,value:od.GreybelKeyword.File}),LeftShift:(0,He.createSelector)({type:He.TokenType.Punctuator,value:za.Operator.LeftShift}),RightShift:(0,He.createSelector)({type:He.TokenType.Punctuator,value:za.Operator.RightShift}),UnsignedRightShift:(0,He.createSelector)({type:He.TokenType.Punctuator,value:za.Operator.UnsignedRightShift}),BitwiseOr:(0,He.createSelector)({type:He.TokenType.Punctuator,value:za.Operator.BitwiseOr}),BitwiseAnd:(0,He.createSelector)({type:He.TokenType.Punctuator,value:za.Operator.BitwiseAnd}),Escape:(0,He.createSelector)({type:He.TokenType.Punctuator,value:He.Operator.Escape})});var Kr;(function(t){t.MapSeparator="MapSeparator",t.ListSeparator="ListSeparator",t.PathSegmentEnd="PathSegmentEnd",t.BitwiseOperators="BitwiseOperators"})(Kr=gt.SelectorGroupType||(gt.SelectorGroupType={}));gt.SelectorGroups=Object.assign(Object.assign({},He.SelectorGroups),{[Kr.MapSeparator]:(0,He.createSelectorGroup)(Kr.MapSeparator,[gt.Selectors.MapSeperator,gt.Selectors.CRBracket]),[Kr.ListSeparator]:(0,He.createSelectorGroup)(Kr.ListSeparator,[gt.Selectors.MapSeperator,gt.Selectors.SRBracket]),[Kr.PathSegmentEnd]:(0,He.createSelectorGroup)(Kr.PathSegmentEnd,[gt.Selectors.EndOfLine,gt.Selectors.Comment,gt.Selectors.EndOfFile]),[Kr.BitwiseOperators]:(0,He.createSelectorGroup)(Kr.BitwiseOperators,[gt.Selectors.LeftShift,gt.Selectors.RightShift,gt.Selectors.UnsignedRightShift])})});var uE=g(Xa=>{"use strict";var ZM=Xa&&Xa.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Xa,"__esModule",{value:!0});var gn=qe(),eL=ra(),oE=ca(),tL=ZM(Ey()),nL=qy(),ls=ho(),aE=go(),Fe=jy(),Fy=class extends gn.Parser{constructor(e,n={}){var r;n.lexer=n.lexer||new tL.default(e,{unsafe:n.unsafe,tabWidth:n.tabWidth}),n.astProvider=n.astProvider||new nL.ASTProvider,super(e,n);let i=this;i.filename=(r=n.filename)!==null&&r!==void 0?r:"unknown",i.imports=[],i.includes=[],i.injects=[]}skipNewlines(){let e=this,n=0;for(;;){if(Fe.Selectors.Comment(e.token)){let r=e.astProvider.comment({value:e.token.value,isMultiline:e.token.value.indexOf(`
107
+ */`),[n]=e;if(n.tags.length>0){let{descriptions:r,args:i,returns:s,examples:o}=SM(n);return Y0.SignatureDefinitionFunction.parse({type:Y0.SignatureDefinitionBaseType.Function,arguments:t.getArguments().map((a,u)=>{let c=a.getLabel(),l=a.getTypes().map(p=>p.toString()),d=a.isOptional();return{types:l,opt:d,...i[u],label:c}}),returns:s.type.split("|"),description:r,example:o})}return t}ss.enrichWithMetaInformation=kM});var oy=g(Hl=>{"use strict";Object.defineProperty(Hl,"__esModule",{value:!0});Hl.createResolveChain=void 0;var an=qe();function wi(t,e,n=null,r=!1){switch(t.type){case an.ASTType.ParenthesisExpression:{wi(t.expression,e,n);return}case an.ASTType.MemberExpression:{let i=t;wi(i.base,e),e.push({ref:t,getter:i.identifier,unary:n,isInCallExpression:r});return}case an.ASTType.IndexExpression:{let i=t;wi(i.base,e),e.push({ref:t,getter:i.index,unary:n,isInCallExpression:r});return}case an.ASTType.CallStatement:{wi(t.expression,e,n,!0);return}case an.ASTType.CallExpression:{wi(t.base,e,n,!0);return}case an.ASTType.NegationExpression:case an.ASTType.BinaryNegatedExpression:case an.ASTType.UnaryExpression:{let i=t;wi(i.argument,e,i);return}case an.ASTType.Identifier:{e.push({ref:t,getter:t,unary:n,isInCallExpression:r});return}case an.ASTType.NumericLiteral:case an.ASTType.StringLiteral:case an.ASTType.NilLiteral:case an.ASTType.MapConstructorExpression:case an.ASTType.ListConstructorExpression:{e.push({ref:t,value:t,unary:n,isInCallExpression:r});return}case an.ASTType.SliceExpression:wi(t.base,e),e.push({ref:t,unary:n,isInCallExpression:r})}}function xM(t){let e=[];return wi(t,e),e}Hl.createResolveChain=xM});var Z0=g(ay=>{function Q0(t,e){return t>e?1:-1}ay.hash=function t(e,n){var r=5381;if(typeof e=="object"&&e!==null&&(e.toString===Object.prototype.toString||e.toString===Array.prototype.toString)){n||(n=new WeakSet);for(var i=Object.keys(e).sort(Q0),s=0;s<i.length;s++){var o=i[s],a=e[o];if(r=33*r^t(o,n),typeof a=="object"&&a!==null&&(e.toString===Object.prototype.toString||e.toString===Array.prototype.toString)){if(n.has(a))continue;n.add(a)}r=33*r^t(a,n)}return 33*r^t(e.constructor,n)}var u=typeof e;try{e instanceof Date?u+=e.getTime():u+=String(e)}catch{u+=String(Object.assign({},e))}for(var c=0;c<u.length;c++)r=33*r^u.charCodeAt(c);return r},ay.sortNumbers=Q0});var ly=g(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.ObjectSet=co.ObjectSetIterator=void 0;var uy=Z0(),Wl=class{constructor(e){let n=this;n.value=e,n.index=0}next(){let e=this;return e.index>=e.value.length?{value:null,done:!0}:{value:e.value[e.index++],done:!1}}};co.ObjectSetIterator=Wl;var cy=class{constructor(e){let r=(e?Array.from(e):[]).map(i=>[(0,uy.hash)(i),i]);this._map=new Map(r),this._first=null,this._last=null,r.length>0&&(this._first=r[0][0],this._last=r[r.length-1][0])}[Symbol.iterator](){return new Wl(Array.from(this._map.values()))}first(){return this._first!=null?this._map.get(this._first)??null:null}last(){return this._last!=null?this._map.get(this._last)??null:null}toArray(){return Array.from(this._map.values())}add(e){let n=(0,uy.hash)(e);return this._map.set(n,e),this._first??(this._first=n),this._last=n,this}delete(e){let n=(0,uy.hash)(e);return this._map.delete(n)}extend(e){for(let[n,r]of e._map)this._map.set(n,r),this._first??(this._first=n),this._last=n;return this}toJSON(){return Array.from(this._map.values())}clear(){this._map.clear()}};co.ObjectSet=cy});var dy=g(Gl=>{"use strict";Object.defineProperty(Gl,"__esModule",{value:!0});Gl.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=void 0;Gl.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION="This is a custom method. You can add a description for this method by adding a comment above or after the function.\n```\nmyFunction = function(a, b, c) // This function does xyz\n```\nor\n```\n/*\n This function does xyz\n*/\nmyFunction = function(a, b, c)\n```"});var os=g(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.CompletionItemKind=void 0;var wM;(function(t){t.Variable="var",t.Property="var",t.Function="function",t.Literal="literal",t.Constant="constant",t.ListConstructor="list",t.MapConstructor="map",t.Expression="expr",t.Unknown="unknown"})(wM=qa.CompletionItemKind||(qa.CompletionItemKind={}))});var fy=g(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.isResolveChainItemWithValue=Ar.isResolveChainItemWithIdentifier=Ar.isResolveChainItemWithMember=Ar.isResolveChainItemWithIndex=void 0;var Ei=qe(),EM=t=>t!=null&&t.ref.type===Ei.ASTType.IndexExpression;Ar.isResolveChainItemWithIndex=EM;var AM=t=>t!=null&&t.ref.type===Ei.ASTType.MemberExpression;Ar.isResolveChainItemWithMember=AM;var OM=t=>t!=null&&t.ref.type===Ei.ASTType.Identifier;Ar.isResolveChainItemWithIdentifier=OM;var CM=t=>t!=null&&(t.ref.type===Ei.ASTType.NumericLiteral||t.ref.type===Ei.ASTType.StringLiteral||t.ref.type===Ei.ASTType.NilLiteral||t.ref.type===Ei.ASTType.MapConstructorExpression||t.ref.type===Ei.ASTType.ListConstructorExpression);Ar.isResolveChainItemWithValue=CM});var py=g(Kl=>{"use strict";Object.defineProperty(Kl,"__esModule",{value:!0});Kl.isSignatureDefinitionFunction=void 0;var RM=Wn(),PM=t=>t.getType().type===RM.SignatureDefinitionBaseType.Function;Kl.isSignatureDefinitionFunction=PM});var hy=g(Vl=>{"use strict";Object.defineProperty(Vl,"__esModule",{value:!0});Vl.aggregateEntity=void 0;var DM=t=>{let e=new Set,n=t;for(;n!=null&&!e.has(n);)e.add(n),n=n.getIsa();return Array.from(e)};Vl.aggregateEntity=DM});var ja=g(zl=>{"use strict";Object.defineProperty(zl,"__esModule",{value:!0});zl.injectIdentifers=void 0;var IM=hy(),MM=(t,e)=>{let n=(0,IM.aggregateEntity)(e);for(let r=0;r<n.length;r++){let i=n[r];for(let[s,o]of i.values)if(s.startsWith("i:")){let a=s.slice(2);if(t.has(a))continue;t.set(a,{kind:o.kind,line:o.source===e.source?o.line:-1})}}};zl.injectIdentifers=MM});var Yl=g(Xl=>{"use strict";Object.defineProperty(Xl,"__esModule",{value:!0});Xl.isEligibleForProperties=void 0;var gy=Wn(),LM=t=>t.types.has(gy.SignatureDefinitionBaseType.Map)||t.types.has(gy.SignatureDefinitionBaseType.List)||t.types.has(gy.SignatureDefinitionBaseType.Any);Xl.isEligibleForProperties=LM});var Ql=g(Jl=>{"use strict";Object.defineProperty(Jl,"__esModule",{value:!0});Jl.lookupProperty=void 0;var NM=Yl(),qM=(t,e)=>{let n=t,r=new Set([n]);for(;(0,NM.isEligibleForProperties)(n);){let i=n.values.get(`i:${e}`);if(i!=null)return i;let s=n.getIsa();if(s==null||r.has(s))break;r.add(s),n=s}return null};Jl.lookupProperty=qM});var po=g(Ai=>{"use strict";Object.defineProperty(Ai,"__esModule",{value:!0});Ai.Entity=Ai.resolveEntity=void 0;var lo=Wn(),fo=os(),jM=py(),FM=ja(),Zl=Yl(),eE=Ql(),tE=ly(),$M=(t,e,n=!1)=>{if(e.isCallable()&&!n){let r=e.getReturnEntity();if(r!==null)return r;let i=e.getCallableReturnTypes();return i?new as({source:e.source,kind:fo.CompletionItemKind.Variable,container:t,label:e.label,context:e.context}).addTypes(i):new as({source:e.source,kind:fo.CompletionItemKind.Variable,container:t,label:e.label,context:e.context}).addType(lo.SignatureDefinitionBaseType.Any)}return e};Ai.resolveEntity=$M;var my={hasProperty(t,e,n){return!!(0,eE.lookupProperty)(t,n)||!t.isAPI()&&!!e.getDefinition(Array.from(t.types),n,!0)},resolveProperty(t,e,n,r=!1){let i=(0,eE.lookupProperty)(t,n)??null;return i==null?t.isAPI()?null:e.getDefinition(Array.from(t.types),n,r):(0,Ai.resolveEntity)(e,i,r)},setProperty(t,e,n,r){if(!(0,Zl.isEligibleForProperties)(t))return!1;let i=`i:${n}`,s=t.values.get(i);return s?s.extend(r):t.values.set(i,r.copy({container:e,label:n,context:t,definitions:[]})),!0}},yy={hasProperty(t,e,n){if(!(0,Zl.isEligibleForProperties)(t))return!1;for(let r of n.types)if(t.values.has(`t:${r}`))return!0;return!1},resolveProperty(t,e,n,r=!1){if(!(0,Zl.isEligibleForProperties)(t))return new as({source:t.source,kind:fo.CompletionItemKind.Variable,container:e,label:n.label,context:t}).addType(lo.SignatureDefinitionBaseType.Any);let i=new as({source:n.source,kind:fo.CompletionItemKind.Variable,container:e,label:n.label,context:t});for(let s of n.types){let o=t.values.get(`t:${s}`);o&&i.extend(o)}return i.types.size===0&&i.addType(lo.SignatureDefinitionBaseType.Any),(0,Ai.resolveEntity)(e,i,r)},setProperty(t,e,n,r){if(!(0,Zl.isEligibleForProperties)(t))return!1;for(let i of n.types){let s=`t:${i}`,o=t.values.get(s);o?o.extend(r):t.values.set(s,r.copy({container:e,label:i,context:t,definitions:[]}))}return!0}},as=class t{get source(){return this._source}get definitions(){return this._definitions}get kind(){return this._kind}get line(){return this._line}get signatureDefinitions(){return this._signatureDefinitions}get context(){return this._context}get label(){return this._label}get types(){return this._types}get values(){return this._values}constructor(e){this._source=e.source,this._isAPI=e.isAPI??!1,this._isFromSignature=e.isFromSignature??!1,this._kind=e.kind,this._line=e.line??-1,this._label=e.label??"anonymous",this._signatureDefinitions=e.signatureDefinitions??new tE.ObjectSet,this._types=e.types??new Set,this._values=e.values??new Map,this._context=e.context??null,this._container=e.container,this._definitions=e.definitions??[],this._returnEntity=e.returnEntity??null}isFromSignature(){return this._isFromSignature}hasContext(){return this._context!=null&&!this._context.isAPI}getIsa(){return this._values.get("i:__isa")??null}hasIsa(){return this._values.has("i:__isa")}isAPI(){return this._isAPI}isCallable(){return this._types.has(lo.SignatureDefinitionBaseType.Function)}getCallableReturnTypes(){if(!this.isCallable())return null;let e=Array.from(this._signatureDefinitions).filter(n=>(0,jM.isSignatureDefinitionFunction)(n));return e.length===0?null:e.flatMap(n=>n.getReturns()).map(n=>n.type)}addSignatureType(e){return this._signatureDefinitions.add(e),this.addType(e.getType().type),this}setReturnEntity(e){return this._returnEntity=e,this}getReturnEntity(){return this._returnEntity}setKind(e){return this._kind=e,this}setLine(e){return this._line=e,this}setLabel(e){return this._label=e,this}setContext(e){return this._context=e,this}addType(e){return this._types.add(e),this}addTypes(e){for(let n=0;n<e.length;n++)this._types.add(e[n]);return this}hasProperty(e){switch(typeof e){case"object":return yy.hasProperty(this,this._container,e);default:return my.hasProperty(this,this._container,e)}}resolveProperty(e,n=!1){switch(typeof e){case"object":return yy.resolveProperty(this,this._container,e,n);default:return my.resolveProperty(this,this._container,e,n)}}setProperty(e,n){switch(typeof e){case"object":return yy.setProperty(this,this._container,e,n);default:return my.setProperty(this,this._container,e,n)}}extend(e){if(e===this)return this;this._isFromSignature=!1,this._signatureDefinitions.extend(e.signatureDefinitions),this.addTypes(Array.from(e.types));for(let[n,r]of e.values){let i=this.values.get(n);i==null?this.values.set(n,r.copy({container:this._container,context:this})):i.extend(r)}return this}insertSignature(e){let n=Object.keys(e.getDefinitions());this.addType(lo.SignatureDefinitionBaseType.Map);for(let r=0;r<n.length;r++){let i=n[r],s=e.getDefinition(i),o=new t({source:this._source,label:i,kind:s.getType().type===lo.SignatureDefinitionBaseType.Function?fo.CompletionItemKind.Function:fo.CompletionItemKind.Property,container:this._container,isFromSignature:!0});o.addSignatureType(s),this.setProperty(i,o)}return this}getAllIdentifier(){let e=new Map;for(let n of this._types){let r=this._container.getAllIdentifier(n);for(let i of r)e.set(...i)}return(0,FM.injectIdentifers)(e,this),e}toJSONInternal(e=new WeakMap){if(e.has(this))return e.get(this);let n={};return e.set(this,n),n.kind=this.kind,n.signatureDefinitions=this._signatureDefinitions.toJSON(),n.types=Array.from(this._types),n.values=Array.from(this._values).reduce((r,[i,s])=>(r[i]=s?.toJSONInternal(e),r),{}),n}toJSON(){return this.toJSONInternal()}copy(e={}){let n=new t({source:e.source??this._source,kind:e.kind??this._kind,line:e.line??this._line,isFromSignature:e.isFromSignature??this._isFromSignature,isAPI:e.isAPI??this._isAPI,container:e.container??this._container,label:e.label??this._label,context:e.context??this._context,signatureDefinitions:new tE.ObjectSet(Array.from(this._signatureDefinitions,r=>r.copy())),types:new Set(this._types),returnEntity:this._returnEntity,values:e.values??this.values,definitions:e.definitions??this._definitions});return e.deepCopy&&(n._values=new Map(Array.from(this._values,([r,i])=>[r,i.copy({deepCopy:e.deepCopy,container:e.container,line:e.line,context:n,values:i.values})])),n._definitions=[...this._definitions]),n}};Ai.Entity=as});var _y=g(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});nd.Scope=void 0;var ed=Wn(),us=os(),by=ja(),td=po(),vy=class t{get source(){return this._source}get definitions(){return[]}get signatureDefinitions(){return null}get kind(){return us.CompletionItemKind.Constant}get line(){return this._locals.line}get label(){return this._locals.label}get context(){return this._locals.context}get types(){return new Set(ed.SignatureDefinitionBaseType.Map)}get values(){return this._locals.values}get globals(){return this._globals}get outer(){return this._parent?.locals??null}get locals(){return this._locals}constructor(e){this._source=e.source,this._container=e.container,this._parent=e.parent??null,this._globals=e.globals,this._locals=e.locals??new td.Entity({source:this._source,kind:us.CompletionItemKind.Constant,container:this._container,label:"locals"}).addType(ed.SignatureDefinitionBaseType.Map)}getIsa(){return null}hasIsa(){return!1}setCustomType(e,n){this._container.setCustomType(e,n)}addSignatureType(){throw new Error("Cannot add signature type to scope!")}hasProperty(e){return this._locals.hasProperty(e)}resolveProperty(e,n){return this._locals.resolveProperty(e,n)}resolveNamespace(e,n=!1){if(typeof e!="string")throw new Error("Invalid property type for scope!");if(e==="locals")return this._locals;if(e==="outer")return this._parent?.locals??this._globals;if(e==="globals")return this._globals;if(this._locals.values.has(`i:${e}`)){let r=this._locals.values.get(`i:${e}`);return(0,td.resolveEntity)(this._container,r,n)}else if(this._parent?.locals.values.has(`i:${e}`)){let r=this._parent.locals.values.get(`i:${e}`);return(0,td.resolveEntity)(this._container,r,n)}else if(this._globals.values.has(`i:${e}`)){let r=this._globals.values.get(`i:${e}`);return(0,td.resolveEntity)(this._container,r,n)}return this._container.getGeneralDefinition(e,n)}setProperty(e,n){return this._locals.setProperty(e,n)}extend(e){return this._locals.extend(e),this}addType(){throw new Error("Scope cannot get type assigned!")}addTypes(){throw new Error("Scope cannot get types assigned!")}setReturnEntity(){throw new Error("Scope cannot set return entity!")}getReturnEntity(){throw new Error("Scope cannot get return entity!")}setKind(e){return this._locals.setKind(e),this}setLine(e){return this._locals.setLine(e),this}setLabel(e){return this._locals.setLabel(e),this}setContext(e){return this._locals.setContext(e),this}insertSignature(e){return this._locals.insertSignature(e),this}isAPI(){return!1}hasContext(){return!1}isFromSignature(){return!1}isCallable(){return!1}getCallableReturnTypes(){return null}getAllIdentifier(){let e=new Map([["globals",{kind:us.CompletionItemKind.Constant,line:-1}],["locals",{kind:us.CompletionItemKind.Constant,line:-1}],["outer",{kind:us.CompletionItemKind.Constant,line:-1}],...this._container.getAllIdentifier(ed.SignatureDefinitionBaseType.General)]);return this._locals!==this._globals&&(0,by.injectIdentifers)(e,this._globals),this._parent&&(0,by.injectIdentifers)(e,this._parent.locals),(0,by.injectIdentifers)(e,this._locals),this.isSelfAvailable()&&e.set("self",{kind:us.CompletionItemKind.Constant,line:-1}),this.isSuperAvailable()&&e.set("super",{kind:us.CompletionItemKind.Constant,line:-1}),e}isSelfAvailable(){return this._locals.context!=null&&this._locals.context.types.has(ed.SignatureDefinitionBaseType.Map)}isSuperAvailable(){return this.isSelfAvailable()&&this._locals.context.hasProperty("__isa")}toJSON(){return this._locals.toJSON()}copy(e={}){return new t({source:this._source,container:e.container??this._container,parent:this._parent.copy({container:e.container,deepCopy:!0}),globals:this._globals.copy({container:e.container,deepCopy:!0}),locals:this._locals.copy({...e,deepCopy:!0})})}};nd.Scope=vy});var ho=g(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.GreybelKeyword=void 0;var BM;(function(t){t.Envar="#envar",t.Import="#import",t.Include="#include",t.ImportWithComment="//import",t.IncludeWithComment="//include",t.Debugger="debugger",t.Line="#line",t.File="#filename",t.Inject="#inject"})(BM=Fa.GreybelKeyword||(Fa.GreybelKeyword={}))});var ky=g(Sy=>{"use strict";Object.defineProperty(Sy,"__esModule",{value:!0});var cs=qe(),UM=ho(),Ty=class extends cs.LexerValidator{constructor(){super(...arguments),this.isKeyword=Set.prototype.has.bind(new Set([...Object.values(cs.Keyword),...Object.values(UM.GreybelKeyword)]))}isIdentifierStart(e){return super.isIdentifierStart(e)||e===cs.CharacterCode.HASH}isMultilineComment(e,n){return cs.CharacterCode.SLASH===e&&cs.CharacterCode.ASTERISK===n}isMultilineCommentEnd(e,n){return cs.CharacterCode.ASTERISK===e&&cs.CharacterCode.SLASH===n}isComment(e,n){return super.isComment(e,n)||this.isMultilineComment(e,n)}};Sy.default=Ty});var xy=g($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.CharacterCode=void 0;var HM;(function(t){t[t.VERTICAL_LINE=124]="VERTICAL_LINE",t[t.AMPERSAND=38]="AMPERSAND"})(HM=$a.CharacterCode||($a.CharacterCode={}))});var go=g(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.Operator=void 0;var WM;(function(t){t.BitwiseAnd="&",t.BitwiseOr="|",t.LeftShift="<<",t.RightShift=">>",t.UnsignedRightShift=">>>"})(WM=Ba.Operator||(Ba.Operator={}))});var Ey=g(Ua=>{"use strict";var GM=Ua&&Ua.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ua,"__esModule",{value:!0});var or=qe(),KM=GM(ky()),nE=xy(),rE=ho(),wy=go();function iE(t){let e=this.content[this.index];return this.index+=e.length,this.createPunctuator(e,t)}var rd=class t extends or.Lexer{constructor(e,n={}){n.validator=n.validator||new KM.default,super(e,n)}scan(e,n){let r=t.greybelScanHandlers[e];return r?r.call(this,n)||super.scan(e,n):super.scan(e,n)}scanMultilineComment(e){let n=this,r=n.line,i=n.lineStart,s=n.index,o=n.offset,a=n.offset,u=!1;for(;n.index<n.length;){let d=n.codeAt();if(n.validator.isEndOfLine(d))n.validator.isWinNewline(d,n.codeAt(1))&&n.index++,n.line++,a=n.index+1;else if(n.validator.isMultilineCommentEnd(n.codeAt(),n.codeAt(1))){u=!0;break}n.index++}if(!u)return n.raise("Unexpected end of file in multiline comment.",new or.ASTRange(new or.ASTPosition(r,s-o+1),new or.ASTPosition(n.line,n.index-a+3)));let c=n.content.slice(s+2,n.index);n.index+=2;let l=new or.Token({type:or.TokenType.Comment,value:c,line:r,lineStart:i,range:[n.tokenStart,n.index],offsetRange:[o,a],afterSpace:e,lastLine:n.line,lastLineStart:n.lineStart});return n.offset=a,n.snapshot.enqueue(l),l}scanComment(e){let n=this,r=n.validator;return n.content.startsWith(rE.GreybelKeyword.ImportWithComment,n.index)||n.content.startsWith(rE.GreybelKeyword.IncludeWithComment,n.index)?(n.index++,n.scanIdentifierOrKeyword(e)):r.isMultilineComment(n.codeAt(),n.codeAt(1))?n.scanMultilineComment(e):super.scanComment(e)}};Ua.default=rd;rd.greybelScanHandlers={[or.CharacterCode.ARROW_LEFT]:function(e){if(or.CharacterCode.ARROW_LEFT===this.codeAt(1))return this.scanPunctuator(wy.Operator.LeftShift,e)},[or.CharacterCode.ARROW_RIGHT]:function(e){if(or.CharacterCode.ARROW_RIGHT===this.codeAt(1))return or.CharacterCode.ARROW_RIGHT===this.codeAt(2)?this.scanPunctuator(wy.Operator.UnsignedRightShift,e):this.scanPunctuator(wy.Operator.RightShift,e)},[nE.CharacterCode.AMPERSAND]:iE,[nE.CharacterCode.VERTICAL_LINE]:iE}});var id=g(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.ASTType=void 0;var VM;(function(t){t.FeatureImportExpression="FeatureImportExpression",t.FeatureIncludeExpression="FeatureIncludeExpression",t.FeatureEnvarExpression="FeatureEnvarExpression",t.FeatureInjectExpression="FeatureInjectExpression",t.FeatureDebuggerExpression="FeatureDebuggerExpression",t.FeatureLineExpression="FeatureLineExpression",t.FeatureFileExpression="FeatureFileExpression"})(VM=Ha.ASTType||(Ha.ASTType={}))});var Oy=g(sd=>{"use strict";Object.defineProperty(sd,"__esModule",{value:!0});sd.ASTChunkAdvanced=void 0;var zM=qe(),Ay=class t extends zM.ASTChunk{constructor(e){super(e),this.imports=e.imports||[],this.includes=e.includes||[],this.injects=e.injects||[]}clone(){return new t({literals:this.literals.map(e=>e.clone()),scopes:this.scopes.map(e=>e.clone()),imports:this.imports.map(e=>e.clone()),includes:this.includes.map(e=>e.clone()),injects:this.injects.map(e=>e.clone()),lines:this.lines,start:this.start,end:this.end,range:this.range,scope:this.scope})}};sd.ASTChunkAdvanced=Ay});var My=g(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.ASTFeatureFileExpression=Gn.ASTFeatureInjectExpression=Gn.ASTFeatureEnvarExpression=Gn.ASTFeatureIncludeExpression=Gn.ASTFeatureImportExpression=void 0;var Wa=qe(),Ga=id(),Cy=class t extends Wa.ASTBase{constructor(e){super(Ga.ASTType.FeatureImportExpression,e),this.name=e.name,this.path=e.path,this.chunk=e.chunk,this.namespace=e.namespace}toString(){return`FeatureImportExpression[${this.start}-${this.end}][name = ${this.name}, path = ${this.path}]`}clone(){return new t({name:this.name.clone(),path:this.path,chunk:this.chunk.clone(),namespace:this.namespace,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Gn.ASTFeatureImportExpression=Cy;var Ry=class t extends Wa.ASTBase{constructor(e){super(Ga.ASTType.FeatureIncludeExpression,e),this.path=e.path,this.chunk=e.chunk,this.namespace=e.namespace}toString(){return`FeatureIncludeExpression[${this.start}-${this.end}][path = ${this.path}]`}clone(){return new t({path:this.path,chunk:this.chunk.clone(),namespace:this.namespace,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Gn.ASTFeatureIncludeExpression=Ry;var Py=class t extends Wa.ASTBase{constructor(e){super(Ga.ASTType.FeatureEnvarExpression,e),this.name=e.name}toString(){return`FeatureEnvarExpression[${this.start}-${this.end}][name = ${this.name}]`}clone(){return new t({name:this.name,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Gn.ASTFeatureEnvarExpression=Py;var Dy=class t extends Wa.ASTBase{constructor(e){super(Ga.ASTType.FeatureInjectExpression,e),this.path=e.path}toString(){return`FeatureInjectExpression[${this.start}-${this.end}][path = ${this.path}]`}clone(){return new t({path:this.path,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Gn.ASTFeatureInjectExpression=Dy;var Iy=class t extends Wa.ASTBase{constructor(e){super(Ga.ASTType.FeatureFileExpression,e),this.filename=e.filename}toString(){return`FeatureFileExpression[${this.start}-${this.end}][path = ${this.filename}]`}clone(){return new t({filename:this.filename,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Gn.ASTFeatureFileExpression=Iy});var qy=g(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.ASTFeatureInjectExpression=Nt.ASTFeatureIncludeExpression=Nt.ASTFeatureImportExpression=Nt.ASTFeatureFileExpression=Nt.ASTFeatureEnvarExpression=Nt.ASTChunkAdvanced=Nt.ASTType=Nt.ASTProvider=void 0;var Ly=qe(),sE=id(),XM=Oy(),Ka=My(),Ny=class extends Ly.ASTProvider{featureImportExpression(e){return new Ka.ASTFeatureImportExpression(e)}featureIncludeExpression(e){return new Ka.ASTFeatureIncludeExpression(e)}featureEnvarExpression(e){return new Ka.ASTFeatureEnvarExpression(e)}featureInjectExpression(e){return new Ka.ASTFeatureInjectExpression(e)}featureDebuggerExpression(e){return new Ly.ASTBase(sE.ASTType.FeatureDebuggerExpression,e)}featureLineExpression(e){return new Ly.ASTBase(sE.ASTType.FeatureLineExpression,e)}featureFileExpression(e){return new Ka.ASTFeatureFileExpression(e)}chunkAdvanced(e){return new XM.ASTChunkAdvanced(e)}};Nt.ASTProvider=Ny;var YM=id();Object.defineProperty(Nt,"ASTType",{enumerable:!0,get:function(){return YM.ASTType}});var JM=Oy();Object.defineProperty(Nt,"ASTChunkAdvanced",{enumerable:!0,get:function(){return JM.ASTChunkAdvanced}});var Va=My();Object.defineProperty(Nt,"ASTFeatureEnvarExpression",{enumerable:!0,get:function(){return Va.ASTFeatureEnvarExpression}});Object.defineProperty(Nt,"ASTFeatureFileExpression",{enumerable:!0,get:function(){return Va.ASTFeatureFileExpression}});Object.defineProperty(Nt,"ASTFeatureImportExpression",{enumerable:!0,get:function(){return Va.ASTFeatureImportExpression}});Object.defineProperty(Nt,"ASTFeatureIncludeExpression",{enumerable:!0,get:function(){return Va.ASTFeatureIncludeExpression}});Object.defineProperty(Nt,"ASTFeatureInjectExpression",{enumerable:!0,get:function(){return Va.ASTFeatureInjectExpression}})});var jy=g(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.SelectorGroups=gt.SelectorGroupType=gt.Selectors=gt.SelectorTypes=void 0;var He=qe(),od=ho(),za=go(),QM;(function(t){t.From="From",t.Envar="Envar",t.Inject="Inject",t.Line="Line",t.File="File",t.LeftShift="LeftShift",t.RightShift="RightShift",t.UnsignedRightShift="UnsignedRightShift",t.BitwiseOr="BitwiseOr",t.BitwiseAnd="BitwiseAnd",t.Escape="Escape"})(QM=gt.SelectorTypes||(gt.SelectorTypes={}));gt.Selectors=Object.assign(Object.assign({},He.Selectors),{From:(0,He.createSelector)({type:He.TokenType.Identifier,value:"from"}),Envar:(0,He.createSelector)({type:He.TokenType.Keyword,value:od.GreybelKeyword.Envar}),Inject:(0,He.createSelector)({type:He.TokenType.Keyword,value:od.GreybelKeyword.Inject}),Line:(0,He.createSelector)({type:He.TokenType.Keyword,value:od.GreybelKeyword.Line}),File:(0,He.createSelector)({type:He.TokenType.Keyword,value:od.GreybelKeyword.File}),LeftShift:(0,He.createSelector)({type:He.TokenType.Punctuator,value:za.Operator.LeftShift}),RightShift:(0,He.createSelector)({type:He.TokenType.Punctuator,value:za.Operator.RightShift}),UnsignedRightShift:(0,He.createSelector)({type:He.TokenType.Punctuator,value:za.Operator.UnsignedRightShift}),BitwiseOr:(0,He.createSelector)({type:He.TokenType.Punctuator,value:za.Operator.BitwiseOr}),BitwiseAnd:(0,He.createSelector)({type:He.TokenType.Punctuator,value:za.Operator.BitwiseAnd}),Escape:(0,He.createSelector)({type:He.TokenType.Punctuator,value:He.Operator.Escape})});var Kr;(function(t){t.MapSeparator="MapSeparator",t.ListSeparator="ListSeparator",t.PathSegmentEnd="PathSegmentEnd",t.BitwiseOperators="BitwiseOperators"})(Kr=gt.SelectorGroupType||(gt.SelectorGroupType={}));gt.SelectorGroups=Object.assign(Object.assign({},He.SelectorGroups),{[Kr.MapSeparator]:(0,He.createSelectorGroup)(Kr.MapSeparator,[gt.Selectors.MapSeperator,gt.Selectors.CRBracket]),[Kr.ListSeparator]:(0,He.createSelectorGroup)(Kr.ListSeparator,[gt.Selectors.MapSeperator,gt.Selectors.SRBracket]),[Kr.PathSegmentEnd]:(0,He.createSelectorGroup)(Kr.PathSegmentEnd,[gt.Selectors.EndOfLine,gt.Selectors.Comment,gt.Selectors.EndOfFile]),[Kr.BitwiseOperators]:(0,He.createSelectorGroup)(Kr.BitwiseOperators,[gt.Selectors.LeftShift,gt.Selectors.RightShift,gt.Selectors.UnsignedRightShift])})});var uE=g(Xa=>{"use strict";var ZM=Xa&&Xa.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Xa,"__esModule",{value:!0});var gn=qe(),eL=ra(),oE=ca(),tL=ZM(Ey()),nL=qy(),ls=ho(),aE=go(),Fe=jy(),Fy=class extends gn.Parser{constructor(e,n={}){var r;n.lexer=n.lexer||new tL.default(e,{unsafe:n.unsafe,tabWidth:n.tabWidth}),n.astProvider=n.astProvider||new nL.ASTProvider,super(e,n);let i=this;i.filename=(r=n.filename)!==null&&r!==void 0?r:"unknown",i.imports=[],i.includes=[],i.injects=[]}skipNewlines(){let e=this,n=0;for(;;){if(Fe.Selectors.Comment(e.token)){let r=e.astProvider.comment({value:e.token.value,isMultiline:e.token.value.indexOf(`
108
108
  `)!==-1,start:e.token.start,end:e.token.end,range:e.token.range,scope:e.currentScope});e.addItemToLines(r),e.backpatches.peek().body.push(r)}else if(Fe.Selectors.EndOfLine(e.token))n++;else break;e.next()}return n}parseMap(e=!1,n=!1){let r=this;if(!Fe.Selectors.CLBracket(r.token))return r.parseList(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.mapConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),Fe.Selectors.CRBracket(r.token))r.next();else for(;!Fe.Selectors.EndOfFile(r.token);){if(r.skipNewlines(),Fe.Selectors.CRBracket(r.token)){r.next();break}let u=r.astProvider.mapKeyString({key:null,value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});if(u.key=r.parseExpr(null),r.requireToken(Fe.Selectors.MapKeyValueSeperator),r.skipNewlines(),r.currentAssignment){let l=r.astProvider.assignmentStatement({variable:r.astProvider.indexExpression({index:u.key,base:r.currentAssignment.variable,start:u.start,end:r.token.end,range:[u.range[0],r.token.range[1]],scope:i}),init:null,start:u.start,end:null,range:[u.range[0],null]}),d=r.currentAssignment;r.currentAssignment=l,u.value=r.parseExpr(u),r.currentAssignment=d,l.init=u.value,l.end=r.previousToken.end,l.range[1]=r.previousToken.range[1],i.assignments.push(l)}else u.value=r.parseExpr(u);u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),r.skipNewlines();let c=r.requireTokenOfAny(Fe.SelectorGroups.MapSeparator,s.start);if(Fe.Selectors.CRBracket(c))break}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parseList(e=!1,n=!1){let r=this;if(!Fe.Selectors.SLBracket(r.token))return r.parseQuantity(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.listConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),Fe.Selectors.SRBracket(r.token))r.next();else for(;!Fe.Selectors.EndOfFile(r.token);){if(r.skipNewlines(),Fe.Selectors.SRBracket(r.token)){r.next();break}let u=r.astProvider.listValue({value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});if(r.currentAssignment){let l=r.astProvider.assignmentStatement({variable:r.astProvider.indexExpression({index:r.astProvider.literal(gn.TokenType.NumericLiteral,{value:o.length,raw:`${o.length}`,start:s.start,end:r.token.end,range:[s.range[0],r.token.range[1]],scope:i}),base:r.currentAssignment.variable,start:null,end:null,range:[null,null],scope:i}),init:null,start:null,end:null,range:[null,null]}),d=r.currentAssignment,p=r.token;r.currentAssignment=d,u.value=r.parseExpr(u),r.currentAssignment=d,l.variable.start=p.start,l.variable.end=r.previousToken.end,l.variable.range=[p.range[0],r.previousToken.range[1]],l.init=u.value,l.start=u.start,l.end=r.previousToken.end,l.range=[u.range[0],r.previousToken.range[1]],i.assignments.push(l)}else u.value=r.parseExpr(u);u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),r.skipNewlines();let c=r.requireTokenOfAny(Fe.SelectorGroups.ListSeparator,s.start);if(Fe.Selectors.SRBracket(c))break}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parsePathSegment(){let e=this;if(this.token.type===gn.ASTType.StringLiteral){let r=this.token.value;return this.next(),r}let n="";for(;!Fe.SelectorGroups.PathSegmentEnd(e.token);)n=n+e.token.value,e.next();return e.consumeMany(Fe.SelectorGroups.PathSegmentEnd),n}parseFeatureIncludeStatement(){let e=this,n=e.previousToken,r=e.parsePathSegment(),i=e.astProvider.featureIncludeExpression({path:r,start:n.start,end:e.previousToken.end,range:[n.range[0],e.previousToken.range[1]],scope:e.currentScope});return e.includes.push(i),i}parseFeatureImportStatement(){var e;let n=this,r=n.previousToken,i=n.parseIdentifier();if(!n.consume(Fe.Selectors.From))return n.raise("expected from keyword",new oE.Range(r.start,new eL.Position((e=n.token.lastLine)!==null&&e!==void 0?e:n.token.line,n.token.end.character))),n.parseInvalidCode();let s=n.parsePathSegment(),o=n.astProvider.featureImportExpression({name:i,path:s,start:r.start,end:n.previousToken.end,range:[r.range[0],n.previousToken.range[1]],scope:n.currentScope});n.imports.push(o);let a=n.astProvider.assignmentStatement({variable:i,init:n.astProvider.literal(gn.TokenType.NilLiteral,{value:null,raw:"null",start:i.start,end:i.end,range:i.range,scope:n.currentScope}),start:i.start,end:i.end,range:i.range,scope:n.currentScope});return n.currentScope.assignments.push(a),o}parseFeatureEnvarExpression(){let e=this,n=e.previousToken,r=e.token.value;return e.next(),e.astProvider.featureEnvarExpression({name:r,start:n.start,end:e.previousToken.end,range:[n.range[0],e.previousToken.range[1]],scope:e.currentScope})}parseFeatureInjectExpression(){let e=this,n=e.previousToken,r=this.parsePathSegment();e.next();let i=e.astProvider.featureInjectExpression({path:r,start:n.start,end:e.previousToken.end,range:[n.range[0],e.previousToken.range[1]],scope:e.currentScope});return e.injects.push(i),i}parseIsa(e=!1,n=!1){let r=this,i=r.token,s=r.parseBitwiseOr(e,n);if(Fe.Selectors.Isa(r.token)){r.next(),r.skipNewlines();let o=r.parseBitwiseOr();return r.astProvider.isaExpression({operator:gn.Operator.Isa,left:s,right:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return s}parseBitwiseOr(e=!1,n=!1){let r=this,i=r.token,o=r.parseBitwiseAnd(e,n);for(;Fe.Selectors.BitwiseOr(r.token);){r.next();let a=r.parseBitwiseAnd();o=r.astProvider.binaryExpression({operator:aE.Operator.BitwiseOr,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseBitwiseAnd(e=!1,n=!1){let r=this,i=r.token,o=r.parseComparisons(e,n);for(;Fe.Selectors.BitwiseAnd(r.token);){r.next();let a=r.parseComparisons();o=r.astProvider.binaryExpression({operator:aE.Operator.BitwiseAnd,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseAddSub(e=!1,n=!1){let r=this,i=r.token,o=r.parseBitwise(e,n);for(;Fe.Selectors.Plus(r.token)||Fe.Selectors.Minus(r.token)&&(!n||!r.token.afterSpace||r.lexer.isAtWhitespace());){let a=r.token;r.next(),r.skipNewlines();let u=r.parseBitwise();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseBitwise(e=!1,n=!1){let r=this,i=r.token,o=r.parseMultDiv(e,n);for(;Fe.SelectorGroups.BitwiseOperators(r.token);){let a=r.token;r.next(),r.skipNewlines();let u=r.parseMultDiv();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseAtom(){let e=this;return Fe.Selectors.Envar(e.token)?(e.next(),e.parseFeatureEnvarExpression()):Fe.Selectors.Inject(e.token)?(e.next(),e.parseFeatureInjectExpression()):Fe.Selectors.Line(e.token)?(e.next(),e.astProvider.featureLineExpression({start:new gn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new gn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope})):Fe.Selectors.File(e.token)?(e.next(),e.astProvider.featureFileExpression({filename:e.filename,start:new gn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new gn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope})):super.parseAtom()}parseStatement(){let e=this,n=e.backpatches.peek();if(e.isType(gn.TokenType.Keyword))switch(e.token.value){case ls.GreybelKeyword.Include:case ls.GreybelKeyword.IncludeWithComment:{e.next();let i=e.parseFeatureIncludeStatement();e.addItemToLines(i),n.body.push(i);return}case ls.GreybelKeyword.Import:case ls.GreybelKeyword.ImportWithComment:{e.next();let i=e.parseFeatureImportStatement();e.addItemToLines(i),n.body.push(i);return}case ls.GreybelKeyword.Envar:{e.next();let i=e.parseFeatureEnvarExpression();e.addItemToLines(i),n.body.push(i);return}case ls.GreybelKeyword.Inject:{e.next();let i=e.parseFeatureInjectExpression();e.addItemToLines(i),n.body.push(i);return}case ls.GreybelKeyword.Debugger:{e.next();let i=e.astProvider.featureDebuggerExpression({start:new gn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new gn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope});e.addItemToLines(i),n.body.push(i);return}default:break}super.parseStatement()}parseChunk(){let e=this;e.next();let n=e.token,r=e.astProvider.chunkAdvanced({start:n.start,end:null,range:[n.range[0],null]}),i=new gn.PendingChunk(r);for(e.backpatches.setDefault(i),e.pushScope(r);!Fe.Selectors.EndOfFile(e.token)&&(e.skipNewlines(),!Fe.Selectors.EndOfFile(e.token));)e.lexer.recordSnapshot(),e.statementErrors=[],e.parseStatement(),e.statementErrors.length>0&&e.tryToRecover();let s=e.backpatches.pop();for(;!(0,gn.isPendingChunk)(s);){let o=e.raise(`found open block ${s.block.type}`,new oE.Range(s.block.start,s.block.start));if(s.complete(e.previousToken),e.errors.push(o),!e.unsafe)throw o;s=e.backpatches.pop()}return e.finishRemaingScopes(),e.popScope(),i.complete(e.token),r.literals=e.literals,r.scopes=e.scopes,r.lines=e.lines,r.imports=e.imports,r.includes=e.includes,r.injects=e.injects,r}};Xa.default=Fy});var Or=g(Pt=>{"use strict";var rL=Pt&&Pt.__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]}),Ya=Pt&&Pt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&rL(e,t,n)},$y=Pt&&Pt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Pt,"__esModule",{value:!0});Pt.Parser=Pt.LexerValidator=Pt.Lexer=void 0;var iL=Ey();Object.defineProperty(Pt,"Lexer",{enumerable:!0,get:function(){return $y(iL).default}});var sL=ky();Object.defineProperty(Pt,"LexerValidator",{enumerable:!0,get:function(){return $y(sL).default}});var oL=uE();Object.defineProperty(Pt,"Parser",{enumerable:!0,get:function(){return $y(oL).default}});Ya(qy(),Pt);Ya(xy(),Pt);Ya(ho(),Pt);Ya(go(),Pt);Ya(jy(),Pt)});var By=g(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});ad.merge=void 0;function aL(t,e,n=1e4){if(e.length<=n){Array.prototype.push.apply(t,e);return}for(let r=0;r<e.length;r+=n)Array.prototype.push.apply(t,e.slice(r,r+n))}ad.merge=aL});var cE=g(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});ud.mergeUnique=void 0;function uL(t,e,n=1e4){let r=Array.from(new Set([...t,...e]));if(t.length=0,r.length<=n){Array.prototype.push.apply(t,r);return}for(let i=0;i<r.length;i+=n)Array.prototype.push.apply(t,r.slice(i,i+n))}ud.mergeUnique=uL});var lE=g(cd=>{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});cd.parseMapDescription=void 0;var cL=iy();function lL(t){return{path:t.name,type:t.type}}function dL(t){let e=t.tags.find(r=>r.tag==="type");if(!e)return null;let n=t.tags.filter(r=>r.tag==="property");return{type:e.name,properties:n.map(lL)}}function fL(t){let e=(0,cL.parse)(`/**
109
109
  ${t}
110
110
  */`),[n]=e;return n.tags.length>0?dL(n):null}cd.parseMapDescription=fL});var Hy=g(dd=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});dd.Aggregator=void 0;var ld=Or(),Me=Wn(),Oe=qe(),pL=dy(),we=os(),ds=fy(),dE=Bm(),hL=sy(),fE=oy(),pE=Ca(),hE=By(),gL=cE(),mL=lE(),yL=po(),Uy=class{get definitions(){return this._definitions}get parent(){return this._parent}constructor(e){this._root=e.root,this._scope=e.scope,this._document=e.document,this._parent=e.parent??null,this._definitions=new Map,this._lastModifiedProperty=null}factory(e){return new yL.Entity({source:this._document.source,kind:e,container:this._document.container})}createMapDescription(e){let n=this._document.getLastASTItemOfLine(e.start.line-1),r=this._document.findASTItemInLine(e.start.line,Oe.ASTType.Comment);if(n instanceof Oe.ASTComment){let i=new Set,s=[],o=e.start.line-1;for(;o>=0;){let a=this._document.getLastASTItemOfLine(o--);if(!i.has(a))if(a instanceof Oe.ASTComment)i.add(a),s.unshift(a.value);else break}return s.join(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "miniscript-languageserver",
3
- "version": "1.5.4",
3
+ "version": "1.5.5",
4
4
  "description": "Language server for MiniScript",
5
5
  "main": "./index.js",
6
6
  "scripts": {
@@ -70,7 +70,7 @@
70
70
  "greybel-core": "~2.1.1",
71
71
  "miniscript-meta": "~1.2.3",
72
72
  "greybel-transpiler": "~3.2.4",
73
- "miniscript-type-analyzer": "~0.13.3",
73
+ "miniscript-type-analyzer": "~0.13.4",
74
74
  "miniscript-languageserver-core": "^1.4.3"
75
75
  }
76
76
  }