codemirror:检测何时删除行中的最后一个字符

codemirror: detect when last character in line is deleted

当一行中的最后一个字符被删除时,我的模式"know"如何?

比如说,我输入了一些东西,我的模式对象在我输入时接收到对 token(stream, state) 的调用。然后,如果我一个一个地删除字符,比如说,通过按退格键,每次都会调用 token 方法,除非我删除最后一个字符(在这种情况下调用 blankLine)。

如果我从令牌构建 AST,这并不方便。我需要删除我的 AST 中代表最后删除的字符的部分。如果我可以将它与删除最后一个字符相关联,我可以使用 blankLine,但我找不到方法。

请帮忙。

模式不会也不应该知道文档的更改。它只是解析给定的流。但是您可以让其他代码监听 "change" 事件,并更新您的模式使用的数据结构以响应它们。