nisp
Version:
A language that for easily build cross-language language
22 lines (21 loc) • 631 B
JavaScript
;
exports.__esModule = true;
var style_1 = require("./style");
var tokenizer_1 = require("./tokenizer");
var table = tokenizer_1.tokenizer(style_1["default"]);
exports["default"] = {
startState: function () {
var context = new tokenizer_1.Context();
return context;
},
token: function (stream, context) {
return table.router(stream, context);
},
indent: function (context, after) {
if (!context.backed) {
return context.indent;
}
var regex = /^\s*\)/;
return Math.max(0, context.indent - (regex.test(after) ? 1 : 0)) * 4;
}
};