<?xml version="1.0"?>
<ruleset name="PHP-Parallel-Lint">
    <description>PHP Parallel Lint coding standard.</description>

    <rule ref="Generic.Functions.FunctionCallArgumentSpacing"/>
    <rule ref="Generic.Functions.OpeningFunctionBraceBsdAllman"/>
    <rule ref="PEAR.Functions.FunctionDeclaration"/>
    <rule ref="PEAR.Functions.FunctionCallSignature"/>
    <rule ref="PEAR.Functions.FunctionCallSignature.Indent">
        <severity>0</severity>
    </rule>
    <rule ref="PEAR.Functions.FunctionCallSignature.CloseBracketLine">
        <severity>0</severity>
    </rule>
    <rule ref="PEAR.Functions.FunctionCallSignature.ContentAfterOpenBracket">
        <severity>0</severity>
    </rule>
    <rule ref="PEAR.Functions.ValidDefaultValue"/>
    <rule ref="Generic.Functions.OpeningFunctionBraceBsdAllman"/>

    <rule ref="Generic.PHP.DisallowShortOpenTag"/>
    <rule ref="Generic.PHP.LowerCaseConstant"/>
    <rule ref="Generic.PHP.NoSilencedErrors"/>
    <rule ref="Squiz.PHP.GlobalKeyword"/>
    <rule ref="Squiz.PHP.LowercasePHPFunctions"/>
    <rule ref="Squiz.PHP.NonExecutableCode"/>
    <rule ref="Generic.PHP.ForbiddenFunctions"/>
    <rule ref="Generic.PHP.DeprecatedFunctions"/>

    <rule ref="Generic.Strings.UnnecessaryStringConcat"/>

    <rule ref="Generic.WhiteSpace.DisallowTabIndent"/>
    <rule ref="PEAR.WhiteSpace.ScopeClosingBrace"/>

    <rule ref="PEAR.Classes.ClassDeclaration"/>

    <rule ref="Generic.ControlStructures.InlineControlStructure"/>
    <rule ref="PEAR.ControlStructures.ControlSignature"/>

    <rule ref="Generic.Files.LineLength">
        <properties>
            <property name="lineLimit" value="125"/>
            <property name="absoluteLineLimit" value="200"/>
        </properties>
    </rule>
    <rule ref="Zend.Files.ClosingTag"/>
    <rule ref="Generic.Files.LineEndings"/>

    <rule ref="Generic.NamingConventions.ConstructorName"/>
    <rule ref="Generic.NamingConventions.UpperCaseConstantName"/>

    <rule ref="Generic.Metrics.NestingLevel"/>

    <rule ref="Generic.CodeAnalysis.EmptyStatement"/>
    <rule ref="Generic.CodeAnalysis.UselessOverridingMethod"/>
    <rule ref="Generic.CodeAnalysis.ForLoopShouldBeWhileLoop"/>
    <rule ref="Generic.CodeAnalysis.JumbledIncrementer"/>
    <rule ref="Generic.CodeAnalysis.UnconditionalIfStatement"/>
    <rule ref="Generic.CodeAnalysis.UnnecessaryFinalModifier"/>

    <rule ref="PEAR.Commenting.InlineComment"/>

    <rule ref="Generic.Formatting.SpaceAfterCast"/>
    <rule ref="Generic.Formatting.DisallowMultipleStatements"/>

    <rule ref="Squiz.Arrays.ArrayBracketSpacing"/>
    <rule ref="Squiz.ControlStructures.ElseIfDeclaration"/>
    <rule ref="Squiz.WhiteSpace.SemicolonSpacing"/>

</ruleset>
