From 40167f0f23084956eb76a9b08b68382277340efc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20W=C3=B6lfer?= Date: Fri, 23 Jan 2026 23:15:49 +0100 Subject: [PATCH] feat: deselect items --- src/main.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main.rs b/src/main.rs index 8a625a2..3ac0cb2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -92,10 +92,15 @@ fn main() -> Result<(), Box> { if let Some(i) = state.selected() && i < marked.len() { - marked[i] = true; - // move cursor down - let next = if i + 1 < lines.len() { i + 1 } else { i }; - state.select(Some(next)); + assert!(i < marked.len()); + if marked[i] { + marked[i] = false; + } else { + marked[i] = true; + // move cursor down + let next = lines.len().min(i + 1); + state.select(Some(next)); + } } } _ => {}