self.webpackChunk(["mode/smalltalk"],{40:function(e,t,n){!function(e){"use strict";e.defineMode("smalltalk",(function(e){var t=/[+\-\/\\*~<>=@%|&?!.,:;^]/,n=/true|false|nil|self|super|thisContext/,a=function(e,t){this.next=e,this.parent=t},i=function(e,t,n){this.name=e,this.context=t,this.eos=n},r=function(){this.context=new a(o,null),this.expectVariable=!0,this.indentation=0,this.userIndentationDelta=0};r.prototype.userIndent=function(t){this.userIndentationDelta=t>0?t/e.indentUnit-this.indentation:0};var o=function(e,r,o){var x=new i(null,r,!1),h=e.next();return'"'===h?x=s(e,new a(s,r)):"'"===h?x=l(e,new a(l,r)):"#"===h?"'"===e.peek()?(e.next(),x=u(e,new a(u,r))):e.eatWhile(/[^\s.{}\[\]()]/)?x.name="string-2":x.name="meta":"$"===h?("<"===e.next()&&(e.eatWhile(/[^\s>]/),e.next()),x.name="string-2"):"|"===h&&o.expectVariable?x.context=new a(c,r):/[\[\]{}()]/.test(h)?(x.name="bracket",x.eos=/[\[{(]/.test(h),"["===h?o.indentation++:"]"===h&&(o.indentation=Math.max(0,o.indentation-1))):t.test(h)?(e.eatWhile(t),x.name="operator",x.eos=";"!==h):/\d/.test(h)?(e.eatWhile(/[\w\d]/),x.name="number"):/[\w_]/.test(h)?(e.eatWhile(/[\w\d_]/),x.name=o.expectVariable?n.test(e.current())?"keyword":"variable":null):x.eos=o.expectVariable,x},s=function(e,t){return e.eatWhile(/[^"]/),new i("comment",e.eat('"')?t.parent:t,!0)},l=function(e,t){return e.eatWhile(/[^']/),new i("string",e.eat("'")?t.parent:t,!1)},u=function(e,t){return e.eatWhile(/[^']/),new i("string-2",e.eat("'")?t.parent:t,!1)},c=function(e,t){var n=new i(null,t,!1);return"|"===e.next()?(n.context=t.parent,n.eos=!0):(e.eatWhile(/[^|]/),n.name="variable"),n};return{startState:function(){return new r},token:function(e,t){if(t.userIndent(e.indentation()),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){e.userIndent(0)},indent:function(t,n){var a=t.context.next===o&&n&&"]"===n.charAt(0)?-1:t.userIndentationDelta;return(t.indentation+a)*e.indentUnit},electricChars:"]"}})),e.defineMIME("text/x-stsrc",{name:"smalltalk"})}(n(0))}});
//# sourceMappingURL=smalltalk.js.map