diff options
author | Dan Davison <dandavison7@gmail.com> | 2021-12-26 22:19:10 -0500 |
---|---|---|
committer | Dan Davison <dandavison7@gmail.com> | 2021-12-28 12:16:43 +0000 |
commit | 13f60da9ffe713aa68c3464c2451f5e072678921 (patch) | |
tree | 14cf2e6e50f5eb8242b846d4e5a1168f9a5998b7 | |
parent | 62ca45953f5254a1b434725799d6e10ca63577fa (diff) |
Use formatted blame metadata as blame key
Fixes #868
-rw-r--r-- | src/handlers/blame.rs | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/src/handlers/blame.rs b/src/handlers/blame.rs index 6687587a..b3d628a6 100644 --- a/src/handlers/blame.rs +++ b/src/handlers/blame.rs @@ -38,8 +38,8 @@ impl<'a> StateMachine<'a> { ); let mut formatted_blame_metadata = format_blame_metadata(&format_data, &blame, self.config); - let key = blame.commit; - let is_repeat = previous_key.as_deref() == Some(key); + let key = formatted_blame_metadata.clone(); + let is_repeat = previous_key.as_deref() == Some(&key); if is_repeat { formatted_blame_metadata = " ".repeat(measure_text_width(&formatted_blame_metadata)) @@ -325,7 +325,7 @@ mod tests { machine.handle_blame_line().unwrap(); assert_eq!( hashmap_items(&machine.blame_key_colors), - &[("aaaaaaa", "1")] + &[("4 months ago Dan Davison aaaaaaa ", "1")] ); // Repeat key: same color @@ -333,7 +333,7 @@ mod tests { machine.handle_blame_line().unwrap(); assert_eq!( hashmap_items(&machine.blame_key_colors), - &[("aaaaaaa", "1")] + &[("4 months ago Dan Davison aaaaaaa ", "1")] ); // Second distinct key gets second color @@ -341,7 +341,10 @@ mod tests { machine.handle_blame_line().unwrap(); assert_eq!( hashmap_items(&machine.blame_key_colors), - &[("aaaaaaa", "1"), ("bbbbbbb", "2")] + &[ + ("4 months ago Dan Davison aaaaaaa ", "1"), + ("a year ago Dan Davison bbbbbbb ", "2") + ] ); // Third distinct key gets first color (we only have 2 colors) @@ -349,7 +352,11 @@ mod tests { machine.handle_blame_line().unwrap(); assert_eq!( hashmap_items(&machine.blame_key_colors), - &[("aaaaaaa", "1"), ("bbbbbbb", "2"), ("ccccccc", "1")] + &[ + ("4 months ago Dan Davison aaaaaaa ", "1"), + ("a year ago Dan Davison bbbbbbb ", "2"), + ("a year ago Dan Davison ccccccc ", "1") + ] ); // Now the first key appears again. It would get the first color, but @@ -359,7 +366,11 @@ mod tests { machine.handle_blame_line().unwrap(); assert_eq!( hashmap_items(&machine.blame_key_colors), - &[("aaaaaaa", "2"), ("bbbbbbb", "2"), ("ccccccc", "1")] + &[ + ("4 months ago Dan Davison aaaaaaa ", "2"), + ("a year ago Dan Davison bbbbbbb ", "2"), + ("a year ago Dan Davison ccccccc ", "1") + ] ); } |