[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/inspector 56579dae8a 05/39: tree-inspector: hash-table
From: |
ELPA Syncer |
Subject: |
[elpa] externals/inspector 56579dae8a 05/39: tree-inspector: hash-table inspector |
Date: |
Sat, 10 Sep 2022 17:57:46 -0400 (EDT) |
branch: externals/inspector
commit 56579dae8ad3ec9a997127ffc6263457d48f9dc0
Author: Mariano Montone <marianomontone@gmail.com>
Commit: Mariano Montone <marianomontone@gmail.com>
tree-inspector: hash-table inspector
---
tree-inspector.el | 34 ++++++++++++++++++++++++++++++----
1 file changed, 30 insertions(+), 4 deletions(-)
diff --git a/tree-inspector.el b/tree-inspector.el
index 67e4b5f56f..2a8e52c993 100644
--- a/tree-inspector.el
+++ b/tree-inspector.el
@@ -49,6 +49,11 @@
(treeview-set-node-name node (prin1-to-string object))
node))
+(cl-defmethod tree-inspector--make-node ((object symbol))
+ (let ((node (treeview-new-node)))
+ (treeview-set-node-name node (prin1-to-string object))
+ node))
+
(cl-defmethod tree-inspector--make-node ((object string))
(let ((node (treeview-new-node)))
(treeview-set-node-name node
@@ -71,6 +76,23 @@
object))
node))))
+(cl-defmethod tree-inspector--make-node ((object hash-table))
+ "tree-inspector node for hash-tables."
+ (let ((node (treeview-new-node)))
+ (treeview-set-node-name node (prin1-to-string object))
+ (let (children)
+ (dolist (key (hash-table-keys object))
+ (let ((child (treeview-new-node))
+ (value (gethash key object)))
+ (treeview-set-node-name child (format "%s=%s" key value))
+ (treeview-set-node-children child
+ (list
+ (tree-inspector--make-node key)
+ (tree-inspector--make-node value)))
+ (push child children)))
+ (treeview-set-node-children node children)
+ node)))
+
(defun tree-inspector--get-indent (node)
"Return the indentation of NODE."
(let ((indent ())
@@ -136,7 +158,6 @@ in a format understood by `kbd'. Commands a names of Lisp
functions."
:group 'tree-inspector
:type 'string)
-
(defun tree-inspector-inspect (data)
(let ((buffer (get-buffer-create (format "*tree-inspector: %s*" data))))
(with-current-buffer buffer
@@ -169,7 +190,12 @@ in a format understood by `kbd'. Commands a names of Lisp
functions."
(local-set-key (kbd "q") #'kill-current-buffer)
(switch-to-buffer buffer))))
+;; (tree-inspector-inspect 2)
+;; (tree-inspector-inspect (list 1 2 3))
+;; (tree-inspector-inspect (list 1 2 3 (list "lala" "sf")))
+ ;; (tree-inspector-inspect (let ((tab (make-hash-table)))
+ ;; (puthash 'a 22 tab)
+ ;; (puthash 'b 44 tab)
+ ;; tab))
+
-(tree-inspector-inspect 2)
-(tree-inspector-inspect (list 1 2 3))
-(tree-inspector-inspect (list 1 2 3 (list "lala" "sf")))
- [elpa] externals/inspector updated (f04c60a5d3 -> 0b213e931c), ELPA Syncer, 2022/09/10
- [elpa] externals/inspector e2e56201a0 01/39: Starting a tree-inspector with treeview, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector 06eb60bcff 03/39: tree-inspector: indentation, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector 56579dae8a 05/39: tree-inspector: hash-table inspector,
ELPA Syncer <=
- [elpa] externals/inspector 838b08706a 02/39: tree-inspector work, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector faf590dded 06/39: tree-inspector: alist inspector, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector 068b754a0a 07/39: tree-inspector: vectors, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector d43bb09ae9 11/39: tree-inspector: housekeeping, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector 4066d7b441 13/39: Starting some tree-inspector tests, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector 8b000e4e4e 15/39: tree-inspector: tests, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector 130c43c6b6 19/39: tree-inspector: records, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector 394fb22811 09/39: ..., ELPA Syncer, 2022/09/10
- [elpa] externals/inspector 98d3d56723 10/39: tree-inspector: provide, ELPA Syncer, 2022/09/10
- [elpa] externals/inspector 236ef196a0 24/39: tree-inspector: fixes, ELPA Syncer, 2022/09/10