kanban-tui 0.4.1

Terminal user interface for the kanban project management tool
Documentation
use super::{Keybinding, KeybindingAction, KeybindingContext, KeybindingProvider};

pub struct SprintDetailProvider;

impl KeybindingProvider for SprintDetailProvider {
    fn get_context(&self) -> KeybindingContext {
        KeybindingContext::new(
            "Sprint Detail",
            vec![
                Keybinding::new("?", "help", "Show help", KeybindingAction::ShowHelp),
                Keybinding::new(
                    "q",
                    "quit",
                    "Exit sprint detail view",
                    KeybindingAction::Escape,
                ),
                Keybinding::new(
                    "ESC",
                    "back",
                    "Return to project detail",
                    KeybindingAction::Escape,
                ),
                Keybinding::new(
                    "a",
                    "activate",
                    "Activate this sprint",
                    KeybindingAction::EditBoard,
                ),
                Keybinding::new(
                    "c",
                    "complete",
                    "Complete this sprint",
                    KeybindingAction::ToggleCompletion,
                ),
                Keybinding::new(
                    "p",
                    "s-prefix",
                    "Set sprint prefix",
                    KeybindingAction::EditBoard,
                ),
                Keybinding::new(
                    "C",
                    "c-prefix",
                    "Set card prefix override",
                    KeybindingAction::EditBoard,
                ),
                Keybinding::new(
                    "o",
                    "sort",
                    "Sort tasks by field",
                    KeybindingAction::OrderCards,
                ),
                Keybinding::new(
                    "O",
                    "toggle order",
                    "Toggle sort order",
                    KeybindingAction::ToggleSortOrder,
                ),
                Keybinding::new(
                    "h",
                    "left panel",
                    "Switch to uncompleted panel",
                    KeybindingAction::NavigateLeft,
                ),
                Keybinding::new(
                    "l",
                    "right panel",
                    "Switch to completed panel",
                    KeybindingAction::NavigateRight,
                ),
                Keybinding::new(
                    "j/↓",
                    "down",
                    "Navigate down",
                    KeybindingAction::NavigateDown,
                ),
                Keybinding::new("k/↑", "up", "Navigate up", KeybindingAction::NavigateUp),
                Keybinding::new(
                    "v",
                    "select",
                    "Select task for bulk operation",
                    KeybindingAction::ToggleCardSelection,
                ),
                Keybinding::new("n", "new", "Create new task", KeybindingAction::CreateCard),
                Keybinding::new(
                    "e",
                    "edit",
                    "Edit selected task",
                    KeybindingAction::EditCard,
                ),
                Keybinding::new(
                    "s",
                    "assign",
                    "Assign task to sprint",
                    KeybindingAction::AssignToSprint,
                ),
                Keybinding::new(
                    "y",
                    "copy branch",
                    "Copy branch name to clipboard",
                    KeybindingAction::EditCard,
                ),
                Keybinding::new(
                    "Y",
                    "copy cmd",
                    "Copy git checkout command",
                    KeybindingAction::EditCard,
                ),
                Keybinding::new(
                    "M",
                    "move all",
                    "Move all uncompleted tasks to a planning sprint",
                    KeybindingAction::CarryOver,
                ),
            ],
        )
    }
}