From 30bd068b340c4d2a208214ab95a2b429ad9e571d Mon Sep 17 00:00:00 2001 From: rhysd Date: Fri, 17 Jun 2022 12:52:13 +0900 Subject: [PATCH] handle `Key::Char('\n' | '\r')` as `Key::Enter` --- src/textarea.rs | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/textarea.rs b/src/textarea.rs index 6968800..e39d9e1 100644 --- a/src/textarea.rs +++ b/src/textarea.rs @@ -174,6 +174,22 @@ impl<'a> TextArea<'a> { pub fn input(&mut self, input: impl Into) -> bool { let input = input.into(); let modified = match input { + Input { + key: Key::Char('m'), + ctrl: true, + alt: false, + } + | Input { + key: Key::Char('\n' | '\r'), + ctrl: false, + alt: false, + } + | Input { + key: Key::Enter, .. + } => { + self.insert_newline(); + true + } Input { key: Key::Char(c), ctrl: false, @@ -207,17 +223,6 @@ impl<'a> TextArea<'a> { ctrl: false, alt: false, } => self.delete_next_char(), - Input { - key: Key::Char('m'), - ctrl: true, - alt: false, - } - | Input { - key: Key::Enter, .. - } => { - self.insert_newline(); - true - } Input { key: Key::Char('k'), ctrl: true,