Coverage report: /home/ellis/comp/core/lib/doc/dist.lisp
Kind | Covered | All | % |
expression | 10 | 43 | 23.3 |
branch | 1 | 2 | 50.0 |
Key
Not instrumented
Conditionalized out
Executed
Not executed
Both branches taken
One branch taken
Neither branch taken
1
;;; doc/dist.lisp --- Lisp Distribution Documentation
3
;; Documentation utilities for Lisp 'Distributions'. Typically this
4
;; refers specifically to objects of type QL-DIST:DIST.
8
;; public distros: Quicklisp, Ultralisp
13
(defclass dist-documentation ()
14
((dist :initarg :dist :type dist :accessor doc-dist)))
16
(defmethod doc-systems ((self dist-documentation))
17
(provided-systems (doc-dist self)))
19
(defun dist-documentation (dist)
20
"Return the DIST-DOCUMENTATION for a specified DIST."
21
(let ((dist (if (typep dist 'dist)
23
(find-dist (string-downcase dist)))))
24
(make-instance 'dist-documentation :dist dist)))
26
(defmethod print-object ((self dist-documentation) stream)
27
(print-unreadable-object (self stream :type t)
28
(format stream "~S :systems ~A" (doc-dist self) (length (doc-systems self)))))
30
;; maybe except an additional key for specific file types and maybe
31
;; include system def files..
32
(defmethod doc-pathnames ((self dist-documentation))
33
"Return a list of source pathnames from SELF. Includes files and directories."
37
(doc-systems self)))))
39
(defmethod doc-directories ((self dist-documentation))
40
"Return a list of source directories from SELF."
41
(remove-if #'uiop:file-pathname-p (doc-pathnames self)))
43
(defmethod doc-files ((self dist-documentation))
44
"Return a list of source files from SELF."
45
(remove-if #'uiop:directory-pathname-p (doc-pathnames self)))