@@ -528,6 +528,10 @@ with the markdown_inline grammar."
528
528
" Return non-nil if NODE is a Clojure metadata node."
529
529
(string-equal " meta_lit" (treesit-node-type node)))
530
530
531
+ (defun clojure-ts--var-node-p (node )
532
+ " Return non-nil if NODE is a var (eg. #\\ 'foo)."
533
+ (string-equal " var_quoting_lit" (treesit-node-type node)))
534
+
531
535
(defun clojure-ts--named-node-text (node )
532
536
" Gets the name of a symbol or keyword NODE.
533
537
This does not include the NODE's namespace."
@@ -616,13 +620,13 @@ Includes a dispatch value when applicable (defmethods)."
616
620
" Return non-nil if NODE is a ns form."
617
621
(clojure-ts--definition-node-p " ns" node))
618
622
619
- (defvar clojure-ts--variable-type-regexp
623
+ (defvar clojure-ts--variable-definition- type-regexp
620
624
(rx string-start (or " def" " defonce" ) string-end)
621
625
" Regular expression for matching definition nodes that resemble variables." )
622
626
623
- (defun clojure-ts--variable-node-p (node )
627
+ (defun clojure-ts--variable-definition- node-p (node )
624
628
" Return non-nil if NODE is a def or defonce form."
625
- (clojure-ts--definition-node-match-p clojure-ts--variable-type-regexp node))
629
+ (clojure-ts--definition-node-match-p clojure-ts--variable-definition- type-regexp node))
626
630
627
631
(defvar clojure-ts--class-type-regexp
628
632
(rx string-start (or " deftype" " defrecord" " defstruct" ) string-end)
@@ -647,7 +651,7 @@ Includes a dispatch value when applicable (defmethods)."
647
651
; ; Used instead of treesit-defun-name-function.
648
652
clojure-ts--function-node-name)
649
653
(" Macro" " list_lit" clojure-ts--defmacro-node-p)
650
- (" Variable" " list_lit" clojure-ts--variable-node-p)
654
+ (" Variable" " list_lit" clojure-ts--variable-definition- node-p)
651
655
(" Interface" " list_lit" clojure-ts--interface-node-p)
652
656
(" Class" " list_lit" clojure-ts--class-node-p))
653
657
" The value for `treesit-simple-imenu-settings' .
@@ -735,7 +739,8 @@ https://github.com/weavejester/cljfmt/blob/fb26b22f569724b05c93eb2502592dfc2de89
735
739
(not (treesit-node-eq (treesit-node-child parent 1 t ) node))
736
740
(let ((first-child (treesit-node-child parent 0 t )))
737
741
(or (clojure-ts--symbol-node-p first-child)
738
- (clojure-ts--keyword-node-p first-child)))))
742
+ (clojure-ts--keyword-node-p first-child)
743
+ (clojure-ts--var-node-p first-child)))))
739
744
740
745
(defun clojure-ts--match-expression-in-body (node parent _bol )
741
746
" Match NODE if it is an expression used in a body argument.
0 commit comments