mirror of https://github.com/helix-editor/helix
feat: if you are the author, use "You" instead of name
parent
100ad75d9e
commit
41cb919b5d
|
@ -61,15 +61,33 @@ impl FileBlame {
|
||||||
};
|
};
|
||||||
|
|
||||||
let message = commit.as_ref().and_then(|c| c.message().ok());
|
let message = commit.as_ref().and_then(|c| c.message().ok());
|
||||||
let author = commit.as_ref().and_then(|c| c.author().ok());
|
|
||||||
let time = author.and_then(|a| a.time.parse::<gix::date::Time>().ok());
|
let commit_author = commit.as_ref().and_then(|c| c.author().ok());
|
||||||
|
|
||||||
|
// NOTE: Repo author is not the person who created the repository,
|
||||||
|
// but it is the person who is using Helix right now.
|
||||||
|
//
|
||||||
|
// If the person who is using Helix made the commit, (they have the same name),
|
||||||
|
// then instead of using the name, use "You".
|
||||||
|
let repo_author = repo
|
||||||
|
.author()
|
||||||
|
.transpose()
|
||||||
|
.ok()
|
||||||
|
.flatten()
|
||||||
|
.is_some_and(|author| {
|
||||||
|
commit_author.is_some_and(|commit_author| author.name == commit_author.name)
|
||||||
|
})
|
||||||
|
.then(|| "You".to_string());
|
||||||
|
let author_name =
|
||||||
|
repo_author.or_else(|| commit_author.map(|author| author.name.to_string()));
|
||||||
|
let time = commit_author.and_then(|a| a.time.parse::<gix::date::Time>().ok());
|
||||||
|
|
||||||
let line_blame = LineBlame {
|
let line_blame = LineBlame {
|
||||||
commit_hash: commit
|
commit_hash: commit
|
||||||
.as_ref()
|
.as_ref()
|
||||||
.and_then(|c| c.short_id().map(|id| id.to_string()).ok()),
|
.and_then(|c| c.short_id().map(|id| id.to_string()).ok()),
|
||||||
author_name: author.map(|a| a.name.to_string()),
|
author_name,
|
||||||
author_email: author.map(|a| a.email.to_string()),
|
author_email: commit_author.map(|a| a.email.to_string()),
|
||||||
commit_date: time.map(|time| time.format(gix::date::time::format::SHORT)),
|
commit_date: time.map(|time| time.format(gix::date::time::format::SHORT)),
|
||||||
commit_title: message.as_ref().map(|msg| msg.title.to_string()),
|
commit_title: message.as_ref().map(|msg| msg.title.to_string()),
|
||||||
commit_body: message
|
commit_body: message
|
||||||
|
|
Loading…
Reference in New Issue