• 笙默考试管理系统-MyExamTest----codemirror(35)


    笙默考试管理系统-MyExamTest----codemirror(35

    目录

    一、 笙默考试管理系统-MyExamTest

    二、 笙默考试管理系统-MyExamTest

    三、 笙默考试管理系统-MyExamTest

    四、 笙默考试管理系统-MyExamTest

    五、 笙默考试管理系统-MyExamTest

    • 笙默考试管理系统-MyExamTest

      return {start: stream.start,

                    end: stream.pos,

                    string: stream.current(),

                    className: style || null,

                    state: state};

            },

            indentation: function(tabSize) {return countColumn(this.text, null, tabSize);},

            // Produces an HTML fragment for the line, taking selection,

            // marking, and highlighting into account.

            getHTML: function(sfrom, sto, includePre, tabText, endAt) {

                var html = [], first = true;

                if (includePre)

    • 笙默考试管理系统-MyExamTest

                    html.push(this.className ? '

    ': "
    ");

                function span(text, style) {

                    if (!text) return;

                    // Work around a bug where, in some compat modes, IE ignores leading spaces

                    if (first && ie && text.charAt(0) == " ") text = "\u00a0" + text.slice(1);

                    first = false;

                    if (style) html.push('', htmlEscape(text).replace(/\t/g, tabText), "");

                    else html.push(htmlEscape(text).replace(/\t/g, tabText));

                }

    • 笙默考试管理系统-MyExamTest

                var st = this.styles, allText = this.text, marked = this.marked;

                if (sfrom == sto) sfrom = null;

                var len = allText.length;

                if (endAt != null) len = Math.min(endAt, len);

    • 笙默考试管理系统-MyExamTest

                if (!allText && endAt == null)

                    span(" ", sfrom != null && sto == null ? "CodeMirror-selected" : null);

                else if (!marked && sfrom == null)

                    for (var i = 0, ch = 0; ch < len; i+=2) {

                        var str = st[i], style = st[i+1], l = str.length;

                        if (ch + l > len) str = str.slice(0, len - ch);

                        ch += l;

                        span(str, style && "cm-" + style);

                    }

                else {

                    var pos = 0, i = 0, text = "", style, sg = 0;

                    var markpos = -1, mark = null;

                    function nextMark() {

                        if (marked) {

                            markpos += 1;

                            mark = (markpos < marked.length) ? marked[markpos] : null;

                        }

                    }

    • 笙默考试管理系统-MyExamTest

                    nextMark();

                    while (pos < len) {

                        var upto = len;

                        var extraStyle = "";

                        if (sfrom != null) {

                            if (sfrom > pos) upto = sfrom;

                            else if (sto == null || sto > pos) {

                                extraStyle = " CodeMirror-selected";

                                if (sto != null) upto = Math.min(upto, sto);

                            }

                        }

                        while (mark && mark.to != null && mark.to <= pos) nextMark();

                        if (mark) {

                            if (mark.from > pos) upto = Math.min(upto, mark.from);

                            else {

                                extraStyle += " " + mark.style;

                                if (mark.to != null) upto = Math.min(upto, mark.to);

                            }

                        }

  • 相关阅读:
    自己动手从零写桌面操作系统GrapeOS系列教程——24.加载并运行loader
    Linux-vim使用
    基于Python的性能优化
    vue——基于element嵌套表格+多选
    rsa非对称加密
    HBASE集群主节点迁移割接手动操作步骤
    如何使用数组——javascript
    第一章 绪论
    springboot 批量下载文件, zip压缩下载
    算法进阶——字符串的排列
  • 原文地址:https://blog.csdn.net/N201871643/article/details/133880908