use super::{highlight, Highlighter};

pub struct ShellHighlighter;

impl Highlighter for ShellHighlighter {
    fn highlight(&self, code: &str) -> String {
        let mut res = String::new();
        let mut is_first = true;
        for line in code.lines() {
            if is_first {
                is_first = false;
            } else {
                res.push('\n');
            }
            if line.starts_with("$ ") {
                res.push_str("$ ");
                res.push_str(&highlight(&line[2..], "bash"));
            } else {
                res.push_str(line);
            }
        }
        res
    }
}
