[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/swift-mode 2d478bf 140/496: Merge pull request #46 from ap
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/swift-mode 2d478bf 140/496: Merge pull request #46 from ap4y/multiline_op_statemenets |
Date: |
Sun, 29 Aug 2021 11:33:24 -0400 (EDT) |
branch: elpa/swift-mode
commit 2d478bf82e6e5668027ec73db1cc8f1ea879b702
Merge: 2eb3952 5e3ab8c
Author: Bozhidar Batsov <bozhidar.batsov@gmail.com>
Commit: Bozhidar Batsov <bozhidar.batsov@gmail.com>
Merge pull request #46 from ap4y/multiline_op_statemenets
Multiline op statemenets
---
swift-mode.el | 16 +++++++++++-----
test/indentation-tests.el | 27 +++++++++++++++++++++++----
2 files changed, 34 insertions(+), 9 deletions(-)
diff --git a/swift-mode.el b/swift-mode.el
index 370f78b..f16fbe9 100644
--- a/swift-mode.el
+++ b/swift-mode.el
@@ -53,8 +53,8 @@
:group 'swift
:type 'integerp)
-(defcustom swift-indent-multiline-dot-offset 2
- "Defines the indentation offset for for multiline dot statement."
+(defcustom swift-indent-multiline-statement-offset 2
+ "Defines the indentation offset for for multiline statements."
:group 'swift
:type 'integerp
:package-version '(swift-mode "0.3.0"))
@@ -121,7 +121,7 @@
("for" for-head "{" insts "}")
("while" exp "{" insts "}"))
- (dot-exp (exp "." exp))
+ (dot-exp (id "." id))
(method-call (dot-exp "(" method-args ")"))
(method-args (method-arg) (method-arg "," method-arg))
@@ -272,13 +272,19 @@
(if (smie-rule-parent-p "case" "default")
(smie-rule-parent swift-indent-offset)))
- ;; Apply swift-indent-multiline-dot-offset only if
+ ;; Apply swift-indent-multiline-statement-offset only if
;; - dot is followed by newline, or
;; - have at least one whitespace character before dot
(`(:before . ".")
(if (or (looking-at "[.][\n]")
(looking-back "[ \t\n]" 1 t))
- (smie-rule-parent swift-indent-multiline-dot-offset)))
+ (smie-rule-parent swift-indent-multiline-statement-offset)))
+
+ ;; Apply swift-indent-multiline-statement-offset if
+ ;; operator is the last symbol on the line
+ (`(:before . "OP")
+ (if (looking-at ".[\n]")
+ (smie-rule-parent swift-indent-multiline-statement-offset)))
(`(:before . "if")
(if (smie-rule-prev-p "else")
diff --git a/test/indentation-tests.el b/test/indentation-tests.el
index c4c9e2a..f958732 100644
--- a/test/indentation-tests.el
+++ b/test/indentation-tests.el
@@ -58,7 +58,7 @@ values of customisable variables."
;; Bind customisable vars to default values for tests.
(swift-indent-offset 4)
(swift-indent-switch-case-offset 0)
- (swift-indent-multiline-dot-offset 2)
+ (swift-indent-multiline-statement-offset 2)
,@var-bindings)
(with-temp-buffer
(insert ,before)
@@ -811,6 +811,15 @@ let json_ary = NSJSONSerialization
|.JSONObjectWithData(data, options: nil, error: &json_err) as
NSArray
")
+(check-indentation indents-multiline-expressions/8
+ "
+let options = NSRegularExpressionOptions.CaseInsensitive &
+|NSRegularExpressionOptions.DotMatchesLineSeparators
+" "
+let options = NSRegularExpressionOptions.CaseInsensitive &
+ |NSRegularExpressionOptions.DotMatchesLineSeparators
+")
+
(check-indentation indents-multiline-expressions-to-user-defined-offset/1
"
NSNotificationCenter.defaultCenter().
@@ -819,7 +828,7 @@ NSNotificationCenter.defaultCenter().
NSNotificationCenter.defaultCenter().
|postNotificationName(foo, object: nil)
"
-((swift-indent-multiline-dot-offset 4)))
+((swift-indent-multiline-statement-offset 4)))
(check-indentation indents-multiline-expressions-to-user-defined-offset/2
"
@@ -829,7 +838,7 @@ NSNotificationCenter.defaultCenter()
NSNotificationCenter.defaultCenter()
|.postNotificationName(foo, object: nil)
"
-((swift-indent-multiline-dot-offset 4)))
+((swift-indent-multiline-statement-offset 4)))
(check-indentation indents-multiline-expressions-to-user-defined-offset/3
"
@@ -839,7 +848,17 @@ let json_ary = NSJSONSerialization
let json_ary = NSJSONSerialization
|.JSONObjectWithData(data, options: nil, error: &json_err) as
NSArray
"
-((swift-indent-multiline-dot-offset 4)))
+((swift-indent-multiline-statement-offset 4)))
+
+(check-indentation indents-multiline-expressions-to-user-defined-offset/4
+ "
+let options = NSRegularExpressionOptions.CaseInsensitive &
+|NSRegularExpressionOptions.DotMatchesLineSeparators
+" "
+let options = NSRegularExpressionOptions.CaseInsensitive &
+ |NSRegularExpressionOptions.DotMatchesLineSeparators
+"
+((swift-indent-multiline-statement-offset 4)))
(check-indentation indents-type-annotations/1
"
- [nongnu] elpa/swift-mode b93b97e 466/496: Bump version to 8.1.1, (continued)
- [nongnu] elpa/swift-mode b93b97e 466/496: Bump version to 8.1.1, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 0bc8d8d 477/496: Use isAvailable when reading simctl device JSON, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 800efe2 496/496: Fix tags of customization, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 370caa7 494/496: Update copyright notices, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 69b8934 080/496: Update readme, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 37fb4d0 119/496: Release 0.2.0, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode ca6437a 116/496: Merge pull request #29 from ap4y/master, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 79622d7 123/496: Merge pull request #32 from ap4y/fix_nested_multi_line_comments, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 7826550 124/496: Fix code alignment, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode dd8f793 133/496: Make multi-line dot statement offset customisable value, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 2d478bf 140/496: Merge pull request #46 from ap4y/multiline_op_statemenets,
ELPA Syncer <=
- [nongnu] elpa/swift-mode e09694f 158/496: Release 0.3.0, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 9b6f599 146/496: Apply swift-indent-offset to multi-line class definitions, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 4286ff9 148/496: Merge pull request #52 from ap4y/fix_47, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 0f57a7d 179/496: Add lexer rule for ":" token., ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 2d0194e 184/496: Correct several indentation cases for class defitinion, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode f8190d6 186/496: Extract function into separate grammar and add return typo to the, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode fb2f48e 187/496: Add rule for assignment expression, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 01bcc35 192/496: Improve grammar for functions and contraint protocols grammar to, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode c09229a 198/496: Use semantic hanging-p function instead of custom regex when checking, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 462ea17e 221/496: Improve closures grammar and add several related indentation rules, ELPA Syncer, 2021/08/29