From 5c41f79be4b99acec7ebdd79af4e91bdfd45c779 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sun, 28 Mar 2021 19:21:41 +0100 Subject: [PATCH] Added php-cs-fixer configuration this is by no means a complete code style guide, but it fixes a lot of common issues that show up, particularly in PRs. --- .php_cs | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 .php_cs diff --git a/.php_cs b/.php_cs new file mode 100644 index 000000000..48c5278b0 --- /dev/null +++ b/.php_cs @@ -0,0 +1,71 @@ +in(__DIR__ . '/src') + ->in(__DIR__ . '/build') + ->in(__DIR__ . '/tests') + ->notPath('plugins/DevTools') + ->notPath('preprocessor') + ->notContains('#ifndef COMPILE') //preprocessor will break if these are changed + ->notName('PocketMine.php'); + +return PhpCsFixer\Config::create() + ->setRiskyAllowed(true) + ->setRules([ + 'align_multiline_comment' => [ + 'comment_type' => 'phpdocs_only' + ], + 'array_indentation' => true, + 'array_syntax' => [ + 'syntax' => 'short' + ], + 'blank_line_after_namespace' => true, + 'blank_line_after_opening_tag' => true, + 'blank_line_before_statement' => [ + 'statements' => [ + 'declare' + ] + ], + 'cast_spaces' => [ + 'space' => 'single' + ], + 'concat_space' => [ + 'spacing' => 'one' + ], + 'declare_strict_types' => true, + 'elseif' => true, + 'global_namespace_import' => [ + 'import_constants' => true, + 'import_functions' => true, + 'import_classes' => null, + ], + 'indentation_type' => true, + 'native_function_invocation' => [ + 'scope' => 'namespaced' + ], + 'no_closing_tag' => true, + 'no_empty_phpdoc' => true, + 'no_extra_blank_lines' => true, + 'no_superfluous_phpdoc_tags' => [ + 'allow_mixed' => true, + ], + 'no_trailing_whitespace' => true, + 'no_trailing_whitespace_in_comment' => true, + 'no_whitespace_in_blank_line' => true, + 'no_unused_imports' => true, + 'ordered_imports' => [ + 'imports_order' => [ + 'class', + 'function', + 'const', + ], + 'sort_algorithm' => 'alpha' + ], + 'phpdoc_trim' => true, + 'phpdoc_trim_consecutive_blank_line_separation' => true, + 'single_import_per_statement' => true, + 'strict_param' => true, + ]) + ->setFinder($finder) + ->setIndent("\t") + ->setLineEnding("\n");