summaryrefslogtreecommitdiff
path: root/src/list.rs
diff options
context:
space:
mode:
authormo8it <mo8it@proton.me>2024-04-07 22:43:59 +0200
committermo8it <mo8it@proton.me>2024-04-07 22:43:59 +0200
commit99c9ab467b3e57f9dca080a6fe9c1dbd991a3fdb (patch)
treee3fe5f15a35f7007ebfff49c2e5030fa7c1caf02 /src/list.rs
parentdb43efe3ec9d0bba5ee997923d68d2356b08a257 (diff)
Implement resetting
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));