From 4a07f41766e8cc8966d7166daa5e1f90c582b1fb Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Thu, 2 Feb 2023 13:16:54 -0330 Subject: swap function --- src/input.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/input.rs b/src/input.rs index cc93415..ecb4b3f 100644 --- a/src/input.rs +++ b/src/input.rs @@ -15,6 +15,9 @@ impl Calculator { KeyCode::Char('q') => { return Signal::Exit; } + KeyCode::Char('j' | 'k') => { + self.swap(); + } KeyCode::Char(c) => { self.push_to_buffer(c); } @@ -51,4 +54,13 @@ impl Calculator { self.stack.push(self.input_buffer.parse::().unwrap()); self.input_buffer = String::new(); } + + fn swap(&mut self) { + if let Some(f) = self.stack.pop() { + if self.input_buffer.len() > 0 { + self.push_buffer_to_stack(); + } + self.input_buffer = format!("{}", f); + } + } } -- cgit v1.2.3