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


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

    目录

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

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

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

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

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

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

     var mac = /Mac/.test(navigator.platform);

        var win = /Win/.test(navigator.platform);

        // Known modes, by name and by MIME

        var modes = {}, mimeModes = {};

        CodeMirror.defineMode = function(name, mode) {

            if (!CodeMirror.defaults.mode && name != "null") CodeMirror.defaults.mode = name;

            modes[name] = mode;

        };

        CodeMirror.defineMIME = function(mime, spec) {

            mimeModes[mime] = spec;

    };

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

        CodeMirror.getMode = function(options, spec) {

            if (typeof spec == "string" && mimeModes.hasOwnProperty(spec))

                spec = mimeModes[spec];

            if (typeof spec == "string")

                var mname = spec, config = {};

            else if (spec != null)

                var mname = spec.name, config = spec;

            var mfactory = modes[mname];

            if (!mfactory) {

                if (window.console) console.warn("No mode " + mname + " found, falling back to plain text.");

                return CodeMirror.getMode(options, "text/plain");

            }

            return mfactory(options, config || {});

    };

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

        CodeMirror.listModes = function() {

            var list = [];

            for (var m in modes)

                if (modes.propertyIsEnumerable(m)) list.push(m);

            return list;

        };

        CodeMirror.listMIMEs = function() {

            var list = [];

            for (var m in mimeModes)

                if (mimeModes.propertyIsEnumerable(m)) list.push({mime: m, mode: mimeModes[m]});

            return list;

        };

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

        var extensions = CodeMirror.extensions = {};

        CodeMirror.defineExtension = function(name, func) {

            extensions[name] = func;

        };

        var commands = CodeMirror.commands = {

            selectAll: function(cm) {cm.setSelection({line: 0, ch: 0}, {line: cm.lineCount() - 1});},

            killLine: function(cm) {

                var from = cm.getCursor(true), to = cm.getCursor(false), sel = !posEq(from, to);

                if (!sel && cm.getLine(from.line).length == from.ch) cm.replaceRange("", from, {line: from.line + 1, ch: 0});

                else cm.replaceRange("", from, sel ? to : {line: from.line});

            },

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

            deleteLine: function(cm) {var l = cm.getCursor().line; cm.replaceRange("", {line: l, ch: 0}, {line: l});},

            undo: function(cm) {cm.undo();},

            redo: function(cm) {cm.redo();},

            goDocStart: function(cm) {cm.setCursor(0, 0, true);},

            goDocEnd: function(cm) {cm.setSelection({line: cm.lineCount() - 1}, null, true);},

            goLineStart: function(cm) {cm.setCursor(cm.getCursor().line, 0, true);},

            goLineStartSmart: function(cm) {

                var cur = cm.getCursor();

                var text = cm.getLine(cur.line), firstNonWS = Math.max(0, text.search(/\S/));

                cm.setCursor(cur.line, cur.ch <= firstNonWS && cur.ch ? 0 : firstNonWS, true);

            },

            goLineEnd: function(cm) {cm.setSelection({line: cm.getCursor().line}, null, true);},

            goLineUp: function(cm) {cm.moveV(-1, "line");},

            goLineDown: function(cm) {cm.moveV(1, "line");},

            goPageUp: function(cm) {cm.moveV(-1, "page");},

            goPageDown: function(cm) {cm.moveV(1, "page");},

            goCharLeft: function(cm) {cm.moveH(-1, "char");},

            goCharRight: function(cm) {cm.moveH(1, "char");},

            goColumnLeft: function(cm) {cm.moveH(-1, "column");},

            goColumnRight: function(cm) {cm.moveH(1, "column");},

            goWordLeft: function(cm) {cm.moveH(-1, "word");},

            goWordRight: function(cm) {cm.moveH(1, "word");},

            delCharLeft: function(cm) {cm.deleteH(-1, "char");},

            delCharRight: function(cm) {cm.deleteH(1, "char");},

            delWordLeft: function(cm) {cm.deleteH(-1, "word");},

            delWordRight: function(cm) {cm.deleteH(1, "word");},

            indentAuto: function(cm) {cm.indentSelection("smart");},

            indentMore: function(cm) {cm.indentSelection("add");},

            indentLess: function(cm) {cm.indentSelection("subtract");},

            insertTab: function(cm) {cm.replaceSelection("\t", "end");},

            transposeChars: function(cm) {

  • 相关阅读:
    PolarDB 卷来卷去 云原生低延迟强一致性读 1 (SCC READ 译 )
    细说RTSP、RTMP和GB28181区别
    【CFD小工坊】浅水方程的离散及求解方法
    记Windows服务器Redis 6379被攻击 被设置主从模式同步项目数据
    Intent传大数据的深入分析
    Qt蓝牙:搜索蓝牙设备的类——QBluetoothDeviceDiscoveryAgent
    Java之继承、枚举、final、static、多态、向上向下转型、抽象类、接口、内部类、匿名内部类、lambda
    Qt 关于窗口全屏显示与退出全屏的实现
    使用tkinter开发GUI程序 -- 输入文本框Entry、文字框Text、滚动条Scrollbar
    【Antd】InputNumber 只能输入整数
  • 原文地址:https://blog.csdn.net/N201871643/article/details/132996109