mirror of
https://github.com/go-gitea/gitea
synced 2025-07-22 18:28:37 +00:00
Update CodeMirror to version 5.49.0 (#8381)
* Update CodeMirror to version 5.49.0 * Update CodeMirror versions in librejs and VERSIONS
This commit is contained in:
committed by
Lauris BH
parent
6fa14ac3c8
commit
1e9b330525
@@ -5,17 +5,17 @@
|
||||
<link rel=stylesheet href="../../doc/docs.css">
|
||||
|
||||
<link rel="stylesheet" href="../../lib/codemirror.css">
|
||||
<link href="http://fonts.googleapis.com/css?family=Inconsolata" rel="stylesheet" type="text/css">
|
||||
<link href="http://fonts.googleapis.com/css?family=Inconsolata" rel="stylesheet">
|
||||
<script src="../../lib/codemirror.js"></script>
|
||||
<script src="vb.js"></script>
|
||||
<script type="text/javascript" src="../../addon/runmode/runmode.js"></script>
|
||||
<script src="../../addon/runmode/runmode.js"></script>
|
||||
<style>
|
||||
.CodeMirror {border: 1px solid #aaa; height:210px; height: auto;}
|
||||
.CodeMirror-scroll { overflow-x: auto; overflow-y: hidden;}
|
||||
.CodeMirror pre { font-family: Inconsolata; font-size: 14px}
|
||||
</style>
|
||||
<div id=nav>
|
||||
<a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>
|
||||
<a href="https://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>
|
||||
|
||||
<ul>
|
||||
<li><a href="../../index.html">Home</a>
|
||||
@@ -30,73 +30,20 @@
|
||||
|
||||
<article>
|
||||
<h2>VB.NET mode</h2>
|
||||
|
||||
<script type="text/javascript">
|
||||
function test(golden, text) {
|
||||
var ok = true;
|
||||
var i = 0;
|
||||
function callback(token, style, lineNo, pos){
|
||||
//console.log(String(token) + " " + String(style) + " " + String(lineNo) + " " + String(pos));
|
||||
var result = [String(token), String(style)];
|
||||
if (golden[i][0] != result[0] || golden[i][1] != result[1]){
|
||||
return "Error, expected: " + String(golden[i]) + ", got: " + String(result);
|
||||
ok = false;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
CodeMirror.runMode(text, "text/x-vb",callback);
|
||||
|
||||
if (ok) return "Tests OK";
|
||||
}
|
||||
function testTypes() {
|
||||
var golden = [['Integer','keyword'],[' ','null'],['Float','keyword']]
|
||||
var text = "Integer Float";
|
||||
return test(golden,text);
|
||||
}
|
||||
function testIf(){
|
||||
var golden = [['If','keyword'],[' ','null'],['True','keyword'],[' ','null'],['End','keyword'],[' ','null'],['If','keyword']];
|
||||
var text = 'If True End If';
|
||||
return test(golden, text);
|
||||
}
|
||||
function testDecl(){
|
||||
var golden = [['Dim','keyword'],[' ','null'],['x','variable'],[' ','null'],['as','keyword'],[' ','null'],['Integer','keyword']];
|
||||
var text = 'Dim x as Integer';
|
||||
return test(golden, text);
|
||||
}
|
||||
function testAll(){
|
||||
var result = "";
|
||||
|
||||
result += testTypes() + "\n";
|
||||
result += testIf() + "\n";
|
||||
result += testDecl() + "\n";
|
||||
return result;
|
||||
|
||||
}
|
||||
function initText(editor) {
|
||||
var content = 'Class rocket\nPrivate quality as Double\nPublic Sub launch() as String\nif quality > 0.8\nlaunch = "Successful"\nElse\nlaunch = "Failed"\nEnd If\nEnd sub\nEnd class\n';
|
||||
editor.setValue(content);
|
||||
for (var i =0; i< editor.lineCount(); i++) editor.indentLine(i);
|
||||
}
|
||||
function init() {
|
||||
editor = CodeMirror.fromTextArea(document.getElementById("solution"), {
|
||||
lineNumbers: true,
|
||||
mode: "text/x-vb",
|
||||
readOnly: false
|
||||
});
|
||||
runTest();
|
||||
}
|
||||
function runTest() {
|
||||
document.getElementById('testresult').innerHTML = testAll();
|
||||
initText(editor);
|
||||
|
||||
}
|
||||
document.body.onload = init;
|
||||
</script>
|
||||
|
||||
<div id="edit">
|
||||
<textarea style="width:95%;height:200px;padding:5px;" name="solution" id="solution" ></textarea>
|
||||
<textarea name="code" id="code" >
|
||||
Class rocket
|
||||
Private quality as Double
|
||||
Public Sub launch() as String
|
||||
If quality > 0.8
|
||||
launch = "Successful"
|
||||
Else
|
||||
launch = "Failed"
|
||||
End If
|
||||
End sub
|
||||
End class
|
||||
</textarea>
|
||||
</div>
|
||||
<pre id="testresult"></pre>
|
||||
<p>MIME type defined: <code>text/x-vb</code>.</p>
|
||||
|
||||
<script>CodeMirror.fromTextArea(document.getElementById("code"))</script>
|
||||
</article>
|
||||
|
17
public/vendor/plugins/codemirror/mode/vb/vb.js
vendored
17
public/vendor/plugins/codemirror/mode/vb/vb.js
vendored
@@ -1,5 +1,5 @@
|
||||
// CodeMirror, copyright (c) by Marijn Haverbeke and others
|
||||
// Distributed under an MIT license: http://codemirror.net/LICENSE
|
||||
// Distributed under an MIT license: https://codemirror.net/LICENSE
|
||||
|
||||
(function(mod) {
|
||||
if (typeof exports == "object" && typeof module == "object") // CommonJS
|
||||
@@ -25,16 +25,16 @@ CodeMirror.defineMode("vb", function(conf, parserConf) {
|
||||
var tripleDelimiters = new RegExp("^((//=)|(>>=)|(<<=)|(\\*\\*=))");
|
||||
var identifiers = new RegExp("^[_A-Za-z][_A-Za-z0-9]*");
|
||||
|
||||
var openingKeywords = ['class','module', 'sub','enum','select','while','if','function', 'get','set','property', 'try'];
|
||||
var middleKeywords = ['else','elseif','case', 'catch'];
|
||||
var openingKeywords = ['class','module', 'sub','enum','select','while','if','function', 'get','set','property', 'try', 'structure', 'synclock', 'using', 'with'];
|
||||
var middleKeywords = ['else','elseif','case', 'catch', 'finally'];
|
||||
var endKeywords = ['next','loop'];
|
||||
|
||||
var operatorKeywords = ['and', 'or', 'not', 'xor', 'in'];
|
||||
var operatorKeywords = ['and', "andalso", 'or', 'orelse', 'xor', 'in', 'not', 'is', 'isnot', 'like'];
|
||||
var wordOperators = wordRegexp(operatorKeywords);
|
||||
var commonKeywords = ['as', 'dim', 'break', 'continue','optional', 'then', 'until',
|
||||
'goto', 'byval','byref','new','handles','property', 'return',
|
||||
'const','private', 'protected', 'friend', 'public', 'shared', 'static', 'true','false'];
|
||||
var commontypes = ['integer','string','double','decimal','boolean','short','char', 'float','single'];
|
||||
|
||||
var commonKeywords = ["#const", "#else", "#elseif", "#end", "#if", "#region", "addhandler", "addressof", "alias", "as", "byref", "byval", "cbool", "cbyte", "cchar", "cdate", "cdbl", "cdec", "cint", "clng", "cobj", "compare", "const", "continue", "csbyte", "cshort", "csng", "cstr", "cuint", "culng", "cushort", "declare", "default", "delegate", "dim", "directcast", "each", "erase", "error", "event", "exit", "explicit", "false", "for", "friend", "gettype", "goto", "handles", "implements", "imports", "infer", "inherits", "interface", "isfalse", "istrue", "lib", "me", "mod", "mustinherit", "mustoverride", "my", "mybase", "myclass", "namespace", "narrowing", "new", "nothing", "notinheritable", "notoverridable", "of", "off", "on", "operator", "option", "optional", "out", "overloads", "overridable", "overrides", "paramarray", "partial", "private", "protected", "public", "raiseevent", "readonly", "redim", "removehandler", "resume", "return", "shadows", "shared", "static", "step", "stop", "strict", "then", "throw", "to", "true", "trycast", "typeof", "until", "until", "when", "widening", "withevents", "writeonly"];
|
||||
|
||||
var commontypes = ['object', 'boolean', 'char', 'string', 'byte', 'sbyte', 'short', 'ushort', 'int16', 'uint16', 'integer', 'uinteger', 'int32', 'uint32', 'long', 'ulong', 'int64', 'uint64', 'decimal', 'single', 'double', 'float', 'date', 'datetime', 'intptr', 'uintptr'];
|
||||
|
||||
var keywords = wordRegexp(commonKeywords);
|
||||
var types = wordRegexp(commontypes);
|
||||
@@ -202,7 +202,6 @@ CodeMirror.defineMode("vb", function(conf, parserConf) {
|
||||
// Handle '.' connected identifiers
|
||||
if (current === '.') {
|
||||
style = state.tokenize(stream, state);
|
||||
current = stream.current();
|
||||
if (style === 'variable') {
|
||||
return 'variable';
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user