codetether_agent/tui/ui/chat_view/separator.rs
1//! Horizontal separator line between chat entries.
2
3use ratatui::{
4 style::{Color, Style},
5 text::{Line, Span},
6};
7
8use crate::tui::ui::tool_panel::RenderEntry;
9use crate::tui::ui::tool_panel::separator_pattern;
10
11/// Push a dim horizontal rule into `lines` based on the entry type.
12///
13/// # Examples
14///
15/// ```rust,no_run
16/// use codetether_agent::tui::ui::chat_view::separator::push_separator;
17/// use codetether_agent::tui::ui::tool_panel::RenderEntry;
18/// let entry = RenderEntry::default();
19/// let mut lines: Vec<ratatui::text::Line<'static>> = Vec::new();
20/// push_separator(&mut lines, &entry, 20);
21/// assert_eq!(lines.len(), 1);
22/// ```
23pub fn push_separator(lines: &mut Vec<Line<'static>>, entry: &RenderEntry<'_>, width: usize) {
24 let sep = separator_pattern(entry);
25 lines.push(Line::from(Span::styled(
26 sep.repeat(width),
27 Style::default().fg(Color::DarkGray).dim(),
28 )));
29}