upgrade editor.md(many bug exists)

This commit is contained in:
gsw945
2024-03-27 16:26:01 +08:00
parent 93441cad0e
commit 8c2c69e433
448 changed files with 43080 additions and 16808 deletions

View File

@@ -7,9 +7,9 @@
<link rel="stylesheet" href="../../lib/codemirror.css">
<script src="../../lib/codemirror.js"></script>
<script src="pascal.js"></script>
<style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
<style>.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</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" alt=""></a>
<ul>
<li><a href="../../index.html">Home</a>

View File

@@ -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
@@ -17,9 +17,21 @@ CodeMirror.defineMode("pascal", function() {
for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
return obj;
}
var keywords = words("and array begin case const div do downto else end file for forward integer " +
"boolean char function goto if in label mod nil not of or packed procedure " +
"program record repeat set string then to type until var while with");
var keywords = words(
"absolute and array asm begin case const constructor destructor div do " +
"downto else end file for function goto if implementation in inherited " +
"inline interface label mod nil not object of operator or packed procedure " +
"program record reintroduce repeat self set shl shr string then to type " +
"unit until uses var while with xor as class dispinterface except exports " +
"finalization finally initialization inline is library on out packed " +
"property raise resourcestring threadvar try absolute abstract alias " +
"assembler bitpacked break cdecl continue cppdecl cvar default deprecated " +
"dynamic enumerator experimental export external far far16 forward generic " +
"helper implements index interrupt iocheck local message name near " +
"nodefault noreturn nostackframe oldfpccall otherwise overload override " +
"pascal platform private protected public published read register " +
"reintroduce result safecall saveregisters softfloat specialize static " +
"stdcall stored strict unaligned unimplemented varargs virtual write");
var atoms = {"null": true};
var isOperatorChar = /[+\-*&%=<>!?|\/]/;
@@ -38,7 +50,11 @@ CodeMirror.defineMode("pascal", function() {
state.tokenize = tokenComment;
return tokenComment(stream, state);
}
if (/[\[\]{}\(\),;\:\.]/.test(ch)) {
if (ch == "{") {
state.tokenize = tokenCommentBraces;
return tokenCommentBraces(stream, state);
}
if (/[\[\]\(\),;\:\.]/.test(ch)) {
return null;
}
if (/\d/.test(ch)) {
@@ -86,6 +102,17 @@ CodeMirror.defineMode("pascal", function() {
return "comment";
}
function tokenCommentBraces(stream, state) {
var ch;
while (ch = stream.next()) {
if (ch == "}") {
state.tokenize = null;
break;
}
}
return "comment";
}
// Interface
return {