笙默考试管理系统-MyExamTest----codemirror(44)
目录
笙默考试管理系统-MyExamTest----codemirror(44)
[一、 笙默考试管理系统-MyExamTest----codemirror](#一、 笙默考试管理系统-MyExamTest----codemirror)
[二、 笙默考试管理系统-MyExamTest----codemirror](#二、 笙默考试管理系统-MyExamTest----codemirror)
[三、 笙默考试管理系统-MyExamTest----codemirror](#三、 笙默考试管理系统-MyExamTest----codemirror)
[四、 笙默考试管理系统-MyExamTest----codemirror](#四、 笙默考试管理系统-MyExamTest----codemirror)
[五、 笙默考试管理系统-MyExamTest----codemirror](#五、 笙默考试管理系统-MyExamTest----codemirror)
- 笙默考试管理系统-MyExamTest----codemirror
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);});
},
- 笙默考试管理系统-MyExamTest----codemirror
// Run the given mode's parser over a line, update the styles
// array, which contains alternating fragments of text and CSS
// classes.
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()) {
- 笙默考试管理系统-MyExamTest----codemirror
var style = mode.token(stream, state);
var substr = this.text.slice(stream.start, stream.pos);
stream.start = stream.pos;
- 笙默考试管理系统-MyExamTest----codemirror
if (pos && st[pos-1] == style)
st[pos-2] += substr;
else if (substr) {
if (!changed && (st[pos+1] != style || (pos && st[pos-2] != prevWord))) changed = true;
- 笙默考试管理系统-MyExamTest----codemirror
st[pos++] = substr; st[pos++] = style;
prevWord = curWord; curWord = st[pos];