@@ -536,6 +536,12 @@ This does not include the NODE's namespace."
536
536
(and (clojure-ts--symbol-node-p node)
537
537
(string-equal expected-symbol-name (clojure-ts--named-node-text node))))
538
538
539
+ (defun clojure-ts--node-child-skip-meta (node n )
540
+ " Returns the Nth child of node like treesit-node-child, but skips the optional meta node at pos 0."
541
+ (let* ((first-child (treesit-node-child node 0 t ))
542
+ (n1 (if (clojure-ts--meta-node-p first-child) (1+ n) n)))
543
+ (treesit-node-child node n1 t )))
544
+
539
545
(defun clojure-ts--symbol-matches-p (symbol-regexp node )
540
546
" Return non-nil if NODE is a symbol that matches SYMBOL-REGEXP."
541
547
(and (clojure-ts--symbol-node-p node)
@@ -556,7 +562,7 @@ like \"defn\".
556
562
See `clojure-ts--definition-node-p' when an exact match is possible."
557
563
(and
558
564
(clojure-ts--list-node-p node)
559
- (let* ((child (treesit- node-child node 0 t ))
565
+ (let* ((child (clojure-ts-- node-child-skip-meta node 0 ))
560
566
(child-txt (clojure-ts--named-node-text child)))
561
567
(and (clojure-ts--symbol-node-p child)
562
568
(string-match-p definition-type-regexp child-txt)))))
@@ -571,8 +577,8 @@ that a node is a definition is intended to be done elsewhere.
571
577
572
578
Can be called directly, but intended for use as `treesit-defun-name-function' ."
573
579
(when (and (clojure-ts--list-node-p node)
574
- (clojure-ts--symbol-node-p (treesit- node-child node 0 t )))
575
- (let ((sym (treesit- node-child node 1 t )))
580
+ (clojure-ts--symbol-node-p (clojure-ts-- node-child-skip-meta node 0 )))
581
+ (let ((sym (clojure-ts-- node-child-skip-meta node 1 )))
576
582
(when (clojure-ts--symbol-node-p sym)
577
583
; ; Extracts ns and name, and recreates the full var name.
578
584
; ; We can't just get the node-text of the full symbol because
0 commit comments