[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/swift-mode a2c0b6a 251/496: Merge pull request #98 from ak
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/swift-mode a2c0b6a 251/496: Merge pull request #98 from akoaysigod/master |
Date: |
Sun, 29 Aug 2021 11:33:45 -0400 (EDT) |
branch: elpa/swift-mode
commit a2c0b6aef5cac77eb67bc50e9d507aef3c184f20
Merge: 071cd18 5e7d1b9
Author: Arthur Evstifeev <mail@ap4y.me>
Commit: Arthur Evstifeev <mail@ap4y.me>
Merge pull request #98 from akoaysigod/master
added guard statement
---
swift-mode.el | 14 +++++++++++++-
test/indentation-tests.el | 11 +++++++++++
2 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/swift-mode.el b/swift-mode.el
index d00b212..b45391c 100644
--- a/swift-mode.el
+++ b/swift-mode.el
@@ -139,6 +139,7 @@
("enum" decl-exp "{" enum-body "}")
("switch" exp "{" switch-body "}")
(if-clause)
+ (guard-statement)
("for" for-head "{" insts "}")
("while" exp "{" insts "}"))
@@ -168,6 +169,9 @@
(for-head (in-exp) (op-exp) (for-head ";" for-head))
+ (guard-conditional (exp) (let-decl) (var-decl))
+ (guard-statement ("guard" guard-conditional "elseguard" "{" insts "}"))
+
(if-conditional (exp) (let-decl))
(if-body ("if" if-conditional "{" insts "}"))
(if-clause (if-body)
@@ -292,6 +296,10 @@
(if (looking-at "\\([\n\t ]\\|.\\)+?\\(where.*[,]\\|:\\)")
"case"
"ecase"))
+ ((equal tok "else")
+ (if (looking-back "\\(guard.*\\)")
+ "elseguard"
+ "else"))
(t tok))))
))
@@ -345,6 +353,10 @@
(if (looking-at "\\([\n\t ]\\|.\\)+?\\(where.*[,]\\|:\\)")
"case"
"ecase"))
+ ((equal tok "else")
+ (if (looking-back "\\(guard.*\\)")
+ "elseguard"
+ "else"))
(t tok))))
)))
@@ -446,7 +458,7 @@
(defvar swift-mode--statement-keywords
'("break" "case" "continue" "default" "do" "else" "fallthrough"
- "if" "in" "for" "return" "switch" "where" "while"))
+ "if" "in" "for" "return" "switch" "where" "while" "guard"))
(defvar swift-mode--contextual-keywords
'("associativity" "didSet" "get" "infix" "inout" "left" "mutating" "none"
diff --git a/test/indentation-tests.el b/test/indentation-tests.el
index 3153cf1..5535a70 100644
--- a/test/indentation-tests.el
+++ b/test/indentation-tests.el
@@ -2067,6 +2067,17 @@ func foo() {
}
")
+(check-indentation indents-guard-statement/1
+ "
+guard let x = y else {
+ |return
+}
+" "
+guard let x = y else {
+ |return
+}
+")
+
(provide 'indentation-tests)
;;; indentation-tests.el ends here
- [nongnu] elpa/swift-mode fd228c0 203/496: Improve lexer rule for disctinction between case in switch and enum, (continued)
- [nongnu] elpa/swift-mode fd228c0 203/496: Improve lexer rule for disctinction between case in switch and enum, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 1122ab9 204/496: Add grammar rule for return statement in function, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode f193a82 205/496: defcustom types for swift-indent was incorrectly set to intergerp, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode a60e3fa 209/496: Don't indent chain of operators multiple times, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode e539ba6 215/496: Improve support for the multi-line case statements, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 95e753b 226/496: Disable testing against emacs 24.3, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode e898e7e 234/496: Merge pull request #91 from uk-ar/fix-indent-with-hanging-operator-after-comment, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode a1d7a06 236/496: Merge pull request #88 from uk-ar/fix-indent-after-comment, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode fd9ed20 244/496: Modify indents around comma to meet Xcode spec, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 5e7d1b9 250/496: Update swift-mode.el, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode a2c0b6a 251/496: Merge pull request #98 from akoaysigod/master,
ELPA Syncer <=
- [nongnu] elpa/swift-mode 7709e04 256/496: Fix token for DECSPEC, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 7169a3b 265/496: Fix class when empty (no insts), ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 391752f 272/496: Add test case for forward-list & backward-list, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 7ffd59d 273/496: Fix forward-list test by adding brackets, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 3ce22b1 275/496: Remove needless code, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode c40887e 276/496: Merge pull request #108 from syohex/remove-needless-code, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode ade8e95 277/496: Use with-eval-after-load instead of eval-after-load, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode a3bcb19 278/496: Merge pull request #109 from syohex/with-eval-after-load, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 3aec61f 279/496: Update Emacs version requirement in README, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 6793bd9 281/496: Indent according to operators precedence, ELPA Syncer, 2021/08/29