Subject: bug#64799: [PATCH] Add 'project-prompt-key' face

From: Dmitry Gutov <[email-masked]>
Date: Thu, 27 Jul 2023 04:28:08 +0300

On 26/07/2023 07:50, Protesilaos Stavrou wrote:
> For my use, and Emacs 28+, I want this:
> 
>      (format "%s %s"
>                 (propertize (key-description key) 'face 'project-prompt-key)
>                 label)
> 
> The reason I mentioned the possibility of a user option is because
> without the square brackets the bold face will not have the same effect
> as the current design.  The square brackets help add structure and make
> it easier to identify the keys.  The use of 'bold' without the square
> brackets may make it more difficult for users to spot the keys.

The change in format seems to go hand-in-hand with the change in face, 
though, because help-key-binding has a box already.

Does this look good to everybody?

diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el
index d482cc24d70..3611757fb82 100644
--- a/lisp/progmodes/project.el
+++ b/lisp/progmodes/project.el
@@ -1781,9 +1781,13 @@ project--keymap-prompt
       (let ((key (if key
                      (vector key)
                    (where-is-internal cmd (list project-prefix-map) t))))
-       (format "[%s] %s"
-               (propertize (key-description key) 'face 'bold)
-               label)))
+       (if (facep 'help-key-binding)
+           (format "%s %s"
+                   (propertize (key-description key) 'face 
'help-key-binding)
+                   label)
+         (format "[%s] %s"
+                 (propertize (key-description key) 'face 'bold)
+                 label))))
     project-switch-commands
     "  "))