aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/progmodes/java-ts-mode.el
diff options
context:
space:
mode:
authorYuan Fu2022-11-20 16:56:33 -0800
committerYuan Fu2022-11-20 17:04:58 -0800
commit32870d2f207536bb7932beeb2e0ec9a4e0146560 (patch)
tree7178d8a11d9b575306118a3fddbcd39e284bb359 /lisp/progmodes/java-ts-mode.el
parent625ea08652053617034bf8ceee0d6cfae34f2dcc (diff)
downloademacs-32870d2f207536bb7932beeb2e0ec9a4e0146560.tar.gz
emacs-32870d2f207536bb7932beeb2e0ec9a4e0146560.zip
Limit recursion level for tree-sitter imenu functions
Generating imenu index doesn't require going down to the bottom of the tree (defun's are usually top-level). Add limit so we don't go too far down on very large buffers. * lisp/progmodes/c-ts-mode.el (c-ts-mode--imenu) * lisp/progmodes/java-ts-mode.el (java-ts-mode--imenu) * lisp/progmodes/js.el (js--treesit-imenu) * lisp/progmodes/json-ts-mode.el (json-ts-mode--imenu) * lisp/progmodes/python.el (python-imenu-treesit-create-index) * lisp/textmodes/css-mode.el (css--treesit-imenu): Add limit to treesit-induce-sparse-tree.
Diffstat (limited to 'lisp/progmodes/java-ts-mode.el')
-rw-r--r--lisp/progmodes/java-ts-mode.el10
1 files changed, 5 insertions, 5 deletions
diff --git a/lisp/progmodes/java-ts-mode.el b/lisp/progmodes/java-ts-mode.el
index 6a800d292c8..62962b7293b 100644
--- a/lisp/progmodes/java-ts-mode.el
+++ b/lisp/progmodes/java-ts-mode.el
@@ -246,23 +246,23 @@ the subtrees."
246 (class-tree 246 (class-tree
247 `("Class" . ,(java-ts-mode--imenu-1 247 `("Class" . ,(java-ts-mode--imenu-1
248 (treesit-induce-sparse-tree 248 (treesit-induce-sparse-tree
249 node "^class_declaration$")))) 249 node "^class_declaration$" nil 1000))))
250 (interface-tree 250 (interface-tree
251 `("Interface" . ,(java-ts-mode--imenu-1 251 `("Interface" . ,(java-ts-mode--imenu-1
252 (treesit-induce-sparse-tree 252 (treesit-induce-sparse-tree
253 node "^interface_declaration$")))) 253 node "^interface_declaration$" nil 1000))))
254 (enum-tree 254 (enum-tree
255 `("Enum" . ,(java-ts-mode--imenu-1 255 `("Enum" . ,(java-ts-mode--imenu-1
256 (treesit-induce-sparse-tree 256 (treesit-induce-sparse-tree
257 node "^enum_declaration$")))) 257 node "^enum_declaration$" nil 1000))))
258 (record-tree 258 (record-tree
259 `("Record" . ,(java-ts-mode--imenu-1 259 `("Record" . ,(java-ts-mode--imenu-1
260 (treesit-induce-sparse-tree 260 (treesit-induce-sparse-tree
261 node "^record_declaration$")))) 261 node "^record_declaration$" nil 1000))))
262 (method-tree 262 (method-tree
263 `("Method" . ,(java-ts-mode--imenu-1 263 `("Method" . ,(java-ts-mode--imenu-1
264 (treesit-induce-sparse-tree 264 (treesit-induce-sparse-tree
265 node "^method_declaration$"))))) 265 node "^method_declaration$" nil 1000)))))
266 (cl-remove-if 266 (cl-remove-if
267 #'null 267 #'null
268 `(,(when (cdr class-tree) class-tree) 268 `(,(when (cdr class-tree) class-tree)