JavaScript
- 1 ответ
- 0 вопросов
1
Вклад в тег
function addHighlight( cmObj, query)
{
var overlay = searchOverlay(query, queryCaseInsensitive(query));
cmObj.addOverlay(overlay);
}
function searchOverlay(query, caseInsensitive) {
if (typeof query == "string")
query = new RegExp(query.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"), caseInsensitive ? "gi" : "g");
else if (!query.global)
query = new RegExp(query.source, query.ignoreCase ? "gi" : "g");
return {token: function(stream) {
query.lastIndex = stream.pos;
var match = query.exec(stream.string);
if (match && match.index == stream.pos) {
stream.pos += match[0].length || 1;
return "searching";
} else if (match) {
stream.pos = match.index;
} else {
stream.skipToEnd();
}
}};
}
function queryCaseInsensitive(query) {
return typeof query == "string" && query == query.toLowerCase();
}
addHighlight(cmObj, RegExp( /Ваше регулярное выражение, для поиска и выделения всего что нужно/iu ))