1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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,
),
],
)
}
}