summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-04-14 19:48:19 +0200
committerLudovic Courtès <ludo@gnu.org>2019-04-14 23:40:52 +0200
commitc1c5d68a94e219d0e56d5dc0e0d6ed9b08076a30 (patch)
tree52906eba28ea4b35a11976aa65968fabc597bb81
parenta5c72da46c302511ef77f02ed9725e701ab82687 (diff)
downloadguix-c1c5d68a94e219d0e56d5dc0e0d6ed9b08076a30.tar.gz
colors: Add 'highlight'.
* guix/colors.scm (%highlight-color): New variable.
(highlight): New procedure.
* guix/ui.scm (%highlight-argument)[highlight]: Remove.
(%highlight-color): Remove.
-rw-r--r--guix/colors.scm10
-rw-r--r--guix/ui.scm11
2 files changed, 12 insertions, 9 deletions
diff --git a/guix/colors.scm b/guix/colors.scm
index 30ad231dfe..7949cf5763 100644
--- a/guix/colors.scm
+++ b/guix/colors.scm
@@ -30,6 +30,7 @@
             color?
 
             colorize-string
+            highlight
             color-rules
             color-output?
             isatty?*))
@@ -132,6 +133,15 @@ that subsequent output will not have any colors in effect."
        (not (getenv "NO_COLOR"))
        (isatty?* port)))
 
+(define %highlight-color (color BOLD))
+
+(define* (highlight str #:optional (port (current-output-port)))
+  "Return STR with extra ANSI color attributes to highlight it if PORT
+supports it."
+  (if (color-output? port)
+      (colorize-string str %highlight-color)
+      str))
+
 (define (colorize-matches rules)
   "Return a procedure that, when passed a string, returns that string
 colorized according to RULES.  RULES must be a list of tuples like:
diff --git a/guix/ui.scm b/guix/ui.scm
index 2481a1b78b..39b13fd4bc 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -155,16 +155,10 @@ is a trivial format string."
 
 (define* (%highlight-argument arg #:optional (port (guix-warning-port)))
   "Highlight ARG, a format string argument, if PORT supports colors."
-  (define highlight
-    (if (color-output? port)
-        (lambda (str)
-          (colorize-string str %highlight-color))
-        identity))
-
   (cond ((string? arg)
-         (highlight arg))
+         (highlight arg port))
         ((symbol? arg)
-         (highlight (symbol->string arg)))
+         (highlight (symbol->string arg) port))
         (else arg)))
 
 (define-syntax define-diagnostic
@@ -220,7 +214,6 @@ messages."
 (define %info-color (color BOLD))
 (define %error-color (color BOLD RED))
 (define %hint-color (color BOLD CYAN))
-(define %highlight-color (color BOLD))
 
 (define* (print-diagnostic-prefix prefix #:optional location
                                   #:key (colors (color)))