diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b95dc200..b91e9e3d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ - Minor: Normalized the input padding between light & dark themes. (#5095) - Minor: Add `--activate ` (or `-a`) command line option to activate or add a Twitch channel. (#5111) - Minor: Chatters from recent-messages are now added to autocompletion. (#5116) +- Minor: Added support for the `{input.text}` placeholder in the **Split** -> **Run a command** hotkey. (#5130) - Bugfix: Fixed an issue where certain emojis did not send to Twitch chat correctly. (#4840) - Bugfix: Fixed capitalized channel names in log inclusion list not being logged. (#4848) - Bugfix: Trimmed custom streamlink paths on all platforms making sure you don't accidentally add spaces at the beginning or end of its path. (#4834) diff --git a/src/widgets/splits/Split.cpp b/src/widgets/splits/Split.cpp index eb0367209..780d0998d 100644 --- a/src/widgets/splits/Split.cpp +++ b/src/widgets/splits/Split.cpp @@ -6,6 +6,7 @@ #include "common/network/NetworkResult.hpp" #include "common/QLogging.hpp" #include "controllers/accounts/AccountController.hpp" +#include "controllers/commands/Command.hpp" #include "controllers/commands/CommandController.hpp" #include "controllers/hotkeys/HotkeyController.hpp" #include "controllers/notifications/NotificationController.hpp" @@ -684,15 +685,25 @@ void Split::addShortcuts() }}, {"runCommand", [this](std::vector arguments) -> QString { - if (arguments.size() == 0) + if (arguments.empty()) { qCWarning(chatterinoHotkeys) << "runCommand hotkey called without arguments!"; return "runCommand hotkey called without arguments!"; } - QString command = getIApp()->getCommands()->execCommand( - arguments.at(0).replace('\n', ' '), this->getChannel(), false); - this->getChannel()->sendMessage(command); + QString requestedText = arguments.at(0).replace('\n', ' '); + + QString inputText = this->getInput().getInputText(); + QString message = getIApp()->getCommands()->execCustomCommand( + requestedText.split(' '), Command{"(hotkey)", requestedText}, + true, this->getChannel(), nullptr, + { + {"input.text", inputText}, + }); + + message = getIApp()->getCommands()->execCommand( + message, this->getChannel(), false); + this->getChannel()->sendMessage(message); return ""; }}, {"setChannelNotification",