diff --git a/src/templater.rs b/src/templater.rs index 6a08a7ea6..e6d346a36 100644 --- a/src/templater.rs +++ b/src/templater.rs @@ -507,6 +507,19 @@ impl CommitOrChangeId<'_> { format!("{prefix}[{rest}]") } } + + pub fn shortest_styled_prefix(&self) -> IdWithHighlightedPrefix { + let hex = self.hex(); + let (prefix, rest) = extract_entire_prefix_and_trimmed_tail( + &hex, + self.repo.shortest_unique_id_prefix_len(self.as_bytes()), + 12, + ); + IdWithHighlightedPrefix { + prefix: prefix.to_string(), + rest: rest.to_string(), + } + } } impl Template<()> for CommitOrChangeId<'_> { @@ -578,18 +591,7 @@ impl TemplateProperty> for HighlightPrefix { type Output = IdWithHighlightedPrefix; fn extract(&self, context: &CommitOrChangeId) -> Self::Output { - let hex = context.hex(); - let (prefix, rest) = extract_entire_prefix_and_trimmed_tail( - &hex, - context - .repo - .shortest_unique_id_prefix_len(context.as_bytes()), - 12, - ); - IdWithHighlightedPrefix { - prefix: prefix.to_string(), - rest: rest.to_string(), - } + context.shortest_styled_prefix() } }