CodeMirror - 更新选择

时间:2014-12-18 22:51:09

标签: javascript codemirror

因此,在CodeMirror中,您可以通过调用getCursor()执行以下操作来进行选择:

cm.getCursor(true) // start selection
cm.getCursor(false) // end selection

这为您提供了一个保持光标的行和ch位置的对象。有了这个,你可以mark text

cm.markText(startPos, endPos, options)

一旦我标记了文本,是否可以更新它? (实际上没有删除它并添加新标记)
例如:

var t = cm.markText({ line:0, ch:0 }, { line:0, ch:10 });
t.setEnd({ line:0, ch:5 });

修改 因为有些人可能会寻找它。这是修改标记文本的方法:

var t = editor.markText({ line:0, ch:0 }, { line:0, ch:10 }, {className: someClass});
t.clear();
t = editor.markText({ line:0, ch:0 }, { line:0, ch:5 }, {className: someClass});

1 个答案:

答案 0 :(得分:1)

没有。标记的工作方式实际上与您的想法相反 - 线条指向并记住它们的标记,反之亦然。

See the documentation about TextMarker from the source code

以下是相关引用:

  

线对象包含包含markedSpans的数组({from, to, marker})   对象指向这样的标记对象,并指示这样的   标记出现在该行上。