Цель: Я использую codemirror в качестве редактора.Я хочу
- Поиск и выделение нескольких строк
- Я хочу иметь возможность повторять каждое найденное совпадение и печатать его номер строки.
- Я хочуделайте это программно и не хотите использовать диалоговое окно, как в примере https://codemirror.net/demo/search.html
Проблема:
- в течение цикла, когда выбрано только последнее совпадениепредыдущие очищены, но я также хочу, чтобы он был выделен желтым цветом, например https://codemirror.net/demo/search.html
JSFIDDLE: https://jsfiddle.net/bababalcksheep/p7xg1utn/30/
КОД:
$(document).ready(function() {
//
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
mode: "text/html",
lineNumbers: true,
});
//
function search(val) {
var cursor = editor.getSearchCursor(val);
while (cursor.findNext()) {
editor.setSelection(cursor.from(), cursor.to());
console.log('found at line ', cursor.pos.from.line + 1);
}
}
//
$('#search').click(function(event) {
event.preventDefault();
search(/^alpha|^beta/);
});
//
});