// Copyright (c) Microsoft Corporation. // Licensed under the MIT license. #pragma once // For a clearer explanation of how this file should be used, see: // https://en.wikipedia.org/wiki/X_Macro // // Include this file to be able to quickly define some code in the exact same // way for _every single shortcut action_. To use: // // 1. Include this file // 2. Define the ON_ALL_ACTIONS macro with what you want each action to show up // as. Ex: // // #define ON_ALL_ACTIONS(action) void action##Handler(); // // 3. Then, use the ALL_SHORTCUT_ACTIONS macro to get the ON_ALL_ACTIONS macro // repeated once for every ShortcutAction // // This is used in KeyMapping.idl, ShortcutAction.*, TerminalPage.*, etc. to // reduce the number of places where we must copy-paste boiler-plate code for // each action. This is _NOT_ something that should be used when any individual // case should be customized. #define ALL_SHORTCUT_ACTIONS \ ON_ALL_ACTIONS(CopyText) \ ON_ALL_ACTIONS(PasteText) \ ON_ALL_ACTIONS(OpenNewTabDropdown) \ ON_ALL_ACTIONS(DuplicateTab) \ ON_ALL_ACTIONS(NewTab) \ ON_ALL_ACTIONS(CloseWindow) \ ON_ALL_ACTIONS(CloseTab) \ ON_ALL_ACTIONS(ClosePane) \ ON_ALL_ACTIONS(NextTab) \ ON_ALL_ACTIONS(PrevTab) \ ON_ALL_ACTIONS(SendInput) \ ON_ALL_ACTIONS(SplitPane) \ ON_ALL_ACTIONS(TogglePaneZoom) \ ON_ALL_ACTIONS(SwitchToTab) \ ON_ALL_ACTIONS(AdjustFontSize) \ ON_ALL_ACTIONS(ResetFontSize) \ ON_ALL_ACTIONS(ScrollUp) \ ON_ALL_ACTIONS(ScrollDown) \ ON_ALL_ACTIONS(ScrollUpPage) \ ON_ALL_ACTIONS(ScrollDownPage) \ ON_ALL_ACTIONS(ScrollToTop) \ ON_ALL_ACTIONS(ScrollToBottom) \ ON_ALL_ACTIONS(ResizePane) \ ON_ALL_ACTIONS(MoveFocus) \ ON_ALL_ACTIONS(Find) \ ON_ALL_ACTIONS(ToggleShaderEffects) \ ON_ALL_ACTIONS(ToggleFocusMode) \ ON_ALL_ACTIONS(ToggleFullscreen) \ ON_ALL_ACTIONS(ToggleAlwaysOnTop) \ ON_ALL_ACTIONS(OpenSettings) \ ON_ALL_ACTIONS(SetColorScheme) \ ON_ALL_ACTIONS(SetTabColor) \ ON_ALL_ACTIONS(OpenTabColorPicker) \ ON_ALL_ACTIONS(RenameTab) \ ON_ALL_ACTIONS(OpenTabRenamer) \ ON_ALL_ACTIONS(ExecuteCommandline) \ ON_ALL_ACTIONS(ToggleCommandPalette) \ ON_ALL_ACTIONS(CloseOtherTabs) \ ON_ALL_ACTIONS(CloseTabsAfter) \ ON_ALL_ACTIONS(TabSearch) \ ON_ALL_ACTIONS(MoveTab) \ ON_ALL_ACTIONS(BreakIntoDebugger) \ ON_ALL_ACTIONS(TogglePaneReadOnly) \ ON_ALL_ACTIONS(FindMatch) \ ON_ALL_ACTIONS(NewWindow) \ ON_ALL_ACTIONS(IdentifyWindow) \ ON_ALL_ACTIONS(IdentifyWindows) \ ON_ALL_ACTIONS(RenameWindow) \ ON_ALL_ACTIONS(OpenWindowRenamer)