summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-02-09 22:21:06 +0100
committerLudovic Courtès <ludo@gnu.org>2022-02-14 15:52:36 +0100
commit054ec2e242b2e5d89711c333f4048fc1d749eab6 (patch)
treef5cf5c21100d817243b9ddd13010a9bb515d2522
parent5b6e31b020678dbbc289479b8ff1853c3fbd2085 (diff)
pull: '--list-generations' pipes its output to the pager.
* guix/scripts/pull.scm (process-query): For 'list-generations queries, use 'with-paginated-output-port'. (display-news-entry-title): Pass second argument to 'highlight'. (display-news-entry): Pass second argument to 'dim'.
-rw-r--r--guix/scripts/pull.scm16
1 files changed, 12 insertions, 4 deletions
diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm
index a3bb6db8c6..205697b3bd 100644
--- a/guix/scripts/pull.scm
+++ b/guix/scripts/pull.scm
@@ -287,7 +287,8 @@ purposes."
(texi->plain-text title))
;; When Texinfo markup is invalid, display it as-is.
- (const title)))))))
+ (const title)))
+ (or (pager-wrapped-port port) port)))))
(define (display-news-entry entry channel language port)
"Display ENTRY, a <channel-news-entry> from CHANNEL, in LANGUAGE, a language
@@ -299,7 +300,8 @@ code, to PORT."
(channel-news-entry-commit entry))
(display-news-entry-title entry language port)
- (format port (dim (G_ " commit ~a~%"))
+ (format port (dim (G_ " commit ~a~%")
+ (or (pager-wrapped-port port) port))
(if (supports-hyperlinks?)
(channel-commit-hyperlink channel commit)
commit))
@@ -681,14 +683,20 @@ Return true when there is more package info to display."
(raise (condition (&profile-not-found-error
(profile profile)))))
((not pattern)
- (list-generations profile (profile-generations profile)))
+ (with-paginated-output-port port
+ (with-output-to-port port
+ (lambda ()
+ (list-generations profile (profile-generations profile))))))
((matching-generations pattern profile)
=>
(match-lambda
(()
(exit 1))
((numbers ...)
- (list-generations profile numbers)))))))
+ (with-paginated-output-port port
+ (with-output-to-port port
+ (lambda ()
+ (list-generations profile numbers))))))))))
(('display-news)
(display-news profile))))