Skip to content

Commit 0b3cfb3

Browse files
authored
Show field names in tree-sitter-debug-mode (#281)
1 parent e67aae9 commit 0b3cfb3

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

lisp/tree-sitter-debug.el

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,14 @@ This only takes effect if `tree-sitter-debug-jump-buttons' is non-nil."
5757
(push-mark (byte-to-position (cdr byte-range))
5858
tree-sitter-debug-highlight-jump-region))
5959

60-
(defun tree-sitter-debug--display-node (named-p type start-byte end-byte depth)
60+
(defun tree-sitter-debug--display-node (named-p type start-byte end-byte depth field)
6161
"Display NODE that appears at the given DEPTH in the syntax tree."
6262
(when named-p
6363
(insert (make-string (* 2 depth) ?\ ))
64-
(let ((node-text (format "%s:" type)))
64+
(let* ((field-text (if field
65+
(format " (%s)" field)
66+
""))
67+
(node-text (format "%s%s:" type field-text)))
6568
(if tree-sitter-debug-jump-buttons
6669
(insert-button node-text
6770
'action 'tree-sitter-debug--button-node-lookup
@@ -82,19 +85,19 @@ This only takes effect if `tree-sitter-debug-jump-buttons' is non-nil."
8285
(pcase tree-sitter-debug-traversal-method
8386
(:mapc (tsc-traverse-mapc
8487
(lambda (props)
85-
(pcase-let ((`[,named-p ,type ,start-byte ,end-byte ,depth] props))
88+
(pcase-let ((`[,named-p ,type ,start-byte ,end-byte ,depth ,field] props))
8689
(tree-sitter-debug--display-node
87-
named-p type start-byte end-byte depth)))
90+
named-p type start-byte end-byte depth field)))
8891
tree
89-
[:named-p :type :start-byte :end-byte :depth]))
92+
[:named-p :type :start-byte :end-byte :depth :field]))
9093
(:iter (iter-do (props (tsc-traverse-iter
91-
tree [:named-p :type :start-byte :end-byte :depth]))
92-
(pcase-let ((`[,named-p ,type ,start-byte ,end-byte ,depth] props))
94+
tree [:named-p :type :start-byte :end-byte :depth :field]))
95+
(pcase-let ((`[,named-p ,type ,start-byte ,end-byte ,depth ,field] props))
9396
(tree-sitter-debug--display-node
94-
named-p type start-byte end-byte depth))))
95-
(:do (tsc-traverse-do ([named-p type start-byte end-byte depth] tree)
97+
named-p type start-byte end-byte depth field))))
98+
(:do (tsc-traverse-do ([named-p type start-byte end-byte depth field] tree)
9699
(tree-sitter-debug--display-node
97-
named-p type start-byte end-byte depth))))))))
100+
named-p type start-byte end-byte depth field))))))))
98101

99102
(defun tree-sitter-debug--setup ()
100103
"Set up syntax tree debugging in the current buffer."

0 commit comments

Comments
 (0)