CodeMirror 5.62.0

skipping 5.62.1 due to a bug in its lint.js
This commit is contained in:
tophf 2021-07-21 12:13:11 +03:00
parent 2d9d0ad1f8
commit 33ff2c8373
18 changed files with 423 additions and 26 deletions

View File

@ -5,6 +5,7 @@
const CODEMIRROR_THEMES = [ const CODEMIRROR_THEMES = [
'3024-day', '3024-day',
'3024-night', '3024-night',
'abbott',
'abcdef', 'abcdef',
'ambiance', 'ambiance',
'ambiance-mobile', 'ambiance-mobile',
@ -28,6 +29,7 @@ const CODEMIRROR_THEMES = [
'icecoder', 'icecoder',
'idea', 'idea',
'isotope', 'isotope',
'juejin',
'lesser-dark', 'lesser-dark',
'liquibyte', 'liquibyte',
'lucario', 'lucario',

31
package-lock.json generated
View File

@ -9,7 +9,7 @@
"version": "1.5.19", "version": "1.5.19",
"license": "GPL-3.0-only", "license": "GPL-3.0-only",
"dependencies": { "dependencies": {
"codemirror": "5.61.0", "codemirror": "5.62.0",
"db-to-cloud": "^0.6.0", "db-to-cloud": "^0.6.0",
"jsonlint": "^1.6.3", "jsonlint": "^1.6.3",
"less-bundle": "github:openstyles/less-bundle#v0.1.0", "less-bundle": "github:openstyles/less-bundle#v0.1.0",
@ -643,6 +643,7 @@
"espree": "7.3.0", "espree": "7.3.0",
"esprima": "4.0.1", "esprima": "4.0.1",
"fluent-syntax": "0.13.0", "fluent-syntax": "0.13.0",
"fsevents": "2.2.1",
"glob": "7.1.6", "glob": "7.1.6",
"is-mergeable-object": "1.1.1", "is-mergeable-object": "1.1.1",
"jed": "1.1.1", "jed": "1.1.1",
@ -1852,6 +1853,12 @@
"engines": [ "engines": [
"node >=0.10.0" "node >=0.10.0"
], ],
"dependencies": {
"dtrace-provider": "~0.8",
"moment": "^2.19.3",
"mv": "~2",
"safe-json-stringify": "~1"
},
"bin": { "bin": {
"bunyan": "bin/bunyan" "bunyan": "bin/bunyan"
}, },
@ -2135,6 +2142,7 @@
"dependencies": { "dependencies": {
"anymatch": "~3.1.1", "anymatch": "~3.1.1",
"braces": "~3.0.2", "braces": "~3.0.2",
"fsevents": "~2.3.1",
"glob-parent": "~5.1.0", "glob-parent": "~5.1.0",
"is-binary-path": "~2.1.0", "is-binary-path": "~2.1.0",
"is-glob": "~4.0.1", "is-glob": "~4.0.1",
@ -2353,9 +2361,9 @@
} }
}, },
"node_modules/codemirror": { "node_modules/codemirror": {
"version": "5.61.0", "version": "5.62.0",
"resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.61.0.tgz", "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.62.0.tgz",
"integrity": "sha512-D3wYH90tYY1BsKlUe0oNj2JAhQ9TepkD51auk3N7q+4uz7A/cgJ5JsWHreT0PqieW1QhOuqxQ2reCXV1YXzecg==" "integrity": "sha512-Xnl3304iCc8nyVZuRkzDVVwc794uc9QNX0UcPGeNic1fbzkSrO4l4GVXho9tRNKBgPYZXgocUqXyfIv3BILhCQ=="
}, },
"node_modules/collection-visit": { "node_modules/collection-visit": {
"version": "1.0.0", "version": "1.0.0",
@ -4569,6 +4577,9 @@
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"dev": true, "dev": true,
"dependencies": {
"graceful-fs": "^4.1.6"
},
"optionalDependencies": { "optionalDependencies": {
"graceful-fs": "^4.1.6" "graceful-fs": "^4.1.6"
} }
@ -7008,6 +7019,7 @@
"integrity": "sha512-ssHt0dkljEDaKmTgQ04DQgx2ag6G2gMPxA5hpcsoeTbfDgRf2fC2gNSRc6kISjD7ckCpHwwQvXxuTBK8402fXg==", "integrity": "sha512-ssHt0dkljEDaKmTgQ04DQgx2ag6G2gMPxA5hpcsoeTbfDgRf2fC2gNSRc6kISjD7ckCpHwwQvXxuTBK8402fXg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"encoding": "^0.1.12",
"minipass": "^3.1.0", "minipass": "^3.1.0",
"minipass-pipeline": "^1.2.2", "minipass-pipeline": "^1.2.2",
"minipass-sized": "^1.0.3", "minipass-sized": "^1.0.3",
@ -11258,8 +11270,10 @@
"integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"chokidar": "^3.4.1",
"graceful-fs": "^4.1.2", "graceful-fs": "^4.1.2",
"neo-async": "^2.5.0" "neo-async": "^2.5.0",
"watchpack-chokidar2": "^2.0.1"
}, },
"optionalDependencies": { "optionalDependencies": {
"chokidar": "^3.4.1", "chokidar": "^3.4.1",
@ -11343,6 +11357,7 @@
"anymatch": "^2.0.0", "anymatch": "^2.0.0",
"async-each": "^1.0.1", "async-each": "^1.0.1",
"braces": "^2.3.2", "braces": "^2.3.2",
"fsevents": "^1.2.7",
"glob-parent": "^3.1.0", "glob-parent": "^3.1.0",
"inherits": "^2.0.3", "inherits": "^2.0.3",
"is-binary-path": "^1.0.0", "is-binary-path": "^1.0.0",
@ -13918,9 +13933,9 @@
} }
}, },
"codemirror": { "codemirror": {
"version": "5.61.0", "version": "5.62.0",
"resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.61.0.tgz", "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.62.0.tgz",
"integrity": "sha512-D3wYH90tYY1BsKlUe0oNj2JAhQ9TepkD51auk3N7q+4uz7A/cgJ5JsWHreT0PqieW1QhOuqxQ2reCXV1YXzecg==" "integrity": "sha512-Xnl3304iCc8nyVZuRkzDVVwc794uc9QNX0UcPGeNic1fbzkSrO4l4GVXho9tRNKBgPYZXgocUqXyfIv3BILhCQ=="
}, },
"collection-visit": { "collection-visit": {
"version": "1.0.0", "version": "1.0.0",

View File

@ -6,7 +6,7 @@
"repository": "openstyles/stylus", "repository": "openstyles/stylus",
"author": "Stylus Team", "author": "Stylus Team",
"dependencies": { "dependencies": {
"codemirror": "5.61.0", "codemirror": "5.62.0",
"db-to-cloud": "^0.6.0", "db-to-cloud": "^0.6.0",
"jsonlint": "^1.6.3", "jsonlint": "^1.6.3",
"less-bundle": "github:openstyles/less-bundle#v0.1.0", "less-bundle": "github:openstyles/less-bundle#v0.1.0",

View File

@ -1,4 +1,4 @@
## codemirror v5.61.0 ## codemirror v5.62.0
Following files are copied from npm (node_modules): Following files are copied from npm (node_modules):
@ -34,6 +34,7 @@ Following files are copied from npm (node_modules):
* mode\stylus * mode\stylus
* theme\3024-day.css * theme\3024-day.css
* theme\3024-night.css * theme\3024-night.css
* theme\abbott.css
* theme\abcdef.css * theme\abcdef.css
* theme\ambiance-mobile.css * theme\ambiance-mobile.css
* theme\ambiance.css * theme\ambiance.css
@ -57,6 +58,7 @@ Following files are copied from npm (node_modules):
* theme\icecoder.css * theme\icecoder.css
* theme\idea.css * theme\idea.css
* theme\isotope.css * theme\isotope.css
* theme\juejin.css
* theme\lesser-dark.css * theme\lesser-dark.css
* theme\liquibyte.css * theme\liquibyte.css
* theme\lucario.css * theme\lucario.css

View File

@ -69,3 +69,11 @@
background-position: right bottom; background-position: right bottom;
width: 100%; height: 100%; width: 100%; height: 100%;
} }
.CodeMirror-lint-line-error {
background-color: rgba(183, 76, 81, 0.08);
}
.CodeMirror-lint-line-warning {
background-color: rgba(255, 211, 0, 0.1);
}

View File

@ -11,6 +11,7 @@
})(function(CodeMirror) { })(function(CodeMirror) {
"use strict"; "use strict";
var GUTTER_ID = "CodeMirror-lint-markers"; var GUTTER_ID = "CodeMirror-lint-markers";
var LINT_LINE_ID = "CodeMirror-lint-line-";
function showTooltip(cm, e, content) { function showTooltip(cm, e, content) {
var tt = document.createElement("div"); var tt = document.createElement("div");
@ -76,11 +77,23 @@
function clearMarks(cm) { function clearMarks(cm) {
var state = cm.state.lint; var state = cm.state.lint;
if (state.hasGutter) cm.clearGutter(GUTTER_ID); if (state.hasGutter) cm.clearGutter(GUTTER_ID);
if (isHighlightErrorLinesEnabled(state)) clearErrorLines(cm);
for (var i = 0; i < state.marked.length; ++i) for (var i = 0; i < state.marked.length; ++i)
state.marked[i].clear(); state.marked[i].clear();
state.marked.length = 0; state.marked.length = 0;
} }
function clearErrorLines(cm) {
cm.eachLine(function(line) {
var has = line.wrapClass && /\bCodeMirror-lint-line-\w+\b/.exec(line.wrapClass);
if (has) cm.removeLineClass(line, "wrap", has[0]);
})
}
function isHighlightErrorLinesEnabled(state) {
return state.options.highlightLines;
}
function makeMarker(cm, labels, severity, multiple, tooltips) { function makeMarker(cm, labels, severity, multiple, tooltips) {
var marker = document.createElement("div"), inner = marker; var marker = document.createElement("div"), inner = marker;
marker.className = "CodeMirror-lint-marker CodeMirror-lint-marker-" + severity; marker.className = "CodeMirror-lint-marker CodeMirror-lint-marker-" + severity;
@ -140,7 +153,9 @@
} }
function startLinting(cm) { function startLinting(cm) {
var state = cm.state.lint, options = state.options; var state = cm.state.lint;
if (!state) return;
var options = state.options;
/* /*
* Passing rules in `options` property prevents JSHint (and other linters) from complaining * Passing rules in `options` property prevents JSHint (and other linters) from complaining
* about unrecognized rules like `onUpdateLinting`, `delay`, `lintOnChange`, etc. * about unrecognized rules like `onUpdateLinting`, `delay`, `lintOnChange`, etc.
@ -161,8 +176,10 @@
} }
function updateLinting(cm, annotationsNotSorted) { function updateLinting(cm, annotationsNotSorted) {
var state = cm.state.lint;
if (!state) return;
var options = state.options;
clearMarks(cm); clearMarks(cm);
var state = cm.state.lint, options = state.options;
var annotations = groupByLine(annotationsNotSorted); var annotations = groupByLine(annotationsNotSorted);
@ -195,6 +212,9 @@
if (state.hasGutter) if (state.hasGutter)
cm.setGutterMarker(line, GUTTER_ID, makeMarker(cm, tipLabel, maxSeverity, annotations[line].length > 1, cm.setGutterMarker(line, GUTTER_ID, makeMarker(cm, tipLabel, maxSeverity, annotations[line].length > 1,
state.options.tooltips)); state.options.tooltips));
if (isHighlightErrorLinesEnabled(state))
cm.addLineClass(line, "wrap", LINT_LINE_ID + maxSeverity);
} }
if (options.onUpdateLinting) options.onUpdateLinting(annotationsNotSorted, annotations, cm); if (options.onUpdateLinting) options.onUpdateLinting(annotationsNotSorted, annotations, cm);
} }
@ -254,6 +274,6 @@
}); });
CodeMirror.defineExtension("performLint", function() { CodeMirror.defineExtension("performLint", function() {
if (this.state.lint) startLinting(this); startLinting(this);
}); });
}); });

View File

@ -1311,6 +1311,7 @@
if (span.marker == marker) { return span } if (span.marker == marker) { return span }
} } } }
} }
// Remove a span from an array, returning undefined if no spans are // Remove a span from an array, returning undefined if no spans are
// left (we don't store arrays for lines without spans). // left (we don't store arrays for lines without spans).
function removeMarkedSpan(spans, span) { function removeMarkedSpan(spans, span) {
@ -1319,9 +1320,16 @@
{ if (spans[i] != span) { (r || (r = [])).push(spans[i]); } } { if (spans[i] != span) { (r || (r = [])).push(spans[i]); } }
return r return r
} }
// Add a span to a line. // Add a span to a line.
function addMarkedSpan(line, span) { function addMarkedSpan(line, span, op) {
var inThisOp = op && window.WeakSet && (op.markedSpans || (op.markedSpans = new WeakSet));
if (inThisOp && inThisOp.has(line.markedSpans)) {
line.markedSpans.push(span);
} else {
line.markedSpans = line.markedSpans ? line.markedSpans.concat([span]) : [span]; line.markedSpans = line.markedSpans ? line.markedSpans.concat([span]) : [span];
if (inThisOp) { inThisOp.add(line.markedSpans); }
}
span.marker.attachLine(line); span.marker.attachLine(line);
} }
@ -3431,8 +3439,8 @@
// Set pos and end to the cursor positions around the character pos sticks to // Set pos and end to the cursor positions around the character pos sticks to
// If pos.sticky == "before", that is around pos.ch - 1, otherwise around pos.ch // If pos.sticky == "before", that is around pos.ch - 1, otherwise around pos.ch
// If pos == Pos(_, 0, "before"), pos and end are unchanged // If pos == Pos(_, 0, "before"), pos and end are unchanged
pos = pos.ch ? Pos(pos.line, pos.sticky == "before" ? pos.ch - 1 : pos.ch, "after") : pos;
end = pos.sticky == "before" ? Pos(pos.line, pos.ch + 1, "before") : pos; end = pos.sticky == "before" ? Pos(pos.line, pos.ch + 1, "before") : pos;
pos = pos.ch ? Pos(pos.line, pos.sticky == "before" ? pos.ch - 1 : pos.ch, "after") : pos;
} }
for (var limit = 0; limit < 5; limit++) { for (var limit = 0; limit < 5; limit++) {
var changed = false; var changed = false;
@ -3783,7 +3791,8 @@
scrollLeft: null, scrollTop: null, // Intermediate scroll position, not pushed to DOM yet scrollLeft: null, scrollTop: null, // Intermediate scroll position, not pushed to DOM yet
scrollToPos: null, // Used to scroll to a specific position scrollToPos: null, // Used to scroll to a specific position
focus: false, focus: false,
id: ++nextOpId // Unique ID id: ++nextOpId, // Unique ID
markArrays: null // Used by addMarkedSpan
}; };
pushOperation(cm.curOp); pushOperation(cm.curOp);
} }
@ -4785,6 +4794,7 @@
estimateLineHeights(cm); estimateLineHeights(cm);
loadMode(cm); loadMode(cm);
setDirectionClass(cm); setDirectionClass(cm);
cm.options.direction = doc.direction;
if (!cm.options.lineWrapping) { findMaxLine(cm); } if (!cm.options.lineWrapping) { findMaxLine(cm); }
cm.options.mode = doc.modeOption; cm.options.mode = doc.modeOption;
regChange(cm); regChange(cm);
@ -5961,7 +5971,7 @@
if (marker.collapsed && curLine != from.line) { updateLineHeight(line, 0); } if (marker.collapsed && curLine != from.line) { updateLineHeight(line, 0); }
addMarkedSpan(line, new MarkedSpan(marker, addMarkedSpan(line, new MarkedSpan(marker,
curLine == from.line ? from.ch : null, curLine == from.line ? from.ch : null,
curLine == to.line ? to.ch : null)); curLine == to.line ? to.ch : null), doc.cm && doc.cm.curOp);
++curLine; ++curLine;
}); });
// lineIsHidden depends on the presence of the spans, so needs a second pass // lineIsHidden depends on the presence of the spans, so needs a second pass
@ -6133,6 +6143,7 @@
getRange: function(from, to, lineSep) { getRange: function(from, to, lineSep) {
var lines = getBetween(this, clipPos(this, from), clipPos(this, to)); var lines = getBetween(this, clipPos(this, from), clipPos(this, to));
if (lineSep === false) { return lines } if (lineSep === false) { return lines }
if (lineSep === '') { return lines.join('') }
return lines.join(lineSep || this.lineSeparator()) return lines.join(lineSep || this.lineSeparator())
}, },
@ -9796,7 +9807,7 @@
addLegacyProps(CodeMirror); addLegacyProps(CodeMirror);
CodeMirror.version = "5.61.0"; CodeMirror.version = "5.62.0";
return CodeMirror; return CodeMirror;

View File

@ -482,7 +482,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) {
function quasi(type, value) { function quasi(type, value) {
if (type != "quasi") return pass(); if (type != "quasi") return pass();
if (value.slice(value.length - 2) != "${") return cont(quasi); if (value.slice(value.length - 2) != "${") return cont(quasi);
return cont(expression, continueQuasi); return cont(maybeexpression, continueQuasi);
} }
function continueQuasi(type) { function continueQuasi(type) {
if (type == "}") { if (type == "}") {
@ -622,6 +622,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) {
if (type == "{") return cont(pushlex("}"), typeprops, poplex, afterType) if (type == "{") return cont(pushlex("}"), typeprops, poplex, afterType)
if (type == "(") return cont(commasep(typearg, ")"), maybeReturnType, afterType) if (type == "(") return cont(commasep(typearg, ")"), maybeReturnType, afterType)
if (type == "<") return cont(commasep(typeexpr, ">"), typeexpr) if (type == "<") return cont(commasep(typeexpr, ">"), typeexpr)
if (type == "quasi") { return pass(quasiType, afterType); }
} }
function maybeReturnType(type) { function maybeReturnType(type) {
if (type == "=>") return cont(typeexpr) if (type == "=>") return cont(typeexpr)
@ -647,6 +648,18 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) {
return cont() return cont()
} }
} }
function quasiType(type, value) {
if (type != "quasi") return pass();
if (value.slice(value.length - 2) != "${") return cont(quasiType);
return cont(typeexpr, continueQuasiType);
}
function continueQuasiType(type) {
if (type == "}") {
cx.marked = "string-2";
cx.state.tokenize = tokenQuasi;
return cont(quasiType);
}
}
function typearg(type, value) { function typearg(type, value) {
if (type == "variable" && cx.stream.match(/^\s*[?:]/, false) || value == "?") return cont(typearg) if (type == "variable" && cx.stream.match(/^\s*[?:]/, false) || value == "?") return cont(typearg)
if (type == ":") return cont(typeexpr) if (type == ":") return cont(typeexpr)
@ -786,6 +799,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) {
if (value == "@") return cont(expression, classBody) if (value == "@") return cont(expression, classBody)
} }
function classfield(type, value) { function classfield(type, value) {
if (value == "!") return cont(classfield)
if (value == "?") return cont(classfield) if (value == "?") return cont(classfield)
if (type == ":") return cont(typeexpr, maybeAssign) if (type == ":") return cont(typeexpr, maybeAssign)
if (value == "=") return cont(expressionNoComma) if (value == "=") return cont(expressionNoComma)
@ -923,8 +937,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) {
expressionAllowed: expressionAllowed, expressionAllowed: expressionAllowed,
skipExpression: function(state) { skipExpression: function(state) {
var top = state.cc[state.cc.length - 1] parseJS(state, "atom", "atom", "true", new CodeMirror.StringStream("", 2, null))
if (top == expression || top == expressionNoComma) state.cc.pop()
} }
}; };
}); });

268
vendor/codemirror/theme/abbott.css vendored Normal file
View File

@ -0,0 +1,268 @@
/*
* abbott.css
* A warm, dark theme for prose and code, with pastels and pretty greens.
*
* Ported from abbott.vim (https://github.com/bcat/abbott.vim) version 2.1.
* Original design and CodeMirror port by Jonathan Rascher.
*
* This theme shares the following color palette with the Vim color scheme.
*
* Brown shades:
* bistre: #231c14
* chocolate: #3c3022
* cocoa: #745d42
* vanilla_cream: #fef3b4
*
* Red shades:
* crimson: #d80450
* cinnabar: #f63f05
*
* Green shades:
* dark_olive: #273900
* forest_green: #24a507
* chartreuse: #a0ea00
* pastel_chartreuse: #d8ff84
*
* Yellow shades:
* marigold: #fbb32f
* lemon_meringue: #fbec5d
*
* Blue shades:
* cornflower_blue: #3f91f1
* periwinkle_blue: #8ccdf0
*
* Magenta shades:
* french_pink: #ec6c99
* lavender: #e6a2f3
*
* Cyan shades:
* zomp: #39a78d
* seafoam_green: #00ff7f
*/
/* Style the UI: */
/* Equivalent to Vim's Normal group. */
.cm-s-abbott.CodeMirror {
background: #231c14 /* bistre */;
color: #d8ff84 /* pastel_chartreuse */;
}
/* Roughly equivalent to Vim's LineNr group. */
.cm-s-abbott .CodeMirror-gutters {
background: #231c14 /* bistre */;
border: none;
}
.cm-s-abbott .CodeMirror-linenumber { color: #fbec5d /* lemon_meringue */; }
.cm-s-abbott .CodeMirror-guttermarker { color: #f63f05 /* cinnabar */; }
/* Roughly equivalent to Vim's FoldColumn group. */
.cm-s-abbott .CodeMirror-guttermarker-subtle { color: #fbb32f /* marigold */; }
/*
* Roughly equivalent to Vim's CursorColumn group. (We use a brighter color
* since Vim's cursorcolumn option highlights a whole column, whereas
* CodeMirror's rule just highlights a thin line.)
*/
.cm-s-abbott .CodeMirror-ruler { border-color: #745d42 /* cocoa */; }
/* Equivalent to Vim's Cursor group in insert mode. */
.cm-s-abbott .CodeMirror-cursor { border-color: #a0ea00 /* chartreuse */; }
/* Equivalent to Vim's Cursor group in normal mode. */
.cm-s-abbott.cm-fat-cursor .CodeMirror-cursor,
.cm-s-abbott .cm-animate-fat-cursor {
/*
* CodeMirror doesn't allow changing the foreground color of the character
* under the cursor, so we can't use a reverse video effect for the cursor.
* Instead, make it semitransparent.
*/
background: rgba(160, 234, 0, 0.5) /* chartreuse */;
}
.cm-s-abbott.cm-fat-cursor .CodeMirror-cursors {
/*
* Boost the z-index so the fat cursor shows up on top of text and
* matchingbracket/matchingtag highlights.
*/
z-index: 3;
}
/* Equivalent to Vim's Cursor group in replace mode. */
.cm-s-abbott .CodeMirror-overwrite .CodeMirror-cursor {
border-bottom: 1px solid #a0ea00 /* chartreuse */;
border-left: none;
width: auto;
}
/* Roughly equivalent to Vim's CursorIM group. */
.cm-s-abbott .CodeMirror-secondarycursor {
border-color: #00ff7f /* seafoam_green */;
}
/* Roughly equivalent to Vim's Visual group. */
.cm-s-abbott .CodeMirror-selected,
.cm-s-abbott.CodeMirror-focused .CodeMirror-selected {
background: #273900 /* dark_olive */;
}
.cm-s-abbott .CodeMirror-line::selection,
.cm-s-abbott .CodeMirror-line > span::selection,
.cm-s-abbott .CodeMirror-line > span > span::selection {
background: #273900 /* dark_olive */;
}
.cm-s-abbott .CodeMirror-line::-moz-selection,
.cm-s-abbott .CodeMirror-line > span::-moz-selection,
.cm-s-abbott .CodeMirror-line > span > span::-moz-selection {
background: #273900 /* dark_olive */;
}
/* Roughly equivalent to Vim's SpecialKey group. */
.cm-s-abbott .cm-tab { color: #00ff7f /* seafoam_green */; }
/* Equivalent to Vim's Search group. */
.cm-s-abbott .cm-searching {
background: #fef3b4 /* vanilla_cream */ !important;
color: #231c14 /* bistre */ !important;
}
/* Style syntax highlighting modes: */
/* Equivalent to Vim's Comment group. */
.cm-s-abbott span.cm-comment {
color: #fbb32f /* marigold */;
font-style: italic;
}
/* Equivalent to Vim's String group. */
.cm-s-abbott span.cm-string,
.cm-s-abbott span.cm-string-2 {
color: #e6a2f3 /* lavender */;
}
/* Equivalent to Vim's Constant group. */
.cm-s-abbott span.cm-number,
.cm-s-abbott span.cm-string.cm-url { color: #f63f05 /* cinnabar */; }
/* Roughly equivalent to Vim's SpecialKey group. */
.cm-s-abbott span.cm-invalidchar { color: #00ff7f /* seafoam_green */; }
/* Equivalent to Vim's Special group. */
.cm-s-abbott span.cm-atom { color: #fef3b4 /* vanilla_cream */; }
/* Equivalent to Vim's Delimiter group. */
.cm-s-abbott span.cm-bracket,
.cm-s-abbott span.cm-punctuation {
color: #fef3b4 /* vanilla_cream */;
}
/* Equivalent Vim's Operator group. */
.cm-s-abbott span.cm-operator { font-weight: bold; }
/* Roughly equivalent to Vim's Identifier group. */
.cm-s-abbott span.cm-def,
.cm-s-abbott span.cm-variable,
.cm-s-abbott span.cm-variable-2,
.cm-s-abbott span.cm-variable-3 {
color: #8ccdf0 /* periwinkle_blue */;
}
/* Roughly equivalent to Vim's Function group. */
.cm-s-abbott span.cm-builtin,
.cm-s-abbott span.cm-property,
.cm-s-abbott span.cm-qualifier {
color: #3f91f1 /* cornflower_blue */;
}
/* Equivalent to Vim's Type group. */
.cm-s-abbott span.cm-type { color: #24a507 /* forest_green */; }
/* Equivalent to Vim's Keyword group. */
.cm-s-abbott span.cm-keyword {
color: #d80450 /* crimson */;
font-weight: bold;
}
/* Equivalent to Vim's PreProc group. */
.cm-s-abbott span.cm-meta { color: #ec6c99 /* french_pink */; }
/* Equivalent to Vim's htmlTagName group (linked to Statement). */
.cm-s-abbott span.cm-tag {
color: #d80450 /* crimson */;
font-weight: bold;
}
/* Equivalent to Vim's htmlArg group (linked to Type). */
.cm-s-abbott span.cm-attribute { color: #24a507 /* forest_green */; }
/* Equivalent to Vim's htmlH1, markdownH1, etc. groups (linked to Title). */
.cm-s-abbott span.cm-header {
color: #d80450 /* crimson */;
font-weight: bold;
}
/* Equivalent to Vim's markdownRule group (linked to PreProc). */
.cm-s-abbott span.cm-hr { color: #ec6c99 /* french_pink */; }
/* Roughly equivalent to Vim's Underlined group. */
.cm-s-abbott span.cm-link { color: #e6a2f3 /* lavender */; }
/* Equivalent to Vim's diffRemoved group. */
.cm-s-abbott span.cm-negative {
background: #d80450 /* crimson */;
color: #231c14 /* bistre */;
}
/* Equivalent to Vim's diffAdded group. */
.cm-s-abbott span.cm-positive {
background: #a0ea00 /* chartreuse */;
color: #231c14 /* bistre */;
font-weight: bold;
}
/* Equivalent to Vim's Error group. */
.cm-s-abbott span.cm-error {
background: #d80450 /* crimson */;
color: #231c14 /* bistre */;
}
/* Style addons: */
/* Equivalent to Vim's MatchParen group. */
.cm-s-abbott span.CodeMirror-matchingbracket {
background: #745d42 /* cocoa */ !important;
color: #231c14 /* bistre */ !important;
font-weight: bold;
}
/*
* Roughly equivalent to Vim's Error group. (Vim doesn't seem to have a direct
* equivalent in its own matchparen plugin, but many syntax highlighting plugins
* mark mismatched brackets as Error.)
*/
.cm-s-abbott span.CodeMirror-nonmatchingbracket {
background: #d80450 /* crimson */ !important;
color: #231c14 /* bistre */ !important;
}
.cm-s-abbott .CodeMirror-matchingtag,
.cm-s-abbott .cm-matchhighlight {
outline: 1px solid #39a78d /* zomp */;
}
/* Equivalent to Vim's CursorLine group. */
.cm-s-abbott .CodeMirror-activeline-background,
.cm-s-abbott .CodeMirror-activeline-gutter {
background: #3c3022 /* chocolate */;
}
/* Equivalent to Vim's CursorLineNr group. */
.cm-s-abbott .CodeMirror-activeline-gutter .CodeMirror-linenumber {
color: #d8ff84 /* pastel_chartreuse */;
font-weight: bold;
}
/* Roughly equivalent to Vim's Folded group. */
.cm-s-abbott .CodeMirror-foldmarker {
color: #f63f05 /* cinnabar */;
text-shadow: none;
}

View File

@ -9,6 +9,8 @@
.cm-s-ayu-dark .CodeMirror-guttermarker-subtle { color: #3d424d; } .cm-s-ayu-dark .CodeMirror-guttermarker-subtle { color: #3d424d; }
.cm-s-ayu-dark .CodeMirror-linenumber { color: #3d424d; } .cm-s-ayu-dark .CodeMirror-linenumber { color: #3d424d; }
.cm-s-ayu-dark .CodeMirror-cursor { border-left: 1px solid #e6b450; } .cm-s-ayu-dark .CodeMirror-cursor { border-left: 1px solid #e6b450; }
.cm-s-ayu-dark.cm-fat-cursor .CodeMirror-cursor { background-color: #a2a8a175 !important; }
.cm-s-ayu-dark .cm-animate-fat-cursor { background-color: #a2a8a175 !important; }
.cm-s-ayu-dark span.cm-comment { color: #626a73; } .cm-s-ayu-dark span.cm-comment { color: #626a73; }
.cm-s-ayu-dark span.cm-atom { color: #ae81ff; } .cm-s-ayu-dark span.cm-atom { color: #ae81ff; }

View File

@ -9,6 +9,8 @@
.cm-s-ayu-mirage .CodeMirror-guttermarker-subtle { color: rgba(112, 122, 140, 66); } .cm-s-ayu-mirage .CodeMirror-guttermarker-subtle { color: rgba(112, 122, 140, 66); }
.cm-s-ayu-mirage .CodeMirror-linenumber { color: rgba(61, 66, 77, 99); } .cm-s-ayu-mirage .CodeMirror-linenumber { color: rgba(61, 66, 77, 99); }
.cm-s-ayu-mirage .CodeMirror-cursor { border-left: 1px solid #ffcc66; } .cm-s-ayu-mirage .CodeMirror-cursor { border-left: 1px solid #ffcc66; }
.cm-s-ayu-mirage.cm-fat-cursor .CodeMirror-cursor {background-color: #a2a8a175 !important;}
.cm-s-ayu-mirage .cm-animate-fat-cursor { background-color: #a2a8a175 !important; }
.cm-s-ayu-mirage span.cm-comment { color: #5c6773; font-style:italic; } .cm-s-ayu-mirage span.cm-comment { color: #5c6773; font-style:italic; }
.cm-s-ayu-mirage span.cm-atom { color: #ae81ff; } .cm-s-ayu-mirage span.cm-atom { color: #ae81ff; }

View File

@ -17,6 +17,8 @@
.cm-s-base16-dark .CodeMirror-guttermarker-subtle { color: #505050; } .cm-s-base16-dark .CodeMirror-guttermarker-subtle { color: #505050; }
.cm-s-base16-dark .CodeMirror-linenumber { color: #505050; } .cm-s-base16-dark .CodeMirror-linenumber { color: #505050; }
.cm-s-base16-dark .CodeMirror-cursor { border-left: 1px solid #b0b0b0; } .cm-s-base16-dark .CodeMirror-cursor { border-left: 1px solid #b0b0b0; }
.cm-s-base16-dark.cm-fat-cursor .CodeMirror-cursor { background-color: #8e8d8875 !important; }
.cm-s-base16-dark .cm-animate-fat-cursor { background-color: #8e8d8875 !important; }
.cm-s-base16-dark span.cm-comment { color: #8f5536; } .cm-s-base16-dark span.cm-comment { color: #8f5536; }
.cm-s-base16-dark span.cm-atom { color: #aa759f; } .cm-s-base16-dark span.cm-atom { color: #aa759f; }

View File

@ -11,6 +11,8 @@
.cm-s-gruvbox-dark .CodeMirror-gutters {background: #282828; border-right: 0px;} .cm-s-gruvbox-dark .CodeMirror-gutters {background: #282828; border-right: 0px;}
.cm-s-gruvbox-dark .CodeMirror-linenumber {color: #7c6f64;} .cm-s-gruvbox-dark .CodeMirror-linenumber {color: #7c6f64;}
.cm-s-gruvbox-dark .CodeMirror-cursor { border-left: 1px solid #ebdbb2; } .cm-s-gruvbox-dark .CodeMirror-cursor { border-left: 1px solid #ebdbb2; }
.cm-s-gruvbox-dark.cm-fat-cursor .CodeMirror-cursor { background-color: #8e8d8875 !important; }
.cm-s-gruvbox-dark .cm-animate-fat-cursor { background-color: #8e8d8875 !important; }
.cm-s-gruvbox-dark div.CodeMirror-selected { background: #928374; } .cm-s-gruvbox-dark div.CodeMirror-selected { background: #928374; }
.cm-s-gruvbox-dark span.cm-meta { color: #83a598; } .cm-s-gruvbox-dark span.cm-meta { color: #83a598; }

30
vendor/codemirror/theme/juejin.css vendored Normal file
View File

@ -0,0 +1,30 @@
.cm-s-juejin.CodeMirror {
background: #f8f9fa;
}
.cm-s-juejin .cm-header,
.cm-s-juejin .cm-def {
color: #1ba2f0;
}
.cm-s-juejin .cm-comment {
color: #009e9d;
}
.cm-s-juejin .cm-quote,
.cm-s-juejin .cm-link,
.cm-s-juejin .cm-strong,
.cm-s-juejin .cm-attribute {
color: #fd7741;
}
.cm-s-juejin .cm-url,
.cm-s-juejin .cm-keyword,
.cm-s-juejin .cm-builtin {
color: #bb51b8;
}
.cm-s-juejin .cm-hr {
color: #909090;
}
.cm-s-juejin .cm-tag {
color: #107000;
}
.cm-s-juejin .cm-variable-2 {
color: #0050a0;
}

View File

@ -24,6 +24,12 @@
.cm-s-material-ocean .CodeMirror-cursor { .cm-s-material-ocean .CodeMirror-cursor {
border-left: 1px solid #FFCC00; border-left: 1px solid #FFCC00;
} }
.cm-s-material-ocean.cm-fat-cursor .CodeMirror-cursor {
background-color: #a2a8a175 !important;
}
.cm-s-material-ocean .cm-animate-fat-cursor {
background-color: #a2a8a175 !important;
}
.cm-s-material-ocean div.CodeMirror-selected { .cm-s-material-ocean div.CodeMirror-selected {
background: rgba(113, 124, 180, 0.2); background: rgba(113, 124, 180, 0.2);

View File

@ -24,6 +24,12 @@
.cm-s-material-palenight .CodeMirror-cursor { .cm-s-material-palenight .CodeMirror-cursor {
border-left: 1px solid #FFCC00; border-left: 1px solid #FFCC00;
} }
.cm-s-material-palenight.cm-fat-cursor .CodeMirror-cursor {
background-color: #607c8b80 !important;
}
.cm-s-material-palenight .cm-animate-fat-cursor {
background-color: #607c8b80 !important;
}
.cm-s-material-palenight div.CodeMirror-selected { .cm-s-material-palenight div.CodeMirror-selected {
background: rgba(113, 124, 180, 0.2); background: rgba(113, 124, 180, 0.2);

View File

@ -24,6 +24,12 @@
.cm-s-material .CodeMirror-cursor { .cm-s-material .CodeMirror-cursor {
border-left: 1px solid #FFCC00; border-left: 1px solid #FFCC00;
} }
.cm-s-material.cm-fat-cursor .CodeMirror-cursor {
background-color: #5d6d5c80 !important;
}
.cm-s-material .cm-animate-fat-cursor {
background-color: #5d6d5c80 !important;
}
.cm-s-material div.CodeMirror-selected { .cm-s-material div.CodeMirror-selected {
background: rgba(128, 203, 196, 0.2); background: rgba(128, 203, 196, 0.2);

View File

@ -16,6 +16,8 @@
.cm-s-oceanic-next .CodeMirror-guttermarker-subtle { color: #d0d0d0; } .cm-s-oceanic-next .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
.cm-s-oceanic-next .CodeMirror-linenumber { color: #d0d0d0; } .cm-s-oceanic-next .CodeMirror-linenumber { color: #d0d0d0; }
.cm-s-oceanic-next .CodeMirror-cursor { border-left: 1px solid #f8f8f0; } .cm-s-oceanic-next .CodeMirror-cursor { border-left: 1px solid #f8f8f0; }
.cm-s-oceanic-next.cm-fat-cursor .CodeMirror-cursor { background-color: #a2a8a175 !important; }
.cm-s-oceanic-next .cm-animate-fat-cursor { background-color: #a2a8a175 !important; }
.cm-s-oceanic-next span.cm-comment { color: #65737E; } .cm-s-oceanic-next span.cm-comment { color: #65737E; }
.cm-s-oceanic-next span.cm-atom { color: #C594C5; } .cm-s-oceanic-next span.cm-atom { color: #C594C5; }