From c3454179249c84651f50fdfb88950b66f5760923 Mon Sep 17 00:00:00 2001
From: Steve Sprang
Date: Tue, 9 Jan 2018 14:10:04 -0800
Subject: [PATCH 2/3] package: Improve output appearance when listing packages.
* guix/scripts/package.scm (process-query): Use pretty-print-table when listing installed and available packages.
---
guix/scripts/package.scm | 37 ++++++++++++++++++-------------------
1 file changed, 18 insertions(+), 19 deletions(-)
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index 617e102d9..ced85f850 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -723,15 +723,14 @@ processed, #f otherwise."
(manifest (profile-manifest profile))
(installed (manifest-entries manifest)))
(leave-on-EPIPE
- (for-each (match-lambda
- (($ name version output path _)
- (when (or (not regexp)
- (regexp-exec regexp name))
- (format #t "~a\t~a\t~a\t~a~%"
- name (or version "?") output path))))
-
- ;; Show most recently installed packages last.
- (reverse installed)))
+ (let ((rows (filter-map
+ (match-lambda
+ (($ name version output path _)
+ (and (regexp-exec regexp name)
+ (list name (or version "?") output path))))
+ installed)))
+ ;; Show most recently installed packages last.
+ (pretty-print-table (reverse rows))))
#t))
(('list-available regexp)
@@ -749,16 +748,16 @@ processed, #f otherwise."
r)))
'())))
(leave-on-EPIPE
- (for-each (lambda (p)
- (format #t "~a\t~a\t~a\t~a~%"
- (package-name p)
- (package-version p)
- (string-join (package-outputs p) ",")
- (location->string (package-location p))))
- (sort available
- (lambda (p1 p2)
- (string (package-name p1)
- (package-name p2))))))
+ (let ((rows (map (lambda (p)
+ (list (package-name p)
+ (package-version p)
+ (string-join (package-outputs p) ",")
+ (location->string (package-location p))))
+ (sort available
+ (lambda (p1 p2)
+ (string (package-name p1)
+ (package-name p2)))))))
+ (pretty-print-table rows)))
#t))
(('search _)
--
2.15.1