Final New Description patch!
[clinton/lisp-on-lines.git] / src / standard-descriptions / inline.lisp
CommitLineData
6de8d300 1(in-package :lisp-on-lines)
2
3(define-description inline ())
4
5(define-description t ()
6 ((identity :label nil)
b7657b86 7 (active-attributes :value '(identity))
8 (attribute-delimiter :value ", ")
9 (label-formatter :value (curry #'format nil "~A: "))
10 (value-formatter :value (curry #'format nil "~A")))
6de8d300 11 (:in-description inline))
12
b7657b86 13(define-layered-class standard-attribute
14 :in-layer #.(defining-description 'inline)
15 ()
16 ())
17
f56d6e7e 18(defun display-inline (object &rest args)
19 (with-active-descriptions (inline)
20 (apply #'display *display* object args)))
21
22(defun display-inline-attribute (attribute value)
23 (if (ignore-errors (lol::attribute-active-attributes attribute))
24 (handler-case (display-inline value :attributes (lol::attribute-active-attributes attribute))
25 (error ()
26 (display-inline value)))
27 (display-inline value)))
28
29
3ca0fb81 30