[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/swift-mode f42752b 223/496: Respect comments when calculat
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/swift-mode f42752b 223/496: Respect comments when calculating position of the implicit semicolon |
Date: |
Sun, 29 Aug 2021 11:33:40 -0400 (EDT) |
branch: elpa/swift-mode
commit f42752b9fd2ce335d282fd480f69967075088423
Author: ap4y <lod@pisem.net>
Commit: ap4y <lod@pisem.net>
Respect comments when calculating position of the implicit semicolon
---
swift-mode.el | 6 ++++--
test/indentation-tests.el | 26 ++++++++++++++++++++++++++
2 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/swift-mode.el b/swift-mode.el
index 786763c..91e0f0d 100644
--- a/swift-mode.el
+++ b/swift-mode.el
@@ -224,15 +224,17 @@
;; Characters placed on the second line in multi-line expression
(looking-at "[ \n\t]+[.?:]")
;; Operators placed on the second line in multi-line expression
- (looking-at (concat "[ \n\t]+" swift-smie--operators-regexp))
+ ;; Should respect here possible comments strict before the
linebreak
+ (looking-at (concat "\\(\/\/.*\\)?\n[[:space:]]*"
swift-smie--operators-regexp))
(and (looking-back swift-smie--operators-regexp (- (point) 3) t)
;; Not a generic type
(not (looking-back "[[:upper:]]>" (- (point) 2) t)))
))))
(defun swift-smie--forward-token ()
+ (skip-chars-forward " \t")
(cond
- ((and (looking-at "\n") (swift-smie--implicit-semi-p))
+ ((and (looking-at "\n\\|\/\/") (swift-smie--implicit-semi-p))
(if (eolp) (forward-char 1) (forward-comment 1))
";")
diff --git a/test/indentation-tests.el b/test/indentation-tests.el
index b5fa50e..f3cbff4 100644
--- a/test/indentation-tests.el
+++ b/test/indentation-tests.el
@@ -1955,6 +1955,32 @@ var object: JsonObject<Foo>!
|var object: JsonObject
")
+(check-indentation indents-expression-with-comment/1
+ "
+func foo() {
+ foo() // foo
+ |foo()
+}
+" "
+func foo() {
+ foo() // foo
+ |foo()
+}
+")
+
+(check-indentation indents-expression-with-comment/2
+ "
+func foo() {
+ let x = 1 // foo
+ |/ 1
+}
+" "
+func foo() {
+ let x = 1 // foo
+ |/ 1
+}
+")
+
(provide 'indentation-tests)
;;; indentation-tests.el ends here
- [nongnu] elpa/swift-mode e09694f 158/496: Release 0.3.0, (continued)
- [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
- [nongnu] elpa/swift-mode f42752b 223/496: Respect comments when calculating position of the implicit semicolon,
ELPA Syncer <=
- [nongnu] elpa/swift-mode b4b56f6 246/496: Merge pull request #99 from uk-ar/fix-indents-around-comma, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode d047843 258/496: Fix token for :, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode ba39552 261/496: Fix test failure on travis, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 1f39b11 288/496: Fix indent for ternary operator, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 4d90ca5 280/496: Merge pull request #110 from lunaryorn/patch-1, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 0cb5e13 303/496: Improve some wording, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode b6f3664 302/496: Update a few URLs, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 9c180cf 315/496: Fix testing error when running the test twice interactively, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 2955e8f 314/496: Simplify indentation for commas, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 8e69064 034/496: Mention package.el as an installation option, ELPA Syncer, 2021/08/29