diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-04-14 19:48:19 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-04-14 23:40:52 +0200 |
commit | c1c5d68a94e219d0e56d5dc0e0d6ed9b08076a30 (patch) | |
tree | 52906eba28ea4b35a11976aa65968fabc597bb81 | |
parent | a5c72da46c302511ef77f02ed9725e701ab82687 (diff) | |
download | guix-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.scm | 10 | ||||
-rw-r--r-- | guix/ui.scm | 11 |
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))) |