orbit-basic/app/assets/javascripts/codemirror/mode/vbscript.js

27 lines
871 B
JavaScript

CodeMirror.defineMode("vbscript", function() {
var regexVBScriptKeyword = /^(?:Call|Case|CDate|Clear|CInt|CLng|Const|CStr|Description|Dim|Do|Each|Else|ElseIf|End|Err|Error|Exit|False|For|Function|If|LCase|Loop|LTrim|Next|Nothing|Now|Number|On|Preserve|Quit|ReDim|Resume|RTrim|Select|Set|Sub|Then|To|Trim|True|UBound|UCase|Until|VbCr|VbCrLf|VbLf|VbTab)$/im;
return {
token: function(stream) {
if (stream.eatSpace()) return null;
var ch = stream.next();
if (ch == "'") {
stream.skipToEnd();
return "comment";
}
if (ch == '"') {
stream.skipTo('"');
return "string";
}
if (/\w/.test(ch)) {
stream.eatWhile(/\w/);
if (regexVBScriptKeyword.test(stream.current())) return "keyword";
}
return null;
}
};
});
CodeMirror.defineMIME("text/vbscript", "vbscript");