1
0
зеркало из https://github.com/glebtv/tui-textarea.git synced 2026-08-28 11:36:17 +03:00

prefer Into::into to From::from

Этот коммит содержится в:
rhysd
2022-07-09 12:38:05 +09:00
родитель e11a97ce49
Коммит ea377db4ee
7 изменённых файлов: 17 добавлений и 12 удалений

Просмотреть файл

@@ -366,7 +366,7 @@ loop {
// Using `Input` is not mandatory, but it's useful for pattern match
// Ignore Ctrl+m and Enter. Otherwise handle keys as usual
match Input::from(read()?) {
match read()?.into() {
Input { key: Key::Char('m'), ctrl: true, alt: false }
| Input { key: Key::Enter, .. } => continue,
input => {
@@ -436,7 +436,7 @@ loop {
// ...
match mode {
Mode::Normal => match Input::from(read()?) {
Mode::Normal => match read()?.into() {
Input { key: Key::Char('h'), .. } => textarea.move_cursor(CursorMove::Back),
Input { key: Key::Char('j'), .. } => textarea.move_cursor(CursorMove::Down),
Input { key: Key::Char('k'), .. } => textarea.move_cursor(CursorMove::Up),
@@ -460,7 +460,7 @@ loop {
}
_ => {},
},
Mode::Insert => match Input::from(read()?) {
Mode::Insert => match read()?.into() {
Input { key: Key::Esc, .. } => {
mode = Mode::Normal;
}
@@ -477,7 +477,7 @@ If you don't want to use default key mappings, `TextArea::input_without_shortcut
newlines.
```rust
match Input::from(read()?) {
match read()?.into() {
// Handle your own key mappings here
// ...
input => textarea.input_without_shortcuts(input),
@@ -583,7 +583,7 @@ loop {
}
})?;
match Input::from(read()?) {
match read()?.into() {
// Switch focused textarea by Ctrl+S
Input { key: Key::Char('s'), ctrl: true, .. } => focused = (focused + 1) % 2;
// Handle input by the focused editor

Просмотреть файл

@@ -260,7 +260,7 @@ impl<'a> Editor<'a> {
if search_height > 0 {
let textarea = &mut self.buffers[self.current].textarea;
match Input::from(crossterm::event::read()?) {
match crossterm::event::read()?.into() {
Input {
key: Key::Char('g' | 'n'),
ctrl: true,
@@ -307,7 +307,7 @@ impl<'a> Editor<'a> {
}
}
} else {
match Input::from(crossterm::event::read()?) {
match crossterm::event::read()?.into() {
Input {
key: Key::Char('q'),
ctrl: true,

Просмотреть файл

@@ -28,7 +28,7 @@ fn main() -> io::Result<()> {
term.draw(|f| {
f.render_widget(textarea.widget(), f.size());
})?;
match Input::from(crossterm::event::read()?) {
match crossterm::event::read()?.into() {
Input { key: Key::Esc, .. } => break,
input => {
textarea.input(input);

Просмотреть файл

@@ -48,7 +48,7 @@ fn main() -> io::Result<()> {
f.render_widget(widget, chunks[0]);
})?;
match Input::from(crossterm::event::read()?) {
match crossterm::event::read()?.into() {
Input { key: Key::Esc, .. } => break,
Input {
key: Key::Enter, ..

Просмотреть файл

@@ -59,7 +59,7 @@ fn main() -> io::Result<()> {
f.render_widget(widget, chunk);
}
})?;
match Input::from(crossterm::event::read()?) {
match crossterm::event::read()?.into() {
Input { key: Key::Esc, .. } => break,
Input {
key: Key::Char('x'),

Просмотреть файл

@@ -36,7 +36,7 @@ fn main() -> io::Result<()> {
.split(f.size());
f.render_widget(textarea.widget(), chunks[0]);
})?;
match Input::from(crossterm::event::read()?) {
match crossterm::event::read()?.into() {
Input { key: Key::Esc, .. } => break,
input => {
textarea.input(input);

Просмотреть файл

@@ -36,9 +36,14 @@ pub enum Key {
/// use crossterm::event::{Event, read};
///
/// let event = read().unwrap();
///
/// // `Input::from` can convert backend-native event into `Input`
/// let input = Input::from(event);
/// // or `Into::into`
/// let input: Input = event.into();
/// // Conversion from `KeyEvent` value is also available
/// if let Event::Key(key) = event {
/// let input = Input::from(key); // Conversion from `KeyEvent` value is also available
/// let input = Input::from(key);
/// }
/// ```
///