Add support for byte diffing (#7)
Restructured text diffing to also support bstr
This commit is contained in:
parent
e53427b56f
commit
4b85e70f91
11 changed files with 775 additions and 307 deletions
|
|
@ -1,5 +1,5 @@
|
|||
use std::fmt;
|
||||
use std::fs::read_to_string;
|
||||
use std::fs::read;
|
||||
use std::process::exit;
|
||||
|
||||
use console::{style, Style};
|
||||
|
|
@ -23,8 +23,8 @@ fn main() {
|
|||
exit(1);
|
||||
}
|
||||
|
||||
let old = read_to_string(&args[1]).unwrap();
|
||||
let new = read_to_string(&args[2]).unwrap();
|
||||
let old = read(&args[1]).unwrap();
|
||||
let new = read(&args[2]).unwrap();
|
||||
let diff = TextDiff::from_lines(&old, &new);
|
||||
|
||||
for (idx, group) in diff.grouped_ops(3).iter().enumerate() {
|
||||
|
|
@ -44,7 +44,7 @@ fn main() {
|
|||
style(Line(change.new_index())).dim(),
|
||||
s.apply_to(sign).bold(),
|
||||
);
|
||||
for &(emphasized, value) in change.values() {
|
||||
for (emphasized, value) in change.iter_strings() {
|
||||
if emphasized {
|
||||
print!("{}", s.apply_to(value).underlined().on_black());
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ fn main() {
|
|||
ChangeTag::Insert => ("+", Style::new().green()),
|
||||
ChangeTag::Equal => (" ", Style::new()),
|
||||
};
|
||||
print!("{}{}", style.apply_to(sign).bold(), style.apply_to(change),);
|
||||
print!("{}{}", style.apply_to(sign).bold(), style.apply_to(change));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
use std::fs::read_to_string;
|
||||
use std::fs::read;
|
||||
use std::io;
|
||||
use std::process::exit;
|
||||
|
||||
use similar::text::TextDiff;
|
||||
|
|
@ -10,13 +11,14 @@ fn main() {
|
|||
exit(1);
|
||||
}
|
||||
|
||||
let old = read_to_string(&args[1]).unwrap();
|
||||
let new = read_to_string(&args[2]).unwrap();
|
||||
print!(
|
||||
"{}",
|
||||
TextDiff::from_lines(&old, &new).unified_diff().header(
|
||||
let old = read(&args[1]).unwrap();
|
||||
let new = read(&args[2]).unwrap();
|
||||
TextDiff::from_lines(&old, &new)
|
||||
.unified_diff()
|
||||
.header(
|
||||
&args[1].as_os_str().to_string_lossy(),
|
||||
&args[2].as_os_str().to_string_lossy()
|
||||
&args[2].as_os_str().to_string_lossy(),
|
||||
)
|
||||
);
|
||||
.to_writer(io::stdout())
|
||||
.unwrap();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue