以编程方式从Atom的撤消堆栈中删除条目

时间:2017-11-03 12:20:01

标签: coffeescript atom-editor

我为Atom编辑器编写了一小段coffeescript代码,用于在保存之前更新某些文件的时间戳评论,并且它运行良好。

不幸的是,这种修改很明显会在Atom的撤销堆栈中结束,因此如果在保存这些文件后撤消我的更改,则在之前的更改之前撤消时间戳。出于这个原因,我想从撤消堆栈中删除此时间戳更新。

我知道我可以使用TextBuffer.transact()TextEditor.transact()将多个更改打包到一个撤消事务中,但我找不到如何删除最后一个条目(或条目) )来自撤销堆栈。

唯一的解决方案是直接访问historyProvider并弄乱undostack Array吗?坦率地说,现在我不知道这会产生哪些副作用,但我在Atom API中找不到任何我需要的东西。

一如既往地提前感谢:)

1 个答案:

答案 0 :(得分:0)

对不起自动回答,但我找到了实现我想要的方法。

使用Editor.insertText(text, {undo: 'skip'},可以从撤消堆栈中删除文本插入,并且可以为setTextInRange提供相同的选项,这是我之前使用的。