par_term_config/scrollback_mark.rs
1/// Public-facing metadata for a mark anchored to a scrollback line.
2///
3/// This is a shared type used by both the terminal module (which creates marks
4/// from shell integration events) and the renderer module (which displays
5/// marks in the scrollbar and separator lines).
6#[derive(Clone, Debug, PartialEq, Eq)]
7pub struct ScrollbackMark {
8 pub line: usize,
9 pub exit_code: Option<i32>,
10 pub start_time: Option<u64>,
11 pub duration_ms: Option<u64>,
12 pub command: Option<String>,
13 /// Custom color override (from trigger marks). When set, overrides exit_code-based coloring.
14 pub color: Option<(u8, u8, u8)>,
15 /// Trigger ID that created this mark (None for shell integration marks).
16 /// Used for deduplication: the same trigger matching the same physical line
17 /// across multiple scans produces marks at different absolute positions.
18 pub trigger_id: Option<u64>,
19}