| Crates.io | tui-pattern-highlighter |
| lib.rs | tui-pattern-highlighter |
| version | 0.3.3 |
| created_at | 2024-05-27 16:43:21.325302+00 |
| updated_at | 2025-08-17 21:35:00.901616+00 |
| description | a dead simple search pattern highlighter for ratatui |
| homepage | |
| repository | https://github.com/0watcher/tui-pattern-highlighter |
| max_upload_size | |
| id | 1253562 |
| size | 29,810 |
a dead simple search pattern highlighter for 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);