Я пытаюсь использовать CodeMirror для выделения определенного текста.
Необычная вещь в этом проекте состоит в том, что то, что я должен выделить, не предопределено, скорее я делаю вызов веб-службы, и ответ веб-службы дает мне индексы того, что должно быть выделено. Это проект НЛП, и веб-сервис дает мне «специфические» знания по контексту, и это то, что я хочу выделить.
Проще говоря, я получаю объекты JSON с атрибутами start и end, которые обозначают позиции символов, которые должны быть выделены
Ниже приведено то, что я имею в качестве определения режима, я отредактировал режим "diff"
CodeMirror.defineMode("diff", function() {
var i=-1;
return {
token: function(stream) {
i++;
// stream.skipToEnd();
var ch = stream.next();
if ( bufferedResponse != null && bufferedResponse != "" && bufferedResponse.allergies != null ){
$.each( bufferedResponse.allergies, function( key, value )
{
if ( key != null && value != null && value != "" )
{
if(i<value.start && i>value.end){
return "minus";
}
}
});
}
}
};
});
CodeMirror.defineMIME("text/x-diff", "diff");
Мой вопрос: как я могу получить текущий поток относительно начала строки (не строки)? Я имею в виду, если поток читает 149-й символ, как я могу получить это число? "pos", "start" и "columns" дают мне позицию только в текущей строке!
Возможно ли это с помощью CodeMirror?