branch: elpa/lua-mode
commit 742180e151cc2e5c331cd204ee70cb417d87ac6b
Author: immerrr <[email protected]>
Commit: immerrr <[email protected]>
lua-automark-multiline: add lua-automark-multiline-maxsize variable to
prevent long waits on big files
---
lua-mode.el | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/lua-mode.el b/lua-mode.el
index a7cc482..9a3f5ad 100644
--- a/lua-mode.el
+++ b/lua-mode.el
@@ -1289,7 +1289,7 @@ If END is nil, stop at `end-of-buffer'."
(add-hook 'change-major-mode-hook 'lua--automark-multiline-cleanup nil
'local)
(setq lua-automark-multiline-timer
(run-with-idle-timer lua-automark-multiline-interval 'repeat
- 'lua-mark-all-multiline-literals))))
+ 'lua--automark-multiline-run))))
(defun lua--automark-multiline-cleanup ()
"Disable automatical multiline construct marking"
@@ -1297,6 +1297,10 @@ If END is nil, stop at `end-of-buffer'."
(cancel-timer lua-automark-multiline-timer)
(setq lua-automark-multiline-timer nil)))
+(defun lua--automark-multiline-run ()
+ (when (<= (buffer-size) lua-automark-multiline-maxsize)
+ (lua-mark-all-multiline-literals)))
+
(defun lua--customize-set-automark-multiline-interval (symbol value)
(set symbol value)
(dolist (buf (buffer-list))
@@ -1310,6 +1314,11 @@ If END is nil, stop at `end-of-buffer'."
:type 'integer
:set 'lua--customize-set-automark-multiline-interval)
+(defcustom lua-automark-multiline-maxsize 100000
+ "Maximum buffer size for which lua-mode will mark multiline literals
automatically."
+ :group 'lua
+ :type 'integer)
+
(provide 'lua-mode)
;;; lua-mode.el ends here