1
0
зеркало из https://github.com/glebtv/tui-textarea.git synced 2026-09-08 00:15:50 +03:00

search forward/back with ^N/^P in editor example

Этот коммит содержится в:
rhysd
2022-07-08 12:43:07 +09:00
родитель 5aa25ea24d
Коммит 358e9dbc52

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

@@ -231,9 +231,15 @@ impl<'a> Editor<'a> {
Span::raw(" to jump to first match and close, "), Span::raw(" to jump to first match and close, "),
Span::styled("Esc", Style::default().add_modifier(Modifier::BOLD)), Span::styled("Esc", Style::default().add_modifier(Modifier::BOLD)),
Span::raw(" to close, "), Span::raw(" to close, "),
Span::styled("^G or ^→", Style::default().add_modifier(Modifier::BOLD)), Span::styled(
"^G or ^→ or ^N",
Style::default().add_modifier(Modifier::BOLD),
),
Span::raw(" to search next, "), Span::raw(" to search next, "),
Span::styled("M-G or ^←", Style::default().add_modifier(Modifier::BOLD)), Span::styled(
"M-G or ^← or ^P",
Style::default().add_modifier(Modifier::BOLD),
),
Span::raw(" to search previous"), Span::raw(" to search previous"),
]) ])
} else { } else {
@@ -256,14 +262,9 @@ impl<'a> Editor<'a> {
let textarea = &mut self.buffers[self.current].textarea; let textarea = &mut self.buffers[self.current].textarea;
match Input::from(crossterm::event::read()?) { match Input::from(crossterm::event::read()?) {
Input { Input {
key: Key::Char('g'), key: Key::Char('g' | 'n') | Key::Left,
ctrl: true, ctrl: true,
alt: false, alt: false,
}
| Input {
key: Key::Left,
ctrl: true,
..
} => { } => {
if !textarea.search_forward(false) { if !textarea.search_forward(false) {
self.search.set_error(Some("Pattern not found")); self.search.set_error(Some("Pattern not found"));
@@ -275,9 +276,9 @@ impl<'a> Editor<'a> {
alt: true, alt: true,
} }
| Input { | Input {
key: Key::Right, key: Key::Right | Key::Char('p'),
ctrl: true, ctrl: true,
.. alt: false,
} => { } => {
if !textarea.search_back(false) { if !textarea.search_back(false) {
self.search.set_error(Some("Pattern not found")); self.search.set_error(Some("Pattern not found"));