and others
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/src/lib/codemirror/README.md:
--------------------------------------------------------------------------------
1 | # CodeMirror
2 |
3 | [](https://github.com/codemirror/codemirror5/actions)
4 | [](https://www.npmjs.org/package/codemirror)
5 |
6 | CodeMirror is a versatile text editor implemented in JavaScript for
7 | the browser. It is specialized for editing code, and comes with over
8 | 100 language modes and various addons that implement more advanced
9 | editing functionality. Every language comes with fully-featured code
10 | and syntax highlighting to help with reading and editing complex code.
11 |
12 | A rich programming API and a CSS theming system are available for
13 | customizing CodeMirror to fit your application, and extending it with
14 | new functionality.
15 |
16 | You can find more information (and the
17 | [manual](https://codemirror.net/5/doc/manual.html)) on the [project
18 | page](https://codemirror.net/5/). For questions and discussion, use the
19 | [discussion forum](https://discuss.codemirror.net/).
20 |
21 | See
22 | [CONTRIBUTING.md](https://github.com/codemirror/CodeMirror/blob/master/CONTRIBUTING.md)
23 | for contributing guidelines.
24 |
25 | The CodeMirror community aims to be welcoming to everybody. We use the
26 | [Contributor Covenant
27 | (1.1)](http://contributor-covenant.org/version/1/1/0/) as our code of
28 | conduct.
29 |
30 | ### Installation
31 |
32 | Either get the [zip file](https://codemirror.net/5/codemirror.zip) with
33 | the latest version, or make sure you have [Node](https://nodejs.org/)
34 | installed and run:
35 |
36 | npm install codemirror
37 |
38 | **NOTE**: This is the source repository for the library, and not the
39 | distribution channel. Cloning it is not the recommended way to install
40 | the library, and will in fact not work unless you also run the build
41 | step.
42 |
43 | ### Quickstart
44 |
45 | To build the project, make sure you have Node.js installed (at least version 6)
46 | and then `npm install`. To run, just open `index.html` in your
47 | browser (you don't need to run a webserver). Run the tests with `npm test`.
48 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/dialog/dialog.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-dialog {
2 | position: absolute;
3 | left: 0; right: 0;
4 | background: inherit;
5 | z-index: 15;
6 | padding: .1em .8em;
7 | overflow: hidden;
8 | color: inherit;
9 | }
10 |
11 | .CodeMirror-dialog-top {
12 | border-bottom: 1px solid #eee;
13 | top: 0;
14 | }
15 |
16 | .CodeMirror-dialog-bottom {
17 | border-top: 1px solid #eee;
18 | bottom: 0;
19 | }
20 |
21 | .CodeMirror-dialog input {
22 | border: none;
23 | outline: none;
24 | background: transparent;
25 | width: 20em;
26 | color: inherit;
27 | font-family: monospace;
28 | }
29 |
30 | .CodeMirror-dialog button {
31 | font-size: 70%;
32 | }
33 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/display/autorefresh.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"))
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod)
9 | else // Plain browser env
10 | mod(CodeMirror)
11 | })(function(CodeMirror) {
12 | "use strict"
13 |
14 | CodeMirror.defineOption("autoRefresh", false, function(cm, val) {
15 | if (cm.state.autoRefresh) {
16 | stopListening(cm, cm.state.autoRefresh)
17 | cm.state.autoRefresh = null
18 | }
19 | if (val && cm.display.wrapper.offsetHeight == 0)
20 | startListening(cm, cm.state.autoRefresh = {delay: val.delay || 250})
21 | })
22 |
23 | function startListening(cm, state) {
24 | function check() {
25 | if (cm.display.wrapper.offsetHeight) {
26 | stopListening(cm, state)
27 | if (cm.display.lastWrapHeight != cm.display.wrapper.clientHeight)
28 | cm.refresh()
29 | } else {
30 | state.timeout = setTimeout(check, state.delay)
31 | }
32 | }
33 | state.timeout = setTimeout(check, state.delay)
34 | state.hurry = function() {
35 | clearTimeout(state.timeout)
36 | state.timeout = setTimeout(check, 50)
37 | }
38 | CodeMirror.on(window, "mouseup", state.hurry)
39 | CodeMirror.on(window, "keyup", state.hurry)
40 | }
41 |
42 | function stopListening(_cm, state) {
43 | clearTimeout(state.timeout)
44 | CodeMirror.off(window, "mouseup", state.hurry)
45 | CodeMirror.off(window, "keyup", state.hurry)
46 | }
47 | });
48 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/display/fullscreen.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-fullscreen {
2 | position: fixed;
3 | top: 0; left: 0; right: 0; bottom: 0;
4 | height: auto;
5 | z-index: 9;
6 | }
7 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/display/fullscreen.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | CodeMirror.defineOption("fullScreen", false, function(cm, val, old) {
15 | if (old == CodeMirror.Init) old = false;
16 | if (!old == !val) return;
17 | if (val) setFullscreen(cm);
18 | else setNormal(cm);
19 | });
20 |
21 | function setFullscreen(cm) {
22 | var wrap = cm.getWrapperElement();
23 | cm.state.fullScreenRestore = {scrollTop: window.pageYOffset, scrollLeft: window.pageXOffset,
24 | width: wrap.style.width, height: wrap.style.height};
25 | wrap.style.width = "";
26 | wrap.style.height = "auto";
27 | wrap.className += " CodeMirror-fullscreen";
28 | document.documentElement.style.overflow = "hidden";
29 | cm.refresh();
30 | }
31 |
32 | function setNormal(cm) {
33 | var wrap = cm.getWrapperElement();
34 | wrap.className = wrap.className.replace(/\s*CodeMirror-fullscreen\b/, "");
35 | document.documentElement.style.overflow = "";
36 | var info = cm.state.fullScreenRestore;
37 | wrap.style.width = info.width; wrap.style.height = info.height;
38 | window.scrollTo(info.scrollLeft, info.scrollTop);
39 | cm.refresh();
40 | }
41 | });
42 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/display/rulers.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | CodeMirror.defineOption("rulers", false, function(cm, val) {
15 | if (cm.state.rulerDiv) {
16 | cm.state.rulerDiv.parentElement.removeChild(cm.state.rulerDiv)
17 | cm.state.rulerDiv = null
18 | cm.off("refresh", drawRulers)
19 | }
20 | if (val && val.length) {
21 | cm.state.rulerDiv = cm.display.lineSpace.parentElement.insertBefore(document.createElement("div"), cm.display.lineSpace)
22 | cm.state.rulerDiv.className = "CodeMirror-rulers"
23 | drawRulers(cm)
24 | cm.on("refresh", drawRulers)
25 | }
26 | });
27 |
28 | function drawRulers(cm) {
29 | cm.state.rulerDiv.textContent = ""
30 | var val = cm.getOption("rulers");
31 | var cw = cm.defaultCharWidth();
32 | var left = cm.charCoords(CodeMirror.Pos(cm.firstLine(), 0), "div").left;
33 | cm.state.rulerDiv.style.minHeight = (cm.display.scroller.offsetHeight + 30) + "px";
34 | for (var i = 0; i < val.length; i++) {
35 | var elt = document.createElement("div");
36 | elt.className = "CodeMirror-ruler";
37 | var col, conf = val[i];
38 | if (typeof conf == "number") {
39 | col = conf;
40 | } else {
41 | col = conf.column;
42 | if (conf.className) elt.className += " " + conf.className;
43 | if (conf.color) elt.style.borderColor = conf.color;
44 | if (conf.lineStyle) elt.style.borderLeftStyle = conf.lineStyle;
45 | if (conf.width) elt.style.borderLeftWidth = conf.width;
46 | }
47 | elt.style.left = (left + col * cw) + "px";
48 | cm.state.rulerDiv.appendChild(elt)
49 | }
50 | }
51 | });
52 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/edit/trailingspace.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | CodeMirror.defineOption("showTrailingSpace", false, function(cm, val, prev) {
13 | if (prev == CodeMirror.Init) prev = false;
14 | if (prev && !val)
15 | cm.removeOverlay("trailingspace");
16 | else if (!prev && val)
17 | cm.addOverlay({
18 | token: function(stream) {
19 | for (var l = stream.string.length, i = l; i && /\s/.test(stream.string.charAt(i - 1)); --i) {}
20 | if (i > stream.pos) { stream.pos = i; return null; }
21 | stream.pos = l;
22 | return "trailingspace";
23 | },
24 | name: "trailingspace"
25 | });
26 | });
27 | });
28 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/fold/foldgutter.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-foldmarker {
2 | color: blue;
3 | text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px;
4 | font-family: arial;
5 | line-height: .3;
6 | cursor: pointer;
7 | }
8 | .CodeMirror-foldgutter {
9 | width: .7em;
10 | }
11 | .CodeMirror-foldgutter-open,
12 | .CodeMirror-foldgutter-folded {
13 | cursor: pointer;
14 | }
15 | .CodeMirror-foldgutter-open:after {
16 | content: "\25BE";
17 | }
18 | .CodeMirror-foldgutter-folded:after {
19 | content: "\25B8";
20 | }
21 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/fold/indent-fold.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | function lineIndent(cm, lineNo) {
15 | var text = cm.getLine(lineNo)
16 | var spaceTo = text.search(/\S/)
17 | if (spaceTo == -1 || /\bcomment\b/.test(cm.getTokenTypeAt(CodeMirror.Pos(lineNo, spaceTo + 1))))
18 | return -1
19 | return CodeMirror.countColumn(text, null, cm.getOption("tabSize"))
20 | }
21 |
22 | CodeMirror.registerHelper("fold", "indent", function(cm, start) {
23 | var myIndent = lineIndent(cm, start.line)
24 | if (myIndent < 0) return
25 | var lastLineInFold = null
26 |
27 | // Go through lines until we find a line that definitely doesn't belong in
28 | // the block we're folding, or to the end.
29 | for (var i = start.line + 1, end = cm.lastLine(); i <= end; ++i) {
30 | var indent = lineIndent(cm, i)
31 | if (indent == -1) {
32 | } else if (indent > myIndent) {
33 | // Lines with a greater indent are considered part of the block.
34 | lastLineInFold = i;
35 | } else {
36 | // If this line has non-space, non-comment content, and is
37 | // indented less or equal to the start line, it is the start of
38 | // another block.
39 | break;
40 | }
41 | }
42 | if (lastLineInFold) return {
43 | from: CodeMirror.Pos(start.line, cm.getLine(start.line).length),
44 | to: CodeMirror.Pos(lastLineInFold, cm.getLine(lastLineInFold).length)
45 | };
46 | });
47 |
48 | });
49 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/fold/markdown-fold.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | CodeMirror.registerHelper("fold", "markdown", function(cm, start) {
15 | var maxDepth = 100;
16 |
17 | function isHeader(lineNo) {
18 | var tokentype = cm.getTokenTypeAt(CodeMirror.Pos(lineNo, 0));
19 | return tokentype && /\bheader\b/.test(tokentype);
20 | }
21 |
22 | function headerLevel(lineNo, line, nextLine) {
23 | var match = line && line.match(/^#+/);
24 | if (match && isHeader(lineNo)) return match[0].length;
25 | match = nextLine && nextLine.match(/^[=\-]+\s*$/);
26 | if (match && isHeader(lineNo + 1)) return nextLine[0] == "=" ? 1 : 2;
27 | return maxDepth;
28 | }
29 |
30 | var firstLine = cm.getLine(start.line), nextLine = cm.getLine(start.line + 1);
31 | var level = headerLevel(start.line, firstLine, nextLine);
32 | if (level === maxDepth) return undefined;
33 |
34 | var lastLineNo = cm.lastLine();
35 | var end = start.line, nextNextLine = cm.getLine(end + 2);
36 | while (end < lastLineNo) {
37 | if (headerLevel(end + 1, nextLine, nextNextLine) <= level) break;
38 | ++end;
39 | nextLine = nextNextLine;
40 | nextNextLine = cm.getLine(end + 2);
41 | }
42 |
43 | return {
44 | from: CodeMirror.Pos(start.line, firstLine.length),
45 | to: CodeMirror.Pos(end, cm.getLine(end).length)
46 | };
47 | });
48 |
49 | });
50 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/hint/anyword-hint.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | var WORD = /[\w$]+/, RANGE = 500;
15 |
16 | CodeMirror.registerHelper("hint", "anyword", function(editor, options) {
17 | var word = options && options.word || WORD;
18 | var range = options && options.range || RANGE;
19 | var cur = editor.getCursor(), curLine = editor.getLine(cur.line);
20 | var end = cur.ch, start = end;
21 | while (start && word.test(curLine.charAt(start - 1))) --start;
22 | var curWord = start != end && curLine.slice(start, end);
23 |
24 | var list = options && options.list || [], seen = {};
25 | var re = new RegExp(word.source, "g");
26 | for (var dir = -1; dir <= 1; dir += 2) {
27 | var line = cur.line, endLine = Math.min(Math.max(line + dir * range, editor.firstLine()), editor.lastLine()) + dir;
28 | for (; line != endLine; line += dir) {
29 | var text = editor.getLine(line), m;
30 | while (m = re.exec(text)) {
31 | if (line == cur.line && m[0] === curWord) continue;
32 | if ((!curWord || m[0].lastIndexOf(curWord, 0) == 0) && !Object.prototype.hasOwnProperty.call(seen, m[0])) {
33 | seen[m[0]] = true;
34 | list.push(m[0]);
35 | }
36 | }
37 | }
38 | }
39 | return {list: list, from: CodeMirror.Pos(cur.line, start), to: CodeMirror.Pos(cur.line, end)};
40 | });
41 | });
42 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/hint/show-hint.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-hints {
2 | position: absolute;
3 | z-index: 10;
4 | overflow: hidden;
5 | list-style: none;
6 |
7 | margin: 0;
8 | padding: 2px;
9 |
10 | -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2);
11 | -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2);
12 | box-shadow: 2px 3px 5px rgba(0,0,0,.2);
13 | border-radius: 3px;
14 | border: 1px solid silver;
15 |
16 | background: white;
17 | font-size: 90%;
18 | font-family: monospace;
19 |
20 | max-height: 20em;
21 | overflow-y: auto;
22 | box-sizing: border-box;
23 | }
24 |
25 | .CodeMirror-hint {
26 | margin: 0;
27 | padding: 0 4px;
28 | border-radius: 2px;
29 | white-space: pre;
30 | color: black;
31 | cursor: pointer;
32 | }
33 |
34 | li.CodeMirror-hint-active {
35 | background: #08f;
36 | color: white;
37 | }
38 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/lint/coffeescript-lint.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | // Depends on coffeelint.js from http://www.coffeelint.org/js/coffeelint.js
5 |
6 | // declare global: coffeelint
7 |
8 | (function(mod) {
9 | if (typeof exports == "object" && typeof module == "object") // CommonJS
10 | mod(require("../../lib/codemirror"));
11 | else if (typeof define == "function" && define.amd) // AMD
12 | define(["../../lib/codemirror"], mod);
13 | else // Plain browser env
14 | mod(CodeMirror);
15 | })(function(CodeMirror) {
16 | "use strict";
17 |
18 | CodeMirror.registerHelper("lint", "coffeescript", function(text) {
19 | var found = [];
20 | if (!window.coffeelint) {
21 | if (window.console) {
22 | window.console.error("Error: window.coffeelint not defined, CodeMirror CoffeeScript linting cannot run.");
23 | }
24 | return found;
25 | }
26 | var parseError = function(err) {
27 | var loc = err.lineNumber;
28 | found.push({from: CodeMirror.Pos(loc-1, 0),
29 | to: CodeMirror.Pos(loc, 0),
30 | severity: err.level,
31 | message: err.message});
32 | };
33 | try {
34 | var res = coffeelint.lint(text);
35 | for(var i = 0; i < res.length; i++) {
36 | parseError(res[i]);
37 | }
38 | } catch(e) {
39 | found.push({from: CodeMirror.Pos(e.location.first_line, 0),
40 | to: CodeMirror.Pos(e.location.last_line, e.location.last_column),
41 | severity: 'error',
42 | message: e.message});
43 | }
44 | return found;
45 | });
46 |
47 | });
48 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/lint/css-lint.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | // Depends on csslint.js from https://github.com/stubbornella/csslint
5 |
6 | // declare global: CSSLint
7 |
8 | (function(mod) {
9 | if (typeof exports == "object" && typeof module == "object") // CommonJS
10 | mod(require("../../lib/codemirror"));
11 | else if (typeof define == "function" && define.amd) // AMD
12 | define(["../../lib/codemirror"], mod);
13 | else // Plain browser env
14 | mod(CodeMirror);
15 | })(function(CodeMirror) {
16 | "use strict";
17 |
18 | CodeMirror.registerHelper("lint", "css", function(text, options) {
19 | var found = [];
20 | if (!window.CSSLint) {
21 | if (window.console) {
22 | window.console.error("Error: window.CSSLint not defined, CodeMirror CSS linting cannot run.");
23 | }
24 | return found;
25 | }
26 | var results = CSSLint.verify(text, options), messages = results.messages, message = null;
27 | for ( var i = 0; i < messages.length; i++) {
28 | message = messages[i];
29 | var startLine = message.line -1, endLine = message.line -1, startCol = message.col -1, endCol = message.col;
30 | found.push({
31 | from: CodeMirror.Pos(startLine, startCol),
32 | to: CodeMirror.Pos(endLine, endCol),
33 | message: message.message,
34 | severity : message.type
35 | });
36 | }
37 | return found;
38 | });
39 |
40 | });
41 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/lint/json-lint.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | // Depends on jsonlint.js from https://github.com/zaach/jsonlint
5 |
6 | // declare global: jsonlint
7 |
8 | (function(mod) {
9 | if (typeof exports == "object" && typeof module == "object") // CommonJS
10 | mod(require("../../lib/codemirror"));
11 | else if (typeof define == "function" && define.amd) // AMD
12 | define(["../../lib/codemirror"], mod);
13 | else // Plain browser env
14 | mod(CodeMirror);
15 | })(function(CodeMirror) {
16 | "use strict";
17 |
18 | CodeMirror.registerHelper("lint", "json", function(text) {
19 | var found = [];
20 | if (!window.jsonlint) {
21 | if (window.console) {
22 | window.console.error("Error: window.jsonlint not defined, CodeMirror JSON linting cannot run.");
23 | }
24 | return found;
25 | }
26 | // for jsonlint's web dist jsonlint is exported as an object with a single property parser, of which parseError
27 | // is a subproperty
28 | var jsonlint = window.jsonlint.parser || window.jsonlint
29 | jsonlint.parseError = function(str, hash) {
30 | var loc = hash.loc;
31 | found.push({from: CodeMirror.Pos(loc.first_line - 1, loc.first_column),
32 | to: CodeMirror.Pos(loc.last_line - 1, loc.last_column),
33 | message: str});
34 | };
35 | try { jsonlint.parse(text); }
36 | catch(e) {}
37 | return found;
38 | });
39 |
40 | });
41 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/lint/yaml-lint.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | // Depends on js-yaml.js from https://github.com/nodeca/js-yaml
15 |
16 | // declare global: jsyaml
17 |
18 | CodeMirror.registerHelper("lint", "yaml", function(text) {
19 | var found = [];
20 | if (!window.jsyaml) {
21 | if (window.console) {
22 | window.console.error("Error: window.jsyaml not defined, CodeMirror YAML linting cannot run.");
23 | }
24 | return found;
25 | }
26 | try { jsyaml.loadAll(text); }
27 | catch(e) {
28 | var loc = e.mark,
29 | // js-yaml YAMLException doesn't always provide an accurate lineno
30 | // e.g., when there are multiple yaml docs
31 | // ---
32 | // ---
33 | // foo:bar
34 | from = loc ? CodeMirror.Pos(loc.line, loc.column) : CodeMirror.Pos(0, 0),
35 | to = from;
36 | found.push({ from: from, to: to, message: e.message });
37 | }
38 | return found;
39 | });
40 |
41 | });
42 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/mode/multiplex_test.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function() {
5 | CodeMirror.defineMode("markdown_with_stex", function(){
6 | var inner = CodeMirror.getMode({}, "stex");
7 | var outer = CodeMirror.getMode({}, "markdown");
8 |
9 | var innerOptions = {
10 | open: '$',
11 | close: '$',
12 | mode: inner,
13 | delimStyle: 'delim',
14 | innerStyle: 'inner'
15 | };
16 |
17 | return CodeMirror.multiplexingMode(outer, innerOptions);
18 | });
19 |
20 | var mode = CodeMirror.getMode({}, "markdown_with_stex");
21 |
22 | function MT(name) {
23 | test.mode(
24 | name,
25 | mode,
26 | Array.prototype.slice.call(arguments, 1),
27 | 'multiplexing');
28 | }
29 |
30 | MT(
31 | "stexInsideMarkdown",
32 | "[strong **Equation:**] [delim&delim-open $][inner&tag \\pi][delim&delim-close $]");
33 |
34 | CodeMirror.defineMode("identical_delim_multiplex", function() {
35 | return CodeMirror.multiplexingMode(CodeMirror.getMode({indentUnit: 2}, "javascript"), {
36 | open: "#",
37 | close: "#",
38 | mode: CodeMirror.getMode({}, "markdown"),
39 | parseDelimiters: true,
40 | innerStyle: "q"
41 | });
42 | });
43 |
44 | var mode2 = CodeMirror.getMode({}, "identical_delim_multiplex");
45 |
46 | test.mode("identical_delimiters_with_parseDelimiters", mode2, [
47 | "[keyword let] [def x] [operator =] [q #foo][q&em *bar*][q #];"
48 | ], "multiplexing")
49 | })();
50 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/runmode/colorize.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"), require("./runmode"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror", "./runmode"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | var isBlock = /^(p|li|div|h\\d|pre|blockquote|td)$/;
15 |
16 | function textContent(node, out) {
17 | if (node.nodeType == 3) return out.push(node.nodeValue);
18 | for (var ch = node.firstChild; ch; ch = ch.nextSibling) {
19 | textContent(ch, out);
20 | if (isBlock.test(node.nodeType)) out.push("\n");
21 | }
22 | }
23 |
24 | CodeMirror.colorize = function(collection, defaultMode) {
25 | if (!collection) collection = document.body.getElementsByTagName("pre");
26 |
27 | for (var i = 0; i < collection.length; ++i) {
28 | var node = collection[i];
29 | var mode = node.getAttribute("data-lang") || defaultMode;
30 | if (!mode) continue;
31 |
32 | var text = [];
33 | textContent(node, text);
34 | node.textContent = "";
35 | CodeMirror.runMode(text.join(""), mode, node);
36 |
37 | node.className += " cm-s-default";
38 | }
39 | };
40 | });
41 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/scroll/scrollpastend.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | CodeMirror.defineOption("scrollPastEnd", false, function(cm, val, old) {
15 | if (old && old != CodeMirror.Init) {
16 | cm.off("change", onChange);
17 | cm.off("refresh", updateBottomMargin);
18 | cm.display.lineSpace.parentNode.style.paddingBottom = "";
19 | cm.state.scrollPastEndPadding = null;
20 | }
21 | if (val) {
22 | cm.on("change", onChange);
23 | cm.on("refresh", updateBottomMargin);
24 | updateBottomMargin(cm);
25 | }
26 | });
27 |
28 | function onChange(cm, change) {
29 | if (CodeMirror.changeEnd(change).line == cm.lastLine())
30 | updateBottomMargin(cm);
31 | }
32 |
33 | function updateBottomMargin(cm) {
34 | var padding = "";
35 | if (cm.lineCount() > 1) {
36 | var totalH = cm.display.scroller.clientHeight - 30,
37 | lastLineH = cm.getLineHandle(cm.lastLine()).height;
38 | padding = (totalH - lastLineH) + "px";
39 | }
40 | if (cm.state.scrollPastEndPadding != padding) {
41 | cm.state.scrollPastEndPadding = padding;
42 | cm.display.lineSpace.parentNode.style.paddingBottom = padding;
43 | cm.off("refresh", updateBottomMargin);
44 | cm.setSize();
45 | cm.on("refresh", updateBottomMargin);
46 | }
47 | }
48 | });
49 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/scroll/simplescrollbars.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-simplescroll-horizontal div, .CodeMirror-simplescroll-vertical div {
2 | position: absolute;
3 | background: #ccc;
4 | -moz-box-sizing: border-box;
5 | box-sizing: border-box;
6 | border: 1px solid #bbb;
7 | border-radius: 2px;
8 | }
9 |
10 | .CodeMirror-simplescroll-horizontal, .CodeMirror-simplescroll-vertical {
11 | position: absolute;
12 | z-index: 6;
13 | background: #eee;
14 | }
15 |
16 | .CodeMirror-simplescroll-horizontal {
17 | bottom: 0; left: 0;
18 | height: 8px;
19 | }
20 | .CodeMirror-simplescroll-horizontal div {
21 | bottom: 0;
22 | height: 100%;
23 | }
24 |
25 | .CodeMirror-simplescroll-vertical {
26 | right: 0; top: 0;
27 | width: 8px;
28 | }
29 | .CodeMirror-simplescroll-vertical div {
30 | right: 0;
31 | width: 100%;
32 | }
33 |
34 |
35 | .CodeMirror-overlayscroll .CodeMirror-scrollbar-filler, .CodeMirror-overlayscroll .CodeMirror-gutter-filler {
36 | display: none;
37 | }
38 |
39 | .CodeMirror-overlayscroll-horizontal div, .CodeMirror-overlayscroll-vertical div {
40 | position: absolute;
41 | background: #bcd;
42 | border-radius: 3px;
43 | }
44 |
45 | .CodeMirror-overlayscroll-horizontal, .CodeMirror-overlayscroll-vertical {
46 | position: absolute;
47 | z-index: 6;
48 | }
49 |
50 | .CodeMirror-overlayscroll-horizontal {
51 | bottom: 0; left: 0;
52 | height: 6px;
53 | }
54 | .CodeMirror-overlayscroll-horizontal div {
55 | bottom: 0;
56 | height: 100%;
57 | }
58 |
59 | .CodeMirror-overlayscroll-vertical {
60 | right: 0; top: 0;
61 | width: 6px;
62 | }
63 | .CodeMirror-overlayscroll-vertical div {
64 | right: 0;
65 | width: 100%;
66 | }
67 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/search/matchesonscrollbar.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-search-match {
2 | background: gold;
3 | border-top: 1px solid orange;
4 | border-bottom: 1px solid orange;
5 | -moz-box-sizing: border-box;
6 | box-sizing: border-box;
7 | opacity: .5;
8 | }
9 |
--------------------------------------------------------------------------------
/src/lib/codemirror/addon/tern/worker.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | // declare global: tern, server
5 |
6 | var server;
7 |
8 | this.onmessage = function(e) {
9 | var data = e.data;
10 | switch (data.type) {
11 | case "init": return startServer(data.defs, data.plugins, data.scripts);
12 | case "add": return server.addFile(data.name, data.text);
13 | case "del": return server.delFile(data.name);
14 | case "req": return server.request(data.body, function(err, reqData) {
15 | postMessage({id: data.id, body: reqData, err: err && String(err)});
16 | });
17 | case "getFile":
18 | var c = pending[data.id];
19 | delete pending[data.id];
20 | return c(data.err, data.text);
21 | default: throw new Error("Unknown message type: " + data.type);
22 | }
23 | };
24 |
25 | var nextId = 0, pending = {};
26 | function getFile(file, c) {
27 | postMessage({type: "getFile", name: file, id: ++nextId});
28 | pending[nextId] = c;
29 | }
30 |
31 | function startServer(defs, plugins, scripts) {
32 | if (scripts) importScripts.apply(null, scripts);
33 |
34 | server = new tern.Server({
35 | getFile: getFile,
36 | async: true,
37 | defs: defs,
38 | plugins: plugins
39 | });
40 | }
41 |
42 | this.console = {
43 | log: function(v) { postMessage({type: "debug", message: v}); }
44 | };
45 |
--------------------------------------------------------------------------------
/src/lib/codemirror/bin/authors.sh:
--------------------------------------------------------------------------------
1 | # Combine existing list of authors with everyone known in git, sort, add header.
2 | tail --lines=+3 AUTHORS > AUTHORS.tmp
3 | git log --format='%aN' | grep -v "Piët Delport" >> AUTHORS.tmp
4 | echo -e "List of CodeMirror contributors. Updated before every release.\n" > AUTHORS
5 | sort -u AUTHORS.tmp | sed 's/Google Inc\./Google LLC/' >> AUTHORS
6 | rm -f AUTHORS.tmp
7 |
--------------------------------------------------------------------------------
/src/lib/codemirror/bin/lint:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | process.exit(require("../test/lint").ok ? 0 : 1);
4 |
--------------------------------------------------------------------------------
/src/lib/codemirror/bin/release:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | var fs = require("fs"), child = require("child_process");
4 |
5 | var number, bumpOnly;
6 |
7 | for (var i = 2; i < process.argv.length; i++) {
8 | if (process.argv[i] == "-bump") bumpOnly = true;
9 | else if (/^\d+\.\d+\.\d+$/.test(process.argv[i])) number = process.argv[i];
10 | else { console.log("Bogus command line arg: " + process.argv[i]); process.exit(1); }
11 | }
12 |
13 | if (!number) { console.log("Must give a version"); process.exit(1); }
14 |
15 | function rewrite(file, f) {
16 | fs.writeFileSync(file, f(fs.readFileSync(file, "utf8")), "utf8");
17 | }
18 |
19 | rewrite("src/edit/main.js", function(lib) {
20 | return lib.replace(/CodeMirror\.version = "\d+\.\d+\.\d+"/,
21 | "CodeMirror.version = \"" + number + "\"");
22 | });
23 | function rewriteJSON(pack) {
24 | return pack.replace(/"version":\s*"\d+\.\d+\.\d+"/, "\"version\": \"" + number + "\"");
25 | }
26 | rewrite("package.json", rewriteJSON);
27 | rewrite("doc/manual.html", function(manual) {
28 | return manual.replace(/>version \d+\.\d+\.\d+<\/span>/, ">version " + number + "");
29 | });
30 |
31 | if (bumpOnly) process.exit(0);
32 |
33 | child.exec("bash bin/authors.sh", function(){});
34 |
35 | rewrite("index.html", function(index) {
36 | return index.replace(/\.zip">\d+\.\d+\.\d+<\/a>/,
37 | ".zip\">" + number + "");
38 | });
39 |
--------------------------------------------------------------------------------
/src/lib/codemirror/bin/source-highlight:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | // Simple command-line code highlighting tool. Reads code from stdin,
4 | // spits html to stdout. For example:
5 | //
6 | // echo 'function foo(a) { return a; }' | bin/source-highlight -s javascript
7 | // bin/source-highlight -s
8 |
9 | var fs = require("fs");
10 |
11 | var CodeMirror = require("../addon/runmode/runmode.node.js");
12 | require("../mode/meta.js");
13 |
14 | var sPos = process.argv.indexOf("-s");
15 | if (sPos == -1 || sPos == process.argv.length - 1) {
16 | console.error("Usage: source-highlight -s language");
17 | process.exit(1);
18 | }
19 | var lang = process.argv[sPos + 1].toLowerCase(), modeName = lang;
20 | var found = CodeMirror.findModeByMIME(lang) || CodeMirror.findModeByName(lang)
21 | if (found) {
22 | modeName = found.mode
23 | lang = found.mime
24 | }
25 |
26 | if (!CodeMirror.modes[modeName])
27 | require("../mode/" + modeName + "/" + modeName + ".js");
28 |
29 | function esc(str) {
30 | return str.replace(/[<&]/g, function(ch) { return ch == "&" ? "&" : "<"; });
31 | }
32 |
33 | var code = fs.readFileSync("/dev/stdin", "utf8");
34 | var curStyle = null, accum = "";
35 | function flush() {
36 | if (curStyle) process.stdout.write("" + esc(accum) + " ");
37 | else process.stdout.write(esc(accum));
38 | }
39 |
40 | CodeMirror.runMode(code, lang, function(text, style) {
41 | if (style != curStyle) {
42 | flush();
43 | curStyle = style; accum = text;
44 | } else {
45 | accum += text;
46 | }
47 | });
48 | flush();
49 |
--------------------------------------------------------------------------------
/src/lib/codemirror/bin/upload-release.js:
--------------------------------------------------------------------------------
1 | "use strict"
2 |
3 | let version = process.argv[2]
4 | let auth = process.argv[3]
5 | let url = require("url")
6 |
7 | if (!auth) {
8 | console.log("Usage: upload-release.js [TAG] [github-user:password]")
9 | process.exit(1)
10 | }
11 |
12 | function post(host, path, body) {
13 | let req = require("https").request({
14 | host,
15 | auth: auth,
16 | headers: {"user-agent": "Release uploader"},
17 | path,
18 | method: "POST"
19 | }, res => {
20 | if (res.statusCode >= 300 && res.statusCode < 400) {
21 | console.log(res.headers.location)
22 | let parsed = url.parse(res.headers.location)
23 | post(parsed.host, parsed.path, body)
24 | } else if (res.statusCode >= 400) {
25 | console.error(res.statusCode, res.statusMessage)
26 | res.on("data", d => console.log(d.toString()))
27 | res.on("end", process.exit(1))
28 | }
29 | })
30 | req.write(body)
31 | req.end()
32 | }
33 |
34 | require('child_process').exec("git --no-pager show -s --format='%s' " + version, (error, stdout) => {
35 | if (error) throw error
36 | let message = stdout.split("\n").slice(2)
37 | message = message.slice(0, message.indexOf("-----BEGIN PGP SIGNATURE-----")).join("\n")
38 |
39 | post("api.github.com", "/repos/codemirror/codemirror5/releases", JSON.stringify({
40 | tag_name: version,
41 | name: version,
42 | body: message
43 | }))
44 | })
45 |
--------------------------------------------------------------------------------
/src/lib/codemirror/demo/changemode.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Mode-Changing Demo
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
14 |
26 |
27 |
28 | Mode-Changing Demo
29 |
36 |
37 | On changes to the content of the above editor, a (crude) script
38 | tries to auto-detect the language used, and switches the editor to
39 | either JavaScript or Scheme mode based on that.
40 |
41 |
58 |
59 |
--------------------------------------------------------------------------------
/src/lib/codemirror/demo/closebrackets.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Closebrackets Demo
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
14 |
26 |
27 |
28 | Closebrackets Demo
29 | function Grid(width, height) {
30 | this.width = width;
31 | this.height = height;
32 | this.cells = new Array(width * height);
33 | }
34 | Grid.prototype.valueAt = function(point) {
35 | return this.cells[point.y * this.width + point.x];
36 | };
37 | Grid.prototype.setValueAt = function(point, value) {
38 | this.cells[point.y * this.width + point.x] = value;
39 | };
40 | Grid.prototype.isInside = function(point) {
41 | return point.x >= 0 && point.y >= 0 &&
42 | point.x < this.width && point.y < this.height;
43 | };
44 | Grid.prototype.moveValue = function(from, to) {
45 | this.setValueAt(to, this.valueAt(from));
46 | this.setValueAt(from, undefined);
47 | };
48 |
49 |
52 |
53 |
--------------------------------------------------------------------------------
/src/lib/codemirror/demo/closetag.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Close-Tag Demo
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
18 |
30 |
31 |
32 | Close-Tag Demo
33 |
34 |
35 |
41 | Uses the closetag addon to auto-close tags.
42 |
43 |
--------------------------------------------------------------------------------
/src/lib/codemirror/demo/html5complete.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CodeMirror: HTML completion demo
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
21 |
22 |
23 |
24 |
36 |
37 |
38 | HTML completion demo
39 |
40 | Shows the XML completer
41 | parameterized with information about the tags in HTML.
42 | Press ctrl-space to activate completion.
43 |
44 |
45 |
46 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/src/lib/codemirror/demo/marker.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Breakpoint Demo
4 |
5 |
6 |
7 |
8 |
9 |
10 |
15 |
27 |
28 |
29 | Breakpoint Demo
30 |
31 | var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
32 | lineNumbers: true,
33 | gutters: ["CodeMirror-linenumbers", "breakpoints"]
34 | });
35 | editor.on("gutterClick", function(cm, n) {
36 | var info = cm.lineInfo(n);
37 | cm.setGutterMarker(n, "breakpoints", info.gutterMarkers ? null : makeMarker());
38 | });
39 |
40 | function makeMarker() {
41 | var marker = document.createElement("div");
42 | marker.style.color = "#822";
43 | marker.innerHTML = "●";
44 | return marker;
45 | }
46 |
47 |
48 | Click the line-number gutter to add or remove 'breakpoints'.
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/src/lib/codemirror/demo/markselection.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Selection Marking Demo
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
17 |
29 |
30 |
31 | Selection Marking Demo
32 |
33 | Select something from here. You'll see that the selection's foreground
34 | color changes to white! Since, by default, CodeMirror only puts an
35 | independent "marker" layer behind the text, you'll need something like
36 | this to change its colour.
37 |
38 | Also notice that turning this addon on (with the default style) allows
39 | you to safely give text a background color without screwing up the
40 | visibility of the selection.
41 |
42 |
49 |
50 | Simple addon to easily mark (and style) selected text. Docs .
51 |
52 |
53 |
--------------------------------------------------------------------------------
/src/lib/codemirror/demo/matchtags.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Tag Matcher Demo
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
15 |
27 |
28 |
29 | Tag Matcher Demo
30 |
31 |
32 |
33 |
34 |
44 |
45 | Put the cursor on or inside a pair of tags to highlight them.
46 | Press Ctrl-J to jump to the tag that matches the one under the
47 | cursor.
48 |
49 |
--------------------------------------------------------------------------------
/src/lib/codemirror/demo/placeholder.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Placeholder demo
4 |
5 |
6 |
7 |
8 |
9 |
10 |
16 |
28 |
29 |
30 | Placeholder demo
31 |
32 |
33 | The placeholder
34 | plug-in adds an option placeholder
that can be set to
35 | make text appear in the editor when it is empty and not focused.
36 | If the source textarea has a placeholder
attribute,
37 | it will automatically be inherited.
38 |
39 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/src/lib/codemirror/demo/resize.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Autoresize Demo
4 |
5 |
6 |
7 |
8 |
9 |
10 |
16 |
28 |
29 |
30 | Autoresize Demo
31 |
32 | .CodeMirror {
33 | border: 1px solid #eee;
34 | height: auto;
35 | }
36 |
37 |
38 | By setting an editor's height
style
39 | to auto
and giving
40 | the viewportMargin
41 | a value of Infinity
, CodeMirror can be made to
42 | automatically resize to fit its content.
43 |
44 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/src/lib/codemirror/demo/rulers.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Ruler Demo
4 |
5 |
6 |
7 |
8 |
9 |
10 |
13 |
25 |
26 |
27 | Ruler Demo
28 |
29 |
44 |
45 | Demonstration of
46 | the rulers addon, which
47 | displays vertical lines at given column offsets.
48 |
49 |
50 |
--------------------------------------------------------------------------------
/src/lib/codemirror/demo/trailingspace.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Trailing Whitespace Demo
4 |
5 |
6 |
7 |
8 |
9 |
10 |
18 |
30 |
31 |
32 | Trailing Whitespace Demo
33 | This text
34 | has some
35 | trailing whitespace!
36 |
37 |
43 |
44 | Uses
45 | the trailingspace
46 | addon to highlight trailing whitespace.
47 |
48 |
49 |
--------------------------------------------------------------------------------
/src/lib/codemirror/demo/visibletabs.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Visible tabs demo
4 |
5 |
6 |
7 |
8 |
9 |
10 |
18 |
30 |
31 |
32 | Visible tabs demo
33 |
34 | #include "syscalls.h"
35 | /* getchar: simple buffered version */
36 | int getchar(void)
37 | {
38 | static char buf[BUFSIZ];
39 | static char *bufp = buf;
40 | static int n = 0;
41 | if (n == 0) { /* buffer is empty */
42 | n = read(0, buf, sizeof buf);
43 | bufp = buf;
44 | }
45 | return (--n >= 0) ? (unsigned char) *bufp++ : EOF;
46 | }
47 |
48 |
49 | Tabs inside the editor are spans with the
50 | class cm-tab
, and can be styled.
51 |
52 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/src/lib/codemirror/doc/activebookmark.js:
--------------------------------------------------------------------------------
1 | // Kludge in HTML5 tag recognition in IE8
2 | document.createElement("section");
3 | document.createElement("article");
4 |
5 | (function() {
6 | if (!window.addEventListener) return;
7 | var pending = false, prevVal = null;
8 |
9 | function updateSoon() {
10 | if (!pending) {
11 | pending = true;
12 | setTimeout(update, 250);
13 | }
14 | }
15 |
16 | function update() {
17 | pending = false;
18 | var marks = document.getElementById("nav").getElementsByTagName("a"), found;
19 | for (var i = 0; i < marks.length; ++i) {
20 | var mark = marks[i], m;
21 | if (mark.getAttribute("data-default")) {
22 | if (found == null) found = i;
23 | } else if (m = mark.href.match(/#(.*)/)) {
24 | var ref = document.getElementById(m[1]);
25 | if (ref && ref.getBoundingClientRect().top < 50)
26 | found = i;
27 | }
28 | }
29 | if (found != null && found != prevVal) {
30 | prevVal = found;
31 | var lis = document.getElementById("nav").getElementsByTagName("li");
32 | for (var i = 0; i < lis.length; ++i) lis[i].className = "";
33 | for (var i = 0; i < marks.length; ++i) {
34 | if (found == i) {
35 | marks[i].className = "active";
36 | for (var n = marks[i]; n; n = n.parentNode)
37 | if (n.nodeName == "LI") n.className = "active";
38 | } else {
39 | marks[i].className = "";
40 | }
41 | }
42 | }
43 | }
44 |
45 | window.addEventListener("scroll", updateSoon);
46 | window.addEventListener("load", updateSoon);
47 | window.addEventListener("hashchange", function() {
48 | setTimeout(function() {
49 | var hash = document.location.hash, found = null, m;
50 | var marks = document.getElementById("nav").getElementsByTagName("a");
51 | for (var i = 0; i < marks.length; i++)
52 | if ((m = marks[i].href.match(/(#.*)/)) && m[1] == hash) { found = i; break; }
53 | if (found != null) for (var i = 0; i < marks.length; i++)
54 | marks[i].className = i == found ? "active" : "";
55 | }, 300);
56 | });
57 | })();
58 |
--------------------------------------------------------------------------------
/src/lib/codemirror/doc/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/azedeveloper/NanoCode/d3f00a4364a6d00d2a8a7f09d87eb6f285b717fa/src/lib/codemirror/doc/logo.png
--------------------------------------------------------------------------------
/src/lib/codemirror/doc/source_sans.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/azedeveloper/NanoCode/d3f00a4364a6d00d2a8a7f09d87eb6f285b717fa/src/lib/codemirror/doc/source_sans.woff
--------------------------------------------------------------------------------
/src/lib/codemirror/doc/yinyang.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/azedeveloper/NanoCode/d3f00a4364a6d00d2a8a7f09d87eb6f285b717fa/src/lib/codemirror/doc/yinyang.png
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/asciiarmor/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: ASCII Armor (PGP) mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | ASCII Armor (PGP) mode
27 |
28 | -----BEGIN PGP MESSAGE-----
29 | Version: OpenPrivacy 0.99
30 |
31 | yDgBO22WxBHv7O8X7O/jygAEzol56iUKiXmV+XmpCtmpqQUKiQrFqclFqUDBovzS
32 | vBSFjNSiVHsuAA==
33 | =njUN
34 | -----END PGP MESSAGE-----
35 |
36 |
37 |
42 |
43 | MIME types
44 | defined: application/pgp
, application/pgp-encrypted
, application/pgp-keys
, application/pgp-signature
45 |
46 |
47 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/css/gss_test.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function() {
5 | "use strict";
6 |
7 | var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-gss");
8 | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "gss"); }
9 |
10 | MT("atComponent",
11 | "[def @component] {",
12 | "[tag foo] {",
13 | " [property color]: [keyword black];",
14 | "}",
15 | "}");
16 |
17 | })();
18 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/css/less_test.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function() {
5 | "use strict";
6 |
7 | var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-less");
8 | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "less"); }
9 |
10 | MT("variable",
11 | "[variable-2 @base]: [atom #f04615];",
12 | "[qualifier .class] {",
13 | " [property width]: [variable&callee percentage]([number 0.5]); [comment // returns `50%`]",
14 | " [property color]: [variable&callee saturate]([variable-2 @base], [number 5%]);",
15 | "}");
16 |
17 | MT("amp",
18 | "[qualifier .child], [qualifier .sibling] {",
19 | " [qualifier .parent] [atom &] {",
20 | " [property color]: [keyword black];",
21 | " }",
22 | " [atom &] + [atom &] {",
23 | " [property color]: [keyword red];",
24 | " }",
25 | "}");
26 |
27 | MT("mixin",
28 | "[qualifier .mixin] ([variable dark]; [variable-2 @color]) {",
29 | " [property color]: [variable&callee darken]([variable-2 @color], [number 10%]);",
30 | "}",
31 | "[qualifier .mixin] ([variable light]; [variable-2 @color]) {",
32 | " [property color]: [variable&callee lighten]([variable-2 @color], [number 10%]);",
33 | "}",
34 | "[qualifier .mixin] ([variable-2 @_]; [variable-2 @color]) {",
35 | " [property display]: [atom block];",
36 | "}",
37 | "[variable-2 @switch]: [variable light];",
38 | "[qualifier .class] {",
39 | " [qualifier .mixin]([variable-2 @switch]; [atom #888]);",
40 | "}");
41 |
42 | MT("nest",
43 | "[qualifier .one] {",
44 | " [def @media] ([property width]: [number 400px]) {",
45 | " [property font-size]: [number 1.2em];",
46 | " [def @media] [attribute print] [keyword and] [property color] {",
47 | " [property color]: [keyword blue];",
48 | " }",
49 | " }",
50 | "}");
51 |
52 |
53 | MT("interpolation", ".@{[variable foo]} { [property font-weight]: [atom bold]; }");
54 | })();
55 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/cypher/test.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function() {
5 | var mode = CodeMirror.getMode({tabSize: 4, indentUnit: 2}, "cypher");
6 | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
7 |
8 | MT("unbalancedDoubledQuotedString",
9 | "[string \"a'b\"][variable c]");
10 |
11 | MT("unbalancedSingleQuotedString",
12 | "[string 'a\"b'][variable c]");
13 |
14 | MT("doubleQuotedString",
15 | "[string \"a\"][variable b]");
16 |
17 | MT("singleQuotedString",
18 | "[string 'a'][variable b]");
19 |
20 | MT("single attribute (with content)",
21 | "[node {][atom a:][string 'a'][node }]");
22 |
23 | MT("multiple attribute, singleQuotedString (with content)",
24 | "[node {][atom a:][string 'a'][node ,][atom b:][string 'b'][node }]");
25 |
26 | MT("multiple attribute, doubleQuotedString (with content)",
27 | "[node {][atom a:][string \"a\"][node ,][atom b:][string \"b\"][node }]");
28 |
29 | MT("single attribute (without content)",
30 | "[node {][atom a:][string 'a'][node }]");
31 |
32 | MT("multiple attribute, singleQuotedString (without content)",
33 | "[node {][atom a:][string ''][node ,][atom b:][string ''][node }]");
34 |
35 | MT("multiple attribute, doubleQuotedString (without content)",
36 | "[node {][atom a:][string \"\"][node ,][atom b:][string \"\"][node }]");
37 | })();
38 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/d/test.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function() {
5 | var mode = CodeMirror.getMode({indentUnit: 2}, "d");
6 | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
7 |
8 | MT("nested_comments",
9 | "[comment /+]","[comment comment]","[comment +/]","[variable void] [variable main](){}");
10 |
11 | })();
12 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/dart/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Dart mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | Dart mode
27 |
28 |
29 | import 'dart:math' show Random;
30 |
31 | void main() {
32 | print(new Die(n: 12).roll());
33 | }
34 |
35 | // Define a class.
36 | class Die {
37 | // Define a class variable.
38 | static Random shaker = new Random();
39 |
40 | // Define instance variables.
41 | int sides, value;
42 |
43 | // Define a method using shorthand syntax.
44 | String toString() => '$value';
45 |
46 | // Define a constructor.
47 | Die({int n: 6}) {
48 | if (4 <= n && n <= 20) {
49 | sides = n;
50 | } else {
51 | // Support for errors and exceptions.
52 | throw new ArgumentError(/* */);
53 | }
54 | }
55 |
56 | // Define an instance method.
57 | int roll() {
58 | return value = shaker.nextInt(sides) + 1;
59 | }
60 | }
61 |
62 |
63 |
64 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/diff/diff.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"));
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror"], mod);
9 | else // Plain browser env
10 | mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 |
14 | CodeMirror.defineMode("diff", function() {
15 |
16 | var TOKEN_NAMES = {
17 | '+': 'positive',
18 | '-': 'negative',
19 | '@': 'meta'
20 | };
21 |
22 | return {
23 | token: function(stream) {
24 | var tw_pos = stream.string.search(/[\t ]+?$/);
25 |
26 | if (!stream.sol() || tw_pos === 0) {
27 | stream.skipToEnd();
28 | return ("error " + (
29 | TOKEN_NAMES[stream.string.charAt(0)] || '')).replace(/ $/, '');
30 | }
31 |
32 | var token_name = TOKEN_NAMES[stream.peek()] || stream.skipToEnd();
33 |
34 | if (tw_pos === -1) {
35 | stream.skipToEnd();
36 | } else {
37 | stream.pos = tw_pos;
38 | }
39 |
40 | return token_name;
41 | }
42 | };
43 | });
44 |
45 | CodeMirror.defineMIME("text/x-diff", "diff");
46 |
47 | });
48 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/ecl/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: ECL mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | ECL mode
27 |
28 | /*
29 | sample useless code to demonstrate ecl syntax highlighting
30 | this is a multiline comment!
31 | */
32 |
33 | // this is a singleline comment!
34 |
35 | import ut;
36 | r :=
37 | record
38 | string22 s1 := '123';
39 | integer4 i1 := 123;
40 | end;
41 | #option('tmp', true);
42 | d := dataset('tmp::qb', r, thor);
43 | output(d);
44 |
45 |
48 |
49 | Based on CodeMirror's clike mode. For more information see HPCC Systems web site.
50 | MIME types defined: text/x-ecl
.
51 |
52 |
53 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/elm/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Elm mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | Elm mode
27 |
28 |
29 | import Color exposing (..)
30 | import Graphics.Collage exposing (..)
31 | import Graphics.Element exposing (..)
32 | import Time exposing (..)
33 |
34 | main =
35 | Signal.map clock (every second)
36 |
37 | clock t =
38 | collage 400 400
39 | [ filled lightGrey (ngon 12 110)
40 | , outlined (solid grey) (ngon 12 110)
41 | , hand orange 100 t
42 | , hand charcoal 100 (t/60)
43 | , hand charcoal 60 (t/720)
44 | ]
45 |
46 | hand clr len time =
47 | let angle = degrees (90 - 6 * inSeconds time)
48 | in
49 | segment (0,0) (fromPolar (len,angle))
50 | |> traced (solid clr)
51 |
52 |
53 |
59 |
60 | MIME types defined: text/x-elm
.
61 |
62 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/forth/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Forth mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
18 |
31 |
32 |
33 |
34 | Forth mode
35 |
36 |
37 | \ Insertion sort
38 |
39 | : cell- 1 cells - ;
40 |
41 | : insert ( start end -- start )
42 | dup @ >r ( r: v )
43 | begin
44 | 2dup <
45 | while
46 | r@ over cell- @ <
47 | while
48 | cell-
49 | dup @ over cell+ !
50 | repeat then
51 | r> swap ! ;
52 |
53 | : sort ( array len -- )
54 | 1 ?do
55 | dup i cells + insert
56 | loop drop ;
57 |
58 |
59 |
70 |
71 | Simple mode that handle Forth-Syntax (Forth on Wikipedia ).
72 |
73 | MIME types defined: text/x-forth
.
74 |
75 |
76 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/gas/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Gas mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | Gas mode
27 |
28 |
29 | .syntax unified
30 | .global main
31 |
32 | /*
33 | * A
34 | * multi-line
35 | * comment.
36 | */
37 |
38 | @ A single line comment.
39 |
40 | main:
41 | push {sp, lr}
42 | ldr r0, =message
43 | bl puts
44 | mov r0, #0
45 | pop {sp, pc}
46 |
47 | message:
48 | .asciz "Hello world! "
49 |
50 |
51 |
52 |
58 |
59 | Handles AT&T assembler syntax (more specifically this handles
60 | the GNU Assembler (gas) syntax.)
61 | It takes a single optional configuration parameter:
62 | architecture
, which can be one of "ARM"
,
63 | "ARMv6"
or "x86"
.
64 | Including the parameter adds syntax for the registers and special
65 | directives for the supplied architecture.
66 |
67 |
MIME types defined: text/x-gas
68 |
69 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/gherkin/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Gherkin mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | Gherkin mode
27 |
28 | Feature: Using Google
29 | Background:
30 | Something something
31 | Something else
32 | Scenario: Has a homepage
33 | When I navigate to the google home page
34 | Then the home page should contain the menu and the search form
35 | Scenario: Searching for a term
36 | When I navigate to the google home page
37 | When I search for Tofu
38 | Then the search results page is displayed
39 | Then the search results page contains 10 individual search results
40 | Then the search results contain a link to the wikipedia tofu page
41 |
42 |
45 |
46 | MIME types defined: text/x-feature
.
47 |
48 |
49 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/haskell-literate/haskell-literate.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function (mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"), require("../haskell/haskell"))
7 | else if (typeof define == "function" && define.amd) // AMD
8 | define(["../../lib/codemirror", "../haskell/haskell"], mod)
9 | else // Plain browser env
10 | mod(CodeMirror)
11 | })(function (CodeMirror) {
12 | "use strict"
13 |
14 | CodeMirror.defineMode("haskell-literate", function (config, parserConfig) {
15 | var baseMode = CodeMirror.getMode(config, (parserConfig && parserConfig.base) || "haskell")
16 |
17 | return {
18 | startState: function () {
19 | return {
20 | inCode: false,
21 | baseState: CodeMirror.startState(baseMode)
22 | }
23 | },
24 | token: function (stream, state) {
25 | if (stream.sol()) {
26 | if (state.inCode = stream.eat(">"))
27 | return "meta"
28 | }
29 | if (state.inCode) {
30 | return baseMode.token(stream, state.baseState)
31 | } else {
32 | stream.skipToEnd()
33 | return "comment"
34 | }
35 | },
36 | innerMode: function (state) {
37 | return state.inCode ? {state: state.baseState, mode: baseMode} : null
38 | }
39 | }
40 | }, "haskell")
41 |
42 | CodeMirror.defineMIME("text/x-literate-haskell", "haskell-literate")
43 | });
44 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/htmlembedded/htmlembedded.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function(mod) {
5 | if (typeof exports == "object" && typeof module == "object") // CommonJS
6 | mod(require("../../lib/codemirror"), require("../htmlmixed/htmlmixed"),
7 | require("../../addon/mode/multiplex"));
8 | else if (typeof define == "function" && define.amd) // AMD
9 | define(["../../lib/codemirror", "../htmlmixed/htmlmixed",
10 | "../../addon/mode/multiplex"], mod);
11 | else // Plain browser env
12 | mod(CodeMirror);
13 | })(function(CodeMirror) {
14 | "use strict";
15 |
16 | CodeMirror.defineMode("htmlembedded", function(config, parserConfig) {
17 | var closeComment = parserConfig.closeComment || "--%>"
18 | return CodeMirror.multiplexingMode(CodeMirror.getMode(config, "htmlmixed"), {
19 | open: parserConfig.openComment || "<%--",
20 | close: closeComment,
21 | delimStyle: "comment",
22 | mode: {token: function(stream) {
23 | stream.skipTo(closeComment) || stream.skipToEnd()
24 | return "comment"
25 | }}
26 | }, {
27 | open: parserConfig.open || parserConfig.scriptStartRegex || "<%",
28 | close: parserConfig.close || parserConfig.scriptEndRegex || "%>",
29 | mode: CodeMirror.getMode(config, parserConfig.scriptingModeSpec)
30 | });
31 | }, "htmlmixed");
32 |
33 | CodeMirror.defineMIME("application/x-ejs", {name: "htmlembedded", scriptingModeSpec:"javascript"});
34 | CodeMirror.defineMIME("application/x-aspx", {name: "htmlembedded", scriptingModeSpec:"text/x-csharp"});
35 | CodeMirror.defineMIME("application/x-jsp", {name: "htmlembedded", scriptingModeSpec:"text/x-java"});
36 | CodeMirror.defineMIME("application/x-erb", {name: "htmlembedded", scriptingModeSpec:"ruby"});
37 | });
38 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/http/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: HTTP mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | HTTP mode
27 |
28 |
29 |
30 | POST /somewhere HTTP/1.1
31 | Host: example.com
32 | If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
33 | Content-Type: application/x-www-form-urlencoded;
34 | charset=utf-8
35 | User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.11 (KHTML, like Gecko) Ubuntu/12.04 Chromium/20.0.1132.47 Chrome/20.0.1132.47 Safari/536.11
36 |
37 | This is the request body!
38 |
39 |
40 |
43 |
44 | MIME types defined: message/http
.
45 |
46 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/idl/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: IDL mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
25 |
26 |
27 | IDL mode
28 |
29 |
30 | ;; Example IDL code
31 | FUNCTION mean_and_stddev,array
32 | ;; This program reads in an array of numbers
33 | ;; and returns a structure containing the
34 | ;; average and standard deviation
35 |
36 | ave = 0.0
37 | count = 0.0
38 |
39 | for i=0,N_ELEMENTS(array)-1 do begin
40 | ave = ave + array[i]
41 | count = count + 1
42 | endfor
43 |
44 | ave = ave/count
45 |
46 | std = stddev(array)
47 |
48 | return, {average:ave,std:std}
49 |
50 | END
51 |
52 |
53 |
63 |
64 | MIME types defined: text/x-idl
.
65 |
66 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/javascript/typescript.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: TypeScript mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
25 |
26 |
27 | TypeScript mode
28 |
29 |
30 |
31 | class Greeter {
32 | greeting: string;
33 | constructor (message: string) {
34 | this.greeting = message;
35 | }
36 | greet() {
37 | return "Hello, " + this.greeting;
38 | }
39 | }
40 |
41 | var greeter = new Greeter("world");
42 |
43 | var button = document.createElement('button')
44 | button.innerText = "Say Hello"
45 | button.onclick = function() {
46 | alert(greeter.greet())
47 | }
48 |
49 | document.body.appendChild(button)
50 |
51 |
52 |
53 |
60 |
61 | This is a specialization of the JavaScript mode .
62 |
63 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/mbox/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: mbox mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | mbox mode
27 |
28 | From timothygu99@gmail.com Sun Apr 17 01:40:43 2016
29 | From: Timothy Gu <timothygu99@gmail.com>
30 | Date: Sat, 16 Apr 2016 18:40:43 -0700
31 | Subject: mbox mode
32 | Message-ID: <Z8d+bTT50U/az94FZnyPkDjZmW0=@gmail.com>
33 |
34 | mbox mode is working!
35 |
36 | Timothy
37 |
38 |
41 |
42 | MIME types defined: application/mbox
.
43 |
44 |
45 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/nsis/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: NSIS mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
15 |
28 |
29 |
30 | NSIS mode
31 |
32 |
33 |
34 | ; This is a comment
35 | !ifdef ERROR
36 | !error "Something went wrong"
37 | !endif
38 |
39 | OutFile "demo.exe"
40 | RequestExecutionLevel user
41 | SetDetailsPrint listonly
42 |
43 | !include "LogicLib.nsh"
44 | !include "WinVer.nsh"
45 |
46 | Section -mandatory
47 |
48 | Call logWinVer
49 |
50 | ${If} 1 > 0
51 | MessageBox MB_OK "Hello world"
52 | ${EndIf}
53 |
54 | SectionEnd
55 |
56 | Function logWinVer
57 |
58 | ${If} ${IsWin10}
59 | DetailPrint "Windows 10!"
60 | ${ElseIf} ${AtLeastWinVista}
61 | DetailPrint "We're post-XP"
62 | ${Else}
63 | DetailPrint "Legacy system"
64 | ${EndIf}
65 |
66 | FunctionEnd
67 |
68 |
69 |
78 |
79 | MIME types defined: text/x-nsis
.
80 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/oz/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Oz mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
14 |
26 |
27 |
28 | Oz mode
29 |
30 | declare
31 | fun {Ints N Max}
32 | if N == Max then nil
33 | else
34 | {Delay 1000}
35 | N|{Ints N+1 Max}
36 | end
37 | end
38 |
39 | fun {Sum S Stream}
40 | case Stream of nil then S
41 | [] H|T then S|{Sum H+S T} end
42 | end
43 |
44 | local X Y in
45 | thread X = {Ints 0 1000} end
46 | thread Y = {Sum 0 X} end
47 | {Browse Y}
48 | end
49 |
50 | MIME type defined: text/x-oz
.
51 |
52 |
59 |
60 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/pascal/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Pascal mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | Pascal mode
27 |
28 |
29 |
30 | (* Example Pascal code *)
31 |
32 | while a <> b do writeln('Waiting');
33 |
34 | if a > b then
35 | writeln('Condition met')
36 | else
37 | writeln('Condition not met');
38 |
39 | for i := 1 to 10 do
40 | writeln('Iteration: ', i:1);
41 |
42 | repeat
43 | a := a + 1
44 | until a = 10;
45 |
46 | case i of
47 | 0: write('zero');
48 | 1: write('one');
49 | 2: write('two')
50 | end;
51 |
52 |
53 |
59 |
60 | MIME types defined: text/x-pascal
.
61 |
62 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/pegjs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CodeMirror: PEG.js Mode
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
28 |
29 |
30 | PEG.js Mode
31 |
32 | /*
33 | * Classic example grammar, which recognizes simple arithmetic expressions like
34 | * "2*(3+4)". The parser generated from this grammar then computes their value.
35 | */
36 |
37 | start
38 | = additive
39 |
40 | additive
41 | = left:multiplicative "+" right:additive { return left + right; }
42 | / multiplicative
43 |
44 | multiplicative
45 | = left:primary "*" right:multiplicative { return left * right; }
46 | / primary
47 |
48 | primary
49 | = integer
50 | / "(" additive:additive ")" { return additive; }
51 |
52 | integer "integer"
53 | = digits:[0-9]+ { return parseInt(digits.join(""), 10); }
54 |
55 | letter = [a-z]+
56 |
62 | The PEG.js Mode
63 | Created by Forbes Lindesay.
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/perl/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Perl mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | Perl mode
27 |
28 |
29 |
30 | #!/usr/bin/perl
31 |
32 | use Something qw(func1 func2);
33 |
34 | # strings
35 | my $s1 = qq'single line';
36 | our $s2 = q(multi-
37 | line);
38 |
39 | =item Something
40 | Example.
41 | =cut
42 |
43 | my $html=<<'HTML'
44 |
45 | hi!
46 |
47 | HTML
48 |
49 | print "first,".join(',', 'second', qq~third~);
50 |
51 | if($s1 =~ m[(?{$1}=$$.' predefined variables';
53 | $s2 =~ s/\-line//ox;
54 | $s1 =~ s[
55 | line ]
56 | [
57 | block
58 | ]ox;
59 | }
60 |
61 | 1; # numbers and comments
62 |
63 | __END__
64 | something...
65 |
66 |
67 |
68 |
73 |
74 | MIME types defined: text/x-perl
.
75 |
76 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/pig/index.html:
--------------------------------------------------------------------------------
1 |
2 | CodeMirror: Pig Latin mode
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
23 |
24 |
25 | Pig Latin mode
26 |
27 | -- Apache Pig (Pig Latin Language) Demo
28 | /*
29 | This is a multiline comment.
30 | */
31 | a = LOAD "\path\to\input" USING PigStorage('\t') AS (x:long, y:chararray, z:bytearray);
32 | b = GROUP a BY (x,y,3+4);
33 | c = FOREACH b GENERATE flatten(group) as (x,y), SUM(group.$2) as z;
34 | STORE c INTO "\path\to\output";
35 |
36 | --
37 |
38 |
39 |
46 |
47 |
48 | Simple mode that handles Pig Latin language.
49 |
50 |
51 | MIME type defined: text/x-pig
52 | (PIG code)
53 |
54 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/properties/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Properties files mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | Properties files mode
27 |
28 | # This is a properties file
29 | a.key = A value
30 | another.key = http://example.com
31 | ! Exclamation mark as comment
32 | but.not=Within ! A value # indeed
33 | # Spaces at the beginning of a line
34 | spaces.before.key=value
35 | backslash=Used for multi\
36 | line entries,\
37 | that's convenient.
38 | # Unicode sequences
39 | unicode.key=This is \u0020 Unicode
40 | no.multiline=here
41 | # Colons
42 | colons : can be used too
43 | # Spaces
44 | spaces\ in\ keys=Not very common...
45 |
46 |
49 |
50 | MIME types defined: text/x-properties
,
51 | text/x-ini
.
52 |
53 |
54 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/ruby/test.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function() {
5 | var mode = CodeMirror.getMode({indentUnit: 2}, "ruby");
6 | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
7 |
8 | MT("divide_equal_operator",
9 | "[variable bar] [operator /=] [variable foo]");
10 |
11 | MT("divide_equal_operator_no_spacing",
12 | "[variable foo][operator /=][number 42]");
13 |
14 | MT("complex_regexp",
15 | "[keyword if] [variable cr] [operator =~] [string-2 /(?: \\( #{][tag RE_NOT][string-2 }\\( | #{][tag RE_NOT_PAR_OR][string-2 }* #{][tag RE_OPA_OR][string-2 } )/][variable x]")
16 |
17 | MT("indented_heredoc",
18 | "[keyword def] [def x]",
19 | " [variable y] [operator =] [string <<-FOO]",
20 | "[string bar]",
21 | "[string FOO]",
22 | "[keyword end]")
23 | })();
24 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/rust/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Rust mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
25 |
26 |
27 | Rust mode
28 |
29 |
30 |
31 | // Demo code.
32 |
33 | type foo = i32;
34 | enum bar {
35 | Some(i32, foo),
36 | None
37 | }
38 |
39 | fn check_crate(x: i32) {
40 | let v = 10;
41 | match foo {
42 | 1 ... 3 {
43 | print_foo();
44 | if x {
45 | blah().to_string();
46 | }
47 | }
48 | (x, y) { "bye" }
49 | _ { "hi" }
50 | }
51 | }
52 |
53 |
54 |
62 |
63 | MIME types defined: text/x-rustsrc
.
64 |
65 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/rust/test.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function() {
5 | var mode = CodeMirror.getMode({indentUnit: 4}, "rust");
6 | function MT(name) {test.mode(name, mode, Array.prototype.slice.call(arguments, 1));}
7 |
8 | MT('integer_test',
9 | '[number 123i32]',
10 | '[number 123u32]',
11 | '[number 123_u32]',
12 | '[number 0xff_u8]',
13 | '[number 0o70_i16]',
14 | '[number 0b1111_1111_1001_0000_i32]',
15 | '[number 0usize]');
16 |
17 | MT('float_test',
18 | '[number 123.0f64]',
19 | '[number 0.1f64]',
20 | '[number 0.1f32]',
21 | '[number 12E+99_f64]');
22 |
23 | MT('string-literals-test',
24 | '[string "foo"]',
25 | '[string r"foo"]',
26 | '[string "\\"foo\\""]',
27 | '[string r#""foo""#]',
28 | '[string "foo #\\"# bar"]',
29 |
30 | '[string b"foo"]',
31 | '[string br"foo"]',
32 | '[string b"\\"foo\\""]',
33 | '[string br#""foo""#]',
34 | '[string br##"foo #" bar"##]',
35 |
36 | "[string-2 'h']",
37 | "[string-2 b'h']");
38 |
39 | })();
40 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/sass/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Sass mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
26 |
27 |
28 | Sass mode
29 | // Variable Definitions
30 |
31 | $page-width: 800px
32 | $sidebar-width: 200px
33 | $primary-color: #eeeeee
34 |
35 | // Global Attributes
36 |
37 | body
38 | font:
39 | family: sans-serif
40 | size: 30em
41 | weight: bold
42 |
43 | // Scoped Styles
44 |
45 | #contents
46 | width: $page-width
47 | #sidebar
48 | float: right
49 | width: $sidebar-width
50 | #main
51 | width: $page-width - $sidebar-width
52 | background: $primary-color
53 | h2
54 | color: blue
55 |
56 | #footer
57 | height: 200px
58 |
59 |
66 |
67 | MIME types defined: text/x-sass
.
68 |
69 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/shell/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Shell mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
14 |
27 |
28 |
29 | Shell mode
30 |
31 |
32 |
33 | #!/bin/bash
34 |
35 | # clone the repository
36 | git clone http://github.com/garden/tree
37 |
38 | # generate HTTPS credentials
39 | cd tree
40 | openssl genrsa -aes256 -out https.key 1024
41 | openssl req -new -nodes -key https.key -out https.csr
42 | openssl x509 -req -days 365 -in https.csr -signkey https.key -out https.crt
43 | cp https.key{,.orig}
44 | openssl rsa -in https.key.orig -out https.key
45 |
46 | # start the server in HTTPS mode
47 | cd web
48 | sudo node ../server.js 443 'yes' >> ../node.log &
49 |
50 | # here is how to stop the server
51 | for pid in `ps aux | grep 'node ../server.js' | awk '{print $2}'` ; do
52 | sudo kill -9 $pid 2> /dev/null
53 | done
54 |
55 | exit 0
56 |
57 |
64 |
65 | MIME types defined: text/x-sh
, application/x-sh
.
66 |
67 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/solr/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Solr mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
20 |
33 |
34 |
35 | Solr mode
36 |
37 |
38 | author:Camus
39 |
40 | title:"The Rebel" and author:Camus
41 |
42 | philosophy:Existentialism -author:Kierkegaard
43 |
44 | hardToSpell:Dostoevsky~
45 |
46 | published:[194* TO 1960] and author:(Sartre or "Simone de Beauvoir")
47 |
48 |
49 |
55 |
56 | MIME types defined: text/x-solr
.
57 |
58 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/sparql/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: SPARQL mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
25 |
26 |
27 | SPARQL mode
28 |
29 | PREFIX a: <http://www.w3.org/2000/10/annotation-ns#>
30 | PREFIX dc: <http://purl.org/dc/elements/1.1/>
31 | PREFIX foaf: <http://xmlns.com/foaf/0.1/>
32 | PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
33 |
34 | # Comment!
35 |
36 | SELECT ?given ?family
37 | WHERE {
38 | {
39 | ?annot a:annotates <http://www.w3.org/TR/rdf-sparql-query/> .
40 | ?annot dc:creator ?c .
41 | OPTIONAL {?c foaf:givenName ?given ;
42 | foaf:familyName ?family }
43 | } UNION {
44 | ?c !foaf:knows/foaf:knows? ?thing.
45 | ?thing rdfs
46 | } MINUS {
47 | ?thing rdfs:label "剛柔流"@jp
48 | }
49 | FILTER isBlank(?c)
50 | }
51 |
52 |
58 |
59 | MIME types defined: application/sparql-query
.
60 |
61 |
62 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/spreadsheet/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Spreadsheet mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
25 |
26 |
27 | Spreadsheet mode
28 | =IF(A1:B2, TRUE, FALSE) / 100
29 |
30 |
37 |
38 | MIME types defined: text/x-spreadsheet
.
39 |
40 | The Spreadsheet Mode
41 | Created by Robert Plummer
42 |
43 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/swift/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Swift mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
14 |
27 |
28 |
29 | Swift mode
30 |
31 | protocol HeaderViewProtocol {
32 | func setTitle(_ string: String)
33 | }
34 |
35 | struct AnyHeaderView {
36 | let view: UIView
37 | let headerView: HeaderViewProtocol
38 | init(view: T) where T: HeaderViewProtocol {
39 | self.view = view
40 | self.headerView = view
41 | }
42 | }
43 |
44 | let header = AnyHeaderView(view: myView)
45 | header.headerView.setTitle("hi")
46 |
47 | struct HeaderView {
48 | let view: UIView
49 | let setTitle: (String) -> ()
50 | }
51 |
52 | var label = UILabel()
53 | let header = HeaderView(view: label) { str in
54 | label.text = str
55 | }
56 | header.setTitle("hello")
57 |
58 |
59 |
66 |
67 | A simple mode for Swift
68 |
69 | MIME types defined: text/x-swift
(Swift code)
70 |
71 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/tiddlywiki/tiddlywiki.css:
--------------------------------------------------------------------------------
1 | span.cm-underlined {
2 | text-decoration: underline;
3 | }
4 | span.cm-strikethrough {
5 | text-decoration: line-through;
6 | }
7 | span.cm-brace {
8 | color: #170;
9 | font-weight: bold;
10 | }
11 | span.cm-table {
12 | color: blue;
13 | font-weight: bold;
14 | }
15 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/tiki/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Tiki wiki mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
25 |
26 |
27 | Tiki wiki mode
28 |
29 |
30 |
31 | Headings
32 | !Header 1
33 | !!Header 2
34 | !!!Header 3
35 | !!!!Header 4
36 | !!!!!Header 5
37 | !!!!!!Header 6
38 |
39 | Styling
40 | -=titlebar=-
41 | ^^ Box on multi
42 | lines
43 | of content^^
44 | __bold__
45 | ''italic''
46 | ===underline===
47 | ::center::
48 | --Line Through--
49 |
50 | Operators
51 | ~np~No parse~/np~
52 |
53 | Link
54 | [link|desc|nocache]
55 |
56 | Wiki
57 | ((Wiki))
58 | ((Wiki|desc))
59 | ((Wiki|desc|timeout))
60 |
61 | Table
62 | ||row1 col1|row1 col2|row1 col3
63 | row2 col1|row2 col2|row2 col3
64 | row3 col1|row3 col2|row3 col3||
65 |
66 | Lists:
67 | *bla
68 | **bla-1
69 | ++continue-bla-1
70 | ***bla-2
71 | ++continue-bla-1
72 | *bla
73 | +continue-bla
74 | #bla
75 | ** tra-la-la
76 | +continue-bla
77 | #bla
78 |
79 | Plugin (standard):
80 | {PLUGIN(attr="my attr")}
81 | Plugin Body
82 | {PLUGIN}
83 |
84 | Plugin (inline):
85 | {plugin attr="my attr"}
86 |
87 |
88 |
94 |
95 |
96 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/tiki/tiki.css:
--------------------------------------------------------------------------------
1 | .cm-tw-syntaxerror {
2 | color: #FFF;
3 | background-color: #900;
4 | }
5 |
6 | .cm-tw-deleted {
7 | text-decoration: line-through;
8 | }
9 |
10 | .cm-tw-header5 {
11 | font-weight: bold;
12 | }
13 | .cm-tw-listitem:first-child { /*Added first child to fix duplicate padding when highlighting*/
14 | padding-left: 10px;
15 | }
16 |
17 | .cm-tw-box {
18 | border-top-width: 0px !important;
19 | border-style: solid;
20 | border-width: 1px;
21 | border-color: inherit;
22 | }
23 |
24 | .cm-tw-underline {
25 | text-decoration: underline;
26 | }
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/toml/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: TOML Mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | TOML Mode
27 |
28 | # This is a TOML document. Boom.
29 |
30 | title = "TOML Example"
31 |
32 | [owner]
33 | name = "Tom Preston-Werner"
34 | organization = "GitHub"
35 | bio = "GitHub Cofounder & CEO\nLikes tater tots and beer."
36 | dob = 1979-05-27T07:32:00Z # First class dates? Why not?
37 |
38 | [database]
39 | server = "192.168.1.1"
40 | ports = [ 8001, 8001, 8002 ]
41 | connection_max = 5000
42 | enabled = true
43 |
44 | [servers]
45 |
46 | # You can indent as you please. Tabs or spaces. TOML don't care.
47 | [servers.alpha]
48 | ip = "10.0.0.1"
49 | dc = "eqdc10"
50 |
51 | [servers.beta]
52 | ip = "10.0.0.2"
53 | dc = "eqdc10"
54 |
55 | [clients]
56 | data = [ ["gamma", "delta"], [1, 2] ]
57 |
58 | # Line breaks are OK when inside arrays
59 | hosts = [
60 | "alpha",
61 | "omega"
62 | ]
63 |
64 |
70 | The TOML Mode
71 | Created by Forbes Lindesay.
72 | MIME type defined: text/x-toml
.
73 |
74 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/tornado/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Tornado template mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
27 |
28 |
29 | Tornado template mode
30 |
31 |
32 |
33 |
34 | My Tornado web application
35 |
36 |
37 |
38 | {{ title }}
39 |
40 |
41 | {% for item in items %}
42 | {% item.name %}
43 | {% empty %}
44 | You have no items in your list.
45 | {% end %}
46 |
47 |
48 |
49 |
50 |
51 |
59 |
60 | Mode for HTML with embedded Tornado template markup.
61 |
62 | MIME types defined: text/x-tornado
63 |
64 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/turtle/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Turtle mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
25 |
26 |
27 | Turtle mode
28 |
29 | @prefix foaf: .
30 | @prefix geo: .
31 | @prefix rdf: .
32 |
33 |
34 | a foaf:Person;
35 | foaf:interest ;
36 | foaf:based_near [
37 | geo:lat "34.0736111" ;
38 | geo:lon "-118.3994444"
39 | ]
40 |
41 |
42 |
48 |
49 | MIME types defined: text/turtle
.
50 |
51 |
52 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/twig/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Twig mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
26 |
27 |
28 | Twig mode
29 |
30 | {% extends "layout.twig" %}
31 | {% block title %}CodeMirror: Twig mode{% endblock %}
32 | {# this is a comment #}
33 | {% block content %}
34 | {% for foo in bar if foo.baz is divisible by(3) %}
35 | Hello {{ foo.world }}
36 | {% else %}
37 | {% set msg = "Result not found" %}
38 | {% include "empty.twig" with { message: msg } %}
39 | {% endfor %}
40 | {% endblock %}
41 |
42 |
47 |
48 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/vb/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: VB.NET mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
30 |
31 |
32 | VB.NET mode
33 |
34 |
35 | Class rocket
36 | Private quality as Double
37 | Public Sub launch() as String
38 | If quality > 0.8
39 | launch = "Successful"
40 | Else
41 | launch = "Failed"
42 | End If
43 | End sub
44 | End class
45 |
46 |
47 | MIME type defined: text/x-vb
.
48 |
49 |
50 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/vbscript/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: VBScript mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | VBScript mode
27 |
28 |
29 |
30 | ' Pete Guhl
31 | ' 03-04-2012
32 | '
33 | ' Basic VBScript support for codemirror2
34 |
35 | Const ForReading = 1, ForWriting = 2, ForAppending = 8
36 |
37 | Call Sub020_PostBroadcastToUrbanAirship(strUserName, strPassword, intTransmitID, strResponse)
38 |
39 | If Not IsNull(strResponse) AND Len(strResponse) = 0 Then
40 | boolTransmitOkYN = False
41 | Else
42 | ' WScript.Echo "Oh Happy Day! Oh Happy DAY!"
43 | boolTransmitOkYN = True
44 | End If
45 |
46 |
47 |
53 |
54 | MIME types defined: text/vbscript
.
55 |
56 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/wast/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: WebAssembly mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
17 |
32 |
33 |
34 | WebAssembly mode
35 |
36 |
37 |
38 | /* Example WebAssembly */
39 | (module $foo
40 | (export "fac" (func $fac))
41 | (export "plus" (func $plus))
42 |
43 | (func $fac (type $t0) (param $p0 i64) (result i64)
44 | (if $I0 (result i64)
45 | (i64.lt_s
46 | (local.get $p0)
47 | (i64.const 1))
48 | (then
49 | (i64.const 1))
50 | (else
51 | (i64.mul
52 | (local.get $p0)
53 | (call $fac
54 | (i64.sub
55 | (local.get $p0)
56 | (i64.const 1)))))))
57 |
58 | (func $plus (param $x i32) (param $y i32) (result i32)
59 | (i32.add
60 | (local.get $x)
61 | (local.get $y))))
62 |
63 |
71 |
72 | MIME types defined: text/webassembly
.
73 |
74 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/xml/test.js:
--------------------------------------------------------------------------------
1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3 |
4 | (function() {
5 | var mode = CodeMirror.getMode({indentUnit: 2}, "xml"), mname = "xml";
6 | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), mname); }
7 |
8 | MT("matching",
9 | "[tag&bracket <][tag top][tag&bracket >]",
10 | " text",
11 | " [tag&bracket <][tag inner][tag&bracket />]",
12 | "[tag&bracket ][tag top][tag&bracket >]");
13 |
14 | MT("nonmatching",
15 | "[tag&bracket <][tag top][tag&bracket >]",
16 | " [tag&bracket <][tag inner][tag&bracket />]",
17 | " [tag&bracket ][tag&error tip][tag&bracket&error >]");
18 |
19 | MT("doctype",
20 | "[meta ]",
21 | "[tag&bracket <][tag top][tag&bracket />]");
22 |
23 | MT("cdata",
24 | "[tag&bracket <][tag top][tag&bracket >]",
25 | " [atom ]",
27 | "[tag&bracket ][tag top][tag&bracket >]");
28 |
29 | // HTML tests
30 | mode = CodeMirror.getMode({indentUnit: 2}, "text/html");
31 |
32 | MT("selfclose",
33 | "[tag&bracket <][tag html][tag&bracket >]",
34 | " [tag&bracket <][tag link] [attribute rel]=[string stylesheet] [attribute href]=[string \"/foobar\"][tag&bracket >]",
35 | "[tag&bracket ][tag html][tag&bracket >]");
36 |
37 | MT("list",
38 | "[tag&bracket <][tag ol][tag&bracket >]",
39 | " [tag&bracket <][tag li][tag&bracket >]one",
40 | " [tag&bracket <][tag li][tag&bracket >]two",
41 | "[tag&bracket ][tag ol][tag&bracket >]");
42 |
43 | MT("valueless",
44 | "[tag&bracket <][tag input] [attribute type]=[string checkbox] [attribute checked][tag&bracket />]");
45 |
46 | MT("pThenArticle",
47 | "[tag&bracket <][tag p][tag&bracket >]",
48 | " foo",
49 | "[tag&bracket <][tag article][tag&bracket >]bar");
50 |
51 | })();
52 |
--------------------------------------------------------------------------------
/src/lib/codemirror/mode/z80/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | CodeMirror: Z80 assembly mode
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
24 |
25 |
26 | Z80 assembly mode
27 |
28 |
29 |
30 | #include "ti83plus.inc"
31 | #define progStart $9D95
32 | .org progStart-2
33 | .db $BB,$6D
34 |
35 | bcall(_ClrLCDFull)
36 | ld hl,0
37 | ld (CurCol),hl
38 | ld hl,Message
39 | bcall(_PutS) ; Displays the string
40 | bcall(_NewLine)
41 | ret
42 | Message:
43 | .db "Hello world!",0
44 |
45 |
46 |
51 |
52 | MIME types defined: text/x-z80
, text/x-ez80
.
53 |
54 |
--------------------------------------------------------------------------------
/src/lib/codemirror/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "codemirror",
3 | "version": "5.65.11",
4 | "main": "lib/codemirror.js",
5 | "style": "lib/codemirror.css",
6 | "author": {
7 | "name": "Marijn Haverbeke",
8 | "email": "marijnh@gmail.com",
9 | "url": "http://marijnhaverbeke.nl"
10 | },
11 | "description": "Full-featured in-browser code editor",
12 | "license": "MIT",
13 | "directories": {
14 | "lib": "./lib"
15 | },
16 | "scripts": {
17 | "build": "rollup -c",
18 | "watch": "rollup -w -c",
19 | "prepare": "npm run-script build",
20 | "test": "node ./test/run.js",
21 | "lint": "bin/lint"
22 | },
23 | "devDependencies": {
24 | "@rollup/plugin-buble": "^0.21.3",
25 | "blint": "^1.1.2",
26 | "cm5-vim": "^0.0.5",
27 | "node-static": "0.7.11",
28 | "puppeteer": "^1.20.0",
29 | "rollup": "^1.26.3",
30 | "rollup-plugin-copy": "^3.4.0"
31 | },
32 | "bugs": "http://github.com/codemirror/CodeMirror/issues",
33 | "keywords": [
34 | "JavaScript",
35 | "CodeMirror",
36 | "Editor"
37 | ],
38 | "homepage": "https://codemirror.net/5/",
39 | "repository": {
40 | "type": "git",
41 | "url": "https://github.com/codemirror/CodeMirror.git"
42 | },
43 | "jspm": {
44 | "directories": {},
45 | "dependencies": {},
46 | "devDependencies": {}
47 | },
48 | "dependencies": {},
49 | "publishConfig": {
50 | "tag": "version5"
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/src/lib/codemirror/rollup.config.js:
--------------------------------------------------------------------------------
1 | import buble from '@rollup/plugin-buble';
2 | import copy from 'rollup-plugin-copy'
3 |
4 | let copyVim = copy({
5 | targets: [
6 | {
7 | src: require.resolve("cm5-vim/vim.js").replace(/\\/g, "/"),
8 | dest: "./keymap"
9 | }
10 | ]
11 | });
12 |
13 | export default [
14 | {
15 | input: "src/codemirror.js",
16 | output: {
17 | banner: `// CodeMirror, copyright (c) by Marijn Haverbeke and others
18 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE
19 |
20 | // This is CodeMirror (https://codemirror.net/5), a code editor
21 | // implemented in JavaScript on top of the browser's DOM.
22 | //
23 | // You can find some technical background for some of the code below
24 | // at http://marijnhaverbeke.nl/blog/#cm-internals .
25 | `,
26 | format: "umd",
27 | file: "lib/codemirror.js",
28 | name: "CodeMirror"
29 | },
30 | plugins: [ buble({namedFunctionExpressions: false}), copyVim ]
31 | },
32 | {
33 | input: ["src/addon/runmode/runmode-standalone.js"],
34 | output: {
35 | format: "iife",
36 | file: "addon/runmode/runmode-standalone.js",
37 | name: "CodeMirror",
38 | freeze: false, // IE8 doesn't support Object.freeze.
39 | },
40 | plugins: [ buble({namedFunctionExpressions: false}) ]
41 | },
42 | {
43 | input: ["src/addon/runmode/runmode.node.js"],
44 | output: {
45 | format: "cjs",
46 | file: "addon/runmode/runmode.node.js",
47 | name: "CodeMirror",
48 | freeze: false, // IE8 doesn't support Object.freeze.
49 | },
50 | plugins: [ buble({namedFunctionExpressions: false}) ]
51 | },
52 | ];
53 |
--------------------------------------------------------------------------------
/src/lib/codemirror/src/addon/runmode/codemirror-standalone.js:
--------------------------------------------------------------------------------
1 | import StringStream from "../../util/StringStream.js"
2 | import { countColumn } from "../../util/misc.js"
3 | import * as modeMethods from "../../modes.js"
4 |
5 | // declare global: globalThis, CodeMirror
6 |
7 | // Create a minimal CodeMirror needed to use runMode, and assign to root.
8 | var root = typeof globalThis !== 'undefined' ? globalThis : window
9 | root.CodeMirror = {}
10 |
11 | // Copy StringStream and mode methods into CodeMirror object.
12 | CodeMirror.StringStream = StringStream
13 | for (var exported in modeMethods) CodeMirror[exported] = modeMethods[exported]
14 |
15 | // Minimal default mode.
16 | CodeMirror.defineMode("null", () => ({token: stream => stream.skipToEnd()}))
17 | CodeMirror.defineMIME("text/plain", "null")
18 |
19 | CodeMirror.registerHelper = CodeMirror.registerGlobalHelper = Math.min
20 | CodeMirror.splitLines = function(string) { return string.split(/\r?\n|\r/) }
21 | CodeMirror.countColumn = countColumn
22 |
23 | CodeMirror.defaults = { indentUnit: 2 }
24 | export default CodeMirror
25 |
--------------------------------------------------------------------------------
/src/lib/codemirror/src/addon/runmode/codemirror.node.js:
--------------------------------------------------------------------------------
1 | import StringStream from "../../util/StringStream.js"
2 | import * as modeMethods from "../../modes.js"
3 | import {countColumn} from "../../util/misc.js"
4 |
5 | // Copy StringStream and mode methods into exports (CodeMirror) object.
6 | exports.StringStream = StringStream
7 | exports.countColumn = countColumn
8 | for (var exported in modeMethods) exports[exported] = modeMethods[exported]
9 |
10 | // Shim library CodeMirror with the minimal CodeMirror defined above.
11 | require.cache[require.resolve("../../lib/codemirror")] = require.cache[require.resolve("./runmode.node")]
12 | require.cache[require.resolve("../../addon/runmode/runmode")] = require.cache[require.resolve("./runmode.node")]
13 |
14 | // Minimal default mode.
15 | exports.defineMode("null", () => ({token: stream => stream.skipToEnd()}))
16 | exports.defineMIME("text/plain", "null")
17 |
18 | exports.registerHelper = exports.registerGlobalHelper = Math.min
19 | exports.splitLines = function(string) { return string.split(/\r?\n|\r/) }
20 |
21 | exports.defaults = { indentUnit: 2 }
22 |
--------------------------------------------------------------------------------
/src/lib/codemirror/src/addon/runmode/runmode-standalone.js:
--------------------------------------------------------------------------------
1 | import "./codemirror-standalone.js"
2 | import "../../../addon/runmode/runmode.js"
--------------------------------------------------------------------------------
/src/lib/codemirror/src/addon/runmode/runmode.node.js:
--------------------------------------------------------------------------------
1 | import "./codemirror.node.js"
2 | import "../../../addon/runmode/runmode.js"
--------------------------------------------------------------------------------
/src/lib/codemirror/src/codemirror.js:
--------------------------------------------------------------------------------
1 | import { CodeMirror } from "./edit/main.js"
2 |
3 | export default CodeMirror
4 |
--------------------------------------------------------------------------------
/src/lib/codemirror/src/display/focus.js:
--------------------------------------------------------------------------------
1 | import { restartBlink } from "./selection.js"
2 | import { webkit } from "../util/browser.js"
3 | import { addClass, rmClass } from "../util/dom.js"
4 | import { signal } from "../util/event.js"
5 |
6 | export function ensureFocus(cm) {
7 | if (!cm.hasFocus()) {
8 | cm.display.input.focus()
9 | if (!cm.state.focused) onFocus(cm)
10 | }
11 | }
12 |
13 | export function delayBlurEvent(cm) {
14 | cm.state.delayingBlurEvent = true
15 | setTimeout(() => { if (cm.state.delayingBlurEvent) {
16 | cm.state.delayingBlurEvent = false
17 | if (cm.state.focused) onBlur(cm)
18 | } }, 100)
19 | }
20 |
21 | export function onFocus(cm, e) {
22 | if (cm.state.delayingBlurEvent && !cm.state.draggingText) cm.state.delayingBlurEvent = false
23 |
24 | if (cm.options.readOnly == "nocursor") return
25 | if (!cm.state.focused) {
26 | signal(cm, "focus", cm, e)
27 | cm.state.focused = true
28 | addClass(cm.display.wrapper, "CodeMirror-focused")
29 | // This test prevents this from firing when a context
30 | // menu is closed (since the input reset would kill the
31 | // select-all detection hack)
32 | if (!cm.curOp && cm.display.selForContextMenu != cm.doc.sel) {
33 | cm.display.input.reset()
34 | if (webkit) setTimeout(() => cm.display.input.reset(true), 20) // Issue #1730
35 | }
36 | cm.display.input.receivedFocus()
37 | }
38 | restartBlink(cm)
39 | }
40 | export function onBlur(cm, e) {
41 | if (cm.state.delayingBlurEvent) return
42 |
43 | if (cm.state.focused) {
44 | signal(cm, "blur", cm, e)
45 | cm.state.focused = false
46 | rmClass(cm.display.wrapper, "CodeMirror-focused")
47 | }
48 | clearInterval(cm.display.blinker)
49 | setTimeout(() => { if (!cm.state.focused) cm.display.shift = false }, 150)
50 | }
51 |
--------------------------------------------------------------------------------
/src/lib/codemirror/src/display/gutters.js:
--------------------------------------------------------------------------------
1 | import { elt, removeChildren } from "../util/dom.js"
2 | import { regChange } from "./view_tracking.js"
3 | import { alignHorizontally } from "./line_numbers.js"
4 | import { updateGutterSpace } from "./update_display.js"
5 |
6 | export function getGutters(gutters, lineNumbers) {
7 | let result = [], sawLineNumbers = false
8 | for (let i = 0; i < gutters.length; i++) {
9 | let name = gutters[i], style = null
10 | if (typeof name != "string") { style = name.style; name = name.className }
11 | if (name == "CodeMirror-linenumbers") {
12 | if (!lineNumbers) continue
13 | else sawLineNumbers = true
14 | }
15 | result.push({className: name, style})
16 | }
17 | if (lineNumbers && !sawLineNumbers) result.push({className: "CodeMirror-linenumbers", style: null})
18 | return result
19 | }
20 |
21 | // Rebuild the gutter elements, ensure the margin to the left of the
22 | // code matches their width.
23 | export function renderGutters(display) {
24 | let gutters = display.gutters, specs = display.gutterSpecs
25 | removeChildren(gutters)
26 | display.lineGutter = null
27 | for (let i = 0; i < specs.length; ++i) {
28 | let {className, style} = specs[i]
29 | let gElt = gutters.appendChild(elt("div", null, "CodeMirror-gutter " + className))
30 | if (style) gElt.style.cssText = style
31 | if (className == "CodeMirror-linenumbers") {
32 | display.lineGutter = gElt
33 | gElt.style.width = (display.lineNumWidth || 1) + "px"
34 | }
35 | }
36 | gutters.style.display = specs.length ? "" : "none"
37 | updateGutterSpace(display)
38 | }
39 |
40 | export function updateGutters(cm) {
41 | renderGutters(cm.display)
42 | regChange(cm)
43 | alignHorizontally(cm)
44 | }
45 |
--------------------------------------------------------------------------------
/src/lib/codemirror/src/display/mode_state.js:
--------------------------------------------------------------------------------
1 | import { getMode } from "../modes.js"
2 |
3 | import { startWorker } from "./highlight_worker.js"
4 | import { regChange } from "./view_tracking.js"
5 |
6 | // Used to get the editor into a consistent state again when options change.
7 |
8 | export function loadMode(cm) {
9 | cm.doc.mode = getMode(cm.options, cm.doc.modeOption)
10 | resetModeState(cm)
11 | }
12 |
13 | export function resetModeState(cm) {
14 | cm.doc.iter(line => {
15 | if (line.stateAfter) line.stateAfter = null
16 | if (line.styles) line.styles = null
17 | })
18 | cm.doc.modeFrontier = cm.doc.highlightFrontier = cm.doc.first
19 | startWorker(cm, 100)
20 | cm.state.modeGen++
21 | if (cm.curOp) regChange(cm)
22 | }
23 |
--------------------------------------------------------------------------------
/src/lib/codemirror/src/edit/deleteNearSelection.js:
--------------------------------------------------------------------------------
1 | import { runInOp } from "../display/operations.js"
2 | import { ensureCursorVisible } from "../display/scrolling.js"
3 | import { cmp } from "../line/pos.js"
4 | import { replaceRange } from "../model/changes.js"
5 | import { lst } from "../util/misc.js"
6 |
7 | // Helper for deleting text near the selection(s), used to implement
8 | // backspace, delete, and similar functionality.
9 | export function deleteNearSelection(cm, compute) {
10 | let ranges = cm.doc.sel.ranges, kill = []
11 | // Build up a set of ranges to kill first, merging overlapping
12 | // ranges.
13 | for (let i = 0; i < ranges.length; i++) {
14 | let toKill = compute(ranges[i])
15 | while (kill.length && cmp(toKill.from, lst(kill).to) <= 0) {
16 | let replaced = kill.pop()
17 | if (cmp(replaced.from, toKill.from) < 0) {
18 | toKill.from = replaced.from
19 | break
20 | }
21 | }
22 | kill.push(toKill)
23 | }
24 | // Next, remove those actual ranges.
25 | runInOp(cm, () => {
26 | for (let i = kill.length - 1; i >= 0; i--)
27 | replaceRange(cm.doc, "", kill[i].from, kill[i].to, "+delete")
28 | ensureCursorVisible(cm)
29 | })
30 | }
31 |
--------------------------------------------------------------------------------
/src/lib/codemirror/src/edit/global_events.js:
--------------------------------------------------------------------------------
1 | import { onBlur } from "../display/focus.js"
2 | import { on } from "../util/event.js"
3 |
4 | // These must be handled carefully, because naively registering a
5 | // handler for each editor will cause the editors to never be
6 | // garbage collected.
7 |
8 | function forEachCodeMirror(f) {
9 | if (!document.getElementsByClassName) return
10 | let byClass = document.getElementsByClassName("CodeMirror"), editors = []
11 | for (let i = 0; i < byClass.length; i++) {
12 | let cm = byClass[i].CodeMirror
13 | if (cm) editors.push(cm)
14 | }
15 | if (editors.length) editors[0].operation(() => {
16 | for (let i = 0; i < editors.length; i++) f(editors[i])
17 | })
18 | }
19 |
20 | let globalsRegistered = false
21 | export function ensureGlobalHandlers() {
22 | if (globalsRegistered) return
23 | registerGlobalHandlers()
24 | globalsRegistered = true
25 | }
26 | function registerGlobalHandlers() {
27 | // When the window resizes, we need to refresh active editors.
28 | let resizeTimer
29 | on(window, "resize", () => {
30 | if (resizeTimer == null) resizeTimer = setTimeout(() => {
31 | resizeTimer = null
32 | forEachCodeMirror(onResize)
33 | }, 100)
34 | })
35 | // When the window loses focus, we want to show the editor as blurred
36 | on(window, "blur", () => forEachCodeMirror(onBlur))
37 | }
38 | // Called when the window resizes
39 | function onResize(cm) {
40 | let d = cm.display
41 | // Might be a text scaling operation, clear size caches.
42 | d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null
43 | d.scrollbarsClipped = false
44 | cm.setSize()
45 | }
46 |
--------------------------------------------------------------------------------
/src/lib/codemirror/src/edit/utils.js:
--------------------------------------------------------------------------------
1 | import { clearCaches } from "../measurement/position_measurement.js"
2 |
3 | export function themeChanged(cm) {
4 | cm.display.wrapper.className = cm.display.wrapper.className.replace(/\s*cm-s-\S+/g, "") +
5 | cm.options.theme.replace(/(^|\s)\s*/g, " cm-s-")
6 | clearCaches(cm)
7 | }
8 |
--------------------------------------------------------------------------------
/src/lib/codemirror/src/input/keynames.js:
--------------------------------------------------------------------------------
1 | export let keyNames = {
2 | 3: "Pause", 8: "Backspace", 9: "Tab", 13: "Enter", 16: "Shift", 17: "Ctrl", 18: "Alt",
3 | 19: "Pause", 20: "CapsLock", 27: "Esc", 32: "Space", 33: "PageUp", 34: "PageDown", 35: "End",
4 | 36: "Home", 37: "Left", 38: "Up", 39: "Right", 40: "Down", 44: "PrintScrn", 45: "Insert",
5 | 46: "Delete", 59: ";", 61: "=", 91: "Mod", 92: "Mod", 93: "Mod",
6 | 106: "*", 107: "=", 109: "-", 110: ".", 111: "/", 145: "ScrollLock",
7 | 173: "-", 186: ";", 187: "=", 188: ",", 189: "-", 190: ".", 191: "/", 192: "`", 219: "[", 220: "\\",
8 | 221: "]", 222: "'", 224: "Mod", 63232: "Up", 63233: "Down", 63234: "Left", 63235: "Right", 63272: "Delete",
9 | 63273: "Home", 63275: "End", 63276: "PageUp", 63277: "PageDown", 63302: "Insert"
10 | }
11 |
12 | // Number keys
13 | for (let i = 0; i < 10; i++) keyNames[i + 48] = keyNames[i + 96] = String(i)
14 | // Alphabetic keys
15 | for (let i = 65; i <= 90; i++) keyNames[i] = String.fromCharCode(i)
16 | // Function keys
17 | for (let i = 1; i <= 12; i++) keyNames[i + 111] = keyNames[i + 63235] = "F" + i
18 |
--------------------------------------------------------------------------------
/src/lib/codemirror/src/line/pos.js:
--------------------------------------------------------------------------------
1 | import { getLine } from "./utils_line.js"
2 |
3 | // A Pos instance represents a position within the text.
4 | export function Pos(line, ch, sticky = null) {
5 | if (!(this instanceof Pos)) return new Pos(line, ch, sticky)
6 | this.line = line
7 | this.ch = ch
8 | this.sticky = sticky
9 | }
10 |
11 | // Compare two positions, return 0 if they are the same, a negative
12 | // number when a is less, and a positive number otherwise.
13 | export function cmp(a, b) { return a.line - b.line || a.ch - b.ch }
14 |
15 | export function equalCursorPos(a, b) { return a.sticky == b.sticky && cmp(a, b) == 0 }
16 |
17 | export function copyPos(x) {return Pos(x.line, x.ch)}
18 | export function maxPos(a, b) { return cmp(a, b) < 0 ? b : a }
19 | export function minPos(a, b) { return cmp(a, b) < 0 ? a : b }
20 |
21 | // Most of the external API clips given positions to make sure they
22 | // actually exist within the document.
23 | export function clipLine(doc, n) {return Math.max(doc.first, Math.min(n, doc.first + doc.size - 1))}
24 | export function clipPos(doc, pos) {
25 | if (pos.line < doc.first) return Pos(doc.first, 0)
26 | let last = doc.first + doc.size - 1
27 | if (pos.line > last) return Pos(last, getLine(doc, last).text.length)
28 | return clipToLen(pos, getLine(doc, pos.line).text.length)
29 | }
30 | function clipToLen(pos, linelen) {
31 | let ch = pos.ch
32 | if (ch == null || ch > linelen) return Pos(pos.line, linelen)
33 | else if (ch < 0) return Pos(pos.line, 0)
34 | else return pos
35 | }
36 | export function clipPosArray(doc, array) {
37 | let out = []
38 | for (let i = 0; i < array.length; i++) out[i] = clipPos(doc, array[i])
39 | return out
40 | }
41 |
--------------------------------------------------------------------------------
/src/lib/codemirror/src/line/saw_special_spans.js:
--------------------------------------------------------------------------------
1 | // Optimize some code when these features are not used.
2 | export let sawReadOnlySpans = false, sawCollapsedSpans = false
3 |
4 | export function seeReadOnlySpans() {
5 | sawReadOnlySpans = true
6 | }
7 |
8 | export function seeCollapsedSpans() {
9 | sawCollapsedSpans = true
10 | }
11 |
--------------------------------------------------------------------------------
/src/lib/codemirror/src/measurement/widgets.js:
--------------------------------------------------------------------------------
1 | import { contains, elt, removeChildrenAndAdd } from "../util/dom.js"
2 | import { e_target } from "../util/event.js"
3 |
4 | export function widgetHeight(widget) {
5 | if (widget.height != null) return widget.height
6 | let cm = widget.doc.cm
7 | if (!cm) return 0
8 | if (!contains(document.body, widget.node)) {
9 | let parentStyle = "position: relative;"
10 | if (widget.coverGutter)
11 | parentStyle += "margin-left: -" + cm.display.gutters.offsetWidth + "px;"
12 | if (widget.noHScroll)
13 | parentStyle += "width: " + cm.display.wrapper.clientWidth + "px;"
14 | removeChildrenAndAdd(cm.display.measure, elt("div", [widget.node], null, parentStyle))
15 | }
16 | return widget.height = widget.node.parentNode.offsetHeight
17 | }
18 |
19 | // Return true when the given mouse event happened in a widget
20 | export function eventInWidget(display, e) {
21 | for (let n = e_target(e); n != display.wrapper; n = n.parentNode) {
22 | if (!n || (n.nodeType == 1 && n.getAttribute("cm-ignore-events") == "true") ||
23 | (n.parentNode == display.sizer && n != display.mover))
24 | return true
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/lib/codemirror/src/util/browser.js:
--------------------------------------------------------------------------------
1 | // Kludges for bugs and behavior differences that can't be feature
2 | // detected are enabled based on userAgent etc sniffing.
3 | let userAgent = navigator.userAgent
4 | let platform = navigator.platform
5 |
6 | export let gecko = /gecko\/\d/i.test(userAgent)
7 | let ie_upto10 = /MSIE \d/.test(userAgent)
8 | let ie_11up = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(userAgent)
9 | let edge = /Edge\/(\d+)/.exec(userAgent)
10 | export let ie = ie_upto10 || ie_11up || edge
11 | export let ie_version = ie && (ie_upto10 ? document.documentMode || 6 : +(edge || ie_11up)[1])
12 | export let webkit = !edge && /WebKit\//.test(userAgent)
13 | let qtwebkit = webkit && /Qt\/\d+\.\d+/.test(userAgent)
14 | export let chrome = !edge && /Chrome\/(\d+)/.exec(userAgent)
15 | export let chrome_version = chrome && +chrome[1]
16 | export let presto = /Opera\//.test(userAgent)
17 | export let safari = /Apple Computer/.test(navigator.vendor)
18 | export let mac_geMountainLion = /Mac OS X 1\d\D([8-9]|\d\d)\D/.test(userAgent)
19 | export let phantom = /PhantomJS/.test(userAgent)
20 |
21 | export let ios = safari && (/Mobile\/\w+/.test(userAgent) || navigator.maxTouchPoints > 2)
22 | export let android = /Android/.test(userAgent)
23 | // This is woefully incomplete. Suggestions for alternative methods welcome.
24 | export let mobile = ios || android || /webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent)
25 | export let mac = ios || /Mac/.test(platform)
26 | export let chromeOS = /\bCrOS\b/.test(userAgent)
27 | export let windows = /win/i.test(platform)
28 |
29 | let presto_version = presto && userAgent.match(/Version\/(\d*\.\d*)/)
30 | if (presto_version) presto_version = Number(presto_version[1])
31 | if (presto_version && presto_version >= 15) { presto = false; webkit = true }
32 | // Some browsers use the wrong event properties to signal cmd/ctrl on OS X
33 | export let flipCtrlCmd = mac && (qtwebkit || presto && (presto_version == null || presto_version < 12.11))
34 | export let captureRightClick = gecko || (ie && ie_version >= 9)
35 |
--------------------------------------------------------------------------------
/src/lib/codemirror/test/lint.js:
--------------------------------------------------------------------------------
1 | var blint = require("blint");
2 |
3 | ["mode", "lib", "addon", "keymap"].forEach(function(dir) {
4 | blint.checkDir(dir, {
5 | browser: true,
6 | allowedGlobals: ["CodeMirror", "define", "test", "requirejs", "globalThis", "WeakSet"],
7 | ecmaVersion: 5,
8 | tabs: dir == "lib"
9 | });
10 | });
11 |
12 | ["src"].forEach(function(dir) {
13 | blint.checkDir(dir, {
14 | browser: true,
15 | allowedGlobals: ["WeakSet"],
16 | ecmaVersion: 6,
17 | semicolons: false
18 | });
19 | });
20 |
21 | module.exports = {ok: blint.success()};
22 |
--------------------------------------------------------------------------------
/src/lib/codemirror/test/mode_test.css:
--------------------------------------------------------------------------------
1 | .mt-output .mt-token {
2 | border: 1px solid #ddd;
3 | white-space: pre;
4 | font-family: "Consolas", monospace;
5 | text-align: center;
6 | }
7 |
8 | .mt-output .mt-style {
9 | font-size: x-small;
10 | }
11 |
12 | .mt-output .mt-state {
13 | font-size: x-small;
14 | vertical-align: top;
15 | }
16 |
17 | .mt-output .mt-state-row {
18 | display: none;
19 | }
20 |
21 | .mt-state-unhide .mt-output .mt-state-row {
22 | display: table-row;
23 | }
24 |
--------------------------------------------------------------------------------
/src/lib/codemirror/test/run.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | var lint = require("./lint");
4 |
5 | var files = new (require('node-static').Server)();
6 |
7 | var server = require('http').createServer(function (req, res) {
8 | req.addListener('end', function () {
9 | files.serve(req, res, function (err/*, result */) {
10 | if (err) {
11 | console.error(err);
12 | process.exit(1);
13 | }
14 | });
15 | }).resume();
16 | }).addListener('error', function (err) {
17 | throw err;
18 | }).listen(3000,(async () => {
19 | const puppeteer = require('puppeteer');
20 | const browser = await puppeteer.launch({args: ["--no-sandbox", "--disable-setuid-sandbox"]})
21 | const page = await browser.newPage()
22 | page.on('console', msg => console.log("console:", msg.text()))
23 | page.on('dialog', async dialog => {
24 | console.log(dialog.message())
25 | await dialog.dismiss()
26 | })
27 | page.evaluateOnNewDocument(() => window.automatedTests = true)
28 | await page.goto('http://localhost:3000/test/index.html#' + (process.argv[2] || ""))
29 | while(1) {
30 | if (await page.evaluate(() => window.done)) break
31 | await sleep(200)
32 | }
33 | let [failed, errors] = await page.evaluate(() => [window.failed, window.errored])
34 | for (let error of errors) console.log(error)
35 | console.log(await page.evaluate(() => document.getElementById('output').innerText + "\n" +
36 | document.getElementById('status').innerText))
37 | process.exit(failed > 0 || errors.length || !lint.ok ? 1 : 0)
38 | await browser.close()
39 | })())
40 |
41 | function sleep(n) { return new Promise(acc => setTimeout(acc, n)) }
42 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/3024-day.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: 3024 day
4 | Author: Jan T. Sott (http://github.com/idleberg)
5 |
6 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
8 |
9 | */
10 |
11 | .cm-s-3024-day.CodeMirror { background: #f7f7f7; color: #3a3432; }
12 | .cm-s-3024-day div.CodeMirror-selected { background: #d6d5d4; }
13 |
14 | .cm-s-3024-day .CodeMirror-line::selection, .cm-s-3024-day .CodeMirror-line > span::selection, .cm-s-3024-day .CodeMirror-line > span > span::selection { background: #d6d5d4; }
15 | .cm-s-3024-day .CodeMirror-line::-moz-selection, .cm-s-3024-day .CodeMirror-line > span::-moz-selection, .cm-s-3024-day .CodeMirror-line > span > span::selection { background: #d9d9d9; }
16 |
17 | .cm-s-3024-day .CodeMirror-gutters { background: #f7f7f7; border-right: 0px; }
18 | .cm-s-3024-day .CodeMirror-guttermarker { color: #db2d20; }
19 | .cm-s-3024-day .CodeMirror-guttermarker-subtle { color: #807d7c; }
20 | .cm-s-3024-day .CodeMirror-linenumber { color: #807d7c; }
21 |
22 | .cm-s-3024-day .CodeMirror-cursor { border-left: 1px solid #5c5855; }
23 |
24 | .cm-s-3024-day span.cm-comment { color: #cdab53; }
25 | .cm-s-3024-day span.cm-atom { color: #a16a94; }
26 | .cm-s-3024-day span.cm-number { color: #a16a94; }
27 |
28 | .cm-s-3024-day span.cm-property, .cm-s-3024-day span.cm-attribute { color: #01a252; }
29 | .cm-s-3024-day span.cm-keyword { color: #db2d20; }
30 | .cm-s-3024-day span.cm-string { color: #fded02; }
31 |
32 | .cm-s-3024-day span.cm-variable { color: #01a252; }
33 | .cm-s-3024-day span.cm-variable-2 { color: #01a0e4; }
34 | .cm-s-3024-day span.cm-def { color: #e8bbd0; }
35 | .cm-s-3024-day span.cm-bracket { color: #3a3432; }
36 | .cm-s-3024-day span.cm-tag { color: #db2d20; }
37 | .cm-s-3024-day span.cm-link { color: #a16a94; }
38 | .cm-s-3024-day span.cm-error { background: #db2d20; color: #5c5855; }
39 |
40 | .cm-s-3024-day .CodeMirror-activeline-background { background: #e8f2ff; }
41 | .cm-s-3024-day .CodeMirror-matchingbracket { text-decoration: underline; color: #a16a94 !important; }
42 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/abcdef.css:
--------------------------------------------------------------------------------
1 | .cm-s-abcdef.CodeMirror { background: #0f0f0f; color: #defdef; }
2 | .cm-s-abcdef div.CodeMirror-selected { background: #515151; }
3 | .cm-s-abcdef .CodeMirror-line::selection, .cm-s-abcdef .CodeMirror-line > span::selection, .cm-s-abcdef .CodeMirror-line > span > span::selection { background: rgba(56, 56, 56, 0.99); }
4 | .cm-s-abcdef .CodeMirror-line::-moz-selection, .cm-s-abcdef .CodeMirror-line > span::-moz-selection, .cm-s-abcdef .CodeMirror-line > span > span::-moz-selection { background: rgba(56, 56, 56, 0.99); }
5 | .cm-s-abcdef .CodeMirror-gutters { background: #555; border-right: 2px solid #314151; }
6 | .cm-s-abcdef .CodeMirror-guttermarker { color: #222; }
7 | .cm-s-abcdef .CodeMirror-guttermarker-subtle { color: azure; }
8 | .cm-s-abcdef .CodeMirror-linenumber { color: #FFFFFF; }
9 | .cm-s-abcdef .CodeMirror-cursor { border-left: 1px solid #00FF00; }
10 |
11 | .cm-s-abcdef span.cm-keyword { color: darkgoldenrod; font-weight: bold; }
12 | .cm-s-abcdef span.cm-atom { color: #77F; }
13 | .cm-s-abcdef span.cm-number { color: violet; }
14 | .cm-s-abcdef span.cm-def { color: #fffabc; }
15 | .cm-s-abcdef span.cm-variable { color: #abcdef; }
16 | .cm-s-abcdef span.cm-variable-2 { color: #cacbcc; }
17 | .cm-s-abcdef span.cm-variable-3, .cm-s-abcdef span.cm-type { color: #def; }
18 | .cm-s-abcdef span.cm-property { color: #fedcba; }
19 | .cm-s-abcdef span.cm-operator { color: #ff0; }
20 | .cm-s-abcdef span.cm-comment { color: #7a7b7c; font-style: italic;}
21 | .cm-s-abcdef span.cm-string { color: #2b4; }
22 | .cm-s-abcdef span.cm-meta { color: #C9F; }
23 | .cm-s-abcdef span.cm-qualifier { color: #FFF700; }
24 | .cm-s-abcdef span.cm-builtin { color: #30aabc; }
25 | .cm-s-abcdef span.cm-bracket { color: #8a8a8a; }
26 | .cm-s-abcdef span.cm-tag { color: #FFDD44; }
27 | .cm-s-abcdef span.cm-attribute { color: #DDFF00; }
28 | .cm-s-abcdef span.cm-error { color: #FF0000; }
29 | .cm-s-abcdef span.cm-header { color: aquamarine; font-weight: bold; }
30 | .cm-s-abcdef span.cm-link { color: blueviolet; }
31 |
32 | .cm-s-abcdef .CodeMirror-activeline-background { background: #314151; }
33 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/ambiance-mobile.css:
--------------------------------------------------------------------------------
1 | .cm-s-ambiance.CodeMirror {
2 | -webkit-box-shadow: none;
3 | -moz-box-shadow: none;
4 | box-shadow: none;
5 | }
6 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/bespin.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: Bespin
4 | Author: Mozilla / Jan T. Sott
5 |
6 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
8 |
9 | */
10 |
11 | .cm-s-bespin.CodeMirror {background: #28211c; color: #9d9b97;}
12 | .cm-s-bespin div.CodeMirror-selected {background: #36312e !important;}
13 | .cm-s-bespin .CodeMirror-gutters {background: #28211c; border-right: 0px;}
14 | .cm-s-bespin .CodeMirror-linenumber {color: #666666;}
15 | .cm-s-bespin .CodeMirror-cursor {border-left: 1px solid #797977 !important;}
16 |
17 | .cm-s-bespin span.cm-comment {color: #937121;}
18 | .cm-s-bespin span.cm-atom {color: #9b859d;}
19 | .cm-s-bespin span.cm-number {color: #9b859d;}
20 |
21 | .cm-s-bespin span.cm-property, .cm-s-bespin span.cm-attribute {color: #54be0d;}
22 | .cm-s-bespin span.cm-keyword {color: #cf6a4c;}
23 | .cm-s-bespin span.cm-string {color: #f9ee98;}
24 |
25 | .cm-s-bespin span.cm-variable {color: #54be0d;}
26 | .cm-s-bespin span.cm-variable-2 {color: #5ea6ea;}
27 | .cm-s-bespin span.cm-def {color: #cf7d34;}
28 | .cm-s-bespin span.cm-error {background: #cf6a4c; color: #797977;}
29 | .cm-s-bespin span.cm-bracket {color: #9d9b97;}
30 | .cm-s-bespin span.cm-tag {color: #cf6a4c;}
31 | .cm-s-bespin span.cm-link {color: #9b859d;}
32 |
33 | .cm-s-bespin .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
34 | .cm-s-bespin .CodeMirror-activeline-background { background: #404040; }
35 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/blackboard.css:
--------------------------------------------------------------------------------
1 | /* Port of TextMate's Blackboard theme */
2 |
3 | .cm-s-blackboard.CodeMirror { background: #0C1021; color: #F8F8F8; }
4 | .cm-s-blackboard div.CodeMirror-selected { background: #253B76; }
5 | .cm-s-blackboard .CodeMirror-line::selection, .cm-s-blackboard .CodeMirror-line > span::selection, .cm-s-blackboard .CodeMirror-line > span > span::selection { background: rgba(37, 59, 118, .99); }
6 | .cm-s-blackboard .CodeMirror-line::-moz-selection, .cm-s-blackboard .CodeMirror-line > span::-moz-selection, .cm-s-blackboard .CodeMirror-line > span > span::-moz-selection { background: rgba(37, 59, 118, .99); }
7 | .cm-s-blackboard .CodeMirror-gutters { background: #0C1021; border-right: 0; }
8 | .cm-s-blackboard .CodeMirror-guttermarker { color: #FBDE2D; }
9 | .cm-s-blackboard .CodeMirror-guttermarker-subtle { color: #888; }
10 | .cm-s-blackboard .CodeMirror-linenumber { color: #888; }
11 | .cm-s-blackboard .CodeMirror-cursor { border-left: 1px solid #A7A7A7; }
12 |
13 | .cm-s-blackboard .cm-keyword { color: #FBDE2D; }
14 | .cm-s-blackboard .cm-atom { color: #D8FA3C; }
15 | .cm-s-blackboard .cm-number { color: #D8FA3C; }
16 | .cm-s-blackboard .cm-def { color: #8DA6CE; }
17 | .cm-s-blackboard .cm-variable { color: #FF6400; }
18 | .cm-s-blackboard .cm-operator { color: #FBDE2D; }
19 | .cm-s-blackboard .cm-comment { color: #AEAEAE; }
20 | .cm-s-blackboard .cm-string { color: #61CE3C; }
21 | .cm-s-blackboard .cm-string-2 { color: #61CE3C; }
22 | .cm-s-blackboard .cm-meta { color: #D8FA3C; }
23 | .cm-s-blackboard .cm-builtin { color: #8DA6CE; }
24 | .cm-s-blackboard .cm-tag { color: #8DA6CE; }
25 | .cm-s-blackboard .cm-attribute { color: #8DA6CE; }
26 | .cm-s-blackboard .cm-header { color: #FF6400; }
27 | .cm-s-blackboard .cm-hr { color: #AEAEAE; }
28 | .cm-s-blackboard .cm-link { color: #8DA6CE; }
29 | .cm-s-blackboard .cm-error { background: #9D1E15; color: #F8F8F8; }
30 |
31 | .cm-s-blackboard .CodeMirror-activeline-background { background: #3C3636; }
32 | .cm-s-blackboard .CodeMirror-matchingbracket { outline:1px solid grey;color:white !important; }
33 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/cobalt.css:
--------------------------------------------------------------------------------
1 | .cm-s-cobalt.CodeMirror { background: #002240; color: white; }
2 | .cm-s-cobalt div.CodeMirror-selected { background: #b36539; }
3 | .cm-s-cobalt .CodeMirror-line::selection, .cm-s-cobalt .CodeMirror-line > span::selection, .cm-s-cobalt .CodeMirror-line > span > span::selection { background: rgba(179, 101, 57, .99); }
4 | .cm-s-cobalt .CodeMirror-line::-moz-selection, .cm-s-cobalt .CodeMirror-line > span::-moz-selection, .cm-s-cobalt .CodeMirror-line > span > span::-moz-selection { background: rgba(179, 101, 57, .99); }
5 | .cm-s-cobalt .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; }
6 | .cm-s-cobalt .CodeMirror-guttermarker { color: #ffee80; }
7 | .cm-s-cobalt .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
8 | .cm-s-cobalt .CodeMirror-linenumber { color: #d0d0d0; }
9 | .cm-s-cobalt .CodeMirror-cursor { border-left: 1px solid white; }
10 |
11 | .cm-s-cobalt span.cm-comment { color: #08f; }
12 | .cm-s-cobalt span.cm-atom { color: #845dc4; }
13 | .cm-s-cobalt span.cm-number, .cm-s-cobalt span.cm-attribute { color: #ff80e1; }
14 | .cm-s-cobalt span.cm-keyword { color: #ffee80; }
15 | .cm-s-cobalt span.cm-string { color: #3ad900; }
16 | .cm-s-cobalt span.cm-meta { color: #ff9d00; }
17 | .cm-s-cobalt span.cm-variable-2, .cm-s-cobalt span.cm-tag { color: #9effff; }
18 | .cm-s-cobalt span.cm-variable-3, .cm-s-cobalt span.cm-def, .cm-s-cobalt .cm-type { color: white; }
19 | .cm-s-cobalt span.cm-bracket { color: #d8d8d8; }
20 | .cm-s-cobalt span.cm-builtin, .cm-s-cobalt span.cm-special { color: #ff9e59; }
21 | .cm-s-cobalt span.cm-link { color: #845dc4; }
22 | .cm-s-cobalt span.cm-error { color: #9d1e15; }
23 |
24 | .cm-s-cobalt .CodeMirror-activeline-background { background: #002D57; }
25 | .cm-s-cobalt .CodeMirror-matchingbracket { outline:1px solid grey;color:white !important; }
26 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/colorforth.css:
--------------------------------------------------------------------------------
1 | .cm-s-colorforth.CodeMirror { background: #000000; color: #f8f8f8; }
2 | .cm-s-colorforth .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; }
3 | .cm-s-colorforth .CodeMirror-guttermarker { color: #FFBD40; }
4 | .cm-s-colorforth .CodeMirror-guttermarker-subtle { color: #78846f; }
5 | .cm-s-colorforth .CodeMirror-linenumber { color: #bababa; }
6 | .cm-s-colorforth .CodeMirror-cursor { border-left: 1px solid white; }
7 |
8 | .cm-s-colorforth span.cm-comment { color: #ededed; }
9 | .cm-s-colorforth span.cm-def { color: #ff1c1c; font-weight:bold; }
10 | .cm-s-colorforth span.cm-keyword { color: #ffd900; }
11 | .cm-s-colorforth span.cm-builtin { color: #00d95a; }
12 | .cm-s-colorforth span.cm-variable { color: #73ff00; }
13 | .cm-s-colorforth span.cm-string { color: #007bff; }
14 | .cm-s-colorforth span.cm-number { color: #00c4ff; }
15 | .cm-s-colorforth span.cm-atom { color: #606060; }
16 |
17 | .cm-s-colorforth span.cm-variable-2 { color: #EEE; }
18 | .cm-s-colorforth span.cm-variable-3, .cm-s-colorforth span.cm-type { color: #DDD; }
19 | .cm-s-colorforth span.cm-property {}
20 | .cm-s-colorforth span.cm-operator {}
21 |
22 | .cm-s-colorforth span.cm-meta { color: yellow; }
23 | .cm-s-colorforth span.cm-qualifier { color: #FFF700; }
24 | .cm-s-colorforth span.cm-bracket { color: #cc7; }
25 | .cm-s-colorforth span.cm-tag { color: #FFBD40; }
26 | .cm-s-colorforth span.cm-attribute { color: #FFF700; }
27 | .cm-s-colorforth span.cm-error { color: #f00; }
28 |
29 | .cm-s-colorforth div.CodeMirror-selected { background: #333d53; }
30 |
31 | .cm-s-colorforth span.cm-compilation { background: rgba(255, 255, 255, 0.12); }
32 |
33 | .cm-s-colorforth .CodeMirror-activeline-background { background: #253540; }
34 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/eclipse.css:
--------------------------------------------------------------------------------
1 | .cm-s-eclipse span.cm-meta { color: #FF1717; }
2 | .cm-s-eclipse span.cm-keyword { line-height: 1em; font-weight: bold; color: #7F0055; }
3 | .cm-s-eclipse span.cm-atom { color: #219; }
4 | .cm-s-eclipse span.cm-number { color: #164; }
5 | .cm-s-eclipse span.cm-def { color: #00f; }
6 | .cm-s-eclipse span.cm-variable { color: black; }
7 | .cm-s-eclipse span.cm-variable-2 { color: #0000C0; }
8 | .cm-s-eclipse span.cm-variable-3, .cm-s-eclipse span.cm-type { color: #0000C0; }
9 | .cm-s-eclipse span.cm-property { color: black; }
10 | .cm-s-eclipse span.cm-operator { color: black; }
11 | .cm-s-eclipse span.cm-comment { color: #3F7F5F; }
12 | .cm-s-eclipse span.cm-string { color: #2A00FF; }
13 | .cm-s-eclipse span.cm-string-2 { color: #f50; }
14 | .cm-s-eclipse span.cm-qualifier { color: #555; }
15 | .cm-s-eclipse span.cm-builtin { color: #30a; }
16 | .cm-s-eclipse span.cm-bracket { color: #cc7; }
17 | .cm-s-eclipse span.cm-tag { color: #170; }
18 | .cm-s-eclipse span.cm-attribute { color: #00c; }
19 | .cm-s-eclipse span.cm-link { color: #219; }
20 | .cm-s-eclipse span.cm-error { color: #f00; }
21 |
22 | .cm-s-eclipse .CodeMirror-activeline-background { background: #e8f2ff; }
23 | .cm-s-eclipse .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; }
24 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/elegant.css:
--------------------------------------------------------------------------------
1 | .cm-s-elegant span.cm-number, .cm-s-elegant span.cm-string, .cm-s-elegant span.cm-atom { color: #762; }
2 | .cm-s-elegant span.cm-comment { color: #262; font-style: italic; line-height: 1em; }
3 | .cm-s-elegant span.cm-meta { color: #555; font-style: italic; line-height: 1em; }
4 | .cm-s-elegant span.cm-variable { color: black; }
5 | .cm-s-elegant span.cm-variable-2 { color: #b11; }
6 | .cm-s-elegant span.cm-qualifier { color: #555; }
7 | .cm-s-elegant span.cm-keyword { color: #730; }
8 | .cm-s-elegant span.cm-builtin { color: #30a; }
9 | .cm-s-elegant span.cm-link { color: #762; }
10 | .cm-s-elegant span.cm-error { background-color: #fdd; }
11 |
12 | .cm-s-elegant .CodeMirror-activeline-background { background: #e8f2ff; }
13 | .cm-s-elegant .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; }
14 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/gruvbox-dark.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: gruvbox-dark
4 | Author: kRkk (https://github.com/krkk)
5 |
6 | Original gruvbox color scheme by Pavel Pertsev (https://github.com/morhetz/gruvbox)
7 |
8 | */
9 |
10 | .cm-s-gruvbox-dark.CodeMirror, .cm-s-gruvbox-dark .CodeMirror-gutters { background-color: #282828; color: #bdae93; }
11 | .cm-s-gruvbox-dark .CodeMirror-gutters {background: #282828; border-right: 0px;}
12 | .cm-s-gruvbox-dark .CodeMirror-linenumber {color: #7c6f64;}
13 | .cm-s-gruvbox-dark .CodeMirror-cursor { border-left: 1px solid #ebdbb2; }
14 | .cm-s-gruvbox-dark.cm-fat-cursor .CodeMirror-cursor { background-color: #8e8d8875 !important; }
15 | .cm-s-gruvbox-dark .cm-animate-fat-cursor { background-color: #8e8d8875 !important; }
16 | .cm-s-gruvbox-dark div.CodeMirror-selected { background: #928374; }
17 | .cm-s-gruvbox-dark span.cm-meta { color: #83a598; }
18 |
19 | .cm-s-gruvbox-dark span.cm-comment { color: #928374; }
20 | .cm-s-gruvbox-dark span.cm-number, span.cm-atom { color: #d3869b; }
21 | .cm-s-gruvbox-dark span.cm-keyword { color: #f84934; }
22 |
23 | .cm-s-gruvbox-dark span.cm-variable { color: #ebdbb2; }
24 | .cm-s-gruvbox-dark span.cm-variable-2 { color: #ebdbb2; }
25 | .cm-s-gruvbox-dark span.cm-variable-3, .cm-s-gruvbox-dark span.cm-type { color: #fabd2f; }
26 | .cm-s-gruvbox-dark span.cm-operator { color: #ebdbb2; }
27 | .cm-s-gruvbox-dark span.cm-callee { color: #ebdbb2; }
28 | .cm-s-gruvbox-dark span.cm-def { color: #ebdbb2; }
29 | .cm-s-gruvbox-dark span.cm-property { color: #ebdbb2; }
30 | .cm-s-gruvbox-dark span.cm-string { color: #b8bb26; }
31 | .cm-s-gruvbox-dark span.cm-string-2 { color: #8ec07c; }
32 | .cm-s-gruvbox-dark span.cm-qualifier { color: #8ec07c; }
33 | .cm-s-gruvbox-dark span.cm-attribute { color: #8ec07c; }
34 |
35 | .cm-s-gruvbox-dark .CodeMirror-activeline-background { background: #3c3836; }
36 | .cm-s-gruvbox-dark .CodeMirror-matchingbracket { background: #928374; color:#282828 !important; }
37 |
38 | .cm-s-gruvbox-dark span.cm-builtin { color: #fe8019; }
39 | .cm-s-gruvbox-dark span.cm-tag { color: #fe8019; }
40 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/hopscotch.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: Hopscotch
4 | Author: Jan T. Sott
5 |
6 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
8 |
9 | */
10 |
11 | .cm-s-hopscotch.CodeMirror {background: #322931; color: #d5d3d5;}
12 | .cm-s-hopscotch div.CodeMirror-selected {background: #433b42 !important;}
13 | .cm-s-hopscotch .CodeMirror-gutters {background: #322931; border-right: 0px;}
14 | .cm-s-hopscotch .CodeMirror-linenumber {color: #797379;}
15 | .cm-s-hopscotch .CodeMirror-cursor {border-left: 1px solid #989498 !important;}
16 |
17 | .cm-s-hopscotch span.cm-comment {color: #b33508;}
18 | .cm-s-hopscotch span.cm-atom {color: #c85e7c;}
19 | .cm-s-hopscotch span.cm-number {color: #c85e7c;}
20 |
21 | .cm-s-hopscotch span.cm-property, .cm-s-hopscotch span.cm-attribute {color: #8fc13e;}
22 | .cm-s-hopscotch span.cm-keyword {color: #dd464c;}
23 | .cm-s-hopscotch span.cm-string {color: #fdcc59;}
24 |
25 | .cm-s-hopscotch span.cm-variable {color: #8fc13e;}
26 | .cm-s-hopscotch span.cm-variable-2 {color: #1290bf;}
27 | .cm-s-hopscotch span.cm-def {color: #fd8b19;}
28 | .cm-s-hopscotch span.cm-error {background: #dd464c; color: #989498;}
29 | .cm-s-hopscotch span.cm-bracket {color: #d5d3d5;}
30 | .cm-s-hopscotch span.cm-tag {color: #dd464c;}
31 | .cm-s-hopscotch span.cm-link {color: #c85e7c;}
32 |
33 | .cm-s-hopscotch .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
34 | .cm-s-hopscotch .CodeMirror-activeline-background { background: #302020; }
35 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/idea.css:
--------------------------------------------------------------------------------
1 | /**
2 | Name: IDEA default theme
3 | From IntelliJ IDEA by JetBrains
4 | */
5 |
6 | .cm-s-idea span.cm-meta { color: #808000; }
7 | .cm-s-idea span.cm-number { color: #0000FF; }
8 | .cm-s-idea span.cm-keyword { line-height: 1em; font-weight: bold; color: #000080; }
9 | .cm-s-idea span.cm-atom { font-weight: bold; color: #000080; }
10 | .cm-s-idea span.cm-def { color: #000000; }
11 | .cm-s-idea span.cm-variable { color: black; }
12 | .cm-s-idea span.cm-variable-2 { color: black; }
13 | .cm-s-idea span.cm-variable-3, .cm-s-idea span.cm-type { color: black; }
14 | .cm-s-idea span.cm-property { color: black; }
15 | .cm-s-idea span.cm-operator { color: black; }
16 | .cm-s-idea span.cm-comment { color: #808080; }
17 | .cm-s-idea span.cm-string { color: #008000; }
18 | .cm-s-idea span.cm-string-2 { color: #008000; }
19 | .cm-s-idea span.cm-qualifier { color: #555; }
20 | .cm-s-idea span.cm-error { color: #FF0000; }
21 | .cm-s-idea span.cm-attribute { color: #0000FF; }
22 | .cm-s-idea span.cm-tag { color: #000080; }
23 | .cm-s-idea span.cm-link { color: #0000FF; }
24 | .cm-s-idea .CodeMirror-activeline-background { background: #FFFAE3; }
25 |
26 | .cm-s-idea span.cm-builtin { color: #30a; }
27 | .cm-s-idea span.cm-bracket { color: #cc7; }
28 | .cm-s-idea { font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;}
29 |
30 |
31 | .cm-s-idea .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; }
32 |
33 | .CodeMirror-hints.idea {
34 | font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
35 | color: #616569;
36 | background-color: #ebf3fd !important;
37 | }
38 |
39 | .CodeMirror-hints.idea .CodeMirror-hint-active {
40 | background-color: #a2b8c9 !important;
41 | color: #5c6065 !important;
42 | }
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/isotope.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: Isotope
4 | Author: David Desandro / Jan T. Sott
5 |
6 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
8 |
9 | */
10 |
11 | .cm-s-isotope.CodeMirror {background: #000000; color: #e0e0e0;}
12 | .cm-s-isotope div.CodeMirror-selected {background: #404040 !important;}
13 | .cm-s-isotope .CodeMirror-gutters {background: #000000; border-right: 0px;}
14 | .cm-s-isotope .CodeMirror-linenumber {color: #808080;}
15 | .cm-s-isotope .CodeMirror-cursor {border-left: 1px solid #c0c0c0 !important;}
16 |
17 | .cm-s-isotope span.cm-comment {color: #3300ff;}
18 | .cm-s-isotope span.cm-atom {color: #cc00ff;}
19 | .cm-s-isotope span.cm-number {color: #cc00ff;}
20 |
21 | .cm-s-isotope span.cm-property, .cm-s-isotope span.cm-attribute {color: #33ff00;}
22 | .cm-s-isotope span.cm-keyword {color: #ff0000;}
23 | .cm-s-isotope span.cm-string {color: #ff0099;}
24 |
25 | .cm-s-isotope span.cm-variable {color: #33ff00;}
26 | .cm-s-isotope span.cm-variable-2 {color: #0066ff;}
27 | .cm-s-isotope span.cm-def {color: #ff9900;}
28 | .cm-s-isotope span.cm-error {background: #ff0000; color: #c0c0c0;}
29 | .cm-s-isotope span.cm-bracket {color: #e0e0e0;}
30 | .cm-s-isotope span.cm-tag {color: #ff0000;}
31 | .cm-s-isotope span.cm-link {color: #cc00ff;}
32 |
33 | .cm-s-isotope .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
34 | .cm-s-isotope .CodeMirror-activeline-background { background: #202020; }
35 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/juejin.css:
--------------------------------------------------------------------------------
1 | .cm-s-juejin.CodeMirror {
2 | background: #f8f9fa;
3 | }
4 | .cm-s-juejin .cm-header,
5 | .cm-s-juejin .cm-def {
6 | color: #1ba2f0;
7 | }
8 | .cm-s-juejin .cm-comment {
9 | color: #009e9d;
10 | }
11 | .cm-s-juejin .cm-quote,
12 | .cm-s-juejin .cm-link,
13 | .cm-s-juejin .cm-strong,
14 | .cm-s-juejin .cm-attribute {
15 | color: #fd7741;
16 | }
17 | .cm-s-juejin .cm-url,
18 | .cm-s-juejin .cm-keyword,
19 | .cm-s-juejin .cm-builtin {
20 | color: #bb51b8;
21 | }
22 | .cm-s-juejin .cm-hr {
23 | color: #909090;
24 | }
25 | .cm-s-juejin .cm-tag {
26 | color: #107000;
27 | }
28 | .cm-s-juejin .cm-variable-2 {
29 | color: #0050a0;
30 | }
31 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/lucario.css:
--------------------------------------------------------------------------------
1 | /*
2 | Name: lucario
3 | Author: Raphael Amorim
4 |
5 | Original Lucario color scheme (https://github.com/raphamorim/lucario)
6 | */
7 |
8 | .cm-s-lucario.CodeMirror, .cm-s-lucario .CodeMirror-gutters {
9 | background-color: #2b3e50 !important;
10 | color: #f8f8f2 !important;
11 | border: none;
12 | }
13 | .cm-s-lucario .CodeMirror-gutters { color: #2b3e50; }
14 | .cm-s-lucario .CodeMirror-cursor { border-left: solid thin #E6C845; }
15 | .cm-s-lucario .CodeMirror-linenumber { color: #f8f8f2; }
16 | .cm-s-lucario .CodeMirror-selected { background: #243443; }
17 | .cm-s-lucario .CodeMirror-line::selection, .cm-s-lucario .CodeMirror-line > span::selection, .cm-s-lucario .CodeMirror-line > span > span::selection { background: #243443; }
18 | .cm-s-lucario .CodeMirror-line::-moz-selection, .cm-s-lucario .CodeMirror-line > span::-moz-selection, .cm-s-lucario .CodeMirror-line > span > span::-moz-selection { background: #243443; }
19 | .cm-s-lucario span.cm-comment { color: #5c98cd; }
20 | .cm-s-lucario span.cm-string, .cm-s-lucario span.cm-string-2 { color: #E6DB74; }
21 | .cm-s-lucario span.cm-number { color: #ca94ff; }
22 | .cm-s-lucario span.cm-variable { color: #f8f8f2; }
23 | .cm-s-lucario span.cm-variable-2 { color: #f8f8f2; }
24 | .cm-s-lucario span.cm-def { color: #72C05D; }
25 | .cm-s-lucario span.cm-operator { color: #66D9EF; }
26 | .cm-s-lucario span.cm-keyword { color: #ff6541; }
27 | .cm-s-lucario span.cm-atom { color: #bd93f9; }
28 | .cm-s-lucario span.cm-meta { color: #f8f8f2; }
29 | .cm-s-lucario span.cm-tag { color: #ff6541; }
30 | .cm-s-lucario span.cm-attribute { color: #66D9EF; }
31 | .cm-s-lucario span.cm-qualifier { color: #72C05D; }
32 | .cm-s-lucario span.cm-property { color: #f8f8f2; }
33 | .cm-s-lucario span.cm-builtin { color: #72C05D; }
34 | .cm-s-lucario span.cm-variable-3, .cm-s-lucario span.cm-type { color: #ffb86c; }
35 |
36 | .cm-s-lucario .CodeMirror-activeline-background { background: #243443; }
37 | .cm-s-lucario .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
38 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/midnight.css:
--------------------------------------------------------------------------------
1 | /* Based on the theme at http://bonsaiden.github.com/JavaScript-Garden */
2 |
3 | /**/
4 | .cm-s-midnight .CodeMirror-activeline-background { background: #253540; }
5 |
6 | .cm-s-midnight.CodeMirror {
7 | background: #0F192A;
8 | color: #D1EDFF;
9 | }
10 |
11 | .cm-s-midnight div.CodeMirror-selected { background: #314D67; }
12 | .cm-s-midnight .CodeMirror-line::selection, .cm-s-midnight .CodeMirror-line > span::selection, .cm-s-midnight .CodeMirror-line > span > span::selection { background: rgba(49, 77, 103, .99); }
13 | .cm-s-midnight .CodeMirror-line::-moz-selection, .cm-s-midnight .CodeMirror-line > span::-moz-selection, .cm-s-midnight .CodeMirror-line > span > span::-moz-selection { background: rgba(49, 77, 103, .99); }
14 | .cm-s-midnight .CodeMirror-gutters { background: #0F192A; border-right: 1px solid; }
15 | .cm-s-midnight .CodeMirror-guttermarker { color: white; }
16 | .cm-s-midnight .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
17 | .cm-s-midnight .CodeMirror-linenumber { color: #D0D0D0; }
18 | .cm-s-midnight .CodeMirror-cursor { border-left: 1px solid #F8F8F0; }
19 |
20 | .cm-s-midnight span.cm-comment { color: #428BDD; }
21 | .cm-s-midnight span.cm-atom { color: #AE81FF; }
22 | .cm-s-midnight span.cm-number { color: #D1EDFF; }
23 |
24 | .cm-s-midnight span.cm-property, .cm-s-midnight span.cm-attribute { color: #A6E22E; }
25 | .cm-s-midnight span.cm-keyword { color: #E83737; }
26 | .cm-s-midnight span.cm-string { color: #1DC116; }
27 |
28 | .cm-s-midnight span.cm-variable { color: #FFAA3E; }
29 | .cm-s-midnight span.cm-variable-2 { color: #FFAA3E; }
30 | .cm-s-midnight span.cm-def { color: #4DD; }
31 | .cm-s-midnight span.cm-bracket { color: #D1EDFF; }
32 | .cm-s-midnight span.cm-tag { color: #449; }
33 | .cm-s-midnight span.cm-link { color: #AE81FF; }
34 | .cm-s-midnight span.cm-error { background: #F92672; color: #F8F8F0; }
35 |
36 | .cm-s-midnight .CodeMirror-matchingbracket {
37 | text-decoration: underline;
38 | color: white !important;
39 | }
40 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/neat.css:
--------------------------------------------------------------------------------
1 | .cm-s-neat span.cm-comment { color: #a86; }
2 | .cm-s-neat span.cm-keyword { line-height: 1em; font-weight: bold; color: blue; }
3 | .cm-s-neat span.cm-string { color: #a22; }
4 | .cm-s-neat span.cm-builtin { line-height: 1em; font-weight: bold; color: #077; }
5 | .cm-s-neat span.cm-special { line-height: 1em; font-weight: bold; color: #0aa; }
6 | .cm-s-neat span.cm-variable { color: black; }
7 | .cm-s-neat span.cm-number, .cm-s-neat span.cm-atom { color: #3a3; }
8 | .cm-s-neat span.cm-meta { color: #555; }
9 | .cm-s-neat span.cm-link { color: #3a3; }
10 |
11 | .cm-s-neat .CodeMirror-activeline-background { background: #e8f2ff; }
12 | .cm-s-neat .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; }
13 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/neo.css:
--------------------------------------------------------------------------------
1 | /* neo theme for codemirror */
2 |
3 | /* Color scheme */
4 |
5 | .cm-s-neo.CodeMirror {
6 | background-color:#ffffff;
7 | color:#2e383c;
8 | line-height:1.4375;
9 | }
10 | .cm-s-neo .cm-comment { color:#75787b; }
11 | .cm-s-neo .cm-keyword, .cm-s-neo .cm-property { color:#1d75b3; }
12 | .cm-s-neo .cm-atom,.cm-s-neo .cm-number { color:#75438a; }
13 | .cm-s-neo .cm-node,.cm-s-neo .cm-tag { color:#9c3328; }
14 | .cm-s-neo .cm-string { color:#b35e14; }
15 | .cm-s-neo .cm-variable,.cm-s-neo .cm-qualifier { color:#047d65; }
16 |
17 |
18 | /* Editor styling */
19 |
20 | .cm-s-neo pre {
21 | padding:0;
22 | }
23 |
24 | .cm-s-neo .CodeMirror-gutters {
25 | border:none;
26 | border-right:10px solid transparent;
27 | background-color:transparent;
28 | }
29 |
30 | .cm-s-neo .CodeMirror-linenumber {
31 | padding:0;
32 | color:#e0e2e5;
33 | }
34 |
35 | .cm-s-neo .CodeMirror-guttermarker { color: #1d75b3; }
36 | .cm-s-neo .CodeMirror-guttermarker-subtle { color: #e0e2e5; }
37 |
38 | .cm-s-neo .CodeMirror-cursor {
39 | width: auto;
40 | border: 0;
41 | background: rgba(155,157,162,0.37);
42 | z-index: 1;
43 | }
44 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/night.css:
--------------------------------------------------------------------------------
1 | /* Loosely based on the Midnight Textmate theme */
2 |
3 | .cm-s-night.CodeMirror { background: #0a001f; color: #f8f8f8; }
4 | .cm-s-night div.CodeMirror-selected { background: #447; }
5 | .cm-s-night .CodeMirror-line::selection, .cm-s-night .CodeMirror-line > span::selection, .cm-s-night .CodeMirror-line > span > span::selection { background: rgba(68, 68, 119, .99); }
6 | .cm-s-night .CodeMirror-line::-moz-selection, .cm-s-night .CodeMirror-line > span::-moz-selection, .cm-s-night .CodeMirror-line > span > span::-moz-selection { background: rgba(68, 68, 119, .99); }
7 | .cm-s-night .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; }
8 | .cm-s-night .CodeMirror-guttermarker { color: white; }
9 | .cm-s-night .CodeMirror-guttermarker-subtle { color: #bbb; }
10 | .cm-s-night .CodeMirror-linenumber { color: #f8f8f8; }
11 | .cm-s-night .CodeMirror-cursor { border-left: 1px solid white; }
12 |
13 | .cm-s-night span.cm-comment { color: #8900d1; }
14 | .cm-s-night span.cm-atom { color: #845dc4; }
15 | .cm-s-night span.cm-number, .cm-s-night span.cm-attribute { color: #ffd500; }
16 | .cm-s-night span.cm-keyword { color: #599eff; }
17 | .cm-s-night span.cm-string { color: #37f14a; }
18 | .cm-s-night span.cm-meta { color: #7678e2; }
19 | .cm-s-night span.cm-variable-2, .cm-s-night span.cm-tag { color: #99b2ff; }
20 | .cm-s-night span.cm-variable-3, .cm-s-night span.cm-def, .cm-s-night span.cm-type { color: white; }
21 | .cm-s-night span.cm-bracket { color: #8da6ce; }
22 | .cm-s-night span.cm-builtin, .cm-s-night span.cm-special { color: #ff9e59; }
23 | .cm-s-night span.cm-link { color: #845dc4; }
24 | .cm-s-night span.cm-error { color: #9d1e15; }
25 |
26 | .cm-s-night .CodeMirror-activeline-background { background: #1C005A; }
27 | .cm-s-night .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }
28 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/railscasts.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: Railscasts
4 | Author: Ryan Bates (http://railscasts.com)
5 |
6 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
8 |
9 | */
10 |
11 | .cm-s-railscasts.CodeMirror {background: #2b2b2b; color: #f4f1ed;}
12 | .cm-s-railscasts div.CodeMirror-selected {background: #272935 !important;}
13 | .cm-s-railscasts .CodeMirror-gutters {background: #2b2b2b; border-right: 0px;}
14 | .cm-s-railscasts .CodeMirror-linenumber {color: #5a647e;}
15 | .cm-s-railscasts .CodeMirror-cursor {border-left: 1px solid #d4cfc9 !important;}
16 |
17 | .cm-s-railscasts span.cm-comment {color: #bc9458;}
18 | .cm-s-railscasts span.cm-atom {color: #b6b3eb;}
19 | .cm-s-railscasts span.cm-number {color: #b6b3eb;}
20 |
21 | .cm-s-railscasts span.cm-property, .cm-s-railscasts span.cm-attribute {color: #a5c261;}
22 | .cm-s-railscasts span.cm-keyword {color: #da4939;}
23 | .cm-s-railscasts span.cm-string {color: #ffc66d;}
24 |
25 | .cm-s-railscasts span.cm-variable {color: #a5c261;}
26 | .cm-s-railscasts span.cm-variable-2 {color: #6d9cbe;}
27 | .cm-s-railscasts span.cm-def {color: #cc7833;}
28 | .cm-s-railscasts span.cm-error {background: #da4939; color: #d4cfc9;}
29 | .cm-s-railscasts span.cm-bracket {color: #f4f1ed;}
30 | .cm-s-railscasts span.cm-tag {color: #da4939;}
31 | .cm-s-railscasts span.cm-link {color: #b6b3eb;}
32 |
33 | .cm-s-railscasts .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
34 | .cm-s-railscasts .CodeMirror-activeline-background { background: #303040; }
35 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/rubyblue.css:
--------------------------------------------------------------------------------
1 | .cm-s-rubyblue.CodeMirror { background: #112435; color: white; }
2 | .cm-s-rubyblue div.CodeMirror-selected { background: #38566F; }
3 | .cm-s-rubyblue .CodeMirror-line::selection, .cm-s-rubyblue .CodeMirror-line > span::selection, .cm-s-rubyblue .CodeMirror-line > span > span::selection { background: rgba(56, 86, 111, 0.99); }
4 | .cm-s-rubyblue .CodeMirror-line::-moz-selection, .cm-s-rubyblue .CodeMirror-line > span::-moz-selection, .cm-s-rubyblue .CodeMirror-line > span > span::-moz-selection { background: rgba(56, 86, 111, 0.99); }
5 | .cm-s-rubyblue .CodeMirror-gutters { background: #1F4661; border-right: 7px solid #3E7087; }
6 | .cm-s-rubyblue .CodeMirror-guttermarker { color: white; }
7 | .cm-s-rubyblue .CodeMirror-guttermarker-subtle { color: #3E7087; }
8 | .cm-s-rubyblue .CodeMirror-linenumber { color: white; }
9 | .cm-s-rubyblue .CodeMirror-cursor { border-left: 1px solid white; }
10 |
11 | .cm-s-rubyblue span.cm-comment { color: #999; font-style:italic; line-height: 1em; }
12 | .cm-s-rubyblue span.cm-atom { color: #F4C20B; }
13 | .cm-s-rubyblue span.cm-number, .cm-s-rubyblue span.cm-attribute { color: #82C6E0; }
14 | .cm-s-rubyblue span.cm-keyword { color: #F0F; }
15 | .cm-s-rubyblue span.cm-string { color: #F08047; }
16 | .cm-s-rubyblue span.cm-meta { color: #F0F; }
17 | .cm-s-rubyblue span.cm-variable-2, .cm-s-rubyblue span.cm-tag { color: #7BD827; }
18 | .cm-s-rubyblue span.cm-variable-3, .cm-s-rubyblue span.cm-def, .cm-s-rubyblue span.cm-type { color: white; }
19 | .cm-s-rubyblue span.cm-bracket { color: #F0F; }
20 | .cm-s-rubyblue span.cm-link { color: #F4C20B; }
21 | .cm-s-rubyblue span.CodeMirror-matchingbracket { color:#F0F !important; }
22 | .cm-s-rubyblue span.cm-builtin, .cm-s-rubyblue span.cm-special { color: #FF9D00; }
23 | .cm-s-rubyblue span.cm-error { color: #AF2018; }
24 |
25 | .cm-s-rubyblue .CodeMirror-activeline-background { background: #173047; }
26 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/ssms.css:
--------------------------------------------------------------------------------
1 | .cm-s-ssms span.cm-keyword { color: blue; }
2 | .cm-s-ssms span.cm-comment { color: darkgreen; }
3 | .cm-s-ssms span.cm-string { color: red; }
4 | .cm-s-ssms span.cm-def { color: black; }
5 | .cm-s-ssms span.cm-variable { color: black; }
6 | .cm-s-ssms span.cm-variable-2 { color: black; }
7 | .cm-s-ssms span.cm-atom { color: darkgray; }
8 | .cm-s-ssms .CodeMirror-linenumber { color: teal; }
9 | .cm-s-ssms .CodeMirror-activeline-background { background: #ffffff; }
10 | .cm-s-ssms span.cm-string-2 { color: #FF00FF; }
11 | .cm-s-ssms span.cm-operator,
12 | .cm-s-ssms span.cm-bracket,
13 | .cm-s-ssms span.cm-punctuation { color: darkgray; }
14 | .cm-s-ssms .CodeMirror-gutters { border-right: 3px solid #ffee62; background-color: #ffffff; }
15 | .cm-s-ssms div.CodeMirror-selected { background: #ADD6FF; }
16 |
17 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/the-matrix.css:
--------------------------------------------------------------------------------
1 | .cm-s-the-matrix.CodeMirror { background: #000000; color: #00FF00; }
2 | .cm-s-the-matrix div.CodeMirror-selected { background: #2D2D2D; }
3 | .cm-s-the-matrix .CodeMirror-line::selection, .cm-s-the-matrix .CodeMirror-line > span::selection, .cm-s-the-matrix .CodeMirror-line > span > span::selection { background: rgba(45, 45, 45, 0.99); }
4 | .cm-s-the-matrix .CodeMirror-line::-moz-selection, .cm-s-the-matrix .CodeMirror-line > span::-moz-selection, .cm-s-the-matrix .CodeMirror-line > span > span::-moz-selection { background: rgba(45, 45, 45, 0.99); }
5 | .cm-s-the-matrix .CodeMirror-gutters { background: #060; border-right: 2px solid #00FF00; }
6 | .cm-s-the-matrix .CodeMirror-guttermarker { color: #0f0; }
7 | .cm-s-the-matrix .CodeMirror-guttermarker-subtle { color: white; }
8 | .cm-s-the-matrix .CodeMirror-linenumber { color: #FFFFFF; }
9 | .cm-s-the-matrix .CodeMirror-cursor { border-left: 1px solid #00FF00; }
10 |
11 | .cm-s-the-matrix span.cm-keyword { color: #008803; font-weight: bold; }
12 | .cm-s-the-matrix span.cm-atom { color: #3FF; }
13 | .cm-s-the-matrix span.cm-number { color: #FFB94F; }
14 | .cm-s-the-matrix span.cm-def { color: #99C; }
15 | .cm-s-the-matrix span.cm-variable { color: #F6C; }
16 | .cm-s-the-matrix span.cm-variable-2 { color: #C6F; }
17 | .cm-s-the-matrix span.cm-variable-3, .cm-s-the-matrix span.cm-type { color: #96F; }
18 | .cm-s-the-matrix span.cm-property { color: #62FFA0; }
19 | .cm-s-the-matrix span.cm-operator { color: #999; }
20 | .cm-s-the-matrix span.cm-comment { color: #CCCCCC; }
21 | .cm-s-the-matrix span.cm-string { color: #39C; }
22 | .cm-s-the-matrix span.cm-meta { color: #C9F; }
23 | .cm-s-the-matrix span.cm-qualifier { color: #FFF700; }
24 | .cm-s-the-matrix span.cm-builtin { color: #30a; }
25 | .cm-s-the-matrix span.cm-bracket { color: #cc7; }
26 | .cm-s-the-matrix span.cm-tag { color: #FFBD40; }
27 | .cm-s-the-matrix span.cm-attribute { color: #FFF700; }
28 | .cm-s-the-matrix span.cm-error { color: #FF0000; }
29 |
30 | .cm-s-the-matrix .CodeMirror-activeline-background { background: #040; }
31 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/tomorrow-night-bright.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: Tomorrow Night - Bright
4 | Author: Chris Kempson
5 |
6 | Port done by Gerard Braad
7 |
8 | */
9 |
10 | .cm-s-tomorrow-night-bright.CodeMirror { background: #000000; color: #eaeaea; }
11 | .cm-s-tomorrow-night-bright div.CodeMirror-selected { background: #424242; }
12 | .cm-s-tomorrow-night-bright .CodeMirror-gutters { background: #000000; border-right: 0px; }
13 | .cm-s-tomorrow-night-bright .CodeMirror-guttermarker { color: #e78c45; }
14 | .cm-s-tomorrow-night-bright .CodeMirror-guttermarker-subtle { color: #777; }
15 | .cm-s-tomorrow-night-bright .CodeMirror-linenumber { color: #424242; }
16 | .cm-s-tomorrow-night-bright .CodeMirror-cursor { border-left: 1px solid #6A6A6A; }
17 |
18 | .cm-s-tomorrow-night-bright span.cm-comment { color: #d27b53; }
19 | .cm-s-tomorrow-night-bright span.cm-atom { color: #a16a94; }
20 | .cm-s-tomorrow-night-bright span.cm-number { color: #a16a94; }
21 |
22 | .cm-s-tomorrow-night-bright span.cm-property, .cm-s-tomorrow-night-bright span.cm-attribute { color: #99cc99; }
23 | .cm-s-tomorrow-night-bright span.cm-keyword { color: #d54e53; }
24 | .cm-s-tomorrow-night-bright span.cm-string { color: #e7c547; }
25 |
26 | .cm-s-tomorrow-night-bright span.cm-variable { color: #b9ca4a; }
27 | .cm-s-tomorrow-night-bright span.cm-variable-2 { color: #7aa6da; }
28 | .cm-s-tomorrow-night-bright span.cm-def { color: #e78c45; }
29 | .cm-s-tomorrow-night-bright span.cm-bracket { color: #eaeaea; }
30 | .cm-s-tomorrow-night-bright span.cm-tag { color: #d54e53; }
31 | .cm-s-tomorrow-night-bright span.cm-link { color: #a16a94; }
32 | .cm-s-tomorrow-night-bright span.cm-error { background: #d54e53; color: #6A6A6A; }
33 |
34 | .cm-s-tomorrow-night-bright .CodeMirror-activeline-background { background: #2a2a2a; }
35 | .cm-s-tomorrow-night-bright .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
36 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/yeti.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Name: yeti
4 | Author: Michael Kaminsky (http://github.com/mkaminsky11)
5 |
6 | Original yeti color scheme by Jesse Weed (https://github.com/jesseweed/yeti-syntax)
7 |
8 | */
9 |
10 |
11 | .cm-s-yeti.CodeMirror {
12 | background-color: #ECEAE8 !important;
13 | color: #d1c9c0 !important;
14 | border: none;
15 | }
16 |
17 | .cm-s-yeti .CodeMirror-gutters {
18 | color: #adaba6;
19 | background-color: #E5E1DB;
20 | border: none;
21 | }
22 | .cm-s-yeti .CodeMirror-cursor { border-left: solid thin #d1c9c0; }
23 | .cm-s-yeti .CodeMirror-linenumber { color: #adaba6; }
24 | .cm-s-yeti.CodeMirror-focused div.CodeMirror-selected { background: #DCD8D2; }
25 | .cm-s-yeti .CodeMirror-line::selection, .cm-s-yeti .CodeMirror-line > span::selection, .cm-s-yeti .CodeMirror-line > span > span::selection { background: #DCD8D2; }
26 | .cm-s-yeti .CodeMirror-line::-moz-selection, .cm-s-yeti .CodeMirror-line > span::-moz-selection, .cm-s-yeti .CodeMirror-line > span > span::-moz-selection { background: #DCD8D2; }
27 | .cm-s-yeti span.cm-comment { color: #d4c8be; }
28 | .cm-s-yeti span.cm-string, .cm-s-yeti span.cm-string-2 { color: #96c0d8; }
29 | .cm-s-yeti span.cm-number { color: #a074c4; }
30 | .cm-s-yeti span.cm-variable { color: #55b5db; }
31 | .cm-s-yeti span.cm-variable-2 { color: #a074c4; }
32 | .cm-s-yeti span.cm-def { color: #55b5db; }
33 | .cm-s-yeti span.cm-operator { color: #9fb96e; }
34 | .cm-s-yeti span.cm-keyword { color: #9fb96e; }
35 | .cm-s-yeti span.cm-atom { color: #a074c4; }
36 | .cm-s-yeti span.cm-meta { color: #96c0d8; }
37 | .cm-s-yeti span.cm-tag { color: #96c0d8; }
38 | .cm-s-yeti span.cm-attribute { color: #9fb96e; }
39 | .cm-s-yeti span.cm-qualifier { color: #96c0d8; }
40 | .cm-s-yeti span.cm-property { color: #a074c4; }
41 | .cm-s-yeti span.cm-builtin { color: #a074c4; }
42 | .cm-s-yeti span.cm-variable-3, .cm-s-yeti span.cm-type { color: #96c0d8; }
43 | .cm-s-yeti .CodeMirror-activeline-background { background: #E7E4E0; }
44 | .cm-s-yeti .CodeMirror-matchingbracket { text-decoration: underline; }
45 |
--------------------------------------------------------------------------------
/src/lib/codemirror/theme/zenburn.css:
--------------------------------------------------------------------------------
1 | /**
2 | * "
3 | * Using Zenburn color palette from the Emacs Zenburn Theme
4 | * https://github.com/bbatsov/zenburn-emacs/blob/master/zenburn-theme.el
5 | *
6 | * Also using parts of https://github.com/xavi/coderay-lighttable-theme
7 | * "
8 | * From: https://github.com/wisenomad/zenburn-lighttable-theme/blob/master/zenburn.css
9 | */
10 |
11 | .cm-s-zenburn .CodeMirror-gutters { background: #3f3f3f !important; }
12 | .cm-s-zenburn .CodeMirror-foldgutter-open, .CodeMirror-foldgutter-folded { color: #999; }
13 | .cm-s-zenburn .CodeMirror-cursor { border-left: 1px solid white; }
14 | .cm-s-zenburn.CodeMirror { background-color: #3f3f3f; color: #dcdccc; }
15 | .cm-s-zenburn span.cm-builtin { color: #dcdccc; font-weight: bold; }
16 | .cm-s-zenburn span.cm-comment { color: #7f9f7f; }
17 | .cm-s-zenburn span.cm-keyword { color: #f0dfaf; font-weight: bold; }
18 | .cm-s-zenburn span.cm-atom { color: #bfebbf; }
19 | .cm-s-zenburn span.cm-def { color: #dcdccc; }
20 | .cm-s-zenburn span.cm-variable { color: #dfaf8f; }
21 | .cm-s-zenburn span.cm-variable-2 { color: #dcdccc; }
22 | .cm-s-zenburn span.cm-string { color: #cc9393; }
23 | .cm-s-zenburn span.cm-string-2 { color: #cc9393; }
24 | .cm-s-zenburn span.cm-number { color: #dcdccc; }
25 | .cm-s-zenburn span.cm-tag { color: #93e0e3; }
26 | .cm-s-zenburn span.cm-property { color: #dfaf8f; }
27 | .cm-s-zenburn span.cm-attribute { color: #dfaf8f; }
28 | .cm-s-zenburn span.cm-qualifier { color: #7cb8bb; }
29 | .cm-s-zenburn span.cm-meta { color: #f0dfaf; }
30 | .cm-s-zenburn span.cm-header { color: #f0efd0; }
31 | .cm-s-zenburn span.cm-operator { color: #f0efd0; }
32 | .cm-s-zenburn span.CodeMirror-matchingbracket { box-sizing: border-box; background: transparent; border-bottom: 1px solid; }
33 | .cm-s-zenburn span.CodeMirror-nonmatchingbracket { border-bottom: 1px solid; background: none; }
34 | .cm-s-zenburn .CodeMirror-activeline { background: #000000; }
35 | .cm-s-zenburn .CodeMirror-activeline-background { background: #000000; }
36 | .cm-s-zenburn div.CodeMirror-selected { background: #545454; }
37 | .cm-s-zenburn .CodeMirror-focused div.CodeMirror-selected { background: #4f4f4f; }
38 |
--------------------------------------------------------------------------------