diff options
author | Dan Davison <dandavison7@gmail.com> | 2022-06-20 16:01:58 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-20 16:01:58 -0400 |
commit | 3f527e0d9c6100119c86a5cd4adb21f3c51651c6 (patch) | |
tree | c78199d2f5a5064b5489a59469aa165d86d15eec /src | |
parent | 4c879ac1afca68a30c9a100bea2965b858eb1853 (diff) |
Fix commit hyperlink formatting (#1110)
Diffstat (limited to 'src')
-rw-r--r-- | src/features/hyperlinks.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/features/hyperlinks.rs b/src/features/hyperlinks.rs index b5f60af9..b45de0f8 100644 --- a/src/features/hyperlinks.rs +++ b/src/features/hyperlinks.rs @@ -26,8 +26,12 @@ pub fn format_commit_line_with_osc8_commit_hyperlink<'a>( ) -> Cow<'a, str> { if let Some(commit_link_format) = &config.hyperlinks_commit_link_format { COMMIT_LINE_REGEX.replace(line, |captures: &Captures| { - let commit = captures.get(2).unwrap().as_str(); - format_osc8_hyperlink(&commit_link_format.replace("{commit}", commit), commit) + let prefix = captures.get(1).map(|m| m.as_str()).unwrap_or(""); + let commit = captures.get(2).map(|m| m.as_str()).unwrap(); + let suffix = captures.get(3).map(|m| m.as_str()).unwrap_or(""); + let formatted_commit = + format_osc8_hyperlink(&commit_link_format.replace("{commit}", commit), commit); + format!("{}{}{}", prefix, formatted_commit, suffix) }) } else if let Some(GitConfigEntry::GitRemote(repo)) = config.git_config.as_ref().and_then(get_remote_url) |