branch: master
commit bf61e6f2fde6c487ecc30ad30e608c928d318d4d
Author: Jimmy Yuen Ho Wong <[email protected]>
Commit: Jimmy Yuen Ho Wong <[email protected]>
Fix #495 Aggressively reparse during imenu-create-index when possible
---
js2-mode.el | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/js2-mode.el b/js2-mode.el
index a1da18b..2872dbd 100644
--- a/js2-mode.el
+++ b/js2-mode.el
@@ -12577,8 +12577,11 @@ destroying the region selection."
(goto-char (cl-cadadr e))))))
(defun js2-mode-create-imenu-index ()
- "Return an alist for `imenu--index-alist'."
- ;; This is built up in `js2-parse-record-imenu' during parsing.
+ "Returns an alist for `imenu--index-alist'. Returns nil on first
+scan if buffer size > `imenu-auto-rescan-maxout'."
+ (when (and (not js2-mode-ast)
+ (<= (buffer-size) imenu-auto-rescan-maxout))
+ (js2-reparse))
(when js2-mode-ast
;; if we have an ast but no recorder, they're requesting a rescan
(unless js2-imenu-recorder