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

report pattern error in title of search box in editor example

Этот коммит содержится в:
rhysd
2022-07-08 10:22:54 +09:00
родитель 7bc9a959f2
Коммит 86bd8dd6ef

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

@@ -5,6 +5,7 @@ use crossterm::terminal::{
};
use std::borrow::Cow;
use std::env;
use std::fmt::Display;
use std::fs;
use std::io;
use std::io::{BufRead, Write};
@@ -76,6 +77,18 @@ impl<'a> SearchBox<'a> {
}
}
}
fn set_error(&mut self, err: Option<impl Display>) {
let b = if let Some(err) = err {
Block::default()
.borders(Borders::ALL)
.title(format!("Search: {}", err))
.style(Style::default().fg(Color::Red))
} else {
Block::default().borders(Borders::ALL).title("Search")
};
self.textarea.set_block(b);
}
}
struct Buffer<'a> {
@@ -283,10 +296,8 @@ impl<'a> Editor<'a> {
}
input => {
if let Some(query) = self.search.input(input) {
if let Err(err) = textarea.set_search_pattern(query) {
self.message =
Some(format!("Invalid search pattern: {}", err).into());
}
let maybe_err = textarea.set_search_pattern(query).err();
self.search.set_error(maybe_err);
}
}
}