如何将增量应用于 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()
假设我想将增量应用于单个字符串,例如:
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()