* Move ChatSettings commands to their own file
* reformat error message strings
* move ChatCommands together in CommandController.cpp
* Allow CommandContext to be provided for builtin functions
using variants MEGADANK
* add missing include
* rename to ComandFunctionVariants
also include some move magic & const reffing
* Fix potential out-of-range access of at when stripping reply mention if
the message contained nothing other than the username
* Update changelog entry
* feat(helix): create response model for VIP listing
* feat(helix): stub out channel/vips request + handler
* feat(helix): parse VIPs list from data and pass to callback
* feat(helix): handle errors when getting VIP list then pass to callback
* feat(command): add barebones handler for helix-based /vips
* feat(command): provide better /vips output when user is not broadcaster
* chore(format): bulk reformat with clang-format
* chore(changelog): add entry for /vips Helix migration
* fix(helix): use correct method when calling VIP list endpoint
* fix(helix): use correct VIP list endpoint
* chore(tidy): please clang-tidy by marking parameter as unused
* feat(command): display unsorted VIP list returned from Helix API
* feat(settings): clone raid timegate settings for /vips
* feat(command): check /vips timegate setting before execution
* feat(command): handle 0 VIPs from Helix response
* feat(command): sort users alphabetically from Helix VIPs response
* fix(command): highlight users in Helix /vips output to match IRC
* fix(command): replace dynamic /vips error message with hardcoded string
* chore(comment): remove TODO comment that was DONE
* chore(format): bulk reformat using clang-format
* fix(command): send 0 VIP message after creation
* chore: apply suggestions from Felanbird
* fix(helix): change mention of user ban to VIPs in VIP list error message
* feat(helix): distinguish non-broadcaster auth error when getting VIPs
* chore(command): move handling of non-broadcaster /vips usage to API response
* chore(format): re-indent multiline string to get away from 80 char limit
* reformat
* fix tests
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
* Add initial support for finding hotkey display key sequences
* Make neededArguments work
* Implement displaying key combos in SplitHeader main menu
* Make Settings search text dynamic
* Make tab hide notice use a custom hotkeys key sequence
* Make Notebook menus use custom hotkeys key combo lookup for hiding tabs
* shut up changelog ci
* Make NotebookTab menus show custom hotkeys. SCUFFED:
this does not update dynamically!
* Scuffed: Make the show prefs button setting show the key bind
* Scuffed: Make the R9K description refer to hotkeys
* @pajlada, is something like this ok?
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>