fn parse(line: &'a str) -> Option<Self> {
        let parts: Vec<_> = line.split(':').collect();
        if parts.len() != 3 {
            return None;
        }

        // Validate that path and line number parts are not empty
        // and that line number contains only digits
        if parts[0].is_empty()
            || parts[1].is_empty()
            || !parts[1].chars().all(|c| c.is_ascii_digit())
        {
            return None;
        }

        Some(Self {
            path: parts[0].trim(),
            line_num: parts[1].trim(),
            content: parts[2].trim(),
        })
    }
Parse a line in the format "path:line_num:content"

# Arguments
* `line` - The line to parse in the format "path:line_num:content"

# Returns
* `Some(ParsedLine)` if the line matches the expected format
* `None` if the line is malformed
crates/forge_display/src/grep.rs