diff options
author | zimoun <zimon.toutoune@gmail.com> | 2020-02-17 14:16:53 +0100 |
---|---|---|
committer | Pierre Neidhardt <mail@ambrevar.xyz> | 2020-02-24 11:01:52 +0100 |
commit | d7545a6b538813e88195d084f75a3e87065c999e (patch) | |
tree | ae0d9982e2a1f0132ec6935b6ae404b8c731c606 /guix | |
parent | 0aa0e1f8f49263975095fa9b485f48d17ae0914d (diff) | |
download | patches-d7545a6b538813e88195d084f75a3e87065c999e.tar patches-d7545a6b538813e88195d084f75a3e87065c999e.tar.gz |
ui: Only display link in capable terminals.
* guix/ui.scm (display-generation): Display generation path on new line.
* guix/scripts/describe.scm (channel-commit-hyperlink): Add TRANSFORMER argument.
(display-profile-content): Use TRANSFORMER argument to display URL explicitly
when terminal does not support hyperlinks.
Diffstat (limited to 'guix')
-rw-r--r-- | guix/scripts/describe.scm | 15 | ||||
-rw-r--r-- | guix/ui.scm | 2 |
2 files changed, 12 insertions, 5 deletions
diff --git a/guix/scripts/describe.scm b/guix/scripts/describe.scm index f13f221da9..5e00067ef8 100644 --- a/guix/scripts/describe.scm +++ b/guix/scripts/describe.scm @@ -201,7 +201,11 @@ way and displaying details about the channel's source code." (format #t (G_ " commit: ~a~%") (if (supports-hyperlinks?) (channel-commit-hyperlink channel commit) - commit)))) + commit)) + (when (not (supports-hyperlinks?)) + (format #t (G_ " URL: ~a~%") + (channel-commit-hyperlink channel commit + (lambda (url msg) url)))))) (_ #f))) ;; Show most recently installed packages last. @@ -233,9 +237,12 @@ way and displaying details about the channel's source code." (define* (channel-commit-hyperlink channel #:optional - (commit (channel-commit channel))) + (commit (channel-commit channel)) + (transformer hyperlink)) "Return a hyperlink for COMMIT in CHANNEL, using COMMIT as the hyperlink's -text. The hyperlink links to a web view of COMMIT, when available." +text. The hyperlink links to a web view of COMMIT, when available. +TRANSFORMER is a procedure of 2 arguments, a URI and text, and returns a +string for display." (let* ((url (channel-url channel)) (uri (string->uri url)) (host (and uri (uri-host uri)))) @@ -244,7 +251,7 @@ text. The hyperlink links to a web view of COMMIT, when available." (#f commit) ((_ template) - (hyperlink (template url commit) commit))) + (transformer (template url commit) commit))) commit))) diff --git a/guix/ui.scm b/guix/ui.scm index db932ecacb..371af4e047 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -1637,7 +1637,7 @@ DURATION-RELATION with the current time." (let* ((file (generation-file-name profile number)) (link (if (supports-hyperlinks?) (cut file-hyperlink file <>) - identity)) + (cut format #f (G_ "~a~%file: ~a") <> file))) (header (format #f (link (highlight (G_ "Generation ~a\t~a"))) number (date->string |