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


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

    目录

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

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

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

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

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

    • 笙默考试管理系统-MyExamTest

     addMark: function(mark) {

                mark.attach(this);

                if (this.marked == null) this.marked = [];

                this.marked.push(mark);

                this.marked.sort(function(a, b){return (a.from || 0) - (b.from || 0);});

            },

            // Run the given mode's parser over a line, update the styles

            // array, which contains alternating fragments of text and CSS

            // classes.

    • 笙默考试管理系统-MyExamTest

            highlight: function(mode, state, tabSize) {

                var stream = new StringStream(this.text, tabSize), st = this.styles, pos = 0;

                var changed = false, curWord = st[0], prevWord;

                if (this.text == "" && mode.blankLine) mode.blankLine(state);

                while (!stream.eol()) {

                    var style = mode.token(stream, state);

                    var substr = this.text.slice(stream.start, stream.pos);

                    stream.start = stream.pos;

                    if (pos && st[pos-1] == style)

    • 笙默考试管理系统-MyExamTest

                        st[pos-2] += substr;

                    else if (substr) {

                        if (!changed && (st[pos+1] != style || (pos && st[pos-2] != prevWord))) changed = true;

                        st[pos++] = substr; st[pos++] = style;

                        prevWord = curWord; curWord = st[pos];

                    }

    • 笙默考试管理系统-MyExamTest

                    // Give up when line is ridiculously long

                    if (stream.pos > 5000) {

                        st[pos++] = this.text.slice(stream.pos); st[pos++] = null;

                        break;

                    }

                }

                if (st.length != pos) {st.length = pos; changed = true;}

                if (pos && st[pos-2] != prevWord) changed = true;

                // Short lines with simple highlights return null, and are

                // counted as changed by the driver because they are likely to

                // highlight the same way in various contexts.

                return changed || (st.length < 5 && this.text.length < 10 ? null : false);

            },

    • 笙默考试管理系统-MyExamTest

            // Fetch the parser token for a given character. Useful for hacks

            // that want to inspect the mode state (say, for completion).

            getTokenAt: function(mode, state, ch) {

                var txt = this.text, stream = new StringStream(txt);

                while (stream.pos < ch && !stream.eol()) {

                    stream.start = stream.pos;

                    var style = mode.token(stream, state);

                }

  • 相关阅读:
    python自学入门(打卡十)2022-11-22
    京东按关键字搜索商品 API
    正则验证用户名和跨域postmessage
    pandas 的基本使用
    ffmpeg错误码
    java编程基础总结——28.进程、线程、协程
    C - Marbles Gym - 102348C
    PostCSS概述
    嵌入式裸板开发
    【从零开始学微服务】04.微服务架构的特点
  • 原文地址:https://blog.csdn.net/N201871643/article/details/133880870