mirror of
https://github.com/roswell/roswell.git
synced 2026-09-10 07:16:17 -04:00
26 lines
960 B
Common Lisp
26 lines
960 B
Common Lisp
(defpackage :roswell.dist.list
|
|
(:use :cl)
|
|
(:shadow :list))
|
|
(in-package :roswell.dist.list)
|
|
|
|
(defun list (&rest r)
|
|
(if (second r)
|
|
(dolist (system (ql:provided-systems
|
|
(ql-dist:find-dist (second r))))
|
|
(format t "~A~%" (ql-dist:short-description system)))
|
|
(let* ((dists (sort (ql-dist:all-dists) #'> :key #'ql-dist:preference))
|
|
len1 len2)
|
|
(loop for dist in dists
|
|
maximize (length (ql-dist:name dist)) into name
|
|
maximize (length (ql-dist:version dist)) into version
|
|
finally (setf len1 name
|
|
len2 version))
|
|
(dolist (dist dists)
|
|
(format t "~A~vA ~vA ~A~%"
|
|
(if (ql-dist:enabledp dist) " " "#")
|
|
len1
|
|
(ql-dist:name dist)
|
|
len2
|
|
(ql-dist:version dist)
|
|
(or (ql-dist::distinfo-subscription-url dist) ""))))))
|