@@ -536,6 +536,12 @@ This does not include the NODE's namespace."
536536 (and (clojure-ts--symbol-node-p node)
537537 (string-equal expected-symbol-name (clojure-ts--named-node-text node))))
538538
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+
539545(defun clojure-ts--symbol-matches-p (symbol-regexp node )
540546 " Return non-nil if NODE is a symbol that matches SYMBOL-REGEXP."
541547 (and (clojure-ts--symbol-node-p node)
@@ -556,7 +562,7 @@ like \"defn\".
556562See `clojure-ts--definition-node-p' when an exact match is possible."
557563 (and
558564 (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 ))
560566 (child-txt (clojure-ts--named-node-text child)))
561567 (and (clojure-ts--symbol-node-p child)
562568 (string-match-p definition-type-regexp child-txt)))))
@@ -571,8 +577,8 @@ that a node is a definition is intended to be done elsewhere.
571577
572578Can be called directly, but intended for use as `treesit-defun-name-function' ."
573579 (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 )))
576582 (when (clojure-ts--symbol-node-p sym)
577583 ; ; Extracts ns and name, and recreates the full var name.
578584 ; ; We can't just get the node-text of the full symbol because
0 commit comments