javascript - codemirror 获取当前图表位置

标签 javascript highlighting codemirror

我正在尝试使用 CodeMirror 来突出显示某些文本。 这个项目中的不寻常之处在于我必须突出显示的内容不是预定义的,而是我进行了一个网络服务调用,而 webserivice 的响应为我提供了应该突出显示的内容的索引。这是一个 NLP 项目,网络服务为我提供了特定于上下文的“知识”,这就是我想强调的。

简单地说,我正在获取具有开始和结束属性的 JSON 对象,这些属性表示要突出显示的字符的位置

以下是我到目前为止的模式定义,我已经编辑了“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 吗?

最佳答案

老问题,但如果你想纯粹从一个数字中找到 line/ch 值,你可以使用:

var editor = CodeMirror.fromTextArea(...
...);

var obj = editor.posFromIndex(number);
alert(obj.line + ', ' + obj.ch);

关于javascript - codemirror 获取当前图表位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9945370/

相关文章:

javascript - Codemirror - 将新关键字添加到语法高亮文件

javascript - CKeditor - 更改表格样式

javascript - HTML 注释(选择、突出显示、删除格式)

javascript - 用于匹配 package.json 内容中的模块的正则表达式

css - 突出显示文本 - 如何有一致的填充?

iphone - 在 UITableView 中突出显示所选单元格的边框

javascript - 如何在iframe中输出codemirror的结果?

javascript - 向代码镜像添加动态提示

javascript - 如何让圆形轮播 slider 只改变一个方向?

javascript - 使用 javascript 根据一个公共(public)属性对多个数组进行分组