offcode 0.1.5

Offline AI coding assistant powered by Ollama
pub fn generate_diff(old_content: &str, new_content: &str) -> String {
    let old_lines: Vec<&str> = old_content.lines().collect();
    let new_lines: Vec<&str> = new_content.lines().collect();
    let mut out = String::new();
    let mut changed = false;
    let max_len = old_lines.len().max(new_lines.len());

    for i in 0..max_len {
        let old = old_lines.get(i).unwrap_or(&"");
        let new = new_lines.get(i).unwrap_or(&"");
        if old != new {
            changed = true;
            if !old.is_empty() {
                out.push_str(&format!("{}-  {}{}\n", crate::ui::RED, old, crate::ui::RESET));
            }
            if !new.is_empty() {
                out.push_str(&format!("{}+  {}{}\n", crate::ui::BRIGHT_GREEN, new, crate::ui::RESET));
            }
        }
    }

    if !changed {
        return format!("{}No changes detected.{}\n", crate::ui::DIM, crate::ui::RESET);
    }
    out
}