52
52
; ;; Code:
53
53
(require 'treesit )
54
54
55
+ (declare-function treesit-parser-create " treesit.c" )
56
+ (declare-function treesit-node-type " treesit.c" )
57
+ (declare-function treesit-node-child " treesit.c" )
58
+ (declare-function treesit-node-child-by-field-name " treesit.c" )
59
+
55
60
(defconst clojure-ts-mode-version
56
61
(eval-when-compile
57
62
(lm-version (or load-file-name buffer-file-name)))
@@ -361,6 +366,10 @@ DEFINITION-TYPE-NAME might be a string like defn, def, defmulti, etc."
361
366
" Return non-nil if NODE is a defn form."
362
367
(clojure-ts-mode--definition-node-p " defn" node))
363
368
369
+ (defun clojure-ts-mode--defmacro-node-p (node )
370
+ " Return non-nil if NODE is a defmacro form."
371
+ (clojure-ts-mode--definition-node-p " defmacro" node))
372
+
364
373
(defun clojure-ts-mode--ns-node-p (node )
365
374
" Return non-nil if NODE is a ns form."
366
375
(clojure-ts-mode--definition-node-p " ns" node))
@@ -383,7 +392,9 @@ The node representing (ns user) would return user."
383
392
(defvar clojure-ts-mode--imenu-settings
384
393
`((" Namespace" " list_lit" clojure-ts-mode--ns-node-p
385
394
clojure-ts-mode--standard-definition-node-name)
386
- (" Definition" " list_lit" clojure-ts-mode--defn-node-p
395
+ (" Function" " list_lit" clojure-ts-mode--defn-node-p
396
+ clojure-ts-mode--standard-definition-node-name)
397
+ (" Macro" " list_lit" clojure-ts-mode--defmacro-node-p
387
398
clojure-ts-mode--standard-definition-node-name)
388
399
(" Variable" " list_lit" clojure-ts-mode--def-node-p
389
400
clojure-ts-mode--standard-definition-node-name)))
0 commit comments