<?php

$finder = PhpCsFixer\Finder::create()
    ->exclude('vendor')
    ->in('.')
;

return PhpCsFixer\Config::create()
    ->setRiskyAllowed(true)
    ->setRules([
        '@PSR2'                                         => true,
        'array_syntax'                                  => ['syntax' => 'short'],
        'declare_strict_types'                          => true,
        'no_short_echo_tag'                             => true,
        'ternary_to_null_coalescing'                    => true,
        'not_operator_with_successor_space'             => false,
        'return_type_declaration'                       => true,
        'semicolon_after_instruction'                   => true,
        'short_scalar_cast'                             => true,
        'single_line_comment_style'                     => true,
        'single_quote'                                  => true,
        'single_trait_insert_per_statement'             => true,
        'space_after_semicolon'                         => true,
        'standardize_not_equals'                        => true,
        'standardize_increment'                         => true,
        'ternary_operator_spaces'                       => true,
        'trailing_comma_in_multiline_array'             => true,
        'trim_array_spaces'                             => true,
        'unary_operator_spaces'                         => true,
        'whitespace_after_comma_in_array'               => true,
        'combine_consecutive_issets'                    => true,
        'combine_consecutive_unsets'                    => true,
        'compact_nullable_typehint'                     => true,
        'concat_space'                                  => ['spacing' => 'one'],
        'fully_qualified_strict_types'                  => true,
        'function_typehint_space'                       => true,
        'include'                                       => true,
        'lowercase_cast'                                => true,
        'lowercase_constants'                           => true,
        'lowercase_keywords'                            => true,
        'lowercase_static_reference'                    => true,
        'magic_method_casing'                           => true,
        'method_chaining_indentation'                   => true,
        'native_function_casing'                        => true,
        'native_function_type_declaration_casing'       => true,
        'new_with_braces'                               => true,
        'no_empty_statement'                            => true,
        'no_leading_import_slash'                       => true,
        'no_mixed_echo_print'                           => ['use' => 'echo'],
        'no_multiline_whitespace_around_double_arrow'   => true,
        'no_null_property_initialization'               => true,
        'no_singleline_whitespace_before_semicolons'    => true,
        'no_spaces_after_function_name'                 => true,
        'no_spaces_around_offset'                       => true,
        'no_spaces_inside_parenthesis'                  => true,
        'no_superfluous_elseif'                         => true,
        'no_trailing_comma_in_list_call'                => true,
        'no_trailing_comma_in_singleline_array'         => true,
        'no_trailing_whitespace'                        => true,
        'no_unneeded_control_parentheses'               => true,
        'no_unneeded_curly_braces'                      => true,
        'no_unneeded_final_method'                      => true,
        'no_unset_cast'                                 => true,
        'no_unused_imports'                             => true,
        'no_useless_else'                               => true,
        'no_useless_return'                             => true,
        'no_whitespace_before_comma_in_array'           => true,
        'no_whitespace_in_blank_line'                   => true,
        'normalize_index_brace'                         => true,
        'object_operator_without_whitespace'            => true,
        'ordered_class_elements'                        => true,
        'ordered_imports'                               => true,
    ])
    ->setFinder($finder)
;