summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-04-10 12:55:23 +0200
committerLudovic Courtès <ludo@gnu.org>2019-04-10 17:09:46 +0200
commita7ae18b1b9a083a1fbc6c2037e45df2447f704ed (patch)
treeca7be4665a02c3cd74a05c38cc116812f4762375
parenteff3a9b2dd4e42db673aeb009c9852b59f65c86d (diff)
downloadguix-a7ae18b1b9a083a1fbc6c2037e45df2447f704ed.tar.gz
ui: Colorize hints.
* guix/ui.scm (%info-colors): Remove CYAN.
(%hint-colors): New variable.
(display-hint): Adjust so that the "hint:" prefix is colorized.
-rw-r--r--guix/ui.scm20
1 files changed, 14 insertions, 6 deletions
diff --git a/guix/ui.scm b/guix/ui.scm
index 3869f77c15..63977f3aec 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -175,8 +175,9 @@ messages."
     (exit 1)))
 
 (define %warning-colors '(BOLD MAGENTA))
-(define %info-colors '(BOLD CYAN))
+(define %info-colors '(BOLD))
 (define %error-colors '(BOLD RED))
+(define %hint-colors '(BOLD CYAN))
 
 (define* (print-diagnostic-prefix prefix #:optional location
                                   #:key (colors '()))
@@ -357,11 +358,18 @@ VARIABLE and return it, or #f if none was found."
 (define* (display-hint message #:optional (port (current-error-port)))
   "Display MESSAGE, a l10n message possibly containing Texinfo markup, to
 PORT."
-  (format port (G_ "hint: ~a~%")
-          ;; XXX: We should arrange so that the initial indent is wider.
-          (parameterize ((%text-width (max 15
-                                           (- (terminal-columns) 5))))
-            (texi->plain-text message))))
+  (define colorize
+    (if (color-output? port)
+        (lambda (str)
+          (apply colorize-string str %hint-colors))
+        identity))
+
+  (display (colorize (G_ "hint: ")) port)
+  (display
+   ;; XXX: We should arrange so that the initial indent is wider.
+   (parameterize ((%text-width (max 15 (- (terminal-columns) 5))))
+     (texi->plain-text message))
+   port))
 
 (define* (report-unbound-variable-error args #:key frame)
   "Return the given unbound-variable error, where ARGS is the list of 'throw'