[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/swift-mode c2c3c01 199/496: Improve support for optional t
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/swift-mode c2c3c01 199/496: Improve support for optional types |
Date: |
Sun, 29 Aug 2021 11:33:35 -0400 (EDT) |
branch: elpa/swift-mode
commit c2c3c01155f138eb1334698fbecb5af392c6a50e
Author: ap4y <lod@pisem.net>
Commit: ap4y <lod@pisem.net>
Improve support for optional types
---
swift-mode.el | 9 ++++++++-
test/indentation-tests.el | 9 +++++++++
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/swift-mode.el b/swift-mode.el
index 4640a56..8b68c54 100644
--- a/swift-mode.el
+++ b/swift-mode.el
@@ -210,7 +210,14 @@
(defun swift-smie--implicit-semi-p ()
(save-excursion
- (not (or (memq (char-before) '(?\{ ?\[ ?, ?. ?\? ?: ?= ?\())
+ (not (or (memq (char-before) '(?\{ ?\[ ?, ?. ?: ?= ?\())
+ ;; Checking for operators form for "?" and "!",
+ ;; they can be a part of the type.
+ ;; Special case: is? and as? are operators.
+ (looking-back "[[:space:]][?!]" (- (point) 2) t)
+ ;; is? and as? are operators
+ (looking-back "as[?]\\|is[?]" (- (point) 3) t)
+ ;; Leding character in multi-line expression
(looking-at "[ \n\t]+[.?:]")
(and (looking-back swift-smie--operators-regexp (- (point) 3) t)
;; Not a generic type
diff --git a/test/indentation-tests.el b/test/indentation-tests.el
index 1a9af87..f048d14 100644
--- a/test/indentation-tests.el
+++ b/test/indentation-tests.el
@@ -1349,6 +1349,15 @@ UIView.animateWithDuration(
|})
")
+(check-indentation indents-expression-with-optional-type/1
+ "
+var object: JsonObject?
+ |var object: JsonObject
+" "
+var object: JsonObject?
+|var object: JsonObject
+")
+
(provide 'indentation-tests)
;;; indentation-tests.el ends here
- [nongnu] elpa/swift-mode e168b34 128/496: Don't use implicit semicolon for multi-line dot expressions, (continued)
- [nongnu] elpa/swift-mode e168b34 128/496: Don't use implicit semicolon for multi-line dot expressions, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode ee83a1d 137/496: Rename swift-indent-multiline-dot-offset to swift-indent-multiline-statement-offset, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode fca914a 165/496: Merge pull request #63 from ckruse/updated_syntax, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 8db040e 166/496: fix: underscores are word characters (Word constituents), ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 2a21e1b 177/496: Add ternary operator smie grammar, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 641681a 182/496: Fix small typo in comment string, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 2b17f71 183/496: Improve grammar and lexer to support access modifier in class definitions, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode cac2884 185/496: Add lists to the "type" grammar, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode adfe341 190/496: Add grammar for the protocol definitions, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 20134ed 193/496: Use postive lookahead for declaration specifier lexer rule, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode c2c3c01 199/496: Improve support for optional types,
ELPA Syncer <=
- [nongnu] elpa/swift-mode d6483e1 207/496: Add ?? to the lexer rule for operators, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 9e6c538 210/496: Correct DECSPEC regex and lexer rule, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 2c67d92 213/496: Fix indentation of the closure arguments inside parentheses, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 5a858c7 218/496: Improve indentation of the array and dictionary expressions, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 195d040 227/496: Merge pull request #76 from ap4y/batch_smie_fixes, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode dbf48a1 232/496: Merge pull request #90 from nathankot/flycheck-framework-search-paths, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode e6f1a3c 237/496: More configurability for flycheck, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 3e8befa 238/496: Merge pull request #92 from apiology/more_flycheck_option_vars, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 31fb250 248/496: added elseguard to lexer, ELPA Syncer, 2021/08/29
- [nongnu] elpa/swift-mode 071cd18 249/496: Merge pull request #100 from uk-ar/enable-pairing-for-curly-bracket, ELPA Syncer, 2021/08/29