@uiw/codemirror-theme-vscode
Version:
Theme vscode for CodeMirror.
98 lines (96 loc) • 4.04 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.vscodeLight = exports.defaultSettingsVscodeLight = void 0;
exports.vscodeLightInit = vscodeLightInit;
exports.vscodeLightStyle = void 0;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _highlight = require("@lezer/highlight");
var _codemirrorThemes = require("@uiw/codemirror-themes");
/**
* https://github.com/uiwjs/react-codemirror/issues/409
*/
var defaultSettingsVscodeLight = exports.defaultSettingsVscodeLight = {
background: '#ffffff',
foreground: '#383a42',
caret: '#000',
selection: '#add6ff',
selectionMatch: '#a8ac94',
lineHighlight: '#99999926',
gutterBackground: '#fff',
gutterForeground: '#237893',
gutterActiveForeground: '#0b216f',
fontFamily: 'Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace'
};
var vscodeLightStyle = exports.vscodeLightStyle = [{
tag: [_highlight.tags.keyword, _highlight.tags.operatorKeyword, _highlight.tags.modifier, _highlight.tags.color, _highlight.tags.constant(_highlight.tags.name), _highlight.tags.standard(_highlight.tags.name), _highlight.tags.standard(_highlight.tags.tagName), _highlight.tags.special(_highlight.tags.brace), _highlight.tags.atom, _highlight.tags.bool, _highlight.tags.special(_highlight.tags.variableName)],
color: '#0000ff'
}, {
tag: [_highlight.tags.moduleKeyword, _highlight.tags.controlKeyword],
color: '#af00db'
}, {
tag: [_highlight.tags.name, _highlight.tags.deleted, _highlight.tags.character, _highlight.tags.macroName, _highlight.tags.propertyName, _highlight.tags.variableName, _highlight.tags.labelName, _highlight.tags.definition(_highlight.tags.name)],
color: '#0070c1'
}, {
tag: _highlight.tags.heading,
fontWeight: 'bold',
color: '#0070c1'
}, {
tag: [_highlight.tags.typeName, _highlight.tags.className, _highlight.tags.tagName, _highlight.tags.number, _highlight.tags.changed, _highlight.tags.annotation, _highlight.tags.self, _highlight.tags.namespace],
color: '#267f99'
}, {
tag: [_highlight.tags["function"](_highlight.tags.variableName), _highlight.tags["function"](_highlight.tags.propertyName)],
color: '#795e26'
}, {
tag: [_highlight.tags.number],
color: '#098658'
}, {
tag: [_highlight.tags.operator, _highlight.tags.punctuation, _highlight.tags.separator, _highlight.tags.url, _highlight.tags.escape, _highlight.tags.regexp],
color: '#383a42'
}, {
tag: [_highlight.tags.regexp],
color: '#af00db'
}, {
tag: [_highlight.tags.special(_highlight.tags.string), _highlight.tags.processingInstruction, _highlight.tags.string, _highlight.tags.inserted],
color: '#a31515'
}, {
tag: [_highlight.tags.angleBracket],
color: '#383a42'
}, {
tag: _highlight.tags.strong,
fontWeight: 'bold'
}, {
tag: _highlight.tags.emphasis,
fontStyle: 'italic'
}, {
tag: _highlight.tags.strikethrough,
textDecoration: 'line-through'
}, {
tag: [_highlight.tags.meta, _highlight.tags.comment],
color: '#008000'
}, {
tag: _highlight.tags.link,
color: '#4078f2',
textDecoration: 'underline'
}, {
tag: _highlight.tags.invalid,
color: '#e45649'
}];
function vscodeLightInit(options) {
var _ref = options || {},
_ref$theme = _ref.theme,
theme = _ref$theme === void 0 ? 'light' : _ref$theme,
_ref$settings = _ref.settings,
settings = _ref$settings === void 0 ? {} : _ref$settings,
_ref$styles = _ref.styles,
styles = _ref$styles === void 0 ? [] : _ref$styles;
return (0, _codemirrorThemes.createTheme)({
theme: theme,
settings: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, defaultSettingsVscodeLight), settings),
styles: [].concat(vscodeLightStyle, (0, _toConsumableArray2["default"])(styles))
});
}
var vscodeLight = exports.vscodeLight = vscodeLightInit();