emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/inspector 2c77eeb416 18/39: tree-inspector: plists


From: ELPA Syncer
Subject: [elpa] externals/inspector 2c77eeb416 18/39: tree-inspector: plists
Date: Sat, 10 Sep 2022 17:57:47 -0400 (EDT)

branch: externals/inspector
commit 2c77eeb416a99e052bfba87bf54d7c9c1960d7bc
Author: Mariano Montone <marianomontone@gmail.com>
Commit: Mariano Montone <marianomontone@gmail.com>

    tree-inspector: plists
---
 tree-inspector-tests.el | 26 ++++++++++----------------
 tree-inspector.el       | 44 ++++++++++++++++++++++++++++++++++++++++----
 2 files changed, 50 insertions(+), 20 deletions(-)

diff --git a/tree-inspector-tests.el b/tree-inspector-tests.el
index 6d7f7feb5c..6f9bf8595d 100644
--- a/tree-inspector-tests.el
+++ b/tree-inspector-tests.el
@@ -144,26 +144,20 @@
    (should (cl-search "33" buffer-string))
    (should (cl-search "44" buffer-string))))
 
-(ert-deftest inspector-tests--inspect-plist-test ()
-  (inspector-inspect '(:a 33 :b 44))
-  (let ((buffer-string (buffer-string)))
-    (when inspector-use-specialized-inspectors-for-lists
-      (should (cl-search "property list" buffer-string)))
-    (should (cl-search "a" buffer-string))
-    (should (cl-search "b" buffer-string))
-    (should (cl-search "33" buffer-string))
-    (should (cl-search "44" buffer-string))
-    (inspector-quit))
+(ert-deftest tree-inspector-tests--inspect-plist-test ()
+  (tree-inspector-tests--with-tree-inspector-contents
+   (buffer-string '(:a 33 :b 44))
+   (should (cl-search "a" buffer-string))
+   (should (cl-search "b" buffer-string))
+   (should (cl-search "33" buffer-string))
+   (should (cl-search "44" buffer-string)))
 
-  (inspector-inspect '(a 33 b 44))
-  (let ((buffer-string (buffer-string)))
-    (when inspector-use-specialized-inspectors-for-lists
-      (should (cl-search "property list" buffer-string)))
+  (tree-inspector-tests--with-tree-inspector-contents
+   (buffer-string '(a 33 b 44))
     (should (cl-search "a" buffer-string))
     (should (cl-search "b" buffer-string))
     (should (cl-search "33" buffer-string))
-    (should (cl-search "44" buffer-string))
-    (inspector-quit)))
+    (should (cl-search "44" buffer-string))))
 
 (ert-deftest inspector-tests--inspect-hash-table-test ()
   (inspector-inspect (let ((table (make-hash-table)))
diff --git a/tree-inspector.el b/tree-inspector.el
index 9ace580d48..62e1002d63 100644
--- a/tree-inspector.el
+++ b/tree-inspector.el
@@ -187,6 +187,20 @@ in a format understood by `kbd'.  Commands a names of Lisp 
functions."
                              (tree-inspector--make-node (cdr cons))))
                 child))
             object))
+   ;; plists
+   ((and tree-inspector-use-specialized-inspectors-for-lists
+         (tree-inspector--plistp object))
+    (mapcar (lambda (cons)
+              (let ((child (treeview-new-node)))
+                (treeview-set-node-name
+                 child (format "%s %s"
+                               (tree-inspector--print-object (car cons))
+                               (tree-inspector--print-object (cdr cons))))
+                (tree-inspector--set-node-children
+                 child (list (tree-inspector--make-node (car cons))
+                             (tree-inspector--make-node (cdr cons))))
+                child))
+            (cl--plist-to-alist object)))
    ;; proper lists
    ((tree-inspector--proper-list-p object)
     (mapcar (lambda (item)
@@ -231,8 +245,8 @@ in a format understood by `kbd'.  Commands a names of Lisp 
functions."
 
 (cl-defmethod tree-inspector--make-node ((object string))
   (let ((node (treeview-new-node)))
-    (treeview-set-node-name node
-                            (tree-inspector--print-object object))
+    (treeview-set-node-name
+     node (tree-inspector--print-object object))
     node))
 
 (cl-defmethod tree-inspector--make-node  ((object cons))
@@ -260,8 +274,30 @@ in a format understood by `kbd'.  Commands a names of Lisp 
functions."
       ;;              child))
       ;;          object))
       node))
-   ;; proper lists
-   ((tree-inspector--proper-list-p object)
+   ;; alists
+   ((and tree-inspector-use-specialized-inspectors-for-lists
+         (tree-inspector--alistp object))
+    (let ((node (treeview-new-node)))
+      (treeview-set-node-name
+       node
+       (tree-inspector--print-object object))
+      (treeview-set-node-prop node 'object object)
+      ;; (treeview-set-node-children
+      ;;  node
+      ;;  (mapcar (lambda (cons)
+      ;;            (let ((child (treeview-new-node)))
+      ;;              (treeview-set-node-name
+      ;;               child (format "(%s . %s)"
+      ;;                             (tree-inspector--print-object (car cons))
+      ;;                             (tree-inspector--print-object (cdr 
cons))))
+      ;;              (treeview-set-node-children
+      ;;               child (list (tree-inspector--make-node (car cons))
+      ;;                           (tree-inspector--make-node (cdr cons))))
+      ;;              child))
+      ;;          object))
+      node))   
+   ;; plists
+   ((tree-inspector--plistp object)
     (let ((node (treeview-new-node)))
       (treeview-set-node-name
        node (tree-inspector--print-object object))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]