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

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

[nongnu] elpa/swift-mode 95ff004 479/496: Fix indentation of closures in


From: ELPA Syncer
Subject: [nongnu] elpa/swift-mode 95ff004 479/496: Fix indentation of closures inside condition-list
Date: Sun, 29 Aug 2021 11:34:32 -0400 (EDT)

branch: elpa/swift-mode
commit 95ff0041370660e839ed06aa92330694d8590d62
Author: taku0 <mxxouy6x3m_github@tatapa.org>
Commit: taku0 <mxxouy6x3m_github@tatapa.org>

    Fix indentation of closures inside condition-list
    
    Example:
    
    ```swift
    if
      foo(
        a: {
        }
      )
    {
    }
    
    if
      a == [
        b {
        }
      ]
    {
    }
    ```
---
 swift-mode-indent.el                     |   2 +-
 test/swift-files/indent/statements.swift | 122 +++++++++++++++++++++++++++++++
 2 files changed, 123 insertions(+), 1 deletion(-)

diff --git a/swift-mode-indent.el b/swift-mode-indent.el
index a5ae4a2..ea898c0 100644
--- a/swift-mode-indent.el
+++ b/swift-mode-indent.el
@@ -921,7 +921,7 @@ This function is also used for close-curly-brace."
       (save-excursion
         (goto-char (swift-mode:token:end
                     (swift-mode:backward-sexps-until
-                     swift-mode:statement-parent-tokens)))
+                     (append swift-mode:statement-parent-tokens '(\( \[)))))
         (setq next-token (swift-mode:forward-token-or-list))
         (while (<= (point) pos)
           (cond
diff --git a/test/swift-files/indent/statements.swift 
b/test/swift-files/indent/statements.swift
index 87bdf65..a58cec8 100644
--- a/test/swift-files/indent/statements.swift
+++ b/test/swift-files/indent/statements.swift
@@ -304,6 +304,24 @@ for
 }
 
 
+for
+  x in foo(
+    a: {
+        b()
+    }
+  )
+{
+}
+
+for
+  x in [
+    a {
+        b()
+    }
+  ]
+{
+}
+
 // While statements
 
 while foo
@@ -394,6 +412,30 @@ while let
     foo()
 }
 
+
+while
+  let foo = bar(
+    a: {
+        b()
+    }
+  )
+{
+}
+
+while
+  foo(
+    a: {
+        b()
+    }
+  ),
+  a == [
+    b {
+        c()
+    }
+  ]
+{
+}
+
 // Repeat-while statements
 
 repeat {
@@ -428,6 +470,20 @@ repeat {
           .bar()
           .baz()
 
+repeat {
+} while foo(
+          a: {
+              b()
+          }
+        )
+
+repeat {
+} while a == [
+          b {
+              c()
+          }
+        ]
+
 // If statement
 
 if x
@@ -514,6 +570,33 @@ if foo.bar +++ {
     foo()
 }
 
+if
+  foo(
+    a: {
+        b()
+    }
+  ),
+  a == [
+    b {
+        c()
+    }
+  ]
+{
+}
+
+if
+  let foo = bar(
+    a: {
+        b()
+    }
+  ),
+  let foo = bar(
+    a: {
+        b()
+    }
+  )
+{
+}
 
 // Guard statement
 
@@ -598,6 +681,29 @@ guard
     foo()
 }
 
+guard
+  let foo = bar(
+    a: {
+        b()
+    }
+  )
+else {
+}
+
+guard
+  foo(
+    a: {
+        b()
+    }
+  ),
+  a == [
+    b {
+        c()
+    }
+  ]
+else {
+}
+
 // Switch statement
 
 switch foo
@@ -939,7 +1045,23 @@ switch foo {
 
 // swift-mode:test:eval (setq-local swift-mode:switch-case-offset 0)
 
+switch
+  foo(
+    a: {
+        b()
+    }
+  )
+{
+}
 
+switch
+  [
+    a {
+        b()
+    }
+  ]
+{
+}
 
 // Labeled statements
 



reply via email to

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