greybel-languageserver-browser 1.4.4 → 1.4.5
Sign up to get free protection for your applications and to get access to all the features.
- package/index.js +1 -1
- package/package.json +2 -2
package/index.js
CHANGED
@@ -100,7 +100,7 @@ ${e}
|
|
100
100
|
|
101
101
|
`),r=n.tags.filter(l=>l.tag===No.Param).map(l=>({label:l.name,types:l.type.split("|"),opt:l.optional})),t=(o=n.tags.find(l=>l.tag===No.Return))!=null?o:{type:"any"},i=n.tags.filter(l=>l.tag===No.Example).map(XT);return{descriptions:e,args:r,returns:t,examples:i}}function _A(n){let e=(0,bA.parse)(`/**
|
102
102
|
${n.getDescription()}
|
103
|
-
*/`),[r]=e;if(r.tags.length>0){let{descriptions:t,args:i,returns:s,examples:o}=vA(r);return ZT.SignatureDefinitionFunction.parse({type:ZT.SignatureDefinitionBaseType.Function,arguments:n.getArguments().map((l,u)=>{let a=l.getLabel(),c=l.getTypes().map(d=>d.toString()),p=l.isOptional();return sn(tt({types:c,opt:p},i[u]),{label:a})}),returns:s.type.split("|"),description:t,example:o})}return n}ri.enrichWithMetaInformation=_A});var Rg=S(Au=>{"use strict";Object.defineProperty(Au,"__esModule",{value:!0});Au.createResolveChain=void 0;var Mt=ge();function jr(n,e,r=null,t=!1){switch(n.type){case Mt.ASTType.ParenthesisExpression:{jr(n.expression,e,r);return}case Mt.ASTType.MemberExpression:{let i=n;jr(i.base,e),e.push({ref:n,getter:i.identifier,unary:r,isInCallExpression:t});return}case Mt.ASTType.IndexExpression:{let i=n;jr(i.base,e),e.push({ref:n,getter:i.index,unary:r,isInCallExpression:t});return}case Mt.ASTType.CallStatement:{jr(n.expression,e,r,!0);return}case Mt.ASTType.CallExpression:{jr(n.base,e,r,!0);return}case Mt.ASTType.NegationExpression:case Mt.ASTType.BinaryNegatedExpression:case Mt.ASTType.UnaryExpression:{let i=n;jr(i.argument,e,i);return}case Mt.ASTType.Identifier:{e.push({ref:n,getter:n,unary:r,isInCallExpression:t});return}case Mt.ASTType.NumericLiteral:case Mt.ASTType.StringLiteral:case Mt.ASTType.NilLiteral:case Mt.ASTType.MapConstructorExpression:case Mt.ASTType.ListConstructorExpression:{e.push({ref:n,value:n,unary:r,isInCallExpression:t});return}case Mt.ASTType.SliceExpression:jr(n.base,e),e.push({ref:n,unary:r,isInCallExpression:t})}}function wA(n){let e=[];return jr(n,e),e}Au.createResolveChain=wA});var tS=S(Pg=>{function eS(n,e){return n>e?1:-1}Pg.hash=function n(e,r){var t=5381;if(typeof e=="object"&&e!==null&&(e.toString===Object.prototype.toString||e.toString===Array.prototype.toString)){r||(r=new WeakSet);for(var i=Object.keys(e).sort(eS),s=0;s<i.length;s++){var o=i[s],l=e[o];if(t=33*t^n(o,r),typeof l=="object"&&l!==null&&(e.toString===Object.prototype.toString||e.toString===Array.prototype.toString)){if(r.has(l))continue;r.add(l)}t=33*t^n(l,r)}return 33*t^n(e.constructor,r)}var u=typeof e;try{e instanceof Date?u+=e.getTime():u+=String(e)}catch(c){u+=String(Object.assign({},e))}for(var a=0;a<u.length;a++)t=33*t^u.charCodeAt(a);return t},Pg.sortNumbers=eS});var Ag=S(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.ObjectSet=hs.ObjectSetIterator=void 0;var Cg=tS(),Du=class{constructor(e){let r=this;r.value=e,r.index=0}next(){let e=this;return e.index>=e.value.length?{value:null,done:!0}:{value:e.value[e.index++],done:!1}}};hs.ObjectSetIterator=Du;var Og=class{constructor(e){let t=(e?Array.from(e):[]).map(i=>[(0,Cg.hash)(i),i]);this._map=new Map(t),this._first=null,this._last=null,t.length>0&&(this._first=t[0][0],this._last=t[t.length-1][0])}[Symbol.iterator](){return new Du(Array.from(this._map.values()))}first(){var e;return this._first!=null&&(e=this._map.get(this._first))!=null?e:null}last(){var e;return this._last!=null&&(e=this._map.get(this._last))!=null?e:null}toArray(){return Array.from(this._map.values())}add(e){var t;let r=(0,Cg.hash)(e);return this._map.set(r,e),(t=this._first)!=null||(this._first=r),this._last=r,this}delete(e){let r=(0,Cg.hash)(e);return this._map.delete(r)}extend(e){var r;for(let[t,i]of e._map)this._map.set(t,i),(r=this._first)!=null||(this._first=t),this._last=t;return this}toJSON(){return Array.from(this._map.values())}clear(){this._map.clear()}};hs.ObjectSet=Og});var Dg=S(ju=>{"use strict";Object.defineProperty(ju,"__esModule",{value:!0});ju.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=void 0;ju.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 ii=S($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.CompletionItemKind=void 0;var xA;(function(n){n.Variable="var",n.Property="var",n.Function="function",n.Literal="literal",n.Constant="constant",n.ListConstructor="list",n.MapConstructor="map",n.Expression="expr",n.Unknown="unknown"})(xA=$o.CompletionItemKind||($o.CompletionItemKind={}))});var jg=S(Bn=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:!0});Bn.isResolveChainItemWithValue=Bn.isResolveChainItemWithIdentifier=Bn.isResolveChainItemWithMember=Bn.isResolveChainItemWithIndex=void 0;var Lr=ge(),kA=n=>n!=null&&n.ref.type===Lr.ASTType.IndexExpression;Bn.isResolveChainItemWithIndex=kA;var TA=n=>n!=null&&n.ref.type===Lr.ASTType.MemberExpression;Bn.isResolveChainItemWithMember=TA;var SA=n=>n!=null&&n.ref.type===Lr.ASTType.Identifier;Bn.isResolveChainItemWithIdentifier=SA;var IA=n=>n!=null&&(n.ref.type===Lr.ASTType.NumericLiteral||n.ref.type===Lr.ASTType.StringLiteral||n.ref.type===Lr.ASTType.NilLiteral||n.ref.type===Lr.ASTType.MapConstructorExpression||n.ref.type===Lr.ASTType.ListConstructorExpression);Bn.isResolveChainItemWithValue=IA});var Lg=S(Lu=>{"use strict";Object.defineProperty(Lu,"__esModule",{value:!0});Lu.isSignatureDefinitionFunction=void 0;var EA=Xt(),RA=n=>n.getType().type===EA.SignatureDefinitionBaseType.Function;Lu.isSignatureDefinitionFunction=RA});var Mg=S(Mu=>{"use strict";Object.defineProperty(Mu,"__esModule",{value:!0});Mu.aggregateEntity=void 0;var PA=n=>{let e=[],r=n;for(;r!=null;)e.push(r),r=r.getIsa();return e};Mu.aggregateEntity=PA});var Uo=S(qu=>{"use strict";Object.defineProperty(qu,"__esModule",{value:!0});qu.injectIdentifers=void 0;var CA=Mg(),OA=(n,e)=>{let r=(0,CA.aggregateEntity)(e);for(let t=0;t<r.length;t++){let i=r[t];for(let[s,o]of i.values)if(s.startsWith("i:")){let l=s.slice(2);if(n.has(l))continue;n.set(l,{kind:o.kind,line:o.source===e.source?o.line:-1})}}};qu.injectIdentifers=OA});var Nu=S(Fu=>{"use strict";Object.defineProperty(Fu,"__esModule",{value:!0});Fu.isEligibleForProperties=void 0;var qg=Xt(),AA=n=>n.types.has(qg.SignatureDefinitionBaseType.Map)||n.types.has(qg.SignatureDefinitionBaseType.List)||n.types.has(qg.SignatureDefinitionBaseType.Any);Fu.isEligibleForProperties=AA});var Uu=S($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});$u.lookupProperty=void 0;var DA=Nu(),jA=(n,e)=>{let r=n;for(;(0,DA.isEligibleForProperties)(r);){let t=r.values.get(`i:${e}`);if(t!=null)return t;let i=r.getIsa();if(i==null)break;r=i}return null};$u.lookupProperty=jA});var gs=S(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.Entity=Mr.resolveEntity=void 0;var fs=Xt(),ms=ii(),LA=Lg(),MA=Uo(),Bu=Nu(),nS=Uu(),rS=Ag(),qA=(n,e,r=!1)=>{if(e.isCallable()&&!r){let t=e.getReturnEntity();if(t!==null)return t;let i=e.getCallableReturnTypes();return i?new si({source:e.source,kind:ms.CompletionItemKind.Variable,container:n,label:e.label,context:e.context}).addTypes(i):new si({source:e.source,kind:ms.CompletionItemKind.Variable,container:n,label:e.label,context:e.context}).addType(fs.SignatureDefinitionBaseType.Any)}return e};Mr.resolveEntity=qA;var Fg={hasProperty(n,e,r){return!!(0,nS.lookupProperty)(n,r)||!n.isAPI()&&!!e.getDefinition(Array.from(n.types),r,!0)},resolveProperty(n,e,r,t=!1){var s;let i=(s=(0,nS.lookupProperty)(n,r))!=null?s:null;return i==null?n.isAPI()?null:e.getDefinition(Array.from(n.types),r,t):(0,Mr.resolveEntity)(e,i,t)},setProperty(n,e,r,t){if(!(0,Bu.isEligibleForProperties)(n))return!1;let i=`i:${r}`,s=n.values.get(i);return s?s.extend(t):n.values.set(i,t.copy({container:e,label:r,context:n,definitions:[]})),!0}},Ng={hasProperty(n,e,r){if(!(0,Bu.isEligibleForProperties)(n))return!1;for(let t of r.types)if(n.values.has(`t:${t}`))return!0;return!1},resolveProperty(n,e,r,t=!1){if(!(0,Bu.isEligibleForProperties)(n))return new si({source:n.source,kind:ms.CompletionItemKind.Variable,container:e,label:r.label,context:n}).addType(fs.SignatureDefinitionBaseType.Any);let i=new si({source:r.source,kind:ms.CompletionItemKind.Variable,container:e,label:r.label,context:n});for(let s of r.types){let o=n.values.get(`t:${s}`);o&&i.extend(o)}return i.types.size===0&&i.addType(fs.SignatureDefinitionBaseType.Any),(0,Mr.resolveEntity)(e,i,t)},setProperty(n,e,r,t){if(!(0,Bu.isEligibleForProperties)(n))return!1;for(let i of r.types){let s=`t:${i}`,o=n.values.get(s);o?o.extend(t):n.values.set(s,t.copy({container:e,label:i,context:n,definitions:[]}))}return!0}},si=class n{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){var r,t,i,s,o,l,u,a,c,p;this._source=e.source,this._isAPI=(r=e.isAPI)!=null?r:!1,this._isFromSignature=(t=e.isFromSignature)!=null?t:!1,this._kind=e.kind,this._line=(i=e.line)!=null?i:-1,this._label=(s=e.label)!=null?s:"anonymous",this._signatureDefinitions=(o=e.signatureDefinitions)!=null?o:new rS.ObjectSet,this._types=(l=e.types)!=null?l:new Set,this._values=(u=e.values)!=null?u:new Map,this._context=(a=e.context)!=null?a:null,this._container=e.container,this._definitions=(c=e.definitions)!=null?c:[],this._returnEntity=(p=e.returnEntity)!=null?p:null}isFromSignature(){return this._isFromSignature}hasContext(){return this._context!=null&&!this._context.isAPI}getIsa(){var e;return(e=this._values.get("i:__isa"))!=null?e:null}hasIsa(){return this._values.has("i:__isa")}isAPI(){return this._isAPI}isCallable(){return this._types.has(fs.SignatureDefinitionBaseType.Function)}getCallableReturnTypes(){if(!this.isCallable())return null;let e=Array.from(this._signatureDefinitions).filter(r=>(0,LA.isSignatureDefinitionFunction)(r));return e.length===0?null:e.flatMap(r=>r.getReturns()).map(r=>r.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 r=0;r<e.length;r++)this._types.add(e[r]);return this}hasProperty(e){switch(typeof e){case"object":return Ng.hasProperty(this,this._container,e);default:return Fg.hasProperty(this,this._container,e)}}resolveProperty(e,r=!1){switch(typeof e){case"object":return Ng.resolveProperty(this,this._container,e,r);default:return Fg.resolveProperty(this,this._container,e,r)}}setProperty(e,r){switch(typeof e){case"object":return Ng.setProperty(this,this._container,e,r);default:return Fg.setProperty(this,this._container,e,r)}}extend(e){if(e===this)return this;this._isFromSignature=!1,this._signatureDefinitions.extend(e.signatureDefinitions),this.addTypes(Array.from(e.types));for(let[r,t]of e.values){let i=this.values.get(r);i==null?this.values.set(r,t.copy({container:this._container,context:this})):i.extend(t)}return this}insertSignature(e){let r=Object.keys(e.getDefinitions());this.addType(fs.SignatureDefinitionBaseType.Map);for(let t=0;t<r.length;t++){let i=r[t],s=e.getDefinition(i),o=new n({source:this._source,label:i,kind:s.getType().type===fs.SignatureDefinitionBaseType.Function?ms.CompletionItemKind.Function:ms.CompletionItemKind.Property,container:this._container,isFromSignature:!0});o.addSignatureType(s),this.setProperty(i,o)}return this}getAllIdentifier(){let e=new Map;for(let r of this._types){let t=this._container.getAllIdentifier(r);for(let i of t)e.set(...i)}return(0,MA.injectIdentifers)(e,this),e}toJSONInternal(e=new WeakMap){if(e.has(this))return e.get(this);let r={};return e.set(this,r),r.kind=this.kind,r.signatureDefinitions=this._signatureDefinitions.toJSON(),r.types=Array.from(this._types),r.values=Array.from(this._values).reduce((t,[i,s])=>(t[i]=s==null?void 0:s.toJSONInternal(e),t),{}),r}toJSON(){return this.toJSONInternal()}copy(e={}){var t,i,s,o,l,u,a,c,p,d;let r=new n({source:(t=e.source)!=null?t:this._source,kind:(i=e.kind)!=null?i:this._kind,line:(s=e.line)!=null?s:this._line,isFromSignature:(o=e.isFromSignature)!=null?o:this._isFromSignature,isAPI:(l=e.isAPI)!=null?l:this._isAPI,container:(u=e.container)!=null?u:this._container,label:(a=e.label)!=null?a:this._label,context:(c=e.context)!=null?c:this._context,signatureDefinitions:new rS.ObjectSet(Array.from(this._signatureDefinitions,h=>h.copy())),types:new Set(this._types),returnEntity:this._returnEntity,values:(p=e.values)!=null?p:this.values,definitions:(d=e.definitions)!=null?d:this._definitions});return e.deepCopy&&(r._values=new Map(Array.from(this._values,([h,g])=>[h,g.copy({deepCopy:e.deepCopy,container:e.container,line:e.line,context:r,values:g.values})])),r._definitions=[...this._definitions]),r}};Mr.Entity=si});var Bg=S(Hu=>{"use strict";Object.defineProperty(Hu,"__esModule",{value:!0});Hu.Scope=void 0;var Wu=Xt(),oi=ii(),$g=Uo(),Vu=gs(),Ug=class n{get source(){return this._source}get definitions(){return[]}get signatureDefinitions(){return null}get kind(){return oi.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(Wu.SignatureDefinitionBaseType.Map)}get values(){return this._locals.values}get globals(){return this._globals}get outer(){var e,r;return(r=(e=this._parent)==null?void 0:e.locals)!=null?r:null}get locals(){return this._locals}constructor(e){var r,t;this._source=e.source,this._container=e.container,this._parent=(r=e.parent)!=null?r:null,this._globals=e.globals,this._locals=(t=e.locals)!=null?t:new Vu.Entity({source:this._source,kind:oi.CompletionItemKind.Constant,container:this._container,label:"locals"}).addType(Wu.SignatureDefinitionBaseType.Map)}getIsa(){return null}hasIsa(){return!1}setCustomType(e,r){this._container.setCustomType(e,r)}addSignatureType(){throw new Error("Cannot add signature type to scope!")}hasProperty(e){return this._locals.hasProperty(e)}resolveProperty(e,r){return this._locals.resolveProperty(e,r)}resolveNamespace(e,r=!1){var t,i,s;if(typeof e!="string")throw new Error("Invalid property type for scope!");if(e==="locals")return this._locals;if(e==="outer")return(i=(t=this._parent)==null?void 0:t.locals)!=null?i:this._globals;if(e==="globals")return this._globals;if(this._locals.values.has(`i:${e}`)){let o=this._locals.values.get(`i:${e}`);return(0,Vu.resolveEntity)(this._container,o,r)}else if((s=this._parent)!=null&&s.locals.values.has(`i:${e}`)){let o=this._parent.locals.values.get(`i:${e}`);return(0,Vu.resolveEntity)(this._container,o,r)}else if(this._globals.values.has(`i:${e}`)){let o=this._globals.values.get(`i:${e}`);return(0,Vu.resolveEntity)(this._container,o,r)}return this._container.getGeneralDefinition(e,r)}setProperty(e,r){return this._locals.setProperty(e,r)}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:oi.CompletionItemKind.Constant,line:-1}],["locals",{kind:oi.CompletionItemKind.Constant,line:-1}],["outer",{kind:oi.CompletionItemKind.Constant,line:-1}],...this._container.getAllIdentifier(Wu.SignatureDefinitionBaseType.General)]);return this._locals!==this._globals&&(0,$g.injectIdentifers)(e,this._globals),this._parent&&(0,$g.injectIdentifers)(e,this._parent.locals),(0,$g.injectIdentifers)(e,this._locals),this.isSelfAvailable()&&e.set("self",{kind:oi.CompletionItemKind.Constant,line:-1}),this.isSuperAvailable()&&e.set("super",{kind:oi.CompletionItemKind.Constant,line:-1}),e}isSelfAvailable(){return this._locals.context!=null&&this._locals.context.types.has(Wu.SignatureDefinitionBaseType.Map)}isSuperAvailable(){return this.isSelfAvailable()&&this._locals.context.hasProperty("__isa")}toJSON(){return this._locals.toJSON()}copy(e={}){var r;return new n({source:this._source,container:(r=e.container)!=null?r:this._container,parent:this._parent.copy({container:e.container,deepCopy:!0}),globals:this._globals.copy({container:e.container,deepCopy:!0}),locals:this._locals.copy(sn(tt({},e),{deepCopy:!0}))})}};Hu.Scope=Ug});var ys=S(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.GreybelKeyword=void 0;var FA;(function(n){n.Envar="#envar",n.Import="#import",n.Include="#include",n.ImportWithComment="//import",n.IncludeWithComment="//include",n.Debugger="debugger",n.Line="#line",n.File="#filename",n.Inject="#inject"})(FA=Bo.GreybelKeyword||(Bo.GreybelKeyword={}))});var Hg=S(Vg=>{"use strict";Object.defineProperty(Vg,"__esModule",{value:!0});var ai=ge(),NA=ys(),Wg=class extends ai.LexerValidator{constructor(){super(...arguments),this.isKeyword=Set.prototype.has.bind(new Set([...Object.values(ai.Keyword),...Object.values(NA.GreybelKeyword)]))}isIdentifierStart(e){return super.isIdentifierStart(e)||e===ai.CharacterCode.HASH}isMultilineComment(e,r){return ai.CharacterCode.SLASH===e&&ai.CharacterCode.ASTERISK===r}isMultilineCommentEnd(e,r){return ai.CharacterCode.ASTERISK===e&&ai.CharacterCode.SLASH===r}isComment(e,r){return super.isComment(e,r)||this.isMultilineComment(e,r)}};Vg.default=Wg});var zg=S(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.CharacterCode=void 0;var $A;(function(n){n[n.VERTICAL_LINE=124]="VERTICAL_LINE",n[n.AMPERSAND=38]="AMPERSAND"})($A=Wo.CharacterCode||(Wo.CharacterCode={}))});var bs=S(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.Operator=void 0;var UA;(function(n){n.BitwiseAnd="&",n.BitwiseOr="|",n.LeftShift="<<",n.RightShift=">>",n.UnsignedRightShift=">>>"})(UA=Vo.Operator||(Vo.Operator={}))});var Kg=S(Ho=>{"use strict";var BA=Ho&&Ho.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Ho,"__esModule",{value:!0});var kn=ge(),WA=BA(Hg()),iS=zg(),sS=ys(),Gg=bs();function oS(n){let e=this.content[this.index];return this.index+=e.length,this.createPunctuator(e,n)}var zu=class n extends kn.Lexer{constructor(e,r={}){r.validator=r.validator||new WA.default,super(e,r)}scan(e,r){let t=n.greybelScanHandlers[e];return t?t.call(this,r)||super.scan(e,r):super.scan(e,r)}scanMultilineComment(e){let r=this,t=r.line,i=r.lineStart,s=r.index,o=r.offset,l=r.offset,u=!1;for(;r.index<r.length;){let p=r.codeAt();if(r.validator.isEndOfLine(p))r.validator.isWinNewline(p,r.codeAt(1))&&r.index++,r.line++,l=r.index+1;else if(r.validator.isMultilineCommentEnd(r.codeAt(),r.codeAt(1))){u=!0;break}r.index++}if(!u)return r.raise("Unexpected end of file in multiline comment.",new kn.ASTRange(new kn.ASTPosition(t,s-o+1),new kn.ASTPosition(r.line,r.index-l+3)));let a=r.content.slice(s+2,r.index);r.index+=2;let c=new kn.Token({type:kn.TokenType.Comment,value:a,line:t,lineStart:i,range:[r.tokenStart,r.index],offsetRange:[o,l],afterSpace:e,lastLine:r.line,lastLineStart:r.lineStart});return r.offset=l,r.snapshot.enqueue(c),c}scanComment(e){let r=this,t=r.validator;return r.content.startsWith(sS.GreybelKeyword.ImportWithComment,r.index)||r.content.startsWith(sS.GreybelKeyword.IncludeWithComment,r.index)?(r.index++,r.scanIdentifierOrKeyword(e)):t.isMultilineComment(r.codeAt(),r.codeAt(1))?r.scanMultilineComment(e):super.scanComment(e)}};Ho.default=zu;zu.greybelScanHandlers={[kn.CharacterCode.ARROW_LEFT]:function(e){if(kn.CharacterCode.ARROW_LEFT===this.codeAt(1))return this.scanPunctuator(Gg.Operator.LeftShift,e)},[kn.CharacterCode.ARROW_RIGHT]:function(e){if(kn.CharacterCode.ARROW_RIGHT===this.codeAt(1))return kn.CharacterCode.ARROW_RIGHT===this.codeAt(2)?this.scanPunctuator(Gg.Operator.UnsignedRightShift,e):this.scanPunctuator(Gg.Operator.RightShift,e)},[iS.CharacterCode.AMPERSAND]:oS,[iS.CharacterCode.VERTICAL_LINE]:oS}});var Gu=S(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.ASTType=void 0;var VA;(function(n){n.FeatureImportExpression="FeatureImportExpression",n.FeatureIncludeExpression="FeatureIncludeExpression",n.FeatureEnvarExpression="FeatureEnvarExpression",n.FeatureInjectExpression="FeatureInjectExpression",n.FeatureDebuggerExpression="FeatureDebuggerExpression",n.FeatureLineExpression="FeatureLineExpression",n.FeatureFileExpression="FeatureFileExpression"})(VA=zo.ASTType||(zo.ASTType={}))});var Qg=S(Ku=>{"use strict";Object.defineProperty(Ku,"__esModule",{value:!0});Ku.ASTChunkAdvanced=void 0;var HA=ge(),Yg=class n extends HA.ASTChunk{constructor(e){super(e),this.imports=e.imports||[],this.includes=e.includes||[],this.injects=e.injects||[]}clone(){return new n({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})}};Ku.ASTChunkAdvanced=Yg});var ny=S(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.ASTFeatureFileExpression=mn.ASTFeatureInjectExpression=mn.ASTFeatureEnvarExpression=mn.ASTFeatureIncludeExpression=mn.ASTFeatureImportExpression=void 0;var Go=ge(),Ko=Gu(),Jg=class n extends Go.ASTBase{constructor(e){super(Ko.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 n({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})}};mn.ASTFeatureImportExpression=Jg;var Zg=class n extends Go.ASTBase{constructor(e){super(Ko.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 n({path:this.path,chunk:this.chunk.clone(),namespace:this.namespace,start:this.start,end:this.end,range:this.range,scope:this.scope})}};mn.ASTFeatureIncludeExpression=Zg;var Xg=class n extends Go.ASTBase{constructor(e){super(Ko.ASTType.FeatureEnvarExpression,e),this.name=e.name}toString(){return`FeatureEnvarExpression[${this.start}-${this.end}][name = ${this.name}]`}clone(){return new n({name:this.name,start:this.start,end:this.end,range:this.range,scope:this.scope})}};mn.ASTFeatureEnvarExpression=Xg;var ey=class n extends Go.ASTBase{constructor(e){super(Ko.ASTType.FeatureInjectExpression,e),this.path=e.path}toString(){return`FeatureInjectExpression[${this.start}-${this.end}][path = ${this.path}]`}clone(){return new n({path:this.path,start:this.start,end:this.end,range:this.range,scope:this.scope})}};mn.ASTFeatureInjectExpression=ey;var ty=class n extends Go.ASTBase{constructor(e){super(Ko.ASTType.FeatureFileExpression,e),this.filename=e.filename}toString(){return`FeatureFileExpression[${this.start}-${this.end}][path = ${this.filename}]`}clone(){return new n({filename:this.filename,start:this.start,end:this.end,range:this.range,scope:this.scope})}};mn.ASTFeatureFileExpression=ty});var sy=S(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.ASTFeatureInjectExpression=yt.ASTFeatureIncludeExpression=yt.ASTFeatureImportExpression=yt.ASTFeatureFileExpression=yt.ASTFeatureEnvarExpression=yt.ASTChunkAdvanced=yt.ASTType=yt.ASTProvider=void 0;var ry=ge(),aS=Gu(),zA=Qg(),Yo=ny(),iy=class extends ry.ASTProvider{featureImportExpression(e){return new Yo.ASTFeatureImportExpression(e)}featureIncludeExpression(e){return new Yo.ASTFeatureIncludeExpression(e)}featureEnvarExpression(e){return new Yo.ASTFeatureEnvarExpression(e)}featureInjectExpression(e){return new Yo.ASTFeatureInjectExpression(e)}featureDebuggerExpression(e){return new ry.ASTBase(aS.ASTType.FeatureDebuggerExpression,e)}featureLineExpression(e){return new ry.ASTBase(aS.ASTType.FeatureLineExpression,e)}featureFileExpression(e){return new Yo.ASTFeatureFileExpression(e)}chunkAdvanced(e){return new zA.ASTChunkAdvanced(e)}};yt.ASTProvider=iy;var GA=Gu();Object.defineProperty(yt,"ASTType",{enumerable:!0,get:function(){return GA.ASTType}});var KA=Qg();Object.defineProperty(yt,"ASTChunkAdvanced",{enumerable:!0,get:function(){return KA.ASTChunkAdvanced}});var Qo=ny();Object.defineProperty(yt,"ASTFeatureEnvarExpression",{enumerable:!0,get:function(){return Qo.ASTFeatureEnvarExpression}});Object.defineProperty(yt,"ASTFeatureFileExpression",{enumerable:!0,get:function(){return Qo.ASTFeatureFileExpression}});Object.defineProperty(yt,"ASTFeatureImportExpression",{enumerable:!0,get:function(){return Qo.ASTFeatureImportExpression}});Object.defineProperty(yt,"ASTFeatureIncludeExpression",{enumerable:!0,get:function(){return Qo.ASTFeatureIncludeExpression}});Object.defineProperty(yt,"ASTFeatureInjectExpression",{enumerable:!0,get:function(){return Qo.ASTFeatureInjectExpression}})});var oy=S(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.SelectorGroups=Je.SelectorGroupType=Je.Selectors=Je.SelectorTypes=void 0;var Ie=ge(),Yu=ys(),Jo=bs(),YA;(function(n){n.From="From",n.Envar="Envar",n.Inject="Inject",n.Line="Line",n.File="File",n.LeftShift="LeftShift",n.RightShift="RightShift",n.UnsignedRightShift="UnsignedRightShift",n.BitwiseOr="BitwiseOr",n.BitwiseAnd="BitwiseAnd",n.Escape="Escape"})(YA=Je.SelectorTypes||(Je.SelectorTypes={}));Je.Selectors=Object.assign(Object.assign({},Ie.Selectors),{From:(0,Ie.createSelector)({type:Ie.TokenType.Identifier,value:"from"}),Envar:(0,Ie.createSelector)({type:Ie.TokenType.Keyword,value:Yu.GreybelKeyword.Envar}),Inject:(0,Ie.createSelector)({type:Ie.TokenType.Keyword,value:Yu.GreybelKeyword.Inject}),Line:(0,Ie.createSelector)({type:Ie.TokenType.Keyword,value:Yu.GreybelKeyword.Line}),File:(0,Ie.createSelector)({type:Ie.TokenType.Keyword,value:Yu.GreybelKeyword.File}),LeftShift:(0,Ie.createSelector)({type:Ie.TokenType.Punctuator,value:Jo.Operator.LeftShift}),RightShift:(0,Ie.createSelector)({type:Ie.TokenType.Punctuator,value:Jo.Operator.RightShift}),UnsignedRightShift:(0,Ie.createSelector)({type:Ie.TokenType.Punctuator,value:Jo.Operator.UnsignedRightShift}),BitwiseOr:(0,Ie.createSelector)({type:Ie.TokenType.Punctuator,value:Jo.Operator.BitwiseOr}),BitwiseAnd:(0,Ie.createSelector)({type:Ie.TokenType.Punctuator,value:Jo.Operator.BitwiseAnd}),Escape:(0,Ie.createSelector)({type:Ie.TokenType.Punctuator,value:Ie.Operator.Escape})});var tr;(function(n){n.MapSeparator="MapSeparator",n.ListSeparator="ListSeparator",n.PathSegmentEnd="PathSegmentEnd",n.BitwiseOperators="BitwiseOperators"})(tr=Je.SelectorGroupType||(Je.SelectorGroupType={}));Je.SelectorGroups=Object.assign(Object.assign({},Ie.SelectorGroups),{[tr.MapSeparator]:(0,Ie.createSelectorGroup)(tr.MapSeparator,[Je.Selectors.MapSeperator,Je.Selectors.CRBracket]),[tr.ListSeparator]:(0,Ie.createSelectorGroup)(tr.ListSeparator,[Je.Selectors.MapSeperator,Je.Selectors.SRBracket]),[tr.PathSegmentEnd]:(0,Ie.createSelectorGroup)(tr.PathSegmentEnd,[Je.Selectors.EndOfLine,Je.Selectors.Comment,Je.Selectors.EndOfFile]),[tr.BitwiseOperators]:(0,Ie.createSelectorGroup)(tr.BitwiseOperators,[Je.Selectors.LeftShift,Je.Selectors.RightShift,Je.Selectors.UnsignedRightShift])})});var cS=S(Zo=>{"use strict";var QA=Zo&&Zo.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Zo,"__esModule",{value:!0});var Ht=ge(),JA=Xi(),lS=rs(),ZA=QA(Kg()),XA=sy(),li=ys(),uS=bs(),ke=oy(),ay=class extends Ht.Parser{constructor(e,r={}){var t;r.lexer=r.lexer||new ZA.default(e,{unsafe:r.unsafe,tabWidth:r.tabWidth}),r.astProvider=r.astProvider||new XA.ASTProvider,super(e,r);let i=this;i.filename=(t=r.filename)!==null&&t!==void 0?t:"unknown",i.imports=[],i.includes=[],i.injects=[]}skipNewlines(){let e=this,r=0;for(;;){if(ke.Selectors.Comment(e.token)){let t=e.astProvider.comment({value:e.token.value,isMultiline:e.token.value.indexOf(`
|
103
|
+
*/`),[r]=e;if(r.tags.length>0){let{descriptions:t,args:i,returns:s,examples:o}=vA(r);return ZT.SignatureDefinitionFunction.parse({type:ZT.SignatureDefinitionBaseType.Function,arguments:n.getArguments().map((l,u)=>{let a=l.getLabel(),c=l.getTypes().map(d=>d.toString()),p=l.isOptional();return sn(tt({types:c,opt:p},i[u]),{label:a})}),returns:s.type.split("|"),description:t,example:o})}return n}ri.enrichWithMetaInformation=_A});var Rg=S(Au=>{"use strict";Object.defineProperty(Au,"__esModule",{value:!0});Au.createResolveChain=void 0;var Mt=ge();function jr(n,e,r=null,t=!1){switch(n.type){case Mt.ASTType.ParenthesisExpression:{jr(n.expression,e,r);return}case Mt.ASTType.MemberExpression:{let i=n;jr(i.base,e),e.push({ref:n,getter:i.identifier,unary:r,isInCallExpression:t});return}case Mt.ASTType.IndexExpression:{let i=n;jr(i.base,e),e.push({ref:n,getter:i.index,unary:r,isInCallExpression:t});return}case Mt.ASTType.CallStatement:{jr(n.expression,e,r,!0);return}case Mt.ASTType.CallExpression:{jr(n.base,e,r,!0);return}case Mt.ASTType.NegationExpression:case Mt.ASTType.BinaryNegatedExpression:case Mt.ASTType.UnaryExpression:{let i=n;jr(i.argument,e,i);return}case Mt.ASTType.Identifier:{e.push({ref:n,getter:n,unary:r,isInCallExpression:t});return}case Mt.ASTType.NumericLiteral:case Mt.ASTType.StringLiteral:case Mt.ASTType.NilLiteral:case Mt.ASTType.MapConstructorExpression:case Mt.ASTType.ListConstructorExpression:{e.push({ref:n,value:n,unary:r,isInCallExpression:t});return}case Mt.ASTType.SliceExpression:jr(n.base,e),e.push({ref:n,unary:r,isInCallExpression:t})}}function wA(n){let e=[];return jr(n,e),e}Au.createResolveChain=wA});var tS=S(Pg=>{function eS(n,e){return n>e?1:-1}Pg.hash=function n(e,r){var t=5381;if(typeof e=="object"&&e!==null&&(e.toString===Object.prototype.toString||e.toString===Array.prototype.toString)){r||(r=new WeakSet);for(var i=Object.keys(e).sort(eS),s=0;s<i.length;s++){var o=i[s],l=e[o];if(t=33*t^n(o,r),typeof l=="object"&&l!==null&&(e.toString===Object.prototype.toString||e.toString===Array.prototype.toString)){if(r.has(l))continue;r.add(l)}t=33*t^n(l,r)}return 33*t^n(e.constructor,r)}var u=typeof e;try{e instanceof Date?u+=e.getTime():u+=String(e)}catch(c){u+=String(Object.assign({},e))}for(var a=0;a<u.length;a++)t=33*t^u.charCodeAt(a);return t},Pg.sortNumbers=eS});var Ag=S(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.ObjectSet=hs.ObjectSetIterator=void 0;var Cg=tS(),Du=class{constructor(e){let r=this;r.value=e,r.index=0}next(){let e=this;return e.index>=e.value.length?{value:null,done:!0}:{value:e.value[e.index++],done:!1}}};hs.ObjectSetIterator=Du;var Og=class{constructor(e){let t=(e?Array.from(e):[]).map(i=>[(0,Cg.hash)(i),i]);this._map=new Map(t),this._first=null,this._last=null,t.length>0&&(this._first=t[0][0],this._last=t[t.length-1][0])}[Symbol.iterator](){return new Du(Array.from(this._map.values()))}first(){var e;return this._first!=null&&(e=this._map.get(this._first))!=null?e:null}last(){var e;return this._last!=null&&(e=this._map.get(this._last))!=null?e:null}toArray(){return Array.from(this._map.values())}add(e){var t;let r=(0,Cg.hash)(e);return this._map.set(r,e),(t=this._first)!=null||(this._first=r),this._last=r,this}delete(e){let r=(0,Cg.hash)(e);return this._map.delete(r)}extend(e){var r;for(let[t,i]of e._map)this._map.set(t,i),(r=this._first)!=null||(this._first=t),this._last=t;return this}toJSON(){return Array.from(this._map.values())}clear(){this._map.clear()}};hs.ObjectSet=Og});var Dg=S(ju=>{"use strict";Object.defineProperty(ju,"__esModule",{value:!0});ju.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=void 0;ju.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 ii=S($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.CompletionItemKind=void 0;var xA;(function(n){n.Variable="var",n.Property="var",n.Function="function",n.Literal="literal",n.Constant="constant",n.ListConstructor="list",n.MapConstructor="map",n.Expression="expr",n.Unknown="unknown"})(xA=$o.CompletionItemKind||($o.CompletionItemKind={}))});var jg=S(Bn=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:!0});Bn.isResolveChainItemWithValue=Bn.isResolveChainItemWithIdentifier=Bn.isResolveChainItemWithMember=Bn.isResolveChainItemWithIndex=void 0;var Lr=ge(),kA=n=>n!=null&&n.ref.type===Lr.ASTType.IndexExpression;Bn.isResolveChainItemWithIndex=kA;var TA=n=>n!=null&&n.ref.type===Lr.ASTType.MemberExpression;Bn.isResolveChainItemWithMember=TA;var SA=n=>n!=null&&n.ref.type===Lr.ASTType.Identifier;Bn.isResolveChainItemWithIdentifier=SA;var IA=n=>n!=null&&(n.ref.type===Lr.ASTType.NumericLiteral||n.ref.type===Lr.ASTType.StringLiteral||n.ref.type===Lr.ASTType.NilLiteral||n.ref.type===Lr.ASTType.MapConstructorExpression||n.ref.type===Lr.ASTType.ListConstructorExpression);Bn.isResolveChainItemWithValue=IA});var Lg=S(Lu=>{"use strict";Object.defineProperty(Lu,"__esModule",{value:!0});Lu.isSignatureDefinitionFunction=void 0;var EA=Xt(),RA=n=>n.getType().type===EA.SignatureDefinitionBaseType.Function;Lu.isSignatureDefinitionFunction=RA});var Mg=S(Mu=>{"use strict";Object.defineProperty(Mu,"__esModule",{value:!0});Mu.aggregateEntity=void 0;var PA=n=>{let e=new Set,r=n;for(;r!=null&&!e.has(r);)e.add(r),r=r.getIsa();return Array.from(e)};Mu.aggregateEntity=PA});var Uo=S(qu=>{"use strict";Object.defineProperty(qu,"__esModule",{value:!0});qu.injectIdentifers=void 0;var CA=Mg(),OA=(n,e)=>{let r=(0,CA.aggregateEntity)(e);for(let t=0;t<r.length;t++){let i=r[t];for(let[s,o]of i.values)if(s.startsWith("i:")){let l=s.slice(2);if(n.has(l))continue;n.set(l,{kind:o.kind,line:o.source===e.source?o.line:-1})}}};qu.injectIdentifers=OA});var Nu=S(Fu=>{"use strict";Object.defineProperty(Fu,"__esModule",{value:!0});Fu.isEligibleForProperties=void 0;var qg=Xt(),AA=n=>n.types.has(qg.SignatureDefinitionBaseType.Map)||n.types.has(qg.SignatureDefinitionBaseType.List)||n.types.has(qg.SignatureDefinitionBaseType.Any);Fu.isEligibleForProperties=AA});var Uu=S($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});$u.lookupProperty=void 0;var DA=Nu(),jA=(n,e)=>{let r=n,t=new Set([r]);for(;(0,DA.isEligibleForProperties)(r);){let i=r.values.get(`i:${e}`);if(i!=null)return i;let s=r.getIsa();if(s==null||t.has(s))break;t.add(s),r=s}return null};$u.lookupProperty=jA});var gs=S(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.Entity=Mr.resolveEntity=void 0;var fs=Xt(),ms=ii(),LA=Lg(),MA=Uo(),Bu=Nu(),nS=Uu(),rS=Ag(),qA=(n,e,r=!1)=>{if(e.isCallable()&&!r){let t=e.getReturnEntity();if(t!==null)return t;let i=e.getCallableReturnTypes();return i?new si({source:e.source,kind:ms.CompletionItemKind.Variable,container:n,label:e.label,context:e.context}).addTypes(i):new si({source:e.source,kind:ms.CompletionItemKind.Variable,container:n,label:e.label,context:e.context}).addType(fs.SignatureDefinitionBaseType.Any)}return e};Mr.resolveEntity=qA;var Fg={hasProperty(n,e,r){return!!(0,nS.lookupProperty)(n,r)||!n.isAPI()&&!!e.getDefinition(Array.from(n.types),r,!0)},resolveProperty(n,e,r,t=!1){var s;let i=(s=(0,nS.lookupProperty)(n,r))!=null?s:null;return i==null?n.isAPI()?null:e.getDefinition(Array.from(n.types),r,t):(0,Mr.resolveEntity)(e,i,t)},setProperty(n,e,r,t){if(!(0,Bu.isEligibleForProperties)(n))return!1;let i=`i:${r}`,s=n.values.get(i);return s?s.extend(t):n.values.set(i,t.copy({container:e,label:r,context:n,definitions:[]})),!0}},Ng={hasProperty(n,e,r){if(!(0,Bu.isEligibleForProperties)(n))return!1;for(let t of r.types)if(n.values.has(`t:${t}`))return!0;return!1},resolveProperty(n,e,r,t=!1){if(!(0,Bu.isEligibleForProperties)(n))return new si({source:n.source,kind:ms.CompletionItemKind.Variable,container:e,label:r.label,context:n}).addType(fs.SignatureDefinitionBaseType.Any);let i=new si({source:r.source,kind:ms.CompletionItemKind.Variable,container:e,label:r.label,context:n});for(let s of r.types){let o=n.values.get(`t:${s}`);o&&i.extend(o)}return i.types.size===0&&i.addType(fs.SignatureDefinitionBaseType.Any),(0,Mr.resolveEntity)(e,i,t)},setProperty(n,e,r,t){if(!(0,Bu.isEligibleForProperties)(n))return!1;for(let i of r.types){let s=`t:${i}`,o=n.values.get(s);o?o.extend(t):n.values.set(s,t.copy({container:e,label:i,context:n,definitions:[]}))}return!0}},si=class n{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){var r,t,i,s,o,l,u,a,c,p;this._source=e.source,this._isAPI=(r=e.isAPI)!=null?r:!1,this._isFromSignature=(t=e.isFromSignature)!=null?t:!1,this._kind=e.kind,this._line=(i=e.line)!=null?i:-1,this._label=(s=e.label)!=null?s:"anonymous",this._signatureDefinitions=(o=e.signatureDefinitions)!=null?o:new rS.ObjectSet,this._types=(l=e.types)!=null?l:new Set,this._values=(u=e.values)!=null?u:new Map,this._context=(a=e.context)!=null?a:null,this._container=e.container,this._definitions=(c=e.definitions)!=null?c:[],this._returnEntity=(p=e.returnEntity)!=null?p:null}isFromSignature(){return this._isFromSignature}hasContext(){return this._context!=null&&!this._context.isAPI}getIsa(){var e;return(e=this._values.get("i:__isa"))!=null?e:null}hasIsa(){return this._values.has("i:__isa")}isAPI(){return this._isAPI}isCallable(){return this._types.has(fs.SignatureDefinitionBaseType.Function)}getCallableReturnTypes(){if(!this.isCallable())return null;let e=Array.from(this._signatureDefinitions).filter(r=>(0,LA.isSignatureDefinitionFunction)(r));return e.length===0?null:e.flatMap(r=>r.getReturns()).map(r=>r.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 r=0;r<e.length;r++)this._types.add(e[r]);return this}hasProperty(e){switch(typeof e){case"object":return Ng.hasProperty(this,this._container,e);default:return Fg.hasProperty(this,this._container,e)}}resolveProperty(e,r=!1){switch(typeof e){case"object":return Ng.resolveProperty(this,this._container,e,r);default:return Fg.resolveProperty(this,this._container,e,r)}}setProperty(e,r){switch(typeof e){case"object":return Ng.setProperty(this,this._container,e,r);default:return Fg.setProperty(this,this._container,e,r)}}extend(e){if(e===this)return this;this._isFromSignature=!1,this._signatureDefinitions.extend(e.signatureDefinitions),this.addTypes(Array.from(e.types));for(let[r,t]of e.values){let i=this.values.get(r);i==null?this.values.set(r,t.copy({container:this._container,context:this})):i.extend(t)}return this}insertSignature(e){let r=Object.keys(e.getDefinitions());this.addType(fs.SignatureDefinitionBaseType.Map);for(let t=0;t<r.length;t++){let i=r[t],s=e.getDefinition(i),o=new n({source:this._source,label:i,kind:s.getType().type===fs.SignatureDefinitionBaseType.Function?ms.CompletionItemKind.Function:ms.CompletionItemKind.Property,container:this._container,isFromSignature:!0});o.addSignatureType(s),this.setProperty(i,o)}return this}getAllIdentifier(){let e=new Map;for(let r of this._types){let t=this._container.getAllIdentifier(r);for(let i of t)e.set(...i)}return(0,MA.injectIdentifers)(e,this),e}toJSONInternal(e=new WeakMap){if(e.has(this))return e.get(this);let r={};return e.set(this,r),r.kind=this.kind,r.signatureDefinitions=this._signatureDefinitions.toJSON(),r.types=Array.from(this._types),r.values=Array.from(this._values).reduce((t,[i,s])=>(t[i]=s==null?void 0:s.toJSONInternal(e),t),{}),r}toJSON(){return this.toJSONInternal()}copy(e={}){var t,i,s,o,l,u,a,c,p,d;let r=new n({source:(t=e.source)!=null?t:this._source,kind:(i=e.kind)!=null?i:this._kind,line:(s=e.line)!=null?s:this._line,isFromSignature:(o=e.isFromSignature)!=null?o:this._isFromSignature,isAPI:(l=e.isAPI)!=null?l:this._isAPI,container:(u=e.container)!=null?u:this._container,label:(a=e.label)!=null?a:this._label,context:(c=e.context)!=null?c:this._context,signatureDefinitions:new rS.ObjectSet(Array.from(this._signatureDefinitions,h=>h.copy())),types:new Set(this._types),returnEntity:this._returnEntity,values:(p=e.values)!=null?p:this.values,definitions:(d=e.definitions)!=null?d:this._definitions});return e.deepCopy&&(r._values=new Map(Array.from(this._values,([h,g])=>[h,g.copy({deepCopy:e.deepCopy,container:e.container,line:e.line,context:r,values:g.values})])),r._definitions=[...this._definitions]),r}};Mr.Entity=si});var Bg=S(Hu=>{"use strict";Object.defineProperty(Hu,"__esModule",{value:!0});Hu.Scope=void 0;var Wu=Xt(),oi=ii(),$g=Uo(),Vu=gs(),Ug=class n{get source(){return this._source}get definitions(){return[]}get signatureDefinitions(){return null}get kind(){return oi.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(Wu.SignatureDefinitionBaseType.Map)}get values(){return this._locals.values}get globals(){return this._globals}get outer(){var e,r;return(r=(e=this._parent)==null?void 0:e.locals)!=null?r:null}get locals(){return this._locals}constructor(e){var r,t;this._source=e.source,this._container=e.container,this._parent=(r=e.parent)!=null?r:null,this._globals=e.globals,this._locals=(t=e.locals)!=null?t:new Vu.Entity({source:this._source,kind:oi.CompletionItemKind.Constant,container:this._container,label:"locals"}).addType(Wu.SignatureDefinitionBaseType.Map)}getIsa(){return null}hasIsa(){return!1}setCustomType(e,r){this._container.setCustomType(e,r)}addSignatureType(){throw new Error("Cannot add signature type to scope!")}hasProperty(e){return this._locals.hasProperty(e)}resolveProperty(e,r){return this._locals.resolveProperty(e,r)}resolveNamespace(e,r=!1){var t,i,s;if(typeof e!="string")throw new Error("Invalid property type for scope!");if(e==="locals")return this._locals;if(e==="outer")return(i=(t=this._parent)==null?void 0:t.locals)!=null?i:this._globals;if(e==="globals")return this._globals;if(this._locals.values.has(`i:${e}`)){let o=this._locals.values.get(`i:${e}`);return(0,Vu.resolveEntity)(this._container,o,r)}else if((s=this._parent)!=null&&s.locals.values.has(`i:${e}`)){let o=this._parent.locals.values.get(`i:${e}`);return(0,Vu.resolveEntity)(this._container,o,r)}else if(this._globals.values.has(`i:${e}`)){let o=this._globals.values.get(`i:${e}`);return(0,Vu.resolveEntity)(this._container,o,r)}return this._container.getGeneralDefinition(e,r)}setProperty(e,r){return this._locals.setProperty(e,r)}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:oi.CompletionItemKind.Constant,line:-1}],["locals",{kind:oi.CompletionItemKind.Constant,line:-1}],["outer",{kind:oi.CompletionItemKind.Constant,line:-1}],...this._container.getAllIdentifier(Wu.SignatureDefinitionBaseType.General)]);return this._locals!==this._globals&&(0,$g.injectIdentifers)(e,this._globals),this._parent&&(0,$g.injectIdentifers)(e,this._parent.locals),(0,$g.injectIdentifers)(e,this._locals),this.isSelfAvailable()&&e.set("self",{kind:oi.CompletionItemKind.Constant,line:-1}),this.isSuperAvailable()&&e.set("super",{kind:oi.CompletionItemKind.Constant,line:-1}),e}isSelfAvailable(){return this._locals.context!=null&&this._locals.context.types.has(Wu.SignatureDefinitionBaseType.Map)}isSuperAvailable(){return this.isSelfAvailable()&&this._locals.context.hasProperty("__isa")}toJSON(){return this._locals.toJSON()}copy(e={}){var r;return new n({source:this._source,container:(r=e.container)!=null?r:this._container,parent:this._parent.copy({container:e.container,deepCopy:!0}),globals:this._globals.copy({container:e.container,deepCopy:!0}),locals:this._locals.copy(sn(tt({},e),{deepCopy:!0}))})}};Hu.Scope=Ug});var ys=S(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.GreybelKeyword=void 0;var FA;(function(n){n.Envar="#envar",n.Import="#import",n.Include="#include",n.ImportWithComment="//import",n.IncludeWithComment="//include",n.Debugger="debugger",n.Line="#line",n.File="#filename",n.Inject="#inject"})(FA=Bo.GreybelKeyword||(Bo.GreybelKeyword={}))});var Hg=S(Vg=>{"use strict";Object.defineProperty(Vg,"__esModule",{value:!0});var ai=ge(),NA=ys(),Wg=class extends ai.LexerValidator{constructor(){super(...arguments),this.isKeyword=Set.prototype.has.bind(new Set([...Object.values(ai.Keyword),...Object.values(NA.GreybelKeyword)]))}isIdentifierStart(e){return super.isIdentifierStart(e)||e===ai.CharacterCode.HASH}isMultilineComment(e,r){return ai.CharacterCode.SLASH===e&&ai.CharacterCode.ASTERISK===r}isMultilineCommentEnd(e,r){return ai.CharacterCode.ASTERISK===e&&ai.CharacterCode.SLASH===r}isComment(e,r){return super.isComment(e,r)||this.isMultilineComment(e,r)}};Vg.default=Wg});var zg=S(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.CharacterCode=void 0;var $A;(function(n){n[n.VERTICAL_LINE=124]="VERTICAL_LINE",n[n.AMPERSAND=38]="AMPERSAND"})($A=Wo.CharacterCode||(Wo.CharacterCode={}))});var bs=S(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.Operator=void 0;var UA;(function(n){n.BitwiseAnd="&",n.BitwiseOr="|",n.LeftShift="<<",n.RightShift=">>",n.UnsignedRightShift=">>>"})(UA=Vo.Operator||(Vo.Operator={}))});var Kg=S(Ho=>{"use strict";var BA=Ho&&Ho.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Ho,"__esModule",{value:!0});var kn=ge(),WA=BA(Hg()),iS=zg(),sS=ys(),Gg=bs();function oS(n){let e=this.content[this.index];return this.index+=e.length,this.createPunctuator(e,n)}var zu=class n extends kn.Lexer{constructor(e,r={}){r.validator=r.validator||new WA.default,super(e,r)}scan(e,r){let t=n.greybelScanHandlers[e];return t?t.call(this,r)||super.scan(e,r):super.scan(e,r)}scanMultilineComment(e){let r=this,t=r.line,i=r.lineStart,s=r.index,o=r.offset,l=r.offset,u=!1;for(;r.index<r.length;){let p=r.codeAt();if(r.validator.isEndOfLine(p))r.validator.isWinNewline(p,r.codeAt(1))&&r.index++,r.line++,l=r.index+1;else if(r.validator.isMultilineCommentEnd(r.codeAt(),r.codeAt(1))){u=!0;break}r.index++}if(!u)return r.raise("Unexpected end of file in multiline comment.",new kn.ASTRange(new kn.ASTPosition(t,s-o+1),new kn.ASTPosition(r.line,r.index-l+3)));let a=r.content.slice(s+2,r.index);r.index+=2;let c=new kn.Token({type:kn.TokenType.Comment,value:a,line:t,lineStart:i,range:[r.tokenStart,r.index],offsetRange:[o,l],afterSpace:e,lastLine:r.line,lastLineStart:r.lineStart});return r.offset=l,r.snapshot.enqueue(c),c}scanComment(e){let r=this,t=r.validator;return r.content.startsWith(sS.GreybelKeyword.ImportWithComment,r.index)||r.content.startsWith(sS.GreybelKeyword.IncludeWithComment,r.index)?(r.index++,r.scanIdentifierOrKeyword(e)):t.isMultilineComment(r.codeAt(),r.codeAt(1))?r.scanMultilineComment(e):super.scanComment(e)}};Ho.default=zu;zu.greybelScanHandlers={[kn.CharacterCode.ARROW_LEFT]:function(e){if(kn.CharacterCode.ARROW_LEFT===this.codeAt(1))return this.scanPunctuator(Gg.Operator.LeftShift,e)},[kn.CharacterCode.ARROW_RIGHT]:function(e){if(kn.CharacterCode.ARROW_RIGHT===this.codeAt(1))return kn.CharacterCode.ARROW_RIGHT===this.codeAt(2)?this.scanPunctuator(Gg.Operator.UnsignedRightShift,e):this.scanPunctuator(Gg.Operator.RightShift,e)},[iS.CharacterCode.AMPERSAND]:oS,[iS.CharacterCode.VERTICAL_LINE]:oS}});var Gu=S(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.ASTType=void 0;var VA;(function(n){n.FeatureImportExpression="FeatureImportExpression",n.FeatureIncludeExpression="FeatureIncludeExpression",n.FeatureEnvarExpression="FeatureEnvarExpression",n.FeatureInjectExpression="FeatureInjectExpression",n.FeatureDebuggerExpression="FeatureDebuggerExpression",n.FeatureLineExpression="FeatureLineExpression",n.FeatureFileExpression="FeatureFileExpression"})(VA=zo.ASTType||(zo.ASTType={}))});var Qg=S(Ku=>{"use strict";Object.defineProperty(Ku,"__esModule",{value:!0});Ku.ASTChunkAdvanced=void 0;var HA=ge(),Yg=class n extends HA.ASTChunk{constructor(e){super(e),this.imports=e.imports||[],this.includes=e.includes||[],this.injects=e.injects||[]}clone(){return new n({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})}};Ku.ASTChunkAdvanced=Yg});var ny=S(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.ASTFeatureFileExpression=mn.ASTFeatureInjectExpression=mn.ASTFeatureEnvarExpression=mn.ASTFeatureIncludeExpression=mn.ASTFeatureImportExpression=void 0;var Go=ge(),Ko=Gu(),Jg=class n extends Go.ASTBase{constructor(e){super(Ko.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 n({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})}};mn.ASTFeatureImportExpression=Jg;var Zg=class n extends Go.ASTBase{constructor(e){super(Ko.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 n({path:this.path,chunk:this.chunk.clone(),namespace:this.namespace,start:this.start,end:this.end,range:this.range,scope:this.scope})}};mn.ASTFeatureIncludeExpression=Zg;var Xg=class n extends Go.ASTBase{constructor(e){super(Ko.ASTType.FeatureEnvarExpression,e),this.name=e.name}toString(){return`FeatureEnvarExpression[${this.start}-${this.end}][name = ${this.name}]`}clone(){return new n({name:this.name,start:this.start,end:this.end,range:this.range,scope:this.scope})}};mn.ASTFeatureEnvarExpression=Xg;var ey=class n extends Go.ASTBase{constructor(e){super(Ko.ASTType.FeatureInjectExpression,e),this.path=e.path}toString(){return`FeatureInjectExpression[${this.start}-${this.end}][path = ${this.path}]`}clone(){return new n({path:this.path,start:this.start,end:this.end,range:this.range,scope:this.scope})}};mn.ASTFeatureInjectExpression=ey;var ty=class n extends Go.ASTBase{constructor(e){super(Ko.ASTType.FeatureFileExpression,e),this.filename=e.filename}toString(){return`FeatureFileExpression[${this.start}-${this.end}][path = ${this.filename}]`}clone(){return new n({filename:this.filename,start:this.start,end:this.end,range:this.range,scope:this.scope})}};mn.ASTFeatureFileExpression=ty});var sy=S(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.ASTFeatureInjectExpression=yt.ASTFeatureIncludeExpression=yt.ASTFeatureImportExpression=yt.ASTFeatureFileExpression=yt.ASTFeatureEnvarExpression=yt.ASTChunkAdvanced=yt.ASTType=yt.ASTProvider=void 0;var ry=ge(),aS=Gu(),zA=Qg(),Yo=ny(),iy=class extends ry.ASTProvider{featureImportExpression(e){return new Yo.ASTFeatureImportExpression(e)}featureIncludeExpression(e){return new Yo.ASTFeatureIncludeExpression(e)}featureEnvarExpression(e){return new Yo.ASTFeatureEnvarExpression(e)}featureInjectExpression(e){return new Yo.ASTFeatureInjectExpression(e)}featureDebuggerExpression(e){return new ry.ASTBase(aS.ASTType.FeatureDebuggerExpression,e)}featureLineExpression(e){return new ry.ASTBase(aS.ASTType.FeatureLineExpression,e)}featureFileExpression(e){return new Yo.ASTFeatureFileExpression(e)}chunkAdvanced(e){return new zA.ASTChunkAdvanced(e)}};yt.ASTProvider=iy;var GA=Gu();Object.defineProperty(yt,"ASTType",{enumerable:!0,get:function(){return GA.ASTType}});var KA=Qg();Object.defineProperty(yt,"ASTChunkAdvanced",{enumerable:!0,get:function(){return KA.ASTChunkAdvanced}});var Qo=ny();Object.defineProperty(yt,"ASTFeatureEnvarExpression",{enumerable:!0,get:function(){return Qo.ASTFeatureEnvarExpression}});Object.defineProperty(yt,"ASTFeatureFileExpression",{enumerable:!0,get:function(){return Qo.ASTFeatureFileExpression}});Object.defineProperty(yt,"ASTFeatureImportExpression",{enumerable:!0,get:function(){return Qo.ASTFeatureImportExpression}});Object.defineProperty(yt,"ASTFeatureIncludeExpression",{enumerable:!0,get:function(){return Qo.ASTFeatureIncludeExpression}});Object.defineProperty(yt,"ASTFeatureInjectExpression",{enumerable:!0,get:function(){return Qo.ASTFeatureInjectExpression}})});var oy=S(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.SelectorGroups=Je.SelectorGroupType=Je.Selectors=Je.SelectorTypes=void 0;var Ie=ge(),Yu=ys(),Jo=bs(),YA;(function(n){n.From="From",n.Envar="Envar",n.Inject="Inject",n.Line="Line",n.File="File",n.LeftShift="LeftShift",n.RightShift="RightShift",n.UnsignedRightShift="UnsignedRightShift",n.BitwiseOr="BitwiseOr",n.BitwiseAnd="BitwiseAnd",n.Escape="Escape"})(YA=Je.SelectorTypes||(Je.SelectorTypes={}));Je.Selectors=Object.assign(Object.assign({},Ie.Selectors),{From:(0,Ie.createSelector)({type:Ie.TokenType.Identifier,value:"from"}),Envar:(0,Ie.createSelector)({type:Ie.TokenType.Keyword,value:Yu.GreybelKeyword.Envar}),Inject:(0,Ie.createSelector)({type:Ie.TokenType.Keyword,value:Yu.GreybelKeyword.Inject}),Line:(0,Ie.createSelector)({type:Ie.TokenType.Keyword,value:Yu.GreybelKeyword.Line}),File:(0,Ie.createSelector)({type:Ie.TokenType.Keyword,value:Yu.GreybelKeyword.File}),LeftShift:(0,Ie.createSelector)({type:Ie.TokenType.Punctuator,value:Jo.Operator.LeftShift}),RightShift:(0,Ie.createSelector)({type:Ie.TokenType.Punctuator,value:Jo.Operator.RightShift}),UnsignedRightShift:(0,Ie.createSelector)({type:Ie.TokenType.Punctuator,value:Jo.Operator.UnsignedRightShift}),BitwiseOr:(0,Ie.createSelector)({type:Ie.TokenType.Punctuator,value:Jo.Operator.BitwiseOr}),BitwiseAnd:(0,Ie.createSelector)({type:Ie.TokenType.Punctuator,value:Jo.Operator.BitwiseAnd}),Escape:(0,Ie.createSelector)({type:Ie.TokenType.Punctuator,value:Ie.Operator.Escape})});var tr;(function(n){n.MapSeparator="MapSeparator",n.ListSeparator="ListSeparator",n.PathSegmentEnd="PathSegmentEnd",n.BitwiseOperators="BitwiseOperators"})(tr=Je.SelectorGroupType||(Je.SelectorGroupType={}));Je.SelectorGroups=Object.assign(Object.assign({},Ie.SelectorGroups),{[tr.MapSeparator]:(0,Ie.createSelectorGroup)(tr.MapSeparator,[Je.Selectors.MapSeperator,Je.Selectors.CRBracket]),[tr.ListSeparator]:(0,Ie.createSelectorGroup)(tr.ListSeparator,[Je.Selectors.MapSeperator,Je.Selectors.SRBracket]),[tr.PathSegmentEnd]:(0,Ie.createSelectorGroup)(tr.PathSegmentEnd,[Je.Selectors.EndOfLine,Je.Selectors.Comment,Je.Selectors.EndOfFile]),[tr.BitwiseOperators]:(0,Ie.createSelectorGroup)(tr.BitwiseOperators,[Je.Selectors.LeftShift,Je.Selectors.RightShift,Je.Selectors.UnsignedRightShift])})});var cS=S(Zo=>{"use strict";var QA=Zo&&Zo.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Zo,"__esModule",{value:!0});var Ht=ge(),JA=Xi(),lS=rs(),ZA=QA(Kg()),XA=sy(),li=ys(),uS=bs(),ke=oy(),ay=class extends Ht.Parser{constructor(e,r={}){var t;r.lexer=r.lexer||new ZA.default(e,{unsafe:r.unsafe,tabWidth:r.tabWidth}),r.astProvider=r.astProvider||new XA.ASTProvider,super(e,r);let i=this;i.filename=(t=r.filename)!==null&&t!==void 0?t:"unknown",i.imports=[],i.includes=[],i.injects=[]}skipNewlines(){let e=this,r=0;for(;;){if(ke.Selectors.Comment(e.token)){let t=e.astProvider.comment({value:e.token.value,isMultiline:e.token.value.indexOf(`
|
104
104
|
`)!==-1,start:e.token.start,end:e.token.end,range:e.token.range,scope:e.currentScope});e.addItemToLines(t),e.backpatches.peek().body.push(t)}else if(ke.Selectors.EndOfLine(e.token))r++;else break;e.next()}return r}parseMap(e=!1,r=!1){let t=this;if(!ke.Selectors.CLBracket(t.token))return t.parseList(e,r);let i=t.currentScope,s=t.token,o=[],l=t.astProvider.mapConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(t.next(),ke.Selectors.CRBracket(t.token))t.next();else for(;!ke.Selectors.EndOfFile(t.token);){if(t.skipNewlines(),ke.Selectors.CRBracket(t.token)){t.next();break}let u=t.astProvider.mapKeyString({key:null,value:null,start:t.token.start,end:null,range:[t.token.range[0],null],scope:i});if(u.key=t.parseExpr(null),t.requireToken(ke.Selectors.MapKeyValueSeperator),t.skipNewlines(),t.currentAssignment){let c=t.astProvider.assignmentStatement({variable:t.astProvider.indexExpression({index:u.key,base:t.currentAssignment.variable,start:u.start,end:t.token.end,range:[u.range[0],t.token.range[1]],scope:i}),init:null,start:u.start,end:null,range:[u.range[0],null]}),p=t.currentAssignment;t.currentAssignment=c,u.value=t.parseExpr(u),t.currentAssignment=p,c.init=u.value,c.end=t.previousToken.end,c.range[1]=t.previousToken.range[1],i.assignments.push(c)}else u.value=t.parseExpr(u);u.end=t.previousToken.end,u.range[1]=t.previousToken.range[1],o.push(u),t.skipNewlines();let a=t.requireTokenOfAny(ke.SelectorGroups.MapSeparator,s.start);if(ke.Selectors.CRBracket(a))break}return l.end=t.token.start,l.range[1]=t.token.range[1],l}parseList(e=!1,r=!1){let t=this;if(!ke.Selectors.SLBracket(t.token))return t.parseQuantity(e,r);let i=t.currentScope,s=t.token,o=[],l=t.astProvider.listConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(t.next(),ke.Selectors.SRBracket(t.token))t.next();else for(;!ke.Selectors.EndOfFile(t.token);){if(t.skipNewlines(),ke.Selectors.SRBracket(t.token)){t.next();break}let u=t.astProvider.listValue({value:null,start:t.token.start,end:null,range:[t.token.range[0],null],scope:i});if(t.currentAssignment){let c=t.astProvider.assignmentStatement({variable:t.astProvider.indexExpression({index:t.astProvider.literal(Ht.TokenType.NumericLiteral,{value:o.length,raw:`${o.length}`,start:s.start,end:t.token.end,range:[s.range[0],t.token.range[1]],scope:i}),base:t.currentAssignment.variable,start:null,end:null,range:[null,null],scope:i}),init:null,start:null,end:null,range:[null,null]}),p=t.currentAssignment,d=t.token;t.currentAssignment=p,u.value=t.parseExpr(u),t.currentAssignment=p,c.variable.start=d.start,c.variable.end=t.previousToken.end,c.variable.range=[d.range[0],t.previousToken.range[1]],c.init=u.value,c.start=u.start,c.end=t.previousToken.end,c.range=[u.range[0],t.previousToken.range[1]],i.assignments.push(c)}else u.value=t.parseExpr(u);u.end=t.previousToken.end,u.range[1]=t.previousToken.range[1],o.push(u),t.skipNewlines();let a=t.requireTokenOfAny(ke.SelectorGroups.ListSeparator,s.start);if(ke.Selectors.SRBracket(a))break}return l.end=t.token.start,l.range[1]=t.token.range[1],l}parsePathSegment(){let e=this;if(this.token.type===Ht.ASTType.StringLiteral){let t=this.token.value;return this.next(),t}let r="";for(;!ke.SelectorGroups.PathSegmentEnd(e.token);)r=r+e.token.value,e.next();return e.consumeMany(ke.SelectorGroups.PathSegmentEnd),r}parseFeatureIncludeStatement(){let e=this,r=e.previousToken,t=e.parsePathSegment(),i=e.astProvider.featureIncludeExpression({path:t,start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:e.currentScope});return e.includes.push(i),i}parseFeatureImportStatement(){var e;let r=this,t=r.previousToken,i=r.parseIdentifier();if(!r.consume(ke.Selectors.From))return r.raise("expected from keyword",new lS.Range(t.start,new JA.Position((e=r.token.lastLine)!==null&&e!==void 0?e:r.token.line,r.token.end.character))),r.parseInvalidCode();let s=r.parsePathSegment(),o=r.astProvider.featureImportExpression({name:i,path:s,start:t.start,end:r.previousToken.end,range:[t.range[0],r.previousToken.range[1]],scope:r.currentScope});r.imports.push(o);let l=r.astProvider.assignmentStatement({variable:i,init:r.astProvider.literal(Ht.TokenType.NilLiteral,{value:null,raw:"null",start:i.start,end:i.end,range:i.range,scope:r.currentScope}),start:i.start,end:i.end,range:i.range,scope:r.currentScope});return r.currentScope.assignments.push(l),o}parseFeatureEnvarExpression(){let e=this,r=e.previousToken,t=e.token.value;return e.next(),e.astProvider.featureEnvarExpression({name:t,start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:e.currentScope})}parseFeatureInjectExpression(){let e=this,r=e.previousToken,t=this.parsePathSegment();e.next();let i=e.astProvider.featureInjectExpression({path:t,start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:e.currentScope});return e.injects.push(i),i}parseIsa(e=!1,r=!1){let t=this,i=t.token,s=t.parseBitwiseOr(e,r);if(ke.Selectors.Isa(t.token)){t.next(),t.skipNewlines();let o=t.parseBitwiseOr();return t.astProvider.isaExpression({operator:Ht.Operator.Isa,left:s,right:o,start:i.start,end:t.previousToken.end,range:[i.range[0],t.previousToken.range[1]],scope:t.currentScope})}return s}parseBitwiseOr(e=!1,r=!1){let t=this,i=t.token,o=t.parseBitwiseAnd(e,r);for(;ke.Selectors.BitwiseOr(t.token);){t.next();let l=t.parseBitwiseAnd();o=t.astProvider.binaryExpression({operator:uS.Operator.BitwiseOr,left:o,right:l,start:i.start,end:t.previousToken.end,range:[i.range[0],t.previousToken.range[1]],scope:t.currentScope})}return o}parseBitwiseAnd(e=!1,r=!1){let t=this,i=t.token,o=t.parseComparisons(e,r);for(;ke.Selectors.BitwiseAnd(t.token);){t.next();let l=t.parseComparisons();o=t.astProvider.binaryExpression({operator:uS.Operator.BitwiseAnd,left:o,right:l,start:i.start,end:t.previousToken.end,range:[i.range[0],t.previousToken.range[1]],scope:t.currentScope})}return o}parseAddSub(e=!1,r=!1){let t=this,i=t.token,o=t.parseBitwise(e,r);for(;ke.Selectors.Plus(t.token)||ke.Selectors.Minus(t.token)&&(!r||!t.token.afterSpace||t.lexer.isAtWhitespace());){let l=t.token;t.next(),t.skipNewlines();let u=t.parseBitwise();o=t.astProvider.binaryExpression({operator:l.value,left:o,right:u,start:i.start,end:t.previousToken.end,range:[i.range[0],t.previousToken.range[1]],scope:t.currentScope})}return o}parseBitwise(e=!1,r=!1){let t=this,i=t.token,o=t.parseMultDiv(e,r);for(;ke.SelectorGroups.BitwiseOperators(t.token);){let l=t.token;t.next(),t.skipNewlines();let u=t.parseMultDiv();o=t.astProvider.binaryExpression({operator:l.value,left:o,right:u,start:i.start,end:t.previousToken.end,range:[i.range[0],t.previousToken.range[1]],scope:t.currentScope})}return o}parseAtom(){let e=this;return ke.Selectors.Envar(e.token)?(e.next(),e.parseFeatureEnvarExpression()):ke.Selectors.Inject(e.token)?(e.next(),e.parseFeatureInjectExpression()):ke.Selectors.Line(e.token)?(e.next(),e.astProvider.featureLineExpression({start:new Ht.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new Ht.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope})):ke.Selectors.File(e.token)?(e.next(),e.astProvider.featureFileExpression({filename:e.filename,start:new Ht.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new Ht.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope})):super.parseAtom()}parseStatement(){let e=this,r=e.backpatches.peek();if(e.isType(Ht.TokenType.Keyword))switch(e.token.value){case li.GreybelKeyword.Include:case li.GreybelKeyword.IncludeWithComment:{e.next();let i=e.parseFeatureIncludeStatement();e.addItemToLines(i),r.body.push(i);return}case li.GreybelKeyword.Import:case li.GreybelKeyword.ImportWithComment:{e.next();let i=e.parseFeatureImportStatement();e.addItemToLines(i),r.body.push(i);return}case li.GreybelKeyword.Envar:{e.next();let i=e.parseFeatureEnvarExpression();e.addItemToLines(i),r.body.push(i);return}case li.GreybelKeyword.Inject:{e.next();let i=e.parseFeatureInjectExpression();e.addItemToLines(i),r.body.push(i);return}case li.GreybelKeyword.Debugger:{e.next();let i=e.astProvider.featureDebuggerExpression({start:new Ht.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new Ht.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope});e.addItemToLines(i),r.body.push(i);return}default:break}super.parseStatement()}parseChunk(){let e=this;e.next();let r=e.token,t=e.astProvider.chunkAdvanced({start:r.start,end:null,range:[r.range[0],null]}),i=new Ht.PendingChunk(t);for(e.backpatches.setDefault(i),e.pushScope(t);!ke.Selectors.EndOfFile(e.token)&&(e.skipNewlines(),!ke.Selectors.EndOfFile(e.token));)e.lexer.recordSnapshot(),e.statementErrors=[],e.parseStatement(),e.statementErrors.length>0&&e.tryToRecover();let s=e.backpatches.pop();for(;!(0,Ht.isPendingChunk)(s);){let o=e.raise(`found open block ${s.block.type}`,new lS.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),t.literals=e.literals,t.scopes=e.scopes,t.lines=e.lines,t.imports=e.imports,t.includes=e.includes,t.injects=e.injects,t}};Zo.default=ay});var qt=S(ht=>{"use strict";var eD=ht&&ht.__createBinding||(Object.create?function(n,e,r,t){t===void 0&&(t=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(n,t,i)}:function(n,e,r,t){t===void 0&&(t=r),n[t]=e[r]}),Xo=ht&&ht.__exportStar||function(n,e){for(var r in n)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&eD(e,n,r)},ly=ht&&ht.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(ht,"__esModule",{value:!0});ht.Parser=ht.LexerValidator=ht.Lexer=void 0;var tD=Kg();Object.defineProperty(ht,"Lexer",{enumerable:!0,get:function(){return ly(tD).default}});var nD=Hg();Object.defineProperty(ht,"LexerValidator",{enumerable:!0,get:function(){return ly(nD).default}});var rD=cS();Object.defineProperty(ht,"Parser",{enumerable:!0,get:function(){return ly(rD).default}});Xo(sy(),ht);Xo(zg(),ht);Xo(ys(),ht);Xo(bs(),ht);Xo(oy(),ht)});var uy=S(Qu=>{"use strict";Object.defineProperty(Qu,"__esModule",{value:!0});Qu.merge=void 0;function iD(n,e,r=1e4){if(e.length<=r){Array.prototype.push.apply(n,e);return}for(let t=0;t<e.length;t+=r)Array.prototype.push.apply(n,e.slice(t,t+r))}Qu.merge=iD});var pS=S(Ju=>{"use strict";Object.defineProperty(Ju,"__esModule",{value:!0});Ju.mergeUnique=void 0;function sD(n,e,r=1e4){let t=Array.from(new Set([...n,...e]));if(n.length=0,t.length<=r){Array.prototype.push.apply(n,t);return}for(let i=0;i<t.length;i+=r)Array.prototype.push.apply(n,t.slice(i,i+r))}Ju.mergeUnique=sD});var dS=S(Zu=>{"use strict";Object.defineProperty(Zu,"__esModule",{value:!0});Zu.parseMapDescription=void 0;var oD=Ig();function aD(n){return{path:n.name,type:n.type}}function lD(n){let e=n.tags.find(t=>t.tag==="type");if(!e)return null;let r=n.tags.filter(t=>t.tag==="property");return{type:e.name,properties:r.map(aD)}}function uD(n){let e=(0,oD.parse)(`/**
|
105
105
|
${n}
|
106
106
|
*/`),[r]=e;return r.tags.length>0?lD(r):null}Zu.parseMapDescription=uD});var py=S(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.Aggregator=void 0;var Xu=qt(),ve=Xt(),ye=ge(),cD=Dg(),me=ii(),ui=jg(),hS=ug(),pD=Eg(),fS=Rg(),mS=Ao(),gS=uy(),dD=pS(),hD=dS(),fD=gs(),cy=class{get definitions(){return this._definitions}get parent(){return this._parent}constructor(e){var r;this._root=e.root,this._scope=e.scope,this._document=e.document,this._parent=(r=e.parent)!=null?r:null,this._definitions=new Map,this._lastModifiedProperty=null}factory(e){return new fD.Entity({source:this._document.source,kind:e,container:this._document.container})}createMapDescription(e){let r=this._document.getLastASTItemOfLine(e.start.line-1),t=this._document.findASTItemInLine(e.start.line,ye.ASTType.Comment);if(r instanceof ye.ASTComment){let i=new Set,s=[],o=e.start.line-1;for(;o>=0;){let l=this._document.getLastASTItemOfLine(o--);if(!i.has(l))if(l instanceof ye.ASTComment)i.add(l),s.unshift(l.value);else break}return s.join(`
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "greybel-languageserver-browser",
|
3
|
-
"version": "1.4.
|
3
|
+
"version": "1.4.5",
|
4
4
|
"description": "Language server for GreyScript",
|
5
5
|
"main": "./index.js",
|
6
6
|
"scripts": {
|
@@ -73,7 +73,7 @@
|
|
73
73
|
"greyscript-core": "~2.1.1",
|
74
74
|
"greyscript-meta": "~4.1.0",
|
75
75
|
"greyscript-transpiler": "~1.2.4",
|
76
|
-
"miniscript-type-analyzer": "~0.13.
|
76
|
+
"miniscript-type-analyzer": "~0.13.4",
|
77
77
|
"greybel-languageserver-core": "~1.4.6"
|
78
78
|
}
|
79
79
|
}
|