diff view

This commit is contained in:
2025-04-09 19:43:23 -03:00
parent 1049f9bcf6
commit 96f5213264
3 changed files with 38 additions and 33 deletions

View File

@ -1,31 +1,33 @@
use color_print::cformat;
pub struct Compare {
pub right: String,
pub left: String,
pub eval: String
}
type Compared = Compare;
pub struct Compared {
pub right: String,
pub left: String,
}
pub struct Comparer {
formatted_right: Vec<String>,
formatted_left: Vec<String>,
formatted_eval: Vec<String>
formatted_right: String,
formatted_left: String
}
impl Comparer {
pub const fn new() -> Self {
Self {
formatted_right: Vec::new(),
formatted_left: Vec::new(),
formatted_eval: Vec::new(),
formatted_right: String::new(),
formatted_left: String::new(),
}
}
fn format_compare(&mut self, left_char: char, right_char: char) {
if left_char == right_char {
self.formatted_left.push(left_char.to_string());
self.formatted_right.push(right_char.to_string());
self.formatted_left.push(left_char);
self.formatted_right.push(right_char);
} else {
self.formatted_left.push(color_print::cformat!("<r>{left_char}</>"));
self.formatted_right.push(color_print::cformat!("<r>{right_char}</>"));
self.formatted_left.push_str(&cformat!("<r>{left_char}</>"));
self.formatted_right.push_str(&cformat!("<r>{right_char}</>"));
};
}
@ -35,18 +37,12 @@ impl Comparer {
for (i, left_char) in compare.left.chars().enumerate() {
match right_chars.get(i) {
Some(right_char) => self.format_compare(left_char, *right_char),
None => {
compare.eval.chars().for_each(|char| {
// self.formatted_eval
});
break
},
None => break,
}
}
Compared {
right: self.formatted_right.concat(),
left: self.formatted_left.concat(),
eval: self.formatted_eval.concat()
right: self.formatted_right.clone(),
left: self.formatted_left.clone()
}
}
}
}