"use strict";(self["webpackChunkplugin_request_market"]=self["webpackChunkplugin_request_market"]||[]).push([[9960],{9960:function(e,t,n){n.r(t),n.d(t,{smalltalk:function(){return x}});var a=/[+\-\/\\*~<>=@%|&?!.,:;^]/,i=/true|false|nil|self|super|thisContext/,r=function(e,t){this.next=e,this.parent=t},s=function(e,t,n){this.name=e,this.context=t,this.eos=n},u=function(){this.context=new r(o,null),this.expectVariable=!0,this.indentation=0,this.userIndentationDelta=0};u.prototype.userIndent=function(e,t){this.userIndentationDelta=e>0?e/t-this.indentation:0};var o=function(e,t,n){var u=new s(null,t,!1),o=e.next();return'"'===o?u=l(e,new r(l,t)):"'"===o?u=c(e,new r(c,t)):"#"===o?"'"===e.peek()?(e.next(),u=h(e,new r(h,t))):e.eatWhile(/[^\s.{}\[\]()]/)?u.name="string.special":u.name="meta":"$"===o?("<"===e.next()&&(e.eatWhile(/[^\s>]/),e.next()),u.name="string.special"):"|"===o&&n.expectVariable?u.context=new r(p,t):/[\[\]{}()]/.test(o)?(u.name="bracket",u.eos=/[\[{(]/.test(o),"["===o?n.indentation++:"]"===o&&(n.indentation=Math.max(0,n.indentation-1))):a.test(o)?(e.eatWhile(a),u.name="operator",u.eos=";"!==o):/\d/.test(o)?(e.eatWhile(/[\w\d]/),u.name="number"):/[\w_]/.test(o)?(e.eatWhile(/[\w\d_]/),u.name=n.expectVariable?i.test(e.current())?"keyword":"variable":null):u.eos=n.expectVariable,u},l=function(e,t){return e.eatWhile(/[^"]/),new s("comment",e.eat('"')?t.parent:t,!0)},c=function(e,t){return e.eatWhile(/[^']/),new s("string",e.eat("'")?t.parent:t,!1)},h=function(e,t){return e.eatWhile(/[^']/),new s("string.special",e.eat("'")?t.parent:t,!1)},p=function(e,t){var n=new s(null,t,!1),a=e.next();return"|"===a?(n.context=t.parent,n.eos=!0):(e.eatWhile(/[^|]/),n.name="variable"),n};const x={name:"smalltalk",startState:function(){return new u},token:function(e,t){if(t.userIndent(e.indentation(),e.indentUnit),e.eatSpace())return null;var n=t.context.next(e,t.context,t);return t.context=n.context,t.expectVariable=n.eos,n.name},blankLine:function(e,t){e.userIndent(0,t)},indent:function(e,t,n){var a=e.context.next===o&&t&&"]"===t.charAt(0)?-1:e.userIndentationDelta;return(e.indentation+a)*n.unit},languageData:{indentOnInput:/^\s*\]$/}}}}]);
//# sourceMappingURL=9960.802f0e57.js.map