有没有办法覆盖 Vorpal 模式退出命令?

Is there a way to override the Vorpal mode exit command?

我正在使用 Vorpal mode 来允许用户输入文本,稍后我会解析(我找不到使用常规 command 来完成此操作的方法,因为我可以'不要提前考虑所有文本)。当用户键入 exit 时,他将退出该模式。我希望它是一个不同的字符串 - 或者可能是一个额外的字符串(比如 quitend)。

有什么方法可以覆盖 exit 命令,或者失败时,当用户提供特定字符串时我自己触发它?

示例代码:
这是一个 exercise that implements a Reverse Polish Notation 计算器。如果您查看 handleInput 函数(第 47 行),您会发现我必须手动处理 q 字符串并终止进程 - 我想要它做的只是表现得像模式的exit 命令(第 74 行附近的某处)。

目前没有办法做到这一点,但是您可以file an issue on Github将其添加为增强功能,因为这是个好主意。

但是,it looks like the catch command 可能更符合您的要求。这接受任意命令,而不是在 "mode".


更新

在查看您的代码时,catch 似乎可以解决问题。像这样:

vorpal
  .catch('[input...]')
  .action(function (args, cb) {
    handleInput(args.input.join(' '), cb);
  });

在上面的示例中,一旦应用程序启动,就好像您已经在 "mode" 中一样。任何与预定义命令(例如 exit)不匹配的命令都将调用 catch 方法,并且它可以通过接受可变参数并加入它们来表现得像一个模式。

这有意义吗?