branch: master
commit 19be33722e1a8df214335809c8d6a3331f64511b
Merge: d76b4df bf61e6f
Author: Dmitry Gutov <[email protected]>
Commit: GitHub <[email protected]>
Merge pull request #496 from wyuenho/bug495
Fix #495 Aggressively reparse in js2-mode-create-imenu-index if 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