ratatui_toolkit/widgets/code_diff/foundation/diff_line/methods/
prefix.rs

1use crate::widgets::code_diff::diff_line::DiffLine;
2use crate::widgets::code_diff::enums::DiffLineKind;
3
4impl DiffLine {
5    /// Returns the prefix character for this line kind.
6    ///
7    /// - Context lines: ' ' (space)
8    /// - Added lines: '+'
9    /// - Removed lines: '-'
10    /// - Hunk headers: '@'
11    ///
12    /// # Returns
13    ///
14    /// A single character prefix for display
15    ///
16    /// # Example
17    ///
18    /// ```rust
19    /// use ratatui_toolkit::code_diff::DiffLine;
20    ///
21    /// let added = DiffLine::added("new line", 5);
22    /// assert_eq!(added.prefix(), '+');
23    ///
24    /// let removed = DiffLine::removed("old line", 5);
25    /// assert_eq!(removed.prefix(), '-');
26    /// ```
27    pub fn prefix(&self) -> char {
28        match self.kind {
29            DiffLineKind::Context => ' ',
30            DiffLineKind::Added => '+',
31            DiffLineKind::Removed => '-',
32            DiffLineKind::HunkHeader => '@',
33        }
34    }
35}