From 989bd36eeb6dd6c4b391900765847cdcf87484d9 Mon Sep 17 00:00:00 2001 From: Justice Almanzar Date: Mon, 19 Dec 2022 17:59:54 -0500 Subject: refactor: identifier escapes + "self" group (#339) Co-authored-by: Ven --- src/plugins/shikiCodeblocks/index.ts | 6 +- src/plugins/shikiCodeblocks/shiki.css | 106 ++++++++++++++++++++++++++++++++++ src/plugins/shikiCodeblocks/style.css | 103 --------------------------------- 3 files changed, 109 insertions(+), 106 deletions(-) create mode 100644 src/plugins/shikiCodeblocks/shiki.css delete mode 100644 src/plugins/shikiCodeblocks/style.css (limited to 'src/plugins') diff --git a/src/plugins/shikiCodeblocks/index.ts b/src/plugins/shikiCodeblocks/index.ts index fd6b04b..58e0048 100644 --- a/src/plugins/shikiCodeblocks/index.ts +++ b/src/plugins/shikiCodeblocks/index.ts @@ -22,7 +22,7 @@ import { wordsFromPascal, wordsToTitle } from "@utils/text"; import definePlugin, { OptionType } from "@utils/types"; import previewExampleText from "~fileContent/previewExample.tsx"; -import cssText from "~fileContent/style.css"; +import cssText from "~fileContent/shiki.css"; import { Settings } from "../../Vencord"; import { shiki } from "./api/shiki"; @@ -44,8 +44,8 @@ export default definePlugin({ { find: "codeBlock:{react:function", replacement: { - match: /codeBlock:\{react:function\((.),(.),(.)\)\{/, - replace: "$&return Vencord.Plugins.plugins.ShikiCodeblocks.renderHighlighter($1,$2,$3);", + match: /codeBlock:\{react:function\((\i),(\i),(\i)\)\{/, + replace: "$&return $self.renderHighlighter($1,$2,$3);", }, }, ], diff --git a/src/plugins/shikiCodeblocks/shiki.css b/src/plugins/shikiCodeblocks/shiki.css new file mode 100644 index 0000000..b871d99 --- /dev/null +++ b/src/plugins/shikiCodeblocks/shiki.css @@ -0,0 +1,106 @@ +.shiki-container { + border: 4px; + /* fallback background */ + background-color: var(--background-secondary); +} + +.shiki-root { + border-radius: 4px; +} + +.shiki-root code { + display: block; + overflow-x: auto; + padding: 0.5em; + position: relative; + + font-size: 0.875rem; + line-height: 1.125rem; + text-indent: 0; + white-space: pre-wrap; + background: transparent; + border: none; +} + +.shiki-root [class^='devicon-'], +.shiki-root [class*=' devicon-'] { + margin-right: 8px; + user-select: none; +} + +.shiki-plain code { + padding-top: 8px; +} + +.shiki-btns { + font-size: 1em; + position: absolute; + right: 0; + bottom: 0; + opacity: 0; +} + +.shiki-root:hover .shiki-btns { + opacity: 1; +} + +.shiki-btn { + border-radius: 4px 4px 0 0; + padding: 4px 8px; +} + +.shiki-btn~.shiki-btn { + margin-left: 4px; +} + +.shiki-btn:last-child { + border-radius: 4px 0; +} + +.shiki-spinner-container { + align-items: center; + background-color: rgba(0, 0, 0, 0.6); + display: flex; + position: absolute; + justify-content: center; + top: 0; + right: 0; + bottom: 0; + left: 0; +} + +.shiki-preview { + margin-bottom: 2em; +} + +.shiki-lang { + padding: 0 5px; + margin-bottom: 6px; + font-weight: bold; + text-transform: capitalize; + display: flex; + align-items: center; +} + +.shiki-table { + border-collapse: collapse; + width: 100%; +} + +.shiki-table tr { + height: 19px; + width: 100%; +} + +.shiki-root td:first-child { + border-right: 1px solid transparent; + padding-left: 5px; + padding-right: 8px; + user-select: none; +} + +.shiki-root td:last-child { + padding-left: 8px; + word-break: break-word; + width: 100%; +} diff --git a/src/plugins/shikiCodeblocks/style.css b/src/plugins/shikiCodeblocks/style.css deleted file mode 100644 index b246db4..0000000 --- a/src/plugins/shikiCodeblocks/style.css +++ /dev/null @@ -1,103 +0,0 @@ -.shiki-root { - border-radius: 4px; - - /* fallback background */ - background-color: var(--background-secondary); -} - -.shiki-root code { - display: block; - overflow-x: auto; - padding: 0.5em; - position: relative; - - font-size: 0.875rem; - line-height: 1.125rem; - text-indent: 0; - white-space: pre-wrap; - background: transparent; - border: none; -} - -.shiki-root [class^='devicon-'], -.shiki-root [class*=' devicon-'] { - margin-right: 8px; - user-select: none; -} - -.shiki-plain code { - padding-top: 8px; -} - -.shiki-btns { - font-size: 1em; - position: absolute; - right: 0; - bottom: 0; - opacity: 0; -} - -.shiki-root:hover .shiki-btns { - opacity: 1; -} - -.shiki-btn { - border-radius: 4px 4px 0 0; - padding: 4px 8px; -} - -.shiki-btn~.shiki-btn { - margin-left: 4px; -} - -.shiki-btn:last-child { - border-radius: 4px 0; -} - -.shiki-spinner-container { - align-items: center; - background-color: rgba(0, 0, 0, 0.6); - display: flex; - position: absolute; - justify-content: center; - top: 0; - right: 0; - bottom: 0; - left: 0; -} - -.shiki-preview { - margin-bottom: 2em; -} - -.shiki-lang { - padding: 0 5px; - margin-bottom: 6px; - font-weight: bold; - text-transform: capitalize; - display: flex; - align-items: center; -} - -.shiki-table { - border-collapse: collapse; - width: 100%; -} - -.shiki-table tr { - height: 19px; - width: 100%; -} - -.shiki-root td:first-child { - border-right: 1px solid transparent; - padding-left: 5px; - padding-right: 8px; - user-select: none; -} - -.shiki-root td:last-child { - padding-left: 8px; - word-break: break-word; - width: 100%; -} -- cgit