笙默考試管理系統-MyExamTest----codemirror(49)
目錄
笙默考試管理系統-MyExamTest----codemirror(49)
一、 笙默考試管理系統-MyExamTest----codemirror
二、 笙默考試管理系統-MyExamTest----codemirror
三、 笙默考試管理系統-MyExamTest----codemirror
四、 笙默考試管理系統-MyExamTest----codemirror
五、 笙默考試管理系統-MyExamTest----codemirror
??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);
????????????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;
????????????????????}
????????????????}
????????????????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);
????????????????????????}
????????????????????}
????????????????????for (;;) {
????????????????????????var end = pos + text.length;
????????????????????????var appliedStyle = style;
????????????????????????if (extraStyle) appliedStyle = style ? style + extraStyle : extraStyle;
????????????????????????span(end > upto ? text.slice(0, upto - pos) : text, appliedStyle);
????????????????????????if (end >= upto) {text = text.slice(upto - pos); pos = upto; break;}
????????????????????????pos = end;
????????????????????????text = st[i++]; style = "cm-" + st[i++];
????????????????????}
????????????????}
????????????????if (sfrom != null && sto == null) span(" ", "CodeMirror-selected");
????????????}
????????????if (includePre) html.push("</pre>");
????????????return html.join("");
????????},
????????cleanUp: function() {
????????????this.parent = null;
????????????if (this.marked)
????????????????for (var i = 0, e = this.marked.length; i < e; ++i) this.marked[i].detach(this);
????????}