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 | |