emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/lua-mode d91bf2b 011/468: new buffer-local variable: lua-e


From: Philip Kaludercic
Subject: [nongnu] elpa/lua-mode d91bf2b 011/468: new buffer-local variable: lua-electric-flag
Date: Thu, 5 Aug 2021 04:57:58 -0400 (EDT)

branch: elpa/lua-mode
commit d91bf2b1f3a36d2c1e8147d2e0760595b482ce4a
Author: juergen <juergen>
Commit: juergen <juergen>

    new buffer-local variable: lua-electric-flag
    new function: lua-toggle-electric-state
---
 lua-mode.el | 32 ++++++++++++++++++++++++++++++--
 1 file changed, 30 insertions(+), 2 deletions(-)

diff --git a/lua-mode.el b/lua-mode.el
index 698783f..b7f5857 100755
--- a/lua-mode.el
+++ b/lua-mode.el
@@ -28,7 +28,7 @@
 ;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 ;; MA 02110-1301, USA.
 
-(defconst lua-version "20060528"
+(defconst lua-version "20060620"
   "Lua Mode version number.")
 
 ;; Keywords: languages, processes, tools
@@ -119,6 +119,11 @@ Should be a list of strings."
 (defvar lua-mode-map nil
   "Keymap used with lua-mode.")
 
+(defvar lua-electric-flag t
+"If t, electric actions (like automatic reindentation)  will happen when an 
electric
+ key like `{' is pressed") 
+(make-variable-buffer-local 'lua-electric-flag)
+
 (defcustom lua-prefix-key "\C-c"
   "Prefix for all lua-mode commands."
   :type 'string
@@ -329,7 +334,8 @@ to `lua-mode-map', otherwise they are prefixed with 
`lua-prefix-key'."
   "Insert character and adjust indentation."
   (interactive "P")
   (insert-char last-command-char (prefix-numeric-value arg))
-  (lua-indent-line)
+  (if lua-electric-flag 
+      (lua-indent-line))
   (blink-matching-open))
 
 ;;}}}
@@ -1133,7 +1139,29 @@ t, otherwise return nil.  BUF must exist."
   (browse-url (concat lua-search-url-prefix (current-word t))))
 
 ;;}}}
+;;{{{ lua-calculate-state
+
+(defun lua-calculate-state (arg prevstate)
+  ;; Calculate the new state of PREVSTATE, t or nil, based on arg. If
+  ;; arg is nil or zero, toggle the state. If arg is negative, turn
+  ;; the state off, and if arg is positive, turn the state on
+  (if (or (not arg)
+         (zerop (setq arg (prefix-numeric-value arg))))
+      (not prevstate)
+    (> arg 0)))
+
+;;}}}
+;;{{{ lua-toggle-electric-state
 
+(defun lua-toggle-electric-state (&optional arg)
+  "Toggle the electric indentation feature.
+Optional numeric ARG, if supplied, turns on electric indentation when
+positive, turns it off when negative, and just toggles it when zero or
+left out."
+  (interactive "P")
+  (setq lua-electric-flag (lua-calculate-state arg lua-electric-flag)))
+
+;;}}}
 ;;{{{ menu bar
 
 (define-key lua-mode-menu [restart-with-whole-file]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]