diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-11-28 13:08:49 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-11-28 13:30:53 +0100 |
commit | fa983b825748bedb795a8105fad53c8548ca57d3 (patch) | |
tree | a76a9847c7fafd237803bcce331ab223a163fbf7 | |
parent | 73765c91cea305ee8582e80faed08172ecd226f8 (diff) |
ui: Add 'file-hyperlink'.
* guix/ui.scm (file-hyperlink): New procedure.
(location->hyperlink): Use it.
-rw-r--r-- | guix/ui.scm | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/guix/ui.scm b/guix/ui.scm index 12611cb2bc..afa6d94829 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -111,6 +111,7 @@ package-specification->name+version+output supports-hyperlinks? + file-hyperlink location->hyperlink relevance @@ -1255,6 +1256,13 @@ documented at (and (isatty?* port) (not (getenv "INSIDE_EMACS")))) +(define* (file-hyperlink file #:optional (text file)) + "Return TEXT with escapes for a hyperlink to FILE." + (hyperlink (string-append "file://" (gethostname) + (encode-and-join-uri-path + (string-split file #\/))) + text)) + (define (location->hyperlink location) "Return a string corresponding to LOCATION, with escapes for a hyperlink." (let ((str (location->string location)) @@ -1262,10 +1270,7 @@ documented at (location-file location) (search-path %load-path (location-file location))))) (if file - (hyperlink (string-append "file://" (gethostname) - (encode-and-join-uri-path - (string-split file #\/))) - str) + (file-hyperlink file str) str))) (define* (package->recutils p port #:optional (width (%text-width)) |