use crate::config::Action;
pub(super) const ALL_ACTIONS: &[Action] = &[
Action::ShowMarkdownCheatSheet,
Action::ShowAbout,
Action::CheckForUpdates,
Action::OpenSettings,
Action::OpenWelcome,
Action::SwitchTheme,
Action::CreateCustomTheme,
Action::OpenKeybinds,
Action::ExportHtml,
Action::OpenInExternalEditor,
Action::ToggleTableButtons,
Action::ToggleBigH1,
Action::ToggleLineNumbers,
Action::ToggleBlinkCursor,
Action::ToggleAutosave,
Action::ToggleVisualLineNav,
Action::ToggleVimMode,
Action::ToggleLimitWidth,
Action::ToggleDiffOnChange,
Action::InsertTable,
Action::InsertImage,
Action::InsertLink,
Action::OpenSearch,
Action::InsertFootnote,
Action::DeleteFootnote,
Action::RenumberFootnotes,
Action::FixListNumbering,
Action::Save,
Action::SaveAs,
Action::Undo,
Action::Redo,
Action::Copy,
Action::Cut,
Action::Paste,
Action::BoldSelection,
Action::ItalicizeSelection,
Action::InlineCodeSelection,
Action::StrikethroughSelection,
Action::HighlightSelection,
Action::SelectAll,
Action::ExitToPreview,
Action::ToggleRawMode,
Action::EnterEditMode,
Action::Quit,
Action::ToggleCheckbox,
Action::FollowLinkUnderCursor,
Action::NavigateBack,
Action::NavigateForward,
Action::GoToSection,
Action::TableMoveRowUp,
Action::TableMoveRowDown,
Action::TableMoveColumnLeft,
Action::TableMoveColumnRight,
Action::TableInsertRowAbove,
Action::TableInsertRowBelow,
Action::TableInsertColumnLeft,
Action::TableInsertColumnRight,
Action::TableDeleteRow,
Action::TableDeleteColumn,
];
pub(super) fn label_for(action: &Action) -> Option<&'static str> {
Some(match action {
Action::ShowMarkdownCheatSheet => "Show Markdown cheat sheet",
Action::OpenSettings => "Open settings",
Action::OpenWelcome => "Open welcome / terminal setup",
Action::SwitchTheme => "Switch theme",
Action::CreateCustomTheme => "Create custom theme",
Action::OpenKeybinds => "Open keybindings",
Action::ExportHtml => "Export HTML",
Action::OpenInExternalEditor => "Open current file in system editor",
Action::ToggleTableButtons => "Toggle table buttons",
Action::ToggleBigH1 => "Toggle big H1 headings",
Action::ToggleLineNumbers => "Toggle line numbers",
Action::ToggleBlinkCursor => "Toggle cursor blink",
Action::ToggleAutosave => "Toggle autosave",
Action::ToggleVisualLineNav => "Toggle visual line navigation",
Action::ToggleVimMode => "Toggle Vim mode",
Action::ToggleLimitWidth => "Toggle editor width limit",
Action::ToggleDiffOnChange => "Toggle diff on external change",
Action::InsertTable => "Insert table",
Action::InsertImage => "Insert image",
Action::InsertLink => "Insert link",
Action::OpenSearch => "Search and replace",
Action::InsertFootnote => "Insert footnote",
Action::DeleteFootnote => "Delete footnote at cursor",
Action::RenumberFootnotes => "Renumber footnotes",
Action::FixListNumbering => "Fix list numbering",
Action::Save => "Save file",
Action::SaveAs => "Save as…",
Action::Open => "Open file",
Action::Undo => "Undo",
Action::Redo => "Redo",
Action::Copy => "Copy",
Action::Cut => "Cut",
Action::Paste => "Paste",
Action::BoldSelection => "Bold selection",
Action::ItalicizeSelection => "Italicize selection",
Action::InlineCodeSelection => "Inline code selection",
Action::StrikethroughSelection => "Strikethrough selection",
Action::HighlightSelection => "Highlight selection",
Action::SelectAll => "Select all",
Action::ExitToPreview => "Exit to preview",
Action::ToggleRawMode => "Toggle raw mode",
Action::EnterEditMode => "Enter edit mode",
Action::Quit => "Quit",
Action::ToggleCheckbox => "Toggle checkbox",
Action::FollowLinkUnderCursor => "Follow link under cursor",
Action::ShowAbout => "About edamame",
Action::CheckForUpdates => "Check for updates",
Action::NavigateBack => "Navigate back",
Action::NavigateForward => "Navigate forward",
Action::GoToSection => "Go to section",
Action::TableMoveRowUp => "Table: Move row up",
Action::TableMoveRowDown => "Table: Move row down",
Action::TableMoveColumnLeft => "Table: Move column left",
Action::TableMoveColumnRight => "Table: Move column right",
Action::TableInsertRowAbove => "Table: Insert row above",
Action::TableInsertRowBelow => "Table: Insert row below",
Action::TableInsertColumnLeft => "Table: Insert column left",
Action::TableInsertColumnRight => "Table: Insert column right",
Action::TableDeleteRow => "Table: Delete row",
Action::TableDeleteColumn => "Table: Delete column",
_ => return None,
})
}