From 9f8d9361899e42a6ac031cfb693c355d9a36f4d8 Mon Sep 17 00:00:00 2001 From: Tyler Goffinet <15070724+qubitz@users.noreply.github.com> Date: Sat, 28 Sep 2024 23:22:16 -0700 Subject: [PATCH] cli: color author and commiter names yellow When `format_short_signature(signature)` is set to `signature.name()` the author names are not yellow like other signature types (eg email and username). When the commit signatures have no colors, they blend in making it hard to distinguish between signatures and commit messages. If just `name` were set to `yellow`, just like email and username, it affects the colorization of branch names making them also yellow despite them being designated as magenta. Setting `author` and `committer` to `yellow` is specific enough to allow branches to keep their colors while still coloring signature names. This is known to affect signatures in both 'log' and 'show'. --- CHANGELOG.md | 2 ++ cli/src/config/colors.toml | 7 ++++--- cli/tests/test_commit_template.rs | 8 ++++---- cli/tests/test_show_command.rs | 16 ++++++++-------- 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cccf652c7b..9a4f890a3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -95,6 +95,8 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). to keeping all changes into the first commit while keeping the current commit description for the second commit (the newly created empty one). +* Color author and committer names yellow + ### Fixed bugs * Update working copy before reporting changes. This prevents errors during reporting diff --git a/cli/src/config/colors.toml b/cli/src/config/colors.toml index 57831a56c8..66741f4851 100644 --- a/cli/src/config/colors.toml +++ b/cli/src/config/colors.toml @@ -21,8 +21,8 @@ "divergent prefix" = { fg = "red", underline = true } "hidden prefix" = "default" -"email" = "yellow" -"username" = "yellow" +"author" = "yellow" +"committer" = "yellow" "timestamp" = "cyan" "working_copies" = "green" "bookmark" = "magenta" @@ -54,7 +54,8 @@ "working_copy change_id" = "bright magenta" # We do not use bright yellow because of how it looks on xterm's default theme. # https://github.com/martinvonz/jj/issues/528 -"working_copy email" = "yellow" +"working_copy author" = "yellow" +"working_copy committer" = "yellow" "working_copy timestamp" = "bright cyan" "working_copy working_copies" = "bright green" "working_copy bookmark" = "bright magenta" diff --git a/cli/tests/test_commit_template.rs b/cli/tests/test_commit_template.rs index d14dbae036..6bdf464598 100644 --- a/cli/tests/test_commit_template.rs +++ b/cli/tests/test_commit_template.rs @@ -346,8 +346,8 @@ fn test_log_builtin_templates_colored() { │ ○ Commit ID: 230dd059e1b059aefc0da06a2e5a7dbf22362f22 │ Change ID: qpvuntsmwlqtpsluzzsnyyzlmlwvmlnu - │ Author: Test User <test.user@example.com> (2001-02-03 08:05:07) - │ Committer: Test User <test.user@example.com> (2001-02-03 08:05:07) + │ Author: Test User <test.user@example.com> (2001-02-03 08:05:07) + │ Committer: Test User <test.user@example.com> (2001-02-03 08:05:07) │ │  (no description set) │ @@ -415,8 +415,8 @@ fn test_log_builtin_templates_colored_debug() { │ <> <> <><><> │ <><><> - │ <><><><>< (>><><> - │ <><><><>< (>><><> + │ <><><><>< (>><><> + │ <><><><>< (>><><> │ <> │ <><> │ <> diff --git a/cli/tests/test_show_command.rs b/cli/tests/test_show_command.rs index 614d077ad6..37499cf384 100644 --- a/cli/tests/test_show_command.rs +++ b/cli/tests/test_show_command.rs @@ -80,11 +80,11 @@ fn test_show_basic() { "###); let stdout = test_env.jj_cmd_success(&repo_path, &["show", "--color=debug"]); - insta::assert_snapshot!(stdout, @r###" + insta::assert_snapshot!(stdout, @r#" Commit ID: <> Change ID: <> - Author: <> <<>> (<>) - Committer: <> <<>> (<>) + Author: <> <<>> (<>) + Committer: <> <<>> (<>) <> @@ -93,7 +93,7 @@ fn test_show_basic() { <><><><> <><><><><><><> < file3):>> - "###); + "#); let stdout = test_env.jj_cmd_success(&repo_path, &["show", "-s"]); insta::assert_snapshot!(stdout, @r###" @@ -167,11 +167,11 @@ fn test_show_basic() { "###); let stdout = test_env.jj_cmd_success(&repo_path, &["show", "--git", "--color=debug"]); - insta::assert_snapshot!(stdout, @r###" + insta::assert_snapshot!(stdout, @r#" Commit ID: <> Change ID: <> - Author: <> <<>> (<>) - Committer: <> <<>> (<>) + Author: <> <<>> (<>) + Committer: <> <<>> (<>) <> @@ -187,7 +187,7 @@ fn test_show_basic() { <> <> <> - "###); + "#); let stdout = test_env.jj_cmd_success(&repo_path, &["show", "-s", "--git"]); insta::assert_snapshot!(stdout, @r###"