diff --git a/cli/src/config/colors.toml b/cli/src/config/colors.toml index 79c748a4b87..9e2042c7ebe 100644 --- a/cli/src/config/colors.toml +++ b/cli/src/config/colors.toml @@ -87,3 +87,10 @@ "op_log current_operation id" = "bright blue" "op_log current_operation user" = "yellow" # No bright yellow, see comment above "op_log current_operation time" = "bright cyan" + +"node" = { bold = true } +"node elided" = { fg = "bright black" } +"node working_copy" = { fg = "green" } +"node immutable" = { fg = "bright cyan" } +"node conflict" = { fg = "red" } +"node normal" = { bold = false } diff --git a/cli/src/config/templates.toml b/cli/src/config/templates.toml index 4a82ae15b3a..a65b9be760a 100644 --- a/cli/src/config/templates.toml +++ b/cli/src/config/templates.toml @@ -165,3 +165,66 @@ if(hidden, ) ) ''' + +'label_log_node(content)' = ''' +label("node", + coalesce( + if(!self, label("elided", content)), + if(immutable, label("immutable", content)), + if(conflict, label("conflict", content)), + if(current_working_copy, label("working_copy", content)), + label("normal", content), + ) +) +''' + +'label_op_log_node(content)' = ''' +label("node", + coalesce( + if(current_operation, label("working_copy", content)), + label("normal", content), + ) +) +''' + +builtin_log_node = ''' +label_log_node( + coalesce( + if(!self, "~"), + if(current_working_copy, "@"), + if(immutable, "◆"), + if(conflict, "×"), + "○", + ) +) +''' + +builtin_log_node_ascii = ''' +label_log_node( + coalesce( + if(!self, "~"), + if(current_working_copy, "@"), + if(immutable, "#"), + if(conflict, "x"), + "o", + ) +) +''' + +builtin_op_log_node = ''' +label_op_log_node( + coalesce( + if(current_operation, "@"), + "○", + ) +) +''' + +builtin_op_log_node_ascii = ''' +label_op_log_node( + coalesce( + if(current_operation, "@"), + "o", + ) +) +''' diff --git a/cli/tests/test_log_command.rs b/cli/tests/test_log_command.rs index 9b6ec1bd426..dbccba748b2 100644 --- a/cli/tests/test_log_command.rs +++ b/cli/tests/test_log_command.rs @@ -44,9 +44,13 @@ fn test_log_with_no_template() { - builtin_log_comfortable - builtin_log_compact - builtin_log_detailed + - builtin_log_node + - builtin_log_node_ascii - builtin_log_oneline - builtin_op_log_comfortable - builtin_op_log_compact + - builtin_op_log_node + - builtin_op_log_node_ascii - commit_summary_separator - description_placeholder - email_placeholder diff --git a/cli/tests/test_obslog_command.rs b/cli/tests/test_obslog_command.rs index 2d0cb29b33d..6f682cf129f 100644 --- a/cli/tests/test_obslog_command.rs +++ b/cli/tests/test_obslog_command.rs @@ -279,9 +279,13 @@ fn test_obslog_with_no_template() { - builtin_log_comfortable - builtin_log_compact - builtin_log_detailed + - builtin_log_node + - builtin_log_node_ascii - builtin_log_oneline - builtin_op_log_comfortable - builtin_op_log_compact + - builtin_op_log_node + - builtin_op_log_node_ascii - commit_summary_separator - description_placeholder - email_placeholder diff --git a/cli/tests/test_operations.rs b/cli/tests/test_operations.rs index 4e05eb55af6..e0b54b93848 100644 --- a/cli/tests/test_operations.rs +++ b/cli/tests/test_operations.rs @@ -140,9 +140,13 @@ fn test_op_log_with_no_template() { - builtin_log_comfortable - builtin_log_compact - builtin_log_detailed + - builtin_log_node + - builtin_log_node_ascii - builtin_log_oneline - builtin_op_log_comfortable - builtin_op_log_compact + - builtin_op_log_node + - builtin_op_log_node_ascii - commit_summary_separator - description_placeholder - email_placeholder diff --git a/cli/tests/test_show_command.rs b/cli/tests/test_show_command.rs index f26c1c69091..15cf1cffc12 100644 --- a/cli/tests/test_show_command.rs +++ b/cli/tests/test_show_command.rs @@ -64,9 +64,13 @@ fn test_show_with_no_template() { - builtin_log_comfortable - builtin_log_compact - builtin_log_detailed + - builtin_log_node + - builtin_log_node_ascii - builtin_log_oneline - builtin_op_log_comfortable - builtin_op_log_compact + - builtin_op_log_node + - builtin_op_log_node_ascii - commit_summary_separator - description_placeholder - email_placeholder diff --git a/cli/tests/test_templater.rs b/cli/tests/test_templater.rs index cc076c9fe51..a86c4076835 100644 --- a/cli/tests/test_templater.rs +++ b/cli/tests/test_templater.rs @@ -111,7 +111,7 @@ fn test_templater_parse_error() { | ^-----^ | = Keyword "builtin" doesn't exist - Hint: Did you mean "builtin_change_id_with_hidden_and_divergent_info", "builtin_log_comfortable", "builtin_log_compact", "builtin_log_detailed", "builtin_log_oneline", "builtin_op_log_comfortable", "builtin_op_log_compact"? + Hint: Did you mean "builtin_change_id_with_hidden_and_divergent_info", "builtin_log_comfortable", "builtin_log_compact", "builtin_log_detailed", "builtin_log_node", "builtin_log_node_ascii", "builtin_log_oneline", "builtin_op_log_comfortable", "builtin_op_log_compact", "builtin_op_log_node", "builtin_op_log_node_ascii"? "###); }