openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
2 lines • 4 kB
JavaScript
import{n as e}from"./rolldown-runtime-DkW27tQK.js";function t(e){return RegExp(`^((`+e.join(`)|(`)+`))\\b`)}function n(e,t){if(e.sol()){t.scope.align===null&&(t.scope.align=!1);var n=t.scope.offset;if(e.eatSpace()){var a=e.indentation();return a>n&&t.scope.type==`coffee`?`indent`:a<n?`dedent`:null}n>0&&o(e,t)}if(e.eatSpace())return null;var s=e.peek();if(e.match(`####`))return e.skipToEnd(),`comment`;if(e.match(`###`))return t.tokenize=i,t.tokenize(e,t);if(s===`#`)return e.skipToEnd(),`comment`;if(e.match(/^-?[0-9\.]/,!1)){var m=!1;if(e.match(/^-?\d*\.\d+(e[\+\-]?\d+)?/i)&&(m=!0),e.match(/^-?\d+\.\d*/)&&(m=!0),e.match(/^-?\.\d+/)&&(m=!0),m)return e.peek()==`.`&&e.backUp(1),`number`;var y=!1;if(e.match(/^-?0x[0-9a-f]+/i)&&(y=!0),e.match(/^-?[1-9]\d*(e[\+\-]?\d+)?/)&&(y=!0),e.match(/^-?0(?![\dx])/i)&&(y=!0),y)return`number`}if(e.match(g))return t.tokenize=r(e.current(),!1,`string`),t.tokenize(e,t);if(e.match(_)){if(e.current()!=`/`||e.match(/^.*\//,!1))return t.tokenize=r(e.current(),!0,`string.special`),t.tokenize(e,t);e.backUp(1)}return e.match(l)||e.match(p)?`operator`:e.match(u)?`punctuation`:e.match(v)?`atom`:e.match(f)||t.prop&&e.match(d)?`property`:e.match(h)?`keyword`:e.match(d)?`variable`:(e.next(),c)}function r(e,t,r){return function(i,a){for(;!i.eol();)if(i.eatWhile(/[^'"\/\\]/),i.eat(`\\`)){if(i.next(),t&&i.eol())return r}else if(i.match(e))return a.tokenize=n,r;else i.eat(/['"\/]/);return t&&(a.tokenize=n),r}}function i(e,t){for(;!e.eol();){if(e.eatWhile(/[^#]/),e.match(`###`)){t.tokenize=n;break}e.eatWhile(`#`)}return`comment`}function a(e,t,n=`coffee`){for(var r=0,i=!1,a=null,o=t.scope;o;o=o.prev)if(o.type===`coffee`||o.type==`}`){r=o.offset+e.indentUnit;break}n===`coffee`?t.scope.align&&(t.scope.align=!1):(i=null,a=e.column()+e.current().length),t.scope={offset:r,type:n,prev:t.scope,align:i,alignOffset:a}}function o(e,t){if(t.scope.prev){if(t.scope.type===`coffee`){for(var n=e.indentation(),r=!1,i=t.scope;i;i=i.prev)if(n===i.offset){r=!0;break}if(!r)return!0;for(;t.scope.prev&&t.scope.offset!==n;)t.scope=t.scope.prev;return!1}return t.scope=t.scope.prev,!1}}function s(e,t){var n=t.tokenize(e,t),r=e.current();r===`return`&&(t.dedent=!0),((r===`->`||r===`=>`)&&e.eol()||n===`indent`)&&a(e,t);var i=`[({`.indexOf(r);if(i!==-1&&a(e,t,`])}`.slice(i,i+1)),m.exec(r)&&a(e,t),r==`then`&&o(e,t),n===`dedent`&&o(e,t))return c;if(i=`])}`.indexOf(r),i!==-1){for(;t.scope.type==`coffee`&&t.scope.prev;)t.scope=t.scope.prev;t.scope.type==r&&(t.scope=t.scope.prev)}return t.dedent&&e.eol()&&(t.scope.type==`coffee`&&t.scope.prev&&(t.scope=t.scope.prev),t.dedent=!1),n==`indent`||n==`dedent`?null:n}var c,l,u,d,f,p,m,h,g,_,v,y;function b(){return(b=e((()=>{c=`error`,l=/^(?:->|=>|\+[+=]?|-[\-=]?|\*[\*=]?|\/[\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\|=?|\^=?|\~|!|\?|(or|and|\|\||&&|\?)=)/,u=/^(?:[()\[\]{},:`=;]|\.\.?\.?)/,d=/^[_A-Za-z$][_A-Za-z$0-9]*/,f=/^@[_A-Za-z$][_A-Za-z$0-9]*/,p=t([`and`,`or`,`not`,`is`,`isnt`,`in`,`instanceof`,`typeof`]),m=[`for`,`while`,`loop`,`if`,`unless`,`else`,`switch`,`try`,`catch`,`finally`,`class`],h=t(m.concat([`break`,`by`,`continue`,`debugger`,`delete`,`do`,`in`,`of`,`new`,`return`,`then`,`this`,`@`,`throw`,`when`,`until`,`extends`])),m=t(m),g=/^('{3}|\"{3}|['\"])/,_=/^(\/{3}|\/)/,v=t([`Infinity`,`NaN`,`undefined`,`null`,`true`,`false`,`on`,`off`,`yes`,`no`]),y={name:`coffeescript`,startState:function(){return{tokenize:n,scope:{offset:0,type:`coffee`,prev:null,align:!1},prop:!1,dedent:0}},token:function(e,t){var n=t.scope.align===null&&t.scope;n&&e.sol()&&(n.align=!1);var r=s(e,t);return r&&r!=`comment`&&(n&&(n.align=!0),t.prop=r==`punctuation`&&e.current()==`.`),r},indent:function(e,t){if(e.tokenize!=n)return 0;var r=e.scope,i=t&&`])}`.indexOf(t.charAt(0))>-1;if(i)for(;r.type==`coffee`&&r.prev;)r=r.prev;var a=i&&r.type===t.charAt(0);return r.align?r.alignOffset-+!!a:(a?r.prev:r).offset},languageData:{commentTokens:{line:`#`}}}})))()}b();export{y as coffeeScript};
//# sourceMappingURL=coffeescript-CA7mxfOL.js.map