/**
|
|
* @name BetterCodeblocks
|
|
* @invite undefined
|
|
* @authorLink undefined
|
|
* @donate undefined
|
|
* @patreon undefined
|
|
* @website https://github.com/vBread/BetterCodeblocks
|
|
* @source https://github.com/vBread/BetterCodeblocks/blob/master/BetterCodeblocks.plugin.js
|
|
*/
|
|
/*@cc_on
|
|
@if (@_jscript)
|
|
|
|
// Offer to self-install for clueless users that try to run this directly.
|
|
var shell = WScript.CreateObject("WScript.Shell");
|
|
var fs = new ActiveXObject("Scripting.FileSystemObject");
|
|
var pathPlugins = shell.ExpandEnvironmentStrings("%APPDATA%\BetterDiscord\plugins");
|
|
var pathSelf = WScript.ScriptFullName;
|
|
// Put the user at ease by addressing them in the first person
|
|
shell.Popup("It looks like you've mistakenly tried to run me directly. \n(Don't do that!)", 0, "I'm a plugin for BetterDiscord", 0x30);
|
|
if (fs.GetParentFolderName(pathSelf) === fs.GetAbsolutePathName(pathPlugins)) {
|
|
shell.Popup("I'm in the correct folder already.", 0, "I'm already installed", 0x40);
|
|
} else if (!fs.FolderExists(pathPlugins)) {
|
|
shell.Popup("I can't find the BetterDiscord plugins folder.\nAre you sure it's even installed?", 0, "Can't install myself", 0x10);
|
|
} else if (shell.Popup("Should I copy myself to BetterDiscord's plugins folder for you?", 0, "Do you need some help?", 0x34) === 6) {
|
|
fs.CopyFile(pathSelf, fs.BuildPath(pathPlugins, fs.GetFileName(pathSelf)), true);
|
|
// Show the user where to put plugins in the future
|
|
shell.Exec("explorer " + pathPlugins);
|
|
shell.Popup("I'm installed!", 0, "Successfully installed", 0x40);
|
|
}
|
|
WScript.Quit();
|
|
|
|
@else@*/
|
|
|
|
module.exports = (() => {
|
|
const config = { "info": { "name": "BetterCodeblocks", "authors": [{ "name": "Bread", "discord_id": "304260051915374603" }], "version": "1.0.0", "description": "Enhances the look and feel of Discord's codeblocks with customizable colors", "github": "https://github.com/vBread/BetterCodeblocks", "github_raw": "https://github.com/vBread/BetterCodeblocks/blob/master/BetterCodeblocks.plugin.js" }, "changelog": [], "main": "index.js" };
|
|
|
|
return !global.ZeresPluginLibrary ? class {
|
|
constructor() { this._config = config; }
|
|
getName() { return config.info.name; }
|
|
getAuthor() { return config.info.authors.map(a => a.name).join(", "); }
|
|
getDescription() { return config.info.description; }
|
|
getVersion() { return config.info.version; }
|
|
load() {
|
|
BdApi.showConfirmationModal("Library Missing", `The library plugin needed for ${config.info.name} is missing. Please click Download Now to install it.`, {
|
|
confirmText: "Download Now",
|
|
cancelText: "Cancel",
|
|
onConfirm: () => {
|
|
require("request").get("https://rauenzi.github.io/BDPluginLibrary/release/0PluginLibrary.plugin.js", async (error, response, body) => {
|
|
if (error) return require("electron").shell.openExternal("https://betterdiscord.net/ghdl?url=https://raw.githubusercontent.com/rauenzi/BDPluginLibrary/master/release/0PluginLibrary.plugin.js");
|
|
await new Promise(r => require("fs").writeFile(require("path").join(BdApi.Plugins.folder, "0PluginLibrary.plugin.js"), body, r));
|
|
});
|
|
}
|
|
});
|
|
}
|
|
start() {}
|
|
stop() {}
|
|
} : (([Plugin, Api]) => {
|
|
const plugin = (Plugin, Library) => {
|
|
const { Patcher, WebpackModules, DiscordModules, PluginUtilities, Settings } = Library;
|
|
const { SettingPanel, SettingGroup, Textbox } = Settings
|
|
const { React, hljs } = DiscordModules
|
|
|
|
return class BetterCodeblocks extends Plugin {
|
|
constructor() {
|
|
super()
|
|
|
|
this.defaults = {
|
|
addition: '#98c379',
|
|
attr_1: '#d19a66',
|
|
attr_2: '#d19a66',
|
|
attribute: '#98c379',
|
|
background: '#282c34',
|
|
built_in: '#e6c07b',
|
|
bullet: '#61aeee',
|
|
code: '#abb2bf',
|
|
comment: '#5c6370',
|
|
deletion: '#e06c75',
|
|
doctag: '#c678dd',
|
|
keyword: '#c678dd',
|
|
literal: '#56b6c2',
|
|
meta_string: '#98c379',
|
|
meta: '#61aeee',
|
|
name: '#e06c75',
|
|
nomarkup: '#98c379',
|
|
number: '#d19a66',
|
|
params: '#abb2bf',
|
|
quote: '#5c6370',
|
|
regexp: '#98c379',
|
|
section: '#e06c75',
|
|
selector_attr: '#d19a66',
|
|
selector_class: '#d19a66',
|
|
selector_id: '#61aeee',
|
|
selector_pseudo: '#d19a66',
|
|
selector_tag: '#e06c75',
|
|
string: '#98c379',
|
|
subst: '#e06c75',
|
|
symbol: '#61aeee',
|
|
tag: '#e06c75',
|
|
template_variable: '#d19a66',
|
|
text: '#abb2bf',
|
|
title: '#61aeee',
|
|
type: '#d19a66',
|
|
variable: '#d19a66'
|
|
}
|
|
|
|
this.hljs = PluginUtilities.loadSettings('BetterCodeblocks', this.defaults)
|
|
}
|
|
|
|
onStart() {
|
|
const parser = WebpackModules.getByProps('parse', 'parseTopic')
|
|
|
|
Patcher.after(parser.defaultRules.codeBlock, 'react', (_, args, res) => {
|
|
this.inject(args, res)
|
|
|
|
return res
|
|
});
|
|
|
|
PluginUtilities.addStyle('BetterCodeblocks', this.css)
|
|
}
|
|
|
|
onStop() {
|
|
PluginUtilities.removeStyle('BetterCodeblocks')
|
|
Patcher.unpatchAll();
|
|
}
|
|
|
|
getSettingsPanel() {
|
|
return SettingPanel.build(PluginUtilities.saveSettings('BetterCodeblocks', this.hljs),
|
|
new SettingGroup('Customization').append(
|
|
new Textbox('Additions', 'Changes the color of additions for Diff', this.hljs.addition, (color) => this.updateColor('addition', color)),
|
|
new Textbox('Annotation Tags', 'Changes the color of documentation/annotation tags', this.hljs.doctag, (color) => this.updateColor('doctag', color)),
|
|
new Textbox('Attributes', 'Changes the color of HTML tag attributes', this.hljs.attribute, (color) => this.updateColor('attribute', color)),
|
|
new Textbox('Background', 'Changes the color of the codeblock background', this.hljs.background, (color) => this.updateColor('background', color)),
|
|
new Textbox('Built-In', 'Changes the color of built-in keywords', this.hljs.built_in, (color) => this.updateColor('built_in', color)),
|
|
new Textbox('Bullets', 'Changes the color of bullet points for Markdown', this.hljs.bullet, (color) => this.updateColor('bullet', color)),
|
|
new Textbox('Comments', 'Changes the color of comments', this.hljs.comment, (color) => this.updateColor('comment', color)),
|
|
new Textbox('Deletions', 'Changes the color of deletions for Diff', this.hljs.deletion, (color) => this.updateColor('deletion', color)),
|
|
new Textbox('Keywords', 'Changes the color of keywords', this.hljs.keyword, (color) => this.updateColor('keyword', color)),
|
|
new Textbox('Literals', 'Changes the color of literal keywords', this.hljs.literal, (color) => this.updateColor('literal', color)),
|
|
new Textbox('Names', 'Changes the color of function names', this.hljs.title, (color) => this.updateColor('title', color)),
|
|
new Textbox('Number', 'Changes the color of numbers', this.hljs.number, (color) => this.updateColor('number', color)),
|
|
new Textbox('Parameters', 'Changes the color of function parameters', this.hljs.params, (color) => this.updateColor('params', color)),
|
|
new Textbox('Regular Expressions', 'Changes the color of regular expressions', this.hljs.regexp, (color) => this.updateColor('regexp', color)),
|
|
new Textbox('Selector Attributes', 'Changes the color of CSS selector attributes', this.hljs.selector_attr, (color) => this.updateColor('selector_attr', color)),
|
|
new Textbox('Selector Classes', 'Changes the color of CSS selector classes', this.hljs.selector_class, (color) => this.updateColor('selector_class', color)),
|
|
new Textbox('Selector IDs', 'Changes the color of CSS selector IDs', this.hljs.selector_id, (color) => this.updateColor('selector_id', color)),
|
|
new Textbox('Selector Pseudos', 'Changes the color of CSS selector pseudos', this.hljs.selector_pseudo, (color) => this.updateColor('selector_pseudo', color)),
|
|
new Textbox('Selector Tags', 'Changes the color of CSS selector tags', this.hljs.selector_tag, (color) => this.updateColor('selector_tag', color)),
|
|
new Textbox('Strings', 'Changes the color of strings', this.hljs.string, (color) => this.updateColor('string', color)),
|
|
new Textbox('Template Literals', 'Changes the color of template literals', this.hljs.template_variable, (color) => this.updateColor('template_variable', color)),
|
|
new Textbox('Types', 'Changes the color of types', this.hljs.type, (color) => this.updateColor('type', color)),
|
|
new Textbox('Variables', 'Changes the color of variables', this.hljs.variable, (color) => this.updateColor('variable', color)),
|
|
)
|
|
)
|
|
}
|
|
|
|
updateColor(property, color) {
|
|
let reset = false
|
|
|
|
if (!/#?\w{6}/.test(color) || color === '') {
|
|
color = this.defaults[property]
|
|
reset = true
|
|
}
|
|
|
|
if (!color.startsWith('#')) {
|
|
color = `#${color}`
|
|
}
|
|
|
|
this.hljs[property] = color
|
|
|
|
if (reset) PluginUtilities.saveSettings('BetterCodeblocks', this.hljs)
|
|
|
|
PluginUtilities.removeStyle('BetterCodeblocks')
|
|
PluginUtilities.addStyle('BetterCodeblocks', this.css)
|
|
}
|
|
|
|
inject(args, res) {
|
|
const { render } = res.props;
|
|
|
|
res.props.render = (props) => {
|
|
const codeblock = render(props);
|
|
const codeElement = codeblock.props.children;
|
|
|
|
const classes = codeElement.props.className.split(' ');
|
|
|
|
const lang = args ? args[0].lang : classes[classes.indexOf('hljs') + 1];
|
|
const lines = codeElement.props.dangerouslySetInnerHTML
|
|
? codeElement.props.dangerouslySetInnerHTML.__html
|
|
.replace(
|
|
/<span class="(hljs-[a-z]+)">([^<]*)<\/span>/g,
|
|
(_, className, code) => code.split('\n').map(l => `<span class="${className}">${l}</span>`).join('\n')
|
|
)
|
|
.split('\n')
|
|
: codeElement.props.children.split('\n');
|
|
|
|
delete codeElement.props.dangerouslySetInnerHTML;
|
|
|
|
codeElement.props.children = this.render(lang, lines);
|
|
|
|
return codeblock;
|
|
};
|
|
}
|
|
|
|
render(lang, lines) {
|
|
const { Messages } = WebpackModules.getByProps('Messages')
|
|
|
|
if (hljs && typeof hljs.getLanguage === 'function') {
|
|
lang = hljs.getLanguage(lang);
|
|
}
|
|
|
|
return React.createElement(React.Fragment, null,
|
|
lang && React.createElement('div', { className: 'bd-codeblock-lang' }, lang.name),
|
|
|
|
React.createElement('table', { className: 'bd-codeblock-table' },
|
|
...lines.map((line, i) => React.createElement('tr', null,
|
|
React.createElement('td', null, i + 1),
|
|
React.createElement('td',
|
|
lang ? {
|
|
dangerouslySetInnerHTML: {
|
|
__html: line
|
|
}
|
|
} : {
|
|
children: line
|
|
}
|
|
)
|
|
))
|
|
),
|
|
|
|
React.createElement('button', {
|
|
className: 'bd-codeblock-copy-btn',
|
|
onClick: this.clickHandler
|
|
}, Messages.COPY)
|
|
);
|
|
}
|
|
|
|
clickHandler({ target }) {
|
|
const { Messages } = WebpackModules.getByProps('Messages')
|
|
const { clipboard } = require('electron')
|
|
|
|
if (target.classList.contains('copied')) return;
|
|
|
|
target.innerText = Messages.ACCOUNT_USERNAME_COPY_SUCCESS_1;
|
|
target.classList.add('copied');
|
|
|
|
setTimeout(() => {
|
|
target.innerText = Messages.COPY;
|
|
target.classList.remove('copied');
|
|
}, 1e3);
|
|
|
|
const code = [...target.parentElement.querySelectorAll('td:last-child')].map(t => t.textContent).join('\n');
|
|
clipboard.writeText(code);
|
|
}
|
|
|
|
get css() {
|
|
return `
|
|
.hljs {
|
|
background-color: ${this.hljs.background} !important;
|
|
color: ${this.hljs.text};
|
|
position: relative;
|
|
}
|
|
|
|
.hljs:not([class$='hljs']) {
|
|
padding-top: 2px;
|
|
}
|
|
|
|
.bd-codeblock-lang {
|
|
color: var(--text-normal);
|
|
border-bottom: 1px solid var(--background-modifier-accent);
|
|
padding: 0 5px;
|
|
margin-bottom: 6px;
|
|
font-size: .8em;
|
|
font-family: 'Raleway', sans-serif;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.bd-codeblock-table {
|
|
border-collapse: collapse;
|
|
}
|
|
|
|
.bd-codeblock-table tr {
|
|
height: 19px;
|
|
width: 100%;
|
|
}
|
|
|
|
.bd-codeblock-table td:first-child {
|
|
border-right: 1px solid var(--background-modifier-accent);
|
|
padding-left: 5px;
|
|
padding-right: 8px;
|
|
user-select: none;
|
|
}
|
|
|
|
.bd-codeblock-table td:last-child {
|
|
padding-left: 8px;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.bd-codeblock-copy-btn {
|
|
color: #fff;
|
|
border-radius: 4px;
|
|
|
|
line-height: 20px;
|
|
padding: 0 10px;
|
|
font-family: 'Raleway', sans-serif;
|
|
font-size: .8em;
|
|
text-transform: uppercase;
|
|
font-weight: bold;
|
|
|
|
margin: 3px;
|
|
background: var(--background-floating);
|
|
position: absolute;
|
|
right: 0 !important;
|
|
bottom: 0 !important;
|
|
opacity: 0;
|
|
transition: .3s;
|
|
}
|
|
|
|
.bd-codeblock-copy-btn.copied {
|
|
background-color: #43b581;
|
|
opacity: 1;
|
|
}
|
|
|
|
.hljs:hover .bd-codeblock-copy-btn {
|
|
opacity: 1;
|
|
}
|
|
|
|
// HLJS Styling
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > span > .hljs-tag {
|
|
color: ${this.hljs.tag};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > span > .hljs-tag > .hljs-name {
|
|
color: ${this.hljs.name};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > span > .hljs-tag > .hljs-attr {
|
|
color: ${this.hljs.attr_2};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .bash > .hljs-built_in {
|
|
color: ${this.hljs.built_in};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .bash > .hljs-variable {
|
|
color: ${this.hljs.variable};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .hljs-tag {
|
|
color: ${this.hljs.tag} !important;
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .hljs-tag > .hljs-name {
|
|
color: ${this.hljs.tag};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .hljs-tag > .hljs-attr {
|
|
color: ${this.hljs.tag};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .hljs-function > .hljs-params {
|
|
color: ${this.hljs.params};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .hljs-function > .hljs-params > .hljs-type {
|
|
color: ${this.hljs.type};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .hljs-params {
|
|
color: ${this.hljs.params};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .hljs-params > .hljs-built_in {
|
|
color: ${this.hljs.built_in};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .hljs-selector-attr {
|
|
color: ${this.hljs.selector_attr};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .hljs-type {
|
|
color: ${this.hljs.type};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .hljs-selector-id {
|
|
color: ${this.hljs.selector_id};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .hljs-selector-pseudo {
|
|
color: ${this.hljs.selector_pseudo};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .hljs-bullet {
|
|
color: ${this.hljs.bullet};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .hljs-addition {
|
|
color: ${this.hljs.addition};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .hljs-deletion {
|
|
color: ${this.hljs.deletion};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .hljs-regexp {
|
|
color: ${this.hljs.regexp};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .hljs-doctag {
|
|
color: ${this.hljs.doctag};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .hljs-built_in {
|
|
color: ${this.hljs.built_in};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td > .hljs-attr {
|
|
color: ${this.hljs.attr_1};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-nomarkup > span {
|
|
color: ${this.hljs.nomarkup};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-section {
|
|
color: ${this.hljs.section};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-meta {
|
|
color: ${this.hljs.meta};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-literal {
|
|
color: ${this.hljs.literal};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-title {
|
|
color: ${this.hljs.title};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-keyword {
|
|
color: ${this.hljs.keyword};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-selector-tag {
|
|
color: ${this.hljs.selector_tag};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-selector-class {
|
|
color: ${this.hljs.selector_class};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-attribute {
|
|
color: ${this.hljs.attribute};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-symbol {
|
|
color: ${this.hljs.symbol};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-number {
|
|
color: ${this.hljs.number};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-string {
|
|
color: ${this.hljs.string};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-subst {
|
|
color: ${this.hljs.subst};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-code {
|
|
color: ${this.hljs.code};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-comment {
|
|
color: ${this.hljs.comment};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-quote {
|
|
color: ${this.hljs.quote};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-variable {
|
|
color: ${this.hljs.variable};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-template-variable {
|
|
color: ${this.hljs.template_variable};
|
|
}
|
|
|
|
.hljs > .bd-codeblock-table > tr > td .hljs-meta-string {
|
|
color: ${this.hljs.meta_string};
|
|
}
|
|
|
|
// Chat CB
|
|
.codeLine-14BKbG > span > span {
|
|
color: ${this.hljs.text};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > span > .hljs-tag {
|
|
color: ${this.hljs.tag};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > span > .hljs-tag > .hljs-name {
|
|
color: ${this.hljs.name};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > span > .hljs-tag > .hljs-attr {
|
|
color: ${this.hljs.attr_2};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .bash > .hljs-built_in {
|
|
color: ${this.hljs.built_in};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .bash > .hljs-variable {
|
|
color: ${this.hljs.variable};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .hljs-tag {
|
|
color: ${this.hljs.tag} !important;
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .hljs-tag > .hljs-name {
|
|
color: ${this.hljs.tag};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .hljs-tag > .hljs-attr {
|
|
color: ${this.hljs.tag};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .hljs-function > .hljs-params {
|
|
color: ${this.hljs.params};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .hljs-function > .hljs-params > .hljs-type {
|
|
color: ${this.hljs.type};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .hljs-params {
|
|
color: ${this.hljs.params};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .hljs-params > .hljs-built_in {
|
|
color: ${this.hljs.built_in};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .hljs-selector-attr {
|
|
color: ${this.hljs.selector_attr};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .hljs-type {
|
|
color: ${this.hljs.type};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .hljs-selector-id {
|
|
color: ${this.hljs.selector_id};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .hljs-selector-pseudo {
|
|
color: ${this.hljs.selector_pseudo};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .hljs-bullet {
|
|
color: ${this.hljs.bullet};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .hljs-addition {
|
|
color: ${this.hljs.addition};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .hljs-deletion {
|
|
color: ${this.hljs.deletion};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .hljs-regexp {
|
|
color: ${this.hljs.regexp};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .hljs-doctag {
|
|
color: ${this.hljs.doctag};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .hljs-built_in {
|
|
color: ${this.hljs.built_in};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span > .hljs-attr {
|
|
color: ${this.hljs.attr_1};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-nomarkup > span {
|
|
color: ${this.hljs.nomarkup};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-section {
|
|
color: ${this.hljs.section};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-meta {
|
|
color: ${this.hljs.meta};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-literal {
|
|
color: ${this.hljs.literal};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-title {
|
|
color: ${this.hljs.title};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-keyword {
|
|
color: ${this.hljs.keyword};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-selector-tag {
|
|
color: ${this.hljs.selector_tag};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-selector-class {
|
|
color: ${this.hljs.selector_class};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-attribute {
|
|
color: ${this.hljs.attribute};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-symbol {
|
|
color: ${this.hljs.symbol};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-number {
|
|
color: ${this.hljs.number};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-string {
|
|
color: ${this.hljs.string};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-subst {
|
|
color: ${this.hljs.subst};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-code {
|
|
color: ${this.hljs.code};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-comment {
|
|
color: ${this.hljs.comment};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-quote {
|
|
color: ${this.hljs.quote};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-variable {
|
|
color: ${this.hljs.variable};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-template-variable {
|
|
color: ${this.hljs.template_variable};
|
|
}
|
|
|
|
.codeLine-14BKbG > span > span .hljs-meta-string {
|
|
color: ${this.hljs.meta_string};
|
|
}
|
|
`
|
|
}
|
|
};
|
|
};
|
|
return plugin(Plugin, Api);
|
|
})(global.ZeresPluginLibrary.buildPlugin(config));
|
|
})();
|
|
/*@end@*/
|