1 /*------------------------------------------------------------------------- 2 * 3 * command.h 4 * a list of commands and translations between keys and commands 5 * 6 * Portions Copyright (c) 2017-2021 Pavel Stehule 7 * 8 * IDENTIFICATION 9 * src/commands.h 10 * 11 *------------------------------------------------------------------------- 12 */ 13 14 #ifndef COMMANDS_H 15 #define COMMANDS_H 16 17 #include "config.h" 18 19 /* 20 * List of supported commands. Some these commands can be mapped to keys 21 */ 22 typedef enum PspgCommand 23 { 24 cmd_Invalid = 0, 25 cmd_RESIZE_EVENT, 26 cmd_MOUSE_EVENT, 27 28 cmd_ReleaseCols = 100, 29 cmd_FreezeOneCol, 30 cmd_FreezeTwoCols, 31 cmd_FreezeThreeCols, 32 cmd_FreezeFourCols, 33 cmd_FreezeFiveCols, 34 cmd_FreezeSixCols, 35 cmd_FreezeSevenCols, 36 cmd_FreezeEightCols, 37 cmd_FreezeNineCols, 38 cmd_SoundToggle, 39 cmd_MouseToggle, 40 cmd_UtfArtToggle, 41 cmd_MenuAsciiArtToggle, 42 cmd_CSSearchSet, 43 cmd_CISearchSet, 44 cmd_USSearchSet, 45 cmd_HighlightLines, 46 cmd_HighlightValues, 47 cmd_NoHighlight, 48 49 cmd_SetTheme_MidnightBlack, 50 cmd_SetTheme_Midnight, 51 cmd_SetTheme_Foxpro, 52 cmd_SetTheme_Pdmenu, 53 cmd_SetTheme_White, 54 cmd_SetTheme_Mutt, 55 cmd_SetTheme_Pcfand, 56 cmd_SetTheme_Green, 57 cmd_SetTheme_Blue, 58 cmd_SetTheme_WP, 59 cmd_SetTheme_Lowcontrast, 60 cmd_SetTheme_Darkcyan, 61 cmd_SetTheme_Paradox, 62 cmd_SetTheme_DBase, 63 cmd_SetTheme_DBasemagenta, 64 cmd_SetTheme_Red, 65 cmd_SetTheme_Simple, 66 cmd_SetTheme_SolarDark, 67 cmd_SetTheme_SolarLight, 68 cmd_SetTheme_GruvboxLight, 69 cmd_SetTheme_TaoLight, 70 cmd_SetTheme_Flatwhite, 71 cmd_SetTheme_RelationalPipes, 72 cmd_SetTheme_PaperColor, 73 cmd_SetTheme, 74 cmd_SaveSetup, 75 76 cmd_Escape, 77 cmd_Quit, 78 cmd_RawOutputQuit, 79 cmd_ShowMenu, 80 cmd_FlushBookmarks, 81 cmd_ToggleBookmark, 82 cmd_PrevBookmark, 83 cmd_NextBookmark, 84 cmd_CursorUp, 85 cmd_CursorDown, 86 cmd_ScrollUp, 87 cmd_ScrollDown, 88 cmd_ScrollUpHalfPage, 89 cmd_ScrollDownHalfPage, 90 cmd_MoveLeft, 91 cmd_MoveRight, 92 cmd_CursorFirstRow, 93 cmd_CursorLastRow, 94 cmd_CursorFirstRowPage, 95 cmd_CursorLastRowPage, 96 cmd_CursorHalfPage, 97 cmd_PageUp, 98 cmd_PageDown, 99 cmd_ShowFirstCol, 100 cmd_ShowLastCol, 101 cmd_SaveData, 102 cmd_SaveAsCSV, 103 cmd_ForwardSearch, 104 cmd_BackwardSearch, 105 cmd_ForwardSearchInSelection, 106 cmd_BackwardSearchInSelection, 107 cmd_SearchNext, 108 cmd_SearchPrev, 109 cmd_SearchColumn, 110 cmd_ShowTopBar, 111 cmd_ShowBottomBar, 112 cmd_RowNumToggle, 113 cmd_GotoLine, 114 cmd_GotoLineRel, 115 cmd_ShowCursor, 116 cmd_ShowVerticalCursor, 117 cmd_BoldLabelsToggle, 118 cmd_BoldCursorToggle, 119 cmd_ShowScrollbar, 120 cmd_SortAsc, 121 cmd_SortDesc, 122 cmd_OriginalSort, 123 cmd_TogglePause, 124 cmd_Refresh, 125 cmd_SetCopyFile, 126 cmd_SetCopyClipboard, 127 cmd_UseClipboard_CSV, 128 cmd_UseClipboard_TSVC, 129 cmd_UseClipboard_SQL_values, 130 cmd_UseClipboard_text, 131 cmd_UseClipboard_pipe_separated, 132 cmd_UseClipboard_INSERT, 133 cmd_UseClipboard_INSERT_with_comments, 134 cmd_TogleEmptyStringIsNULL, 135 cmd_SetOwnNULLString, 136 137 cmd_Copy, 138 cmd_CopyAllLines, 139 cmd_CopyTopLines, 140 cmd_CopyBottomLines, 141 cmd_CopyLine, 142 cmd_CopyLineExtended, 143 cmd_CopyColumn, 144 cmd_CopyMarkedLines, 145 cmd_CopySearchedLines, 146 cmd_CopySelected, 147 148 cmd_Mark, 149 cmd_MarkColumn, 150 cmd_MarkAll, 151 cmd_Unmark, 152 cmd_Mark_NestedCursorCommand, 153 154 cmd_BsCommand, 155 cmd_ShowPrimaryScreen 156 } PspgCommand; 157 158 extern void initialize_special_keycodes(); 159 extern const char *cmd_string(int cmd); 160 extern int translate_event(int c, bool alt, Options *opts, int *nested_command); 161 extern bool require_complete_load(int cmd); 162 163 extern bool is_cmd_RowNumToggle(int c, bool alt); 164 165 extern int cmd_get_theme(int cmd); 166 extern int theme_get_cmd(int theme); 167 168 #endif 169