UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

2 lines 2.12 kB
import{n as e}from"./rolldown-runtime-DkW27tQK.js";var t,n,r;function i(){return(i=e((()=>{t={slash:0,parenthesis:1},n={comment:0,_string:1,characterClass:2},r={name:`ebnf`,startState:function(){return{stringType:null,commentType:null,braced:0,lhs:!0,localState:null,stack:[],inDefinition:!1}},token:function(e,r){if(e){switch(r.stack.length===0&&(e.peek()==`"`||e.peek()==`'`?(r.stringType=e.peek(),e.next(),r.stack.unshift(n._string)):e.match(`/*`)?(r.stack.unshift(n.comment),r.commentType=t.slash):e.match(`(*`)&&(r.stack.unshift(n.comment),r.commentType=t.parenthesis)),r.stack[0]){case n._string:for(;r.stack[0]===n._string&&!e.eol();)e.peek()===r.stringType?(e.next(),r.stack.shift()):e.peek()===`\\`?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return r.lhs?`property`:`string`;case n.comment:for(;r.stack[0]===n.comment&&!e.eol();)r.commentType===t.slash&&e.match(`*/`)||r.commentType===t.parenthesis&&e.match(`*)`)?(r.stack.shift(),r.commentType=null):e.match(/^.[^\*]*/);return`comment`;case n.characterClass:for(;r.stack[0]===n.characterClass&&!e.eol();)e.match(/^[^\]\\]+/)||e.match(`.`)||r.stack.shift();return`operator`}var i=e.peek();switch(i){case`[`:return e.next(),r.stack.unshift(n.characterClass),`bracket`;case`:`:case`|`:case`;`:return e.next(),`operator`;case`%`:if(e.match(`%%`))return`header`;if(e.match(/[%][A-Za-z]+/))return`keyword`;if(e.match(/[%][}]/))return`bracket`;break;case`/`:if(e.match(/[\/][A-Za-z]+/))return`keyword`;case`\\`:if(e.match(/[\][a-z]+/))return`string.special`;case`.`:if(e.match(`.`))return`atom`;case`*`:case`-`:case`+`:case`^`:if(e.match(i))return`atom`;case`$`:if(e.match(`$$`))return`builtin`;if(e.match(/[$][0-9]+/))return`variableName.special`;case`<`:if(e.match(/<<[a-zA-Z_]+>>/))return`builtin`}return e.match(`//`)?(e.skipToEnd(),`comment`):e.match(`return`)?`operator`:e.match(/^[a-zA-Z_][a-zA-Z0-9_]*/)?e.match(/(?=[\(.])/)?`variable`:e.match(/(?=[\s\n]*[:=])/)?`def`:`variableName.special`:[`[`,`]`,`(`,`)`].indexOf(e.peek())==-1?(e.eatSpace()||e.next(),null):(e.next(),`bracket`)}}}})))()}i();export{r as ebnf}; //# sourceMappingURL=ebnf-BMevISf6.js.map