roswell.roswell/lisp/list.ros
2017-09-03 16:30:58 +09:00

35 lines
1 KiB
Common Lisp

#!/bin/sh
#|-*- mode:lisp -*-|#
#|List Information
exec ros +Q -m roswell -N roswell -- $0 "$@"
|#
(progn
(roswell:include "util")
(roswell:include "system"))
(defpackage :ros.script.list.3672012243
(:use :cl :roswell.util))
(in-package :ros.script.list.3672012243)
(system "list-versions")
(system "list-installed")
(system "list-dump")
(defun main (&rest r)
(if (null r)
(progn
(format *error-output* "Possible subcommands:~%")
(finish-output *error-output*)
(format t "~{~A~%~}"
(sort (loop for x in (asdf:registered-systems)
when (ignore-errors (string-equal "roswell.list." x :end2 13))
collect (subseq x 13))
#'string<)))
(let ((func (let ((*error-output* (make-broadcast-stream)))
(module "list" (first r)))))
(if func
(apply func (rest r))
(format *error-output* "not suppported type for list~%")))))
;;; vim: set ft=lisp lisp: