ACE 编辑器:如何检测更改了哪个块
ACE editor: how to detect which block changed
我正在寻找一种方法来检测我的更改发生在哪个块中。
我正在编写一个小型降价解析器并想要一个简单的 UI,为了保持位置和性能我只希望实时预览更新我实际更改的部分。为此,我需要知道我正在修改 ace 编辑器中的哪个部分。
当我使用 onchange
事件时,事件数据清楚地指定了我的更改发生的位置、行和位置。在我开始编写向上和向下搜索换行符的代码之前,我想问一下 API 到 return 中是否有默认方式 block 改变了。
你会得到这样的东西:
fs.readFile(__dirname + '/example.md', 'utf8', function(err, text) {
session = ace.createEditSession(text);
session.on('change', function(e, f) {
// getChangedParagraph does not exist and needs to return the
// actual block which changed.
var changedText = getChangedParagraph();
parseTheText(changedText);
});
editor.setSession(session);
});
ace中没有块的概念。 ace 更改事件给出更改的行和列,您需要跟踪解析器中的位置
我正在寻找一种方法来检测我的更改发生在哪个块中。
我正在编写一个小型降价解析器并想要一个简单的 UI,为了保持位置和性能我只希望实时预览更新我实际更改的部分。为此,我需要知道我正在修改 ace 编辑器中的哪个部分。
当我使用 onchange
事件时,事件数据清楚地指定了我的更改发生的位置、行和位置。在我开始编写向上和向下搜索换行符的代码之前,我想问一下 API 到 return 中是否有默认方式 block 改变了。
你会得到这样的东西:
fs.readFile(__dirname + '/example.md', 'utf8', function(err, text) {
session = ace.createEditSession(text);
session.on('change', function(e, f) {
// getChangedParagraph does not exist and needs to return the
// actual block which changed.
var changedText = getChangedParagraph();
parseTheText(changedText);
});
editor.setSession(session);
});
ace中没有块的概念。 ace 更改事件给出更改的行和列,您需要跟踪解析器中的位置