switch syntax

This commit is contained in:
Nuckyz 2024-11-03 13:14:48 -03:00
parent a3952b35a4
commit 40b948b626
No known key found for this signature in database
GPG key ID: 440BF8296E1C4AD9
18 changed files with 95 additions and 94 deletions

View file

@ -31,7 +31,7 @@ export default definePlugin({
match: /let\{[^}]*lostPermissionTooltipText:\i[^}]*\}=(\i),/,
replace: "$&vencordProps=$1,"
}, {
match: /#intl<GUILD_OWNER>(?=.+?decorators:(\i)\(\)).+?\1=?\(\)=>.+?children:\[/,
match: /#{intl::GUILD_OWNER}(?=.+?decorators:(\i)\(\)).+?\1=?\(\)=>.+?children:\[/,
replace: "$&...(typeof vencordProps=='undefined'?[]:Vencord.Api.MemberListDecorators.__getDecorators(vencordProps)),"
}
]

View file

@ -25,7 +25,7 @@ export default definePlugin({
authors: [Devs.Cyn],
patches: [
{
find: "#intl<REMOVE_ATTACHMENT_BODY>",
find: "#{intl::REMOVE_ATTACHMENT_BODY}",
replacement: {
match: /(?<=.container\)?,children:)(\[.+?\])/,
replace: "Vencord.Api.MessageAccessories._modifyAccessories($1,this.props)",

View file

@ -27,7 +27,7 @@ export default definePlugin({
{
find: '"Message Username"',
replacement: {
match: /#intl<GUILD_COMMUNICATION_DISABLED_BOTTOM_SHEET_TITLE>.+?}\),\i(?=\])/,
match: /#{intl::GUILD_COMMUNICATION_DISABLED_BOTTOM_SHEET_TITLE}.+?}\),\i(?=\])/,
replace: "$&,...Vencord.Api.MessageDecorations.__addDecorationsToMessage(arguments[0])"
}
}

View file

@ -25,7 +25,7 @@ export default definePlugin({
authors: [Devs.Arjix, Devs.hunt, Devs.Ven],
patches: [
{
find: "#intl<EDIT_TEXTAREA_HELP>",
find: "#{intl::EDIT_TEXTAREA_HELP}",
replacement: {
match: /(?<=,channel:\i\}\)\.then\().+?(?=return \i\.content!==this\.props\.message\.content&&\i\((.+?)\))/,
replace: (match, args) => "" +

View file

@ -24,9 +24,9 @@ export default definePlugin({
description: "API to add buttons to message popovers.",
authors: [Devs.KingFish, Devs.Ven, Devs.Nuckyz],
patches: [{
find: "#intl<MESSAGE_UTILITIES_A11Y_LABEL>",
find: "#{intl::MESSAGE_UTILITIES_A11Y_LABEL}",
replacement: {
match: /\.jsx\)\((\i\.\i),\{label:\i\.\i\.string\(\i\.\i#intl<MESSAGE_ACTION_REPLY>.{0,200}?"reply-self".{0,50}?\}\):null(?=,.+?message:(\i))/,
match: /\.jsx\)\((\i\.\i),\{label:\i\.\i\.string\(\i\.\i#{intl::MESSAGE_ACTION_REPLY}.{0,200}?"reply-self".{0,50}?\}\):null(?=,.+?message:(\i))/,
replace: "$&,Vencord.Api.MessagePopover._buildPopoverElements($1,$2)"
}
}],

View file

@ -25,16 +25,16 @@ export default definePlugin({
description: "Api required for plugins that modify the server list",
patches: [
{
find: "#intl<DISCODO_DISABLED>",
find: "#{intl::DISCODO_DISABLED}",
replacement: {
match: /(?<=#intl<DISCODO_DISABLED>.+?return)(\(.{0,75}?tutorialContainer.+?}\))(?=}function)/,
match: /(?<=#{intl::DISCODO_DISABLED}.+?return)(\(.{0,75}?tutorialContainer.+?}\))(?=}function)/,
replace: "[$1].concat(Vencord.Api.ServerList.renderAll(Vencord.Api.ServerList.ServerListRenderPosition.Above))"
}
},
{
find: "Messages.SERVERS,children",
find: "#{intl::SERVERS},children",
replacement: {
match: /(?<=#intl<SERVERS>\),children:)\i\.map\(\i\)/,
match: /(?<=#{intl::SERVERS}\),children:)\i\.map\(\i\)/,
replace: "Vencord.Api.ServerList.renderAll(Vencord.Api.ServerList.ServerListRenderPosition.In).concat($&)"
}
}

View file

@ -57,7 +57,7 @@ export default definePlugin({
]
},
{
find: "#intl<ACTIVITY_SETTINGS>",
find: "#{intl::ACTIVITY_SETTINGS}",
replacement: [
{
match: /(?<=section:(.{0,50})\.DIVIDER\}\))([,;])(?=.{0,200}(\i)\.push.{0,100}label:(\i)\.header)/,
@ -70,7 +70,7 @@ export default definePlugin({
]
},
{
find: "#intl<USER_SETTINGS_ACTIONS_MENU_LABEL>",
find: "#{intl::USER_SETTINGS_ACTIONS_MENU_LABEL}",
replacement: {
match: /(?<=function\((\i),\i\)\{)(?=let \i=Object.values\(\i.\i\).*?(\i\.\i)\.open\()/,
replace: "$2.open($1);return;"

View file

@ -147,7 +147,7 @@ export default definePlugin({
settings,
patches: [{
find: "#intl<BEGINNING_DM>",
find: "#{intl::BEGINNING_DM}",
replacement: {
match: /BEGINNING_DM\.format\(\{.+?\}\),(?=.{0,300}(\i)\.isMultiUserDM)/,
replace: "$& $self.renderContributorDmWarningCard({ channel: $1 }),"

View file

@ -69,7 +69,7 @@ export default definePlugin({
patches: [
{
find: "#intl<ACCOUNT_SPEAKING_WHILE_MUTED>",
find: "#{intl::ACCOUNT_SPEAKING_WHILE_MUTED}",
group: true,
replacement: [
{

View file

@ -172,7 +172,7 @@ export default definePlugin({
// Disable expanding and collapsing folders transition in the normal GuildsBar sidebar
{
predicate: () => !settings.store.keepIcons,
match: /(?<=#intl<SERVER_FOLDER_PLACEHOLDER>.+?useTransition\)\()/,
match: /(?<=#{intl::SERVER_FOLDER_PLACEHOLDER}.+?useTransition\)\()/,
replace: "$self.shouldShowTransition(arguments[0])&&"
},
// If we are rendering the normal GuildsBar sidebar, we avoid rendering guilds from folders that are expanded
@ -205,7 +205,7 @@ export default definePlugin({
}
},
{
find: "#intl<DISCODO_DISABLED>",
find: "#{intl::DISCODO_DISABLED}",
predicate: () => settings.store.closeAllHomeButton,
replacement: {
// Close all folders when clicking the home button

View file

@ -41,7 +41,7 @@ export default definePlugin({
{
find: "DefaultCustomizationSections",
replacement: {
match: /(?<=#intl<USER_SETTINGS_AVATAR_DECORATION>\)},"decoration"\),)/,
match: /(?<=#{intl::USER_SETTINGS_AVATAR_DECORATION}\)},"decoration"\),)/,
replace: "$self.DecorSection(),"
}
},

View file

@ -26,7 +26,7 @@ export default definePlugin({
{
find: ".PANEL}),nicknameIcons",
replacement: {
match: /#intl<USER_PROFILE_MEMBER_SINCE>,.{0,100}userId:(\i\.id)}\)}\)/,
match: /#{intl::USER_PROFILE_MEMBER_SINCE},.{0,100}userId:(\i\.id)}\)}\)/,
replace: "$&,$self.FriendsSinceComponent({userId:$1,isSidebar:true})"
}
},
@ -34,7 +34,7 @@ export default definePlugin({
{
find: "action:\"PRESS_APP_CONNECTION\"",
replacement: {
match: /#intl<USER_PROFILE_MEMBER_SINCE>,.{0,100}userId:(\i\.id),.{0,100}}\)}\),/,
match: /#{intl::USER_PROFILE_MEMBER_SINCE},.{0,100}userId:(\i\.id),.{0,100}}\)}\),/,
replace: "$&,$self.FriendsSinceComponent({userId:$1,isSidebar:false}),"
}
}

View file

@ -74,7 +74,7 @@ export default definePlugin({
{
find: ".invitesDisabledTooltip",
replacement: {
match: /#intl<VIEW_AS_ROLES_MENTIONS_WARNING>.{0,100}(?=])/,
match: /#{intl::VIEW_AS_ROLES_MENTIONS_WARNING}.{0,100}(?=])/,
replace: "$&,$self.renderTooltip(arguments[0].guild)"
},
predicate: () => settings.store.toolTip

View file

@ -28,21 +28,21 @@ export default definePlugin({
{
find: '.id,"Search Results"',
replacement: {
match: /if\(.{1,10}\)(.{1,10}\.show\({.{1,50}#intl<UNBLOCK_TO_JUMP_TITLE>)/,
match: /if\(.{1,10}\)(.{1,10}\.show\({.{1,50}#{intl::UNBLOCK_TO_JUMP_TITLE})/,
replace: "if(false)$1"
}
},
{
find: "renderJumpButton()",
replacement: {
match: /if\(.{1,10}\)(.{1,10}\.show\({.{1,50}#intl<UNBLOCK_TO_JUMP_TITLE>)/,
match: /if\(.{1,10}\)(.{1,10}\.show\({.{1,50}#{intl::UNBLOCK_TO_JUMP_TITLE})/,
replace: "if(false)$1"
}
},
{
find: "flash:!0,returnMessageId",
replacement: {
match: /.\?(.{1,10}\.show\({.{1,50}#intl<UNBLOCK_TO_JUMP_TITLE>)/,
match: /.\?(.{1,10}\.show\({.{1,50}#{intl::UNBLOCK_TO_JUMP_TITLE})/,
replace: "false?$1"
}
}

View file

@ -57,7 +57,7 @@ export default definePlugin({
patches: [
// Change the max volume for sliders to allow for values above 200
...[
"#intl<USER_VOLUME>",
"#{intl::USER_VOLUME}",
"currentVolume:"
].map(find => ({
find,

View file

@ -127,11 +127,11 @@ export default definePlugin({
replace: "return [true"
},
{
match: /(?<=#intl<COPY_IMAGE_MENU_ITEM>,)action:/,
match: /(?<=#{intl::COPY_IMAGE_MENU_ITEM},)action:/,
replace: "action:()=>$self.copyImage(arguments[0]),oldAction:"
},
{
match: /(?<=#intl<SAVE_IMAGE_MENU_ITEM>,)action:/,
match: /(?<=#{intl::SAVE_IMAGE_MENU_ITEM},)action:/,
replace: "action:()=>$self.saveImage(arguments[0]),oldAction:"
},
]

View file

@ -21,19 +21,20 @@ import { Patch, PatchReplacement, ReplaceFn } from "./types";
export function canonicalizeMatch<T extends RegExp | string>(match: T): T {
let partialCanon = typeof match === "string" ? match : match.source;
partialCanon = partialCanon.replaceAll(/#intl?<([A-Za-z_$][\w$]*)>/g, (_, key) => {
partialCanon = partialCanon.replaceAll(/#{intl::([A-Za-z_$][\w$]*)}/g, (_, key) => {
const hashed = runtimeHashMessageKey(key);
const isStr = typeof match === "string";
return /^[\d]/.test(hashed) || !/^[\w$]+$/.test(hashed)
? isStr ? `["${hashed}` : `(?:\\["${hashed}"\\])`
: isStr ? `.${hashed}` : `(?:\\.${hashed})`;
? isStr ? `["${hashed}` : String.raw`(?:\["${hashed}"\])`
: isStr ? `.${hashed}` : String.raw`(?:\.${hashed})`;
});
if (typeof match === "string") return partialCanon as T;
if (typeof match === "string") {
return partialCanon as T;
}
const canonSource = partialCanon
.replaceAll(String.raw`\i`, String.raw`(?:[A-Za-z_$][\w$]*)`);
const canonSource = partialCanon.replaceAll(String.raw`\i`, String.raw`(?:[A-Za-z_$][\w$]*)`);
return new RegExp(canonSource, match.flags) as T;
}