diff options
author | Ludovic Courtès <ludo@gnu.org> | 2022-02-09 22:21:06 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-02-14 15:52:36 +0100 |
commit | 054ec2e242b2e5d89711c333f4048fc1d749eab6 (patch) | |
tree | f5cf5c21100d817243b9ddd13010a9bb515d2522 | |
parent | 5b6e31b020678dbbc289479b8ff1853c3fbd2085 (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.scm | 16 |
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)))) |