Improved display for inline-terminal

This commit is contained in:
Armin Ronacher 2021-01-31 22:06:08 +01:00
parent f3e401fc17
commit d0dd42e4af

View file

@ -27,13 +27,16 @@ fn main() {
let new = read_to_string(&args[2]).unwrap(); let new = read_to_string(&args[2]).unwrap();
let diff = TextDiff::from_lines(&old, &new); let diff = TextDiff::from_lines(&old, &new);
for group in diff.grouped_ops(5) { for (idx, group) in diff.grouped_ops(3).iter().enumerate() {
if idx > 0 {
println!("{:-^1$}", "-", 80);
}
for op in group { for op in group {
for change in diff.iter_inline_changes(&op) { for change in diff.iter_inline_changes(op) {
let (sign, s) = match change.tag() { let (sign, s) = match change.tag() {
ChangeTag::Delete => ("-", Style::new().red()), ChangeTag::Delete => ("-", Style::new().red()),
ChangeTag::Insert => ("+", Style::new().green()), ChangeTag::Insert => ("+", Style::new().green()),
ChangeTag::Equal => (" ", Style::new()), ChangeTag::Equal => (" ", Style::new().dim()),
}; };
print!( print!(
"{}{} |{}", "{}{} |{}",