我目前正在使用Monarch为 Monaco Editor 编写语法荧光笔。
我使用 是states
为了根据它们在行中的位置来不同地处理令牌。
我想做的是@popall
到达行尾时的状态,因为所有行都是独立的。
现在我发现的唯一方法是在所有规则的末尾添加条件,如下所示:
[/\}/, {cases: {'@eos':{token: 'keyword', next:'@popall'},
'@default':{token: 'keyword', next:'@pop'}}}],
这显然是多余的,因为我的 50 多条规则都有这种情况。
这样做的干净方法是什么?