[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/inspector 2b7721c678 25/39: tree-inspector: clos object
From: |
ELPA Syncer |
Subject: |
[elpa] externals/inspector 2b7721c678 25/39: tree-inspector: clos objects and structures inspectors |
Date: |
Sat, 10 Sep 2022 17:57:48 -0400 (EDT) |
branch: externals/inspector
commit 2b7721c678288ab8e2b121ae52ca5f97edd875da
Author: Mariano Montone <marianomontone@gmail.com>
Commit: Mariano Montone <marianomontone@gmail.com>
tree-inspector: clos objects and structures inspectors
---
tree-inspector.el | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/tree-inspector.el b/tree-inspector.el
index 45817fa622..756c1f9bc4 100644
--- a/tree-inspector.el
+++ b/tree-inspector.el
@@ -220,6 +220,30 @@ in a format understood by `kbd'. Commands a names of Lisp
functions."
(cl-defmethod tree-inspector--make-node ((object t))
(cond
+ ((eieio-object-p object)
+ (let ((node (treeview-new-node)))
+ (treeview-set-node-name node (tree-inspector--print-object object))
+ (tree-inspector--set-node-children
+ node (mapcar (lambda (slot)
+ (let ((child-node (tree-inspector--make-node
+ (slot-value object
(cl--slot-descriptor-name slot)))))
+ (treeview-set-node-name
+ child-node (format "%s: %s" (cl--slot-descriptor-name
slot) (treeview-get-node-name child-node)))
+ child-node))
+ (eieio-class-slots (eieio-object-class object))))
+ node))
+ ((cl-struct-p object)
+ (let ((node (treeview-new-node)))
+ (treeview-set-node-name node (tree-inspector--print-object object))
+ (tree-inspector--set-node-children
+ node (mapcar (lambda (slot)
+ (let ((child-node (tree-inspector--make-node
+ (cl-struct-slot-value (type-of object)
(car slot) object))))
+ (treeview-set-node-name
+ child-node (format "%s: %s" (car slot)
(treeview-get-node-name child-node)))
+ child-node))
+ (cdr (cl-struct-slot-info (type-of object)))))
+ node))
((recordp object)
(let ((node (treeview-new-node)))
(treeview-set-node-name node (tree-inspector--print-object object))
- [elpa] externals/inspector 15da8e2052 32/39: tree-inspector: refactoring, (continued)
- [elpa] externals/inspector 15da8e2052 32/39: tree-inspector: refactoring, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector cc661085b1 34/39: Adjustments, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector bc762c9359 38/39: tree-inspector: usage, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector f71647ba51 37/39: Long description formatting, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector 744b5e674d 33/39: tree-inspector: fix, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector 54c5b61f2c 35/39: tree-inspector: package requires, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector 0b213e931c 39/39: tree-inspector: adjustments, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector b63e68fb50 08/39: tree-inspector: lazy children, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector 09e5b1ce83 17/39: tests, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector 2c77eeb416 18/39: tree-inspector: plists, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector 2b7721c678 25/39: tree-inspector: clos objects and structures inspectors,
ELPA Syncer <=
- [elpa] externals/inspector e0905a94d3 29/39: tree-inspector: housekeeping, ELPA Syncer, 2022/09/10