From 24a338d1b72f982b764cced2a40e4d4b97085e93 Mon Sep 17 00:00:00 2001 From: Vlad Date: Tue, 12 May 2020 11:20:04 +0300 Subject: [PATCH 01/10] [Add] new closure rule --- xcode/.swiftlint.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/xcode/.swiftlint.yml b/xcode/.swiftlint.yml index e7dd90c..7bec346 100644 --- a/xcode/.swiftlint.yml +++ b/xcode/.swiftlint.yml @@ -227,6 +227,12 @@ custom_rules: message: "Returning a boolean as true is redundant, and `!`-syntax is preferred over returning as false." severity: error + single_line_closure: + name: "Single line closure" + regex: '\{[^\n]+ in[^\n]+' + message: "Make a new line after `in` in closure" + severity: error + # Rx unused_map_parameter: From b285f6c86f22bcb2c7186435508816124b02b145 Mon Sep 17 00:00:00 2001 From: Vlad Date: Tue, 12 May 2020 11:22:01 +0300 Subject: [PATCH 02/10] [Update] error message --- xcode/.swiftlint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xcode/.swiftlint.yml b/xcode/.swiftlint.yml index 7bec346..6d8ee77 100644 --- a/xcode/.swiftlint.yml +++ b/xcode/.swiftlint.yml @@ -230,7 +230,7 @@ custom_rules: single_line_closure: name: "Single line closure" regex: '\{[^\n]+ in[^\n]+' - message: "Make a new line after `in` in closure" + message: "Make a new line after `in` keyword in closure" severity: error # Rx From 75849acb9cfc38de57bd55f64a7cb823cf4b8ca0 Mon Sep 17 00:00:00 2001 From: Vlad Date: Tue, 12 May 2020 11:31:49 +0300 Subject: [PATCH 03/10] [Update] rule --- xcode/.swiftlint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xcode/.swiftlint.yml b/xcode/.swiftlint.yml index 6d8ee77..4ebda4f 100644 --- a/xcode/.swiftlint.yml +++ b/xcode/.swiftlint.yml @@ -229,7 +229,7 @@ custom_rules: single_line_closure: name: "Single line closure" - regex: '\{[^\n]+ in[^\n]+' + regex: '\{[^\n]+ in [^\n]+' message: "Make a new line after `in` keyword in closure" severity: error From 89c9b4d72efc207d502fa69a939698c875f44046 Mon Sep 17 00:00:00 2001 From: Vlad Date: Tue, 12 May 2020 11:38:49 +0300 Subject: [PATCH 04/10] [Remove] false-positive reaction with comments --- xcode/.swiftlint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xcode/.swiftlint.yml b/xcode/.swiftlint.yml index 4ebda4f..64d52da 100644 --- a/xcode/.swiftlint.yml +++ b/xcode/.swiftlint.yml @@ -229,7 +229,7 @@ custom_rules: single_line_closure: name: "Single line closure" - regex: '\{[^\n]+ in [^\n]+' + regex: '[^\n\/\/]+\{[^\n]+ in [^\n]+' message: "Make a new line after `in` keyword in closure" severity: error From 4f0ea050d37952c7d315cd9d4ae42b52676dd6dc Mon Sep 17 00:00:00 2001 From: Vlad Date: Tue, 12 May 2020 11:45:26 +0300 Subject: [PATCH 05/10] [Update] rule --- xcode/.swiftlint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xcode/.swiftlint.yml b/xcode/.swiftlint.yml index 64d52da..57579e7 100644 --- a/xcode/.swiftlint.yml +++ b/xcode/.swiftlint.yml @@ -229,7 +229,7 @@ custom_rules: single_line_closure: name: "Single line closure" - regex: '[^\n\/\/]+\{[^\n]+ in [^\n]+' + regex: '\{[^\n\/]+ in [^\n\/]+' message: "Make a new line after `in` keyword in closure" severity: error From 933c0049b92b249b1916c413574bfb999598fd5b Mon Sep 17 00:00:00 2001 From: Vlad Date: Tue, 12 May 2020 12:23:30 +0300 Subject: [PATCH 06/10] [Add] check for capture list --- xcode/.swiftlint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xcode/.swiftlint.yml b/xcode/.swiftlint.yml index 57579e7..fee2739 100644 --- a/xcode/.swiftlint.yml +++ b/xcode/.swiftlint.yml @@ -229,7 +229,7 @@ custom_rules: single_line_closure: name: "Single line closure" - regex: '\{[^\n\/]+ in [^\n\/]+' + regex: '\{ \[[^\]]+\] [^\n\/]+ in [^\n\/]+' message: "Make a new line after `in` keyword in closure" severity: error From b5a77c09d11d4137c55ac17b5bad8805a203daba Mon Sep 17 00:00:00 2001 From: Vlad Date: Tue, 12 May 2020 23:58:01 +0300 Subject: [PATCH 07/10] [Update] rule --- xcode/.swiftlint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xcode/.swiftlint.yml b/xcode/.swiftlint.yml index fee2739..a16f257 100644 --- a/xcode/.swiftlint.yml +++ b/xcode/.swiftlint.yml @@ -229,7 +229,7 @@ custom_rules: single_line_closure: name: "Single line closure" - regex: '\{ \[[^\]]+\] [^\n\/]+ in [^\n\/]+' + regex: '(\{([^\n]*\[[^\]]+\][^\n]*)?([^\n]*[a-zA-Z]+(, (_|[a-zA-Z]+))*)? in)|(\{[^\n]+ in [^\n]+)' message: "Make a new line after `in` keyword in closure" severity: error From 49ff743f3176570c759a3495f35235e8f155ec6e Mon Sep 17 00:00:00 2001 From: Vlad Date: Wed, 13 May 2020 00:00:33 +0300 Subject: [PATCH 08/10] [Fix] regexp --- xcode/.swiftlint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xcode/.swiftlint.yml b/xcode/.swiftlint.yml index a16f257..6f89342 100644 --- a/xcode/.swiftlint.yml +++ b/xcode/.swiftlint.yml @@ -229,7 +229,7 @@ custom_rules: single_line_closure: name: "Single line closure" - regex: '(\{([^\n]*\[[^\]]+\][^\n]*)?([^\n]*[a-zA-Z]+(, (_|[a-zA-Z]+))*)? in)|(\{[^\n]+ in [^\n]+)' + regex: '(\{([^\n]*\[[^\]]+\][^\n]*)?([^\n]*[a-zA-Z]+(, (_|[a-zA-Z]+))*)? in )|(\{[^\n]+ in [^\n]+)' message: "Make a new line after `in` keyword in closure" severity: error From 0515e28828e7b483f2196f2a64b20b3014376e93 Mon Sep 17 00:00:00 2001 From: Vlad Date: Wed, 13 May 2020 00:05:42 +0300 Subject: [PATCH 09/10] [Fix] regexp --- xcode/.swiftlint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xcode/.swiftlint.yml b/xcode/.swiftlint.yml index 6f89342..b1f03eb 100644 --- a/xcode/.swiftlint.yml +++ b/xcode/.swiftlint.yml @@ -229,7 +229,7 @@ custom_rules: single_line_closure: name: "Single line closure" - regex: '(\{([^\n]*\[[^\]]+\][^\n]*)?([^\n]*[a-zA-Z]+(, (_|[a-zA-Z]+))*)? in )|(\{[^\n]+ in [^\n]+)' + regex: '\{([^\n]*\[[^\]]+\][^\n]*)?([^\n]*[a-zA-Z]+(, (_|[a-zA-Z]+))*)? in [^\n]+' message: "Make a new line after `in` keyword in closure" severity: error From 5ef4c23ae74ca0ff14b48de54d09105583cc9889 Mon Sep 17 00:00:00 2001 From: Vlad Date: Wed, 13 May 2020 10:33:32 +0300 Subject: [PATCH 10/10] [Fix] PR --- xcode/.swiftlint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xcode/.swiftlint.yml b/xcode/.swiftlint.yml index b1f03eb..ed33b63 100644 --- a/xcode/.swiftlint.yml +++ b/xcode/.swiftlint.yml @@ -230,7 +230,7 @@ custom_rules: single_line_closure: name: "Single line closure" regex: '\{([^\n]*\[[^\]]+\][^\n]*)?([^\n]*[a-zA-Z]+(, (_|[a-zA-Z]+))*)? in [^\n]+' - message: "Make a new line after `in` keyword in closure" + message: "Too complex expression for single line closure. Improve readability by making it multiline." severity: error # Rx