зеркало из
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
Этот коммит содержится в:
@@ -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"));
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user