@uiw/codemirror-theme-copilot
Version:
Theme copilot for CodeMirror.
106 lines (105 loc) • 4.08 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.defaultSettingsCopilot = exports.copilotInit = exports.copilotDarkStyle = exports.copilot = 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");
var _color = require("./color");
var defaultSettingsCopilot = exports.defaultSettingsCopilot = {
background: _color.config.background,
foreground: _color.config.foreground,
caret: _color.config.cursor,
selection: _color.config.selection,
selectionMatch: _color.config.selectionMatch,
gutterBackground: _color.config.background,
gutterForeground: _color.config.foreground,
lineHighlight: _color.config.activeLine
};
var copilotDarkStyle = exports.copilotDarkStyle = [{
tag: _highlight.tags.keyword,
color: _color.config.keyword
}, {
tag: [_highlight.tags.name, _highlight.tags.deleted, _highlight.tags.character, _highlight.tags.macroName],
color: _color.config.variable
}, {
tag: [_highlight.tags.propertyName],
color: _color.config["function"]
}, {
tag: [_highlight.tags.processingInstruction, _highlight.tags.string, _highlight.tags.inserted, _highlight.tags.special(_highlight.tags.string)],
color: _color.config.string
}, {
tag: [_highlight.tags["function"](_highlight.tags.variableName), _highlight.tags.labelName],
color: _color.config["function"]
}, {
tag: [_highlight.tags.color, _highlight.tags.constant(_highlight.tags.name), _highlight.tags.standard(_highlight.tags.name)],
color: _color.config.constant
}, {
tag: [_highlight.tags.definition(_highlight.tags.name), _highlight.tags.separator],
color: _color.config.variable
}, {
tag: [_highlight.tags.className],
color: _color.config["class"]
}, {
tag: [_highlight.tags.number, _highlight.tags.changed, _highlight.tags.annotation, _highlight.tags.modifier, _highlight.tags.self, _highlight.tags.namespace],
color: _color.config.number
}, {
tag: [_highlight.tags.typeName],
color: _color.config.type,
fontStyle: _color.config.type
}, {
tag: [_highlight.tags.operator],
color: _color.config.keyword
}, {
tag: [_highlight.tags.url, _highlight.tags.escape, _highlight.tags.regexp, _highlight.tags.link],
color: _color.config.regexp
}, {
tag: [_highlight.tags.meta, _highlight.tags.comment],
color: _color.config.comment
}, {
tag: _highlight.tags.tagName,
color: _color.config.tag
}, {
tag: _highlight.tags.strong,
fontWeight: 'bold'
}, {
tag: _highlight.tags.emphasis,
fontStyle: 'italic'
}, {
tag: _highlight.tags.link,
textDecoration: 'underline'
}, {
tag: _highlight.tags.heading,
fontWeight: 'bold',
color: _color.config.heading
}, {
tag: [_highlight.tags.atom, _highlight.tags.special(_highlight.tags.variableName)],
color: _color.config.variable
}, {
tag: _highlight.tags.invalid,
color: _color.config.invalid
}, {
tag: _highlight.tags.strikethrough,
textDecoration: 'line-through'
}, {
tag: [_highlight.tags.operatorKeyword, _highlight.tags.bool, _highlight.tags["null"], _highlight.tags.variableName],
color: _color.config.constant
}];
var copilotInit = exports.copilotInit = function copilotInit(options) {
var _ref = options || {},
_ref$theme = _ref.theme,
theme = _ref$theme === void 0 ? 'dark' : _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"])({}, defaultSettingsCopilot), settings),
styles: [].concat(copilotDarkStyle, (0, _toConsumableArray2["default"])(styles))
});
};
var copilot = exports.copilot = copilotInit();