diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-11-08 23:19:07 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-11-09 00:36:10 +0100 |
commit | 7f0f38b54c98f13fed4cec1ee4785d493f29abee (patch) | |
tree | b5e1ca6a9820274b94ff298ad44f0a333252ddc0 /guix/scripts | |
parent | 64bef450d9c3a94d22fbdbd28f365ed416d1cf3b (diff) |
ui: Produce hyperlinks for the 'location' field of search results.
This affects the output of 'guix show', 'guix search', and 'guix system
search'.
* guix/ui.scm (hyperlink, supports-hyperlinks?, location->hyperlink):
New procedures.
(package->recutils): Add #:hyperlinks? and honor it.
(display-search-results): Pass #:hyperlinks? to PRINT.
* guix/scripts/system/search.scm (service-type->recutils): Add
#:hyperlinks? and honor it.
Diffstat (limited to 'guix/scripts')
-rw-r--r-- | guix/scripts/system/search.scm | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/guix/scripts/system/search.scm b/guix/scripts/system/search.scm index 5278062edd..d2eac06cca 100644 --- a/guix/scripts/system/search.scm +++ b/guix/scripts/system/search.scm @@ -65,9 +65,12 @@ provided TYPE has a default value." (define* (service-type->recutils type port #:optional (width (%text-width)) - #:key (extra-fields '())) + #:key + (extra-fields '()) + (hyperlinks? (supports-hyperlinks? port))) "Write to PORT a recutils record of TYPE, arranging to fit within WIDTH -columns." +columns. When HYPERLINKS? is true, emit hyperlink escape sequences when +appropriate." (define width* ;; The available number of columns once we've taken into account space for ;; the initial "+ " prefix. @@ -84,7 +87,8 @@ columns." ;; Note: Don't i18n field names so that people can post-process it. (format port "name: ~a~%" (service-type-name type)) (format port "location: ~a~%" - (or (and=> (service-type-location type) location->string) + (or (and=> (service-type-location type) + (if hyperlinks? location->hyperlink location->string)) (G_ "unknown"))) (format port "extends: ~a~%" |