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

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

  

目录

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

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

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

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

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

 

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

    return {

        startState: function(base) {

            return {tokenize: tokenBase,

                baseIndent: base || 0,

                stack: []};

        },

        token: function(stream, state) {

            if (stream.eatSpace()) return null;

            var style = state.tokenize(stream, state);

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

            var context = state.stack[state.stack.length-1];

            if (type == "hash" && context == "rule") style = "atom";

            else if (style == "variable") {

                if (context == "rule") style = "number";

                else if (!context || context == "@media{") style = "tag";

            }

            if (context == "rule" && /^[\{\};]$/.test(type))

                state.stack.pop();

            if (type == "{") {

                if (context == "@media") state.stack[state.stack.length-1] = "@media{";

                else state.stack.push("{");

            }

            else if (type == "}") state.stack.pop();

            else if (type == "@media") state.stack.push("@media");

            else if (context == "{" && type != "comment") state.stack.push("rule");

            return style;

        },

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

        indent: function(state, textAfter) {

            var n = state.stack.length;

            if (/^\}/.test(textAfter))

                n -= state.stack[state.stack.length-1] == "rule" ? 2 : 1;

            return state.baseIndent + n * indentUnit;

        },

        electricChars: "}"

    };

});

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

CodeMirror.defineMIME("text/css", "css");

CodeMirror.defineMode("htmlmixed", function(config, parserConfig) {

    var htmlMode = CodeMirror.getMode(config, {name: "xml", htmlMode: true});

    var jsMode = CodeMirror.getMode(config, "javascript");

    var cssMode = CodeMirror.getMode(config, "css");

    function html(stream, state) {

        var style = htmlMode.token(stream, state.htmlState);

        if (style == "tag" && stream.current() == ">" && state.htmlState.context) {

            if (/^script$/i.test(state.htmlState.context.tagName)) {

                state.token = javascript;

                state.localState = jsMode.startState(htmlMode.indent(state.htmlState, ""));

                state.mode = "javascript";

            }

            else if (/^style$/i.test(state.htmlState.context.tagName)) {

                state.token = css;

                state.localState = cssMode.startState(htmlMode.indent(state.htmlState, ""));

                state.mode = "css";

            }

        }

        return style;

    }

    function maybeBackup(stream, pat, style) {

        var cur = stream.current();

        var close = cur.search(pat);

        if (close > -1) stream.backUp(cur.length - close);

        return style;

}

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

    function javascript(stream, state) {

        if (stream.match(/^<\/\s*script\s*>/i, false)) {

            state.token = html;

            state.curState = null;

            state.mode = "html";

            return html(stream, state);

        }

        return maybeBackup(stream, /<\/\s*script\s*>/,

            jsMode.token(stream, state.localState));

    }

你可能感兴趣的:(笙默考试管理系统,java)