<?xml version="1.0"?>
<ruleset name="Coding Standards">
	<description>PSR-2 with additions for docs and more.</description>

	<file>./source</file>
	<file>./tests</file>
	<exclude-pattern>./tests/bootstrap.php</exclude-pattern>

	<arg name="colors"/>
	<arg value="s"/>

	<rule ref="PSR2"/>

	<rule ref="Generic.Arrays.DisallowShortArraySyntax"/>
	<rule ref="Generic.Classes.DuplicateClassName"/>
	<rule ref="Generic.Commenting">
		<exclude name="Generic.Commenting.DocComment"/>
	</rule>
	<rule ref="Generic.ControlStructures">
		<exclude name="Generic.ControlStructures.DisallowYodaConditions.Found"/>
	</rule>
	<rule ref="Generic.Debug"/>
	<rule ref="Generic.Files">
		<exclude name="Generic.Files.EndFileNoNewline"/>
		<exclude name="Generic.Files.LowercasedFilename"/>
	</rule>
	<rule ref="Generic.Formatting">
		<exclude name="Generic.Formatting.NoSpaceAfterCast"/>
		<exclude name="Generic.Formatting.SpaceAfterNot"/>
	</rule>
	<rule ref="Generic.Functions.FunctionCallArgumentSpacing"/>
	<rule ref="Generic.Metrics"/>
	<rule ref="Generic.NamingConventions"/>
	<rule ref="Generic.NamingConventions.CamelCapsFunctionName">
		<properties>
			<property name="strict" value="false"/>
		</properties>
	</rule>
	<rule ref="Generic.PHP">
		<exclude name="Generic.PHP.ClosingPHPTag"/>
		<exclude name="Generic.PHP.UpperCaseConstant"/>
	</rule>
	<rule ref="Generic.Strings"/>
	<rule ref="Generic.WhiteSpace.DisallowTabIndent"/>

	<rule ref="Squiz.Classes"/>

	<rule ref="Squiz.Commenting.DocCommentAlignment"/>
	<rule ref="Squiz.Commenting.VariableComment">
		<exclude name="Squiz.Commenting.VariableComment.IncorrectVarType"/>
	</rule>
	<rule ref="Squiz.ControlStructures">
		<exclude name="Squiz.ControlStructures.ElseIfDeclaration"/>
	</rule>
</ruleset>
