diff options
Diffstat (limited to 'src/input.rs')
| -rw-r--r-- | src/input.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/input.rs b/src/input.rs index 4de615f..2d982e5 100644 --- a/src/input.rs +++ b/src/input.rs @@ -23,6 +23,15 @@ impl Calculator { KeyCode::Char('A') => { self.angle_mode = self.angle_mode.toggle(); } + KeyCode::Char('N') => { + if self.input_buffer.len() > 0 { + if let Ok(f) = self.input_buffer.parse::<f64>() { + self.input_buffer = format!("{}", -f); + } + } else if let Some(v) = self.stack.pop() { + self.stack.push(-v); + } + } _ => {} }, KeyModifiers::NONE => match key.code { |