From 2f98482ef41bf1e1cce8caea53cb7fe1e38acac8 Mon Sep 17 00:00:00 2001 From: rhysd Date: Sat, 18 Jun 2022 15:29:46 +0900 Subject: [PATCH] remove `Ctrl+V` shortcut for paste --- README.md | 2 +- src/textarea.rs | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 20de35c..13c5a2d 100644 --- a/README.md +++ b/README.md @@ -112,7 +112,7 @@ Default key mappings are as follows: | `Alt+D`, `Alt+Delete` | Delete one word next to cursor | | `Ctrl+U` | Undo | | `Ctrl+R` | Redo | -| `Ctrl+Y`, `Ctrl+V` | Paste yanked text | +| `Ctrl+Y` | Paste yanked text | | `Ctrl+F`, `→` | Move cursor forward by one character | | `Ctrl+B`, `←` | Move cursor backward by one character | | `Ctrl+P`, `↑` | Move cursor up by one line | diff --git a/src/textarea.rs b/src/textarea.rs index 87a3ed6..32e5fb7 100644 --- a/src/textarea.rs +++ b/src/textarea.rs @@ -9,9 +9,9 @@ use tui::style::{Modifier, Style}; use tui::text::{Span, Spans, Text}; use tui::widgets::{Block, Paragraph, Widget}; -fn spaces(size: usize) -> &'static str { +fn spaces(size: u8) -> &'static str { const SPACES: &str = " "; - &SPACES[..size] + &SPACES[..size as usize] } /// A type to manage state of textarea. @@ -433,7 +433,7 @@ impl<'a> TextArea<'a> { alt: false, } => self.redo(), Input { - key: Key::Char('y' | 'v'), + key: Key::Char('y'), ctrl: true, alt: false, } => self.paste(), @@ -618,7 +618,7 @@ impl<'a> TextArea<'a> { if self.tab_len == 0 { return false; } - let len = self.tab_len as usize - self.cursor.1 % self.tab_len as usize; + let len = self.tab_len - (self.cursor.1 % self.tab_len as usize) as u8; self.insert_str(spaces(len)) } @@ -932,8 +932,8 @@ impl<'a> TextArea<'a> { /// } /// ``` pub fn widget(&'a self) -> impl Widget + 'a { - fn num_digits(i: usize) -> usize { - f64::log10(i as f64) as usize + 1 + fn num_digits(i: usize) -> u8 { + f64::log10(i as f64) as u8 + 1 } let mut lines = Vec::with_capacity(self.lines.len());