From ada020e2836f49b3941b28964c7c64b5e9b41f61 Mon Sep 17 00:00:00 2001 From: kjuulh Date: Tue, 7 Jan 2025 22:18:52 +0100 Subject: [PATCH] feat: allow ctrl+c to exit application --- Cargo.lock | 1 + crates/gitnow/src/interactive.rs | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index d9c2822..d397a58 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -748,6 +748,7 @@ dependencies = [ [[package]] name = "gitnow" version = "0.3.1" +version = "0.2.3" dependencies = [ "anyhow", "async-trait", diff --git a/crates/gitnow/src/interactive.rs b/crates/gitnow/src/interactive.rs index 924940b..c47b7db 100644 --- a/crates/gitnow/src/interactive.rs +++ b/crates/gitnow/src/interactive.rs @@ -36,6 +36,7 @@ impl InteractiveApp for &'static crate::app::App { } mod app { + use crossterm::event::KeyModifiers; use ratatui::{ crossterm::event::{self, Event, KeyCode}, layout::{Constraint, Layout}, @@ -92,6 +93,12 @@ mod app { terminal.draw(|frame| self.draw(frame))?; if let Event::Key(key) = event::read()? { + if let KeyCode::Char('c') = key.code { + if key.modifiers.contains(KeyModifiers::CONTROL) { + return Ok(None); + } + } + match key.code { KeyCode::Char(letter) => { self.current_search.push(letter);