Highlight deprecated commands using title style
authorTom Tromey <tromey@adacore.com>
Tue, 15 Dec 2020 15:07:32 +0000 (08:07 -0700)
committerTom Tromey <tromey@adacore.com>
Tue, 15 Dec 2020 15:07:32 +0000 (08:07 -0700)
After Andrew's latest patch, I noticed that the deprecation warnings
could use the (so-called) title style when printing command names.
This patch implements this idea.

gdb/ChangeLog
2020-12-15  Tom Tromey  <tromey@adacore.com>

* cli/cli-decode.c (deprecated_cmd_warning): Use title style for
command names.

gdb/testsuite/ChangeLog
2020-12-15  Tom Tromey  <tromey@adacore.com>

* gdb.base/style.exp: Add deprecation tests.

gdb/ChangeLog
gdb/cli/cli-decode.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/style.exp

index 0bf7d511f8249150724f4a7a3dbaeb0c675d187e..e82a7c4526d3a08eb1b3ac0d1bd9e62372df5f5b 100644 (file)
@@ -1,3 +1,8 @@
+2020-12-15  Tom Tromey  <tromey@adacore.com>
+
+       * cli/cli-decode.c (deprecated_cmd_warning): Use title style for
+       command names.
+
 2020-12-14  Tom Tromey  <tom@tromey.com>
 
        * dtrace-probe.c (dtrace_process_dof_probe): Use value_type.
index 13260ac44e654825dcede458cb31ff27b458b565..fb2856d43330973ed3a208e78d9cdd3231008dbf 100644 (file)
@@ -1939,16 +1939,23 @@ deprecated_cmd_warning (const char *text, struct cmd_list_element *list)
       tmp_alias_str += std::string (alias->name);
 
       if (cmd->cmd_deprecated)
-       printf_filtered (_("Warning: command '%s' (%s) is deprecated.\n"),
-                        tmp_cmd_str.c_str (), tmp_alias_str.c_str ());
+       printf_filtered (_("Warning: command '%ps' (%ps) is deprecated.\n"),
+                        styled_string (title_style.style (),
+                                       tmp_cmd_str.c_str ()),
+                        styled_string (title_style.style (),
+                                       tmp_alias_str.c_str ()));
       else
-       printf_filtered (_("Warning: '%s', an alias for the command '%s', "
+       printf_filtered (_("Warning: '%ps', an alias for the command '%ps', "
                           "is deprecated.\n"),
-                        tmp_alias_str.c_str (), tmp_cmd_str.c_str ());
+                        styled_string (title_style.style (),
+                                       tmp_alias_str.c_str ()),
+                        styled_string (title_style.style (),
+                                       tmp_cmd_str.c_str ()));
     }
   else
-    printf_filtered (_("Warning: command '%s' is deprecated.\n"),
-                    tmp_cmd_str.c_str ());
+    printf_filtered (_("Warning: command '%ps' is deprecated.\n"),
+                    styled_string (title_style.style (),
+                                   tmp_cmd_str.c_str ()));
 
   /* Now display a second line indicating what the user should use instead.
      If it is only the alias that is deprecated, we want to indicate the
@@ -1959,7 +1966,9 @@ deprecated_cmd_warning (const char *text, struct cmd_list_element *list)
   else
     replacement = cmd->replacement;
   if (replacement != nullptr)
-    printf_filtered (_("Use '%s'.\n\n"), replacement);
+    printf_filtered (_("Use '%ps'.\n\n"),
+                    styled_string (title_style.style (),
+                                   replacement));
   else
     printf_filtered (_("No alternative known.\n\n"));
 
index a3a0941190ff979a551723a6e031fc9ca17b4c06..0e6177b7dd4cedbe55d8ce53adcdb5cd8ef566d9 100644 (file)
@@ -1,3 +1,7 @@
+2020-12-15  Tom Tromey  <tromey@adacore.com>
+
+       * gdb.base/style.exp: Add deprecation tests.
+
 2020-12-14  Simon Marchi  <simon.marchi@polymtl.ca>
 
        * lib/gdb.exp (gdb_test_multiple): Fix typo in doc.
index 28c270591bab491a5eb72c2399eb250b9d5853a3..8d7eaa80b637000cf6037c61669363bee59e474a 100644 (file)
@@ -172,4 +172,11 @@ save_vars { env(TERM) } {
        "warning: [style .*? file] is not a directory\\..*"
     gdb_test "show data-directory" \
        "GDB's data directory is \"[style .*? file]\"\\..*"
+
+    # Check that deprecation styles command names.
+    gdb_test_no_output "maintenance deprecate p \"new_p\"" \
+       "maintenance deprecate p \"new_p\" /1/"
+    gdb_test "p 5" \
+       "Warning: '[style p title]', an alias for the command '[style print title]', is deprecated.*Use '[style new_p title]'.*" \
+       "p deprecated warning, with replacement"
 }