Updated codemirror to v4.12.

Did a lot of cleanup to limit the size of the plugin.
I kept the emmet plugin.
This commit is contained in:
Francois Delpierre
2015-02-07 18:41:17 +01:00
parent fd0cde4263
commit 11722b9c82
180 changed files with 12165 additions and 5726 deletions
+16 -9
View File
@@ -10,12 +10,12 @@
<script src="sparql.js"></script>
<style>.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
<div id=nav>
<a href="http://codemirror.net"><img id=logo src="../../doc/logo.png"></a>
<a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>
<ul>
<li><a href="../../index.html">Home</a>
<li><a href="../../doc/manual.html">Manual</a>
<li><a href="https://github.com/marijnh/codemirror">Code</a>
<li><a href="https://github.com/codemirror/codemirror">Code</a>
</ul>
<ul>
<li><a href="../index.html">Language modes</a>
@@ -29,26 +29,33 @@
PREFIX a: &lt;http://www.w3.org/2000/10/annotation-ns#>
PREFIX dc: &lt;http://purl.org/dc/elements/1.1/>
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#>
# Comment!
SELECT ?given ?family
WHERE {
?annot a:annotates &lt;http://www.w3.org/TR/rdf-sparql-query/> .
?annot dc:creator ?c .
OPTIONAL {?c foaf:given ?given ;
foaf:family ?family } .
{
?annot a:annotates &lt;http://www.w3.org/TR/rdf-sparql-query/> .
?annot dc:creator ?c .
OPTIONAL {?c foaf:givenName ?given ;
foaf:familyName ?family }
} UNION {
?c !foaf:knows/foaf:knows? ?thing.
?thing rdfs
} MINUS {
?thing rdfs:label "剛柔流"@jp
}
FILTER isBlank(?c)
}
</textarea></form>
<script>
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
mode: "application/x-sparql-query",
tabMode: "indent",
mode: "application/sparql-query",
matchBrackets: true
});
</script>
<p><strong>MIME types defined:</strong> <code>application/x-sparql-query</code>.</p>
<p><strong>MIME types defined:</strong> <code>application/sparql-query</code>.</p>
</article>
+34 -5
View File
@@ -1,3 +1,16 @@
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.defineMode("sparql", function(config) {
var indentUnit = config.indentUnit;
var curPunc;
@@ -6,18 +19,28 @@ CodeMirror.defineMode("sparql", function(config) {
return new RegExp("^(?:" + words.join("|") + ")$", "i");
}
var ops = wordRegexp(["str", "lang", "langmatches", "datatype", "bound", "sameterm", "isiri", "isuri",
"iri", "uri", "bnode", "count", "sum", "min", "max", "avg", "sample",
"group_concat", "rand", "abs", "ceil", "floor", "round", "concat", "substr", "strlen",
"replace", "ucase", "lcase", "encode_for_uri", "contains", "strstarts", "strends",
"strbefore", "strafter", "year", "month", "day", "hours", "minutes", "seconds",
"timezone", "tz", "now", "uuid", "struuid", "md5", "sha1", "sha256", "sha384",
"sha512", "coalesce", "if", "strlang", "strdt", "isnumeric", "regex", "exists",
"isblank", "isliteral", "a"]);
var keywords = wordRegexp(["base", "prefix", "select", "distinct", "reduced", "construct", "describe",
"ask", "from", "named", "where", "order", "limit", "offset", "filter", "optional",
"graph", "by", "asc", "desc", "as", "having", "undef", "values", "group",
"minus", "in", "not", "service", "silent", "using", "insert", "delete", "union",
"true", "false", "with",
"data", "copy", "to", "move", "add", "create", "drop", "clear", "load"]);
var operatorChars = /[*+\-<>=&|]/;
var operatorChars = /[*+\-<>=&|\^\/!\?]/;
function tokenBase(stream, state) {
var ch = stream.next();
curPunc = null;
if (ch == "$" || ch == "?") {
if(ch == "?" && stream.match(/\s/, false)){
return "operator";
}
stream.match(/^[\w\d]*/);
return "variable-2";
}
@@ -31,7 +54,7 @@ CodeMirror.defineMode("sparql", function(config) {
}
else if (/[{}\(\),\.;\[\]]/.test(ch)) {
curPunc = ch;
return null;
return "bracket";
}
else if (ch == "#") {
stream.skipToEnd();
@@ -39,12 +62,16 @@ CodeMirror.defineMode("sparql", function(config) {
}
else if (operatorChars.test(ch)) {
stream.eatWhile(operatorChars);
return null;
return "operator";
}
else if (ch == ":") {
stream.eatWhile(/[\w\d\._\-]/);
return "atom";
}
else if (ch == "@") {
stream.eatWhile(/[a-z\d\-]/i);
return "meta";
}
else {
stream.eatWhile(/[_\w\d]/);
if (stream.eat(":")) {
@@ -53,7 +80,7 @@ CodeMirror.defineMode("sparql", function(config) {
}
var word = stream.current();
if (ops.test(word))
return null;
return "builtin";
else if (keywords.test(word))
return "keyword";
else
@@ -142,4 +169,6 @@ CodeMirror.defineMode("sparql", function(config) {
};
});
CodeMirror.defineMIME("application/x-sparql-query", "sparql");
CodeMirror.defineMIME("application/sparql-query", "sparql");
});