element-web-patches/patches/files/greentext_command.patch

33 lines
1.1 KiB
Diff

--- a/src/SlashCommands.tsx
+++ b/src/SlashCommands.tsx
@@ -68,6 +68,29 @@
export const Commands = [
new Command({
+ command: "greentext",
+ args: "<message>",
+ description: _td("4chan-like greentext arrows"),
+ runFn: function(cli, roomId, threadId, args) {
+ const texts = args.split(/\n{2,}(.+|\n+)/g);
+ const greentext = texts[0];
+ const normalText = texts[1] || "";
+
+ let plainGreentext = greentext.replace(/^/g, ">");
+ plainGreentext = plainGreentext.replace(/(?:\r\n|\r|\n)+/g, "\n>");
+
+ let htmlGreentext = greentext.replace(/^/g, "&gt;");
+ htmlGreentext = htmlGreentext.replace(/(?:\r\n|\r|\n)+/g, "<br />&gt;");
+
+ return success(ContentHelpers.makeHtmlMessage(
+ plainGreentext + "\n" + normalText,
+ `<font color="#789922">${htmlGreentext}</font><br/>${normalText}`,
+ ));
+ },
+ category: CommandCategories.messages,
+ }),
+
+ new Command({
command: "spoiler",
args: "<message>",
description: _td("slash_command|spoiler"),