<?xml version="1.0"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="HTML-API" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/squizlabs/PHP_CodeSniffer/master/phpcs.xsd">

    <description>A custom set of rules to check for a WPized WordPress project</description>
    <arg name="colors"/>
    <arg name="tab-width" value="4" />

    <!-- Only check the PHP files. -->
    <arg name="extensions" value="php"/>

    <!-- Check PHP version compatibility. -->
    <rule ref="PHPCompatibility"/>
    <config name="testVersion" value="7.2-"/>

    <!-- https://gist.github.com/gsherwood/9d22f634c57f990a7c64 -->
    <!-- http://www.thisprogrammingthing.com/2015/creating-your-own-standard-in-phpcs/ -->
    <!-- Use PSR2 as a base.-->
    <rule ref="PSR2">

        <exclude name="Squiz.Functions.FunctionDeclarationArgumentSpacing.SpacingAfterOpen" />
        <exclude name="Squiz.Functions.FunctionDeclarationArgumentSpacing.SpacingBeforeClose" />

        <exclude name="PSR2.ControlStructures.ControlStructureSpacing.SpacingAfterOpenBrace" />
        <exclude name="PSR2.ControlStructures.ControlStructureSpacing.SpaceBeforeCloseBrace" />

        <exclude name="PSR2.Methods.FunctionCallSignature.SpaceAfterOpenBracket" />
        <exclude name="PSR2.Methods.FunctionCallSignature.SpaceBeforeCloseBracket" />


        <!-- bracers -->
        <exclude name="Squiz.Functions.MultiLineFunctionDeclaration.BraceOnSameLine" />
        <exclude name="PSR2.Classes.ClassDeclaration.OpenBraceNewLine" />

        <exclude name="Generic.WhiteSpace.DisallowTabIndent"/>
    </rule>
    <rule ref="Generic.WhiteSpace.DisallowSpaceIndent"/>
    <rule ref="Generic.WhiteSpace.ScopeIndent">
        <properties>
            <property name="indent" value="4"/>
            <property name="tabIndent" value="true"/>
        </properties>
    </rule>

    <!-- bracers -->
    <rule ref="Generic.Functions.OpeningFunctionBraceKernighanRitchie" />
    <rule ref="Generic.Classes.OpeningBraceSameLine"/>
</ruleset>
