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

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

[nongnu] elpa/swift-mode 67fd6a9 160/496: Fix indentation of multiline o


From: ELPA Syncer
Subject: [nongnu] elpa/swift-mode 67fd6a9 160/496: Fix indentation of multiline operator expressions
Date: Sun, 29 Aug 2021 11:33:28 -0400 (EDT)

branch: elpa/swift-mode
commit 67fd6a9ada58f33c87445901561ad2e7fd475ecf
Author: Christian Kruse <cjk@defunct.ch>
Commit: Christian Kruse <cjk@defunct.ch>

    Fix indentation of multiline operator expressions
    
    Expressions with multiple operators over multiple lines got indented one
    offset deeper per line break. An additional smie check for being a
    sibling should fix this problem.
---
 swift-mode.el             |  3 ++-
 test/indentation-tests.el | 13 +++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/swift-mode.el b/swift-mode.el
index 449d134..2602d26 100644
--- a/swift-mode.el
+++ b/swift-mode.el
@@ -286,7 +286,8 @@
     ;; Apply swift-indent-multiline-statement-offset if
     ;; operator is the last symbol on the line
     (`(:before . "OP")
-     (if (looking-at ".[\n]")
+     (if (and (looking-at ".[\n]")
+              (not (smie-rule-sibling-p)))
          (smie-rule-parent swift-indent-multiline-statement-offset)))
 
     ;; Indent second line of the multi-line class
diff --git a/test/indentation-tests.el b/test/indentation-tests.el
index 1c4b1fb..cb810b1 100644
--- a/test/indentation-tests.el
+++ b/test/indentation-tests.el
@@ -919,6 +919,19 @@ let foo = bar >
           |baz
 ")
 
+(check-indentation indents-multiline-operators-only-once
+                   "
+1 +
+    2 + 5 *
+|3
+" "
+1 +
+    2 + 5 *
+    |3
+"
+)
+
+
 (provide 'indentation-tests)
 
 ;;; indentation-tests.el ends here



reply via email to

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