如何将增量应用于 ace.js 中的字符串

How to apply a delta to a string in ace.js

假设我想将增量应用于单个字符串,例如:

My multiline
string

我想对那个字符串应用 delta,例如:

{"start":{"row":3,"column":78},"end":{"row":3,"column":79},"action":"insert","lines":["e"],"id":3}

现在,我不想要这个,但是是否有任何 ace.js 函数来处理 Stadalone 字符串上的增量?

编辑:供您参考,增量是 ace.js 了解发生了什么编辑的方式

此外,通过应用增量,我特指 ace.js

中的 redo 函数

唯一的方法是创建一个ace文档的实例,调用它的applyDelta方法,然后调用getValue。您也可以重新实现逻辑,但速度不会快多少,因为您仍然需要将字符串拆分成行以找到插入的位置。

Document = ace.require("ace/document").Document
doc = new Document("My \n multiline\n sting")
doc.applyDelta({
    start:{"row":2,"column":3},
    end:{"row":2,"column":4},
    action:"insert",
    lines:["r"],
})
doc.getValue()