4个版本
新 0.2.2 | 2024年8月10日 |
---|---|
0.2.1 | 2024年7月17日 |
0.2.0 | 2024年5月30日 |
0.1.0 | 2024年5月27日 |
#8 in #highlighter
每月115次下载
8KB
88 行
tui-pattern-highlighter
ratatui的一个简单的搜索模式高亮器
示例
use tui_pattern_highlighter::highlight_line;
use ratatui::{
style::{Color, Style},
text::{Line, Span, Text},
};
let line = "Hi @buddy";
let pattern = r"@\w+";
let highlight_style = Style::new().bg(Color::Blue);
let expected_line = Line::from(vec![
Span::from("Hi "),
Span::from("@buddy").style(Style::new().bg(Color::Blue)),
]);
assert_eq!(highlight_line(line, pattern, highlight_style), expected_line);
let text = "Hi @buddy\n@stranger hello";
let pattern = r"@\w+";
let highlight_style = Style::new().bg(Color::Blue);
let expected_text = Text::from(vec![
Line::from(vec![
Span::from("Hi "),
Span::from("@buddy").style(Style::new().bg(Color::Blue)),
]),
Line::from(vec![
Span::from("@stranger").style(Style::new().bg(Color::Blue)),
Span::from(" hello"),
]),
]);
assert_eq!(highlight_text(text, pattern, highlight_style), expected_text);
依赖项
~8–15MB
~172K SLoC