Monaco编辑器(Monarch)上的语法着色,遇到新行时的'@popall'

rea*_*404 6 syntax-highlighting monaco-editor

我目前正在使用Monarch为Monaco Editor编写语法高亮显示器.

我正在使用它states来处理不同的令牌,具体取决于它们在行中的位置.

我想要做的是@popall当我到达终点时的状态,因为所有行都是独立的.

现在,我找到的唯一方法是在我的所有规则结束时添加条件,类似于:

[/\}/, {cases: {'@eos':{token: 'keyword', next:'@popall'},
                        '@default':{token: 'keyword', next:'@pop'}}}],
Run Code Online (Sandbox Code Playgroud)

这显然是多余的,因为我的50多条规则都有这种情况.

干净的方式是什么?