0
変更が発生したブロックを検出する方法を探しています。ACEエディタ:どのブロックが変更されたかを検出する方法
小さなマークダウンパーサーを作成していて、単純なUIが必要な場合は、位置とパフォーマンスを維持するために、実際に変更している部分をライブプレビューで更新したいだけです。これが機能するには、私はエディタのどの部分を修正しているのかを知る必要があります。
私がonchange
イベントを使用するとき、イベントデータは、自分の変更がどこで発生したか、どの行と位置であるかをきれいに指定します。改行のために上下を検索するコードを書く前に、ブロックが変更されたAPIにデフォルトの方法があるかどうか尋ねたいと思っていました。
あなたはこのような何かを得るでしょう:エース内のブロックの概念がない
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);
});
ありがとうございます。パーサに変更を送信するだけですか?または、テキスト全体を送信し、解析し、ASTをマージしますか?それとももっと良い方法がありますか? –