summaryrefslogtreecommitdiff
path: root/src/list.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/list.rs')
-rw-r--r--src/list.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/list.rs b/src/list.rs
index 4d26702..e2af21d 100644
--- a/src/list.rs
+++ b/src/list.rs
@@ -48,6 +48,12 @@ pub fn list(state_file: &mut StateFile, exercises: &[Exercise]) -> Result<()> {
KeyCode::Up | KeyCode::Char('k') => ui_state.select_previous(),
KeyCode::Home | KeyCode::Char('g') => ui_state.select_first(),
KeyCode::End | KeyCode::Char('G') => ui_state.select_last(),
+ KeyCode::Char('r') => {
+ let selected = ui_state.selected();
+ exercises[selected].reset()?;
+ state_file.reset(selected)?;
+ ui_state.table = ui_state.table.rows(UiState::rows(state_file, exercises));
+ }
KeyCode::Char('c') => {
state_file.set_next_exercise_ind(ui_state.selected())?;
ui_state.table = ui_state.table.rows(UiState::rows(state_file, exercises));