Skip to main content

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}