From f14e57bb2f7f22e8123b3999a6e288ff058ed789 Mon Sep 17 00:00:00 2001
From: Matthieu Marcillaud <marcimat@rezo.net>
Date: Mon, 26 Jun 2023 12:11:12 +0200
Subject: [PATCH] style: ecs config up

---
 ecs.php | 55 ++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 48 insertions(+), 7 deletions(-)

diff --git a/ecs.php b/ecs.php
index c65795cf37..86608da5f7 100644
--- a/ecs.php
+++ b/ecs.php
@@ -1,20 +1,61 @@
 <?php
 
 // ecs.php
-use PhpCsFixer\Fixer\ArrayNotation\ArraySyntaxFixer;
+use PhpCsFixer\Fixer\Basic\CurlyBracesPositionFixer;
+use PhpCsFixer\Fixer\Operator\NotOperatorWithSpaceFixer;
+use PhpCsFixer\Fixer\Operator\NotOperatorWithSuccessorSpaceFixer;
+use PhpCsFixer\Fixer\Operator\UnaryOperatorSpacesFixer;
+use PhpCsFixer\Fixer\Phpdoc\GeneralPhpdocAnnotationRemoveFixer;
+use PhpCsFixer\Fixer\Phpdoc\PhpdocNoPackageFixer;
+use PhpCsFixer\Fixer\Strict\DeclareStrictTypesFixer;
+use PhpCsFixer\Fixer\Strict\StrictComparisonFixer;
+use PhpCsFixer\Fixer\StringNotation\ExplicitStringVariableFixer;
 use PhpCsFixer\Fixer\Whitespace\NoExtraBlankLinesFixer;
+use PHP_CodeSniffer\Standards\Generic\Sniffs\Arrays\DisallowLongArraySyntaxSniff;
+use PHP_CodeSniffer\Standards\Generic\Sniffs\CodeAnalysis\AssignmentInConditionSniff;
+use Symplify\CodingStandard\Fixer\ArrayNotation\ArrayListItemNewlineFixer;
+use Symplify\CodingStandard\Fixer\ArrayNotation\ArrayOpenerAndCloserNewlineFixer;
+use Symplify\CodingStandard\Fixer\Spacing\MethodChainingNewlineFixer;
+use Symplify\CodingStandard\Fixer\Spacing\SpaceAfterCommaHereNowDocFixer;
 use Symplify\EasyCodingStandard\Config\ECSConfig;
 use Symplify\EasyCodingStandard\ValueObject\Set\SetList;
 
 return static function (ECSConfig $ecsConfig): void {
-    // A. full sets
-    #$ecsConfig->sets([SetList::PSR_12]);
-    $ecsConfig->sets([SetList::PSR_12, SetList::SYMPLIFY, SetList::COMMON, SetList::CLEAN_CODE]);
+	// A. full sets
+	$ecsConfig->sets([SetList::PSR_12, SetList::SYMPLIFY, SetList::COMMON, SetList::CLEAN_CODE]);
 	$ecsConfig->rule(NoExtraBlankLinesFixer::class);
+	$ecsConfig->rule(DisallowLongArraySyntaxSniff::class);
+	$ecsConfig->ruleWithConfiguration(CurlyBracesPositionFixer::class, [
+		'functions_opening_brace' => 'same_line',
+		'anonymous_functions_opening_brace' => 'same_line',
+	]);
+	$ecsConfig->ruleWithConfiguration(GeneralPhpdocAnnotationRemoveFixer::class, [
+		'annotations' => ['throws', 'group', 'covers', 'category']
+	]);
+
 	$ecsConfig->indentation('tab');
 
-    $ecsConfig->paths([
-        __DIR__ . '/ecrire/tests',
-    ]);
+	$ecsConfig->paths([
+		__DIR__ . '/ecrire/tests',
+		# __DIR__ . '/index.php',
+		# __DIR__ . '/spip.php',
+		# __DIR__ . '/ecrire',
+		# __DIR__ . '/prive',
+	]);
 
+	$ecsConfig->skip([
+		__DIR__ . '/ecrire/lang',
+		ArrayListItemNewlineFixer::class,
+		ArrayOpenerAndCloserNewlineFixer::class,
+		AssignmentInConditionSniff::class,
+		DeclareStrictTypesFixer::class,
+		ExplicitStringVariableFixer::class,
+		MethodChainingNewlineFixer::class,
+		NotOperatorWithSuccessorSpaceFixer::class,
+		NotOperatorWithSpaceFixer::class,
+		UnaryOperatorSpacesFixer::class,
+		PhpdocNoPackageFixer::class,
+		SpaceAfterCommaHereNowDocFixer::class,
+		StrictComparisonFixer::class,
+	]);
 };
-- 
GitLab