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

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

[nongnu] elpa/lua-mode bb9330f 132/468: Fix string contents indentation


From: Philip Kaludercic
Subject: [nongnu] elpa/lua-mode bb9330f 132/468: Fix string contents indentation (issue #6)
Date: Thu, 5 Aug 2021 04:58:22 -0400 (EDT)

branch: elpa/lua-mode
commit bb9330f81af5e18d1d2b32794e7c4812989c1761
Author: immerrr <immerrr+lua@gmail.com>
Commit: immerrr <immerrr+lua@gmail.com>

    Fix string contents indentation (issue #6)
---
 lua-mode.el | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/lua-mode.el b/lua-mode.el
index de9d4bd..57ccd20 100644
--- a/lua-mode.el
+++ b/lua-mode.el
@@ -450,19 +450,16 @@ Return the amount the indentation changed by."
         ;; save point as a distance to eob - it's invariant w.r.t indentation
         (pos (- (point-max) (point))))
     (back-to-indentation)
-    (if (and (not lua-indent-string-contents) (lua-string-p))
-        (goto-char (- (point-max) pos)) ;; just restore point position
-
-      (setq indent (max 0 (- (lua-calculate-indentation nil)
-                             (lua-calculate-unindentation))))
-      (when (not (equal indent (current-column)))
-        (delete-region (line-beginning-position) (point))
-        (indent-to indent))
-      ;; If initial point was within line's indentation,
-      ;; position after the indentation.  Else stay at same point in text.
-      (if (> (- (point-max) pos) (point))
-          (goto-char (- (point-max) pos)))
-      indent)))
+    (setq indent (max 0 (- (lua-calculate-indentation nil)
+                           (lua-calculate-unindentation))))
+    (when (not (equal indent (current-column)))
+      (delete-region (line-beginning-position) (point))
+      (indent-to indent))
+    ;; If initial point was within line's indentation,
+    ;; position after the indentation.  Else stay at same point in text.
+    (if (> (- (point-max) pos) (point))
+        (goto-char (- (point-max) pos)))
+    indent))
 
 (defun lua-find-regexp (direction regexp &optional limit ignore-p)
   "Searches for a regular expression in the direction specified.
@@ -666,7 +663,10 @@ previous one even though it looked like an 
end-of-statement."
   (let ((line-end (line-end-position)))
     (save-excursion
       (beginning-of-line)
-      (re-search-forward lua-cont-bol-regexp line-end t))))
+      ;; if first character of the line is inside string, it's a continuation
+      ;; if strings aren't supposed to be indented, 
`lua-calculate-indentation' won't even let
+      ;; the control inside this function
+      (or (lua-comment-or-string-p) (re-search-forward lua-cont-bol-regexp 
line-end t)))))
 
 (defun lua-is-continuing-statement-p (&optional parse-start)
   "Return non-nil if the line continues a statement.
@@ -860,8 +860,8 @@ In usual case returns an integer: the column to indent to."
 
         ;; if bol is inside a string, suppress any indentation
         ;; or all of the whitespace will go into the literal
-        (when (lua-string-p)
-          (throw 'indent 0))
+        (when (and (lua-string-p) (not lua-indent-string-contents)
+          (throw 'indent 0)))
 
         (setq shift-amt (if (lua-is-continuing-statement-p) lua-indent-level 
0))
         (if (bobp)          ; If we're at the beginning of the buffer, no 
change.



reply via email to

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