branch: elpa/swift-mode
commit e168b3490305e265a7332346ceb427f1b78aa309
Author: ap4y <[email protected]>
Commit: ap4y <[email protected]>
Don't use implicit semicolon for multi-line dot expressions
---
swift-mode.el | 3 ++-
test/indentation-tests.el | 18 ++++++++++++++++++
2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/swift-mode.el b/swift-mode.el
index dd93a34..bbf82c4 100644
--- a/swift-mode.el
+++ b/swift-mode.el
@@ -186,7 +186,8 @@
(defun swift-smie--implicit-semi-p ()
(save-excursion
- (not (or (memq (char-before) '(?\{ ?\[ ?\,))
+ (not (or (memq (char-before) '(?\{ ?\[ ?, ?.))
+ (memq (char-after (+(point) 1)) '(?.))
(looking-back swift-smie--operators-regexp (- (point) 3) t)
))))
diff --git a/test/indentation-tests.el b/test/indentation-tests.el
index 5f4d394..3b1c14f 100644
--- a/test/indentation-tests.el
+++ b/test/indentation-tests.el
@@ -774,6 +774,24 @@ Foo.bar(bar?,
|baz)
")
+(check-indentation indents-multiline-expressions/4
+ "
+let json_ary = NSJSONSerialization.
+|JSONObjectWithData(data, options: nil, error: &json_err) as NSArray
+" "
+let json_ary = NSJSONSerialization.
+ |JSONObjectWithData(data, options: nil, error: &json_err) as
NSArray
+")
+
+(check-indentation indents-multiline-expressions/5
+ "
+let json_ary = NSJSONSerialization
+|.JSONObjectWithData(data, options: nil, error: &json_err) as NSArray
+" "
+let json_ary = NSJSONSerialization
+ |.JSONObjectWithData(data, options: nil, error: &json_err) as
NSArray
+")
+
(check-indentation indents-type-annotations/1
"
typealias Foo = Bar<Foo.Baz, Foo>