<?xml version="1.0"?>
<ruleset name="PHP_CodeSniffer">
 <description>The coding standard for PHP_CodeSniffer itself.</description>
 <exclude-pattern>*/Tests/*</exclude-pattern>

 <!-- Include the whole PEAR standard -->
 <rule ref="PEAR"/>

 <!-- Include some sniffs from other standards that don't conflict with PEAR -->
 <rule ref="Squiz.Arrays.ArrayBracketSpacing" />
 <rule ref="Squiz.Arrays.ArrayDeclaration" />
 <rule ref="Squiz.Commenting.ClosingDeclarationComment" />
 <rule ref="Squiz.ControlStructures.ElseIfDeclaration" />
 <rule ref="Squiz.Commenting.BlockComment" />
 <rule ref="Squiz.Commenting.DocCommentAlignment" />
 <rule ref="Squiz.Commenting.EmptyCatchComment" />
 <rule ref="Squiz.Commenting.InlineComment" />
 <rule ref="Squiz.Commenting.LongConditionClosingComment" />
 <rule ref="Squiz.Commenting.PostStatementComment" />
 <rule ref="Squiz.Formatting.OperatorBracket" />
 <rule ref="Squiz.Operators.ComparisonOperatorUsage" />
 <rule ref="Squiz.PHP.DisallowInlineIf" />
 <rule ref="Squiz.Strings.ConcatenationSpacing" />
 <rule ref="Squiz.WhiteSpace.ControlStructureSpacing" />
 <rule ref="Squiz.WhiteSpace.FunctionClosingBraceSpace" />
 <rule ref="Squiz.WhiteSpace.FunctionSpacing" />
 <rule ref="Squiz.WhiteSpace.OperatorSpacing" />
 <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace" />
 <rule ref="Generic.Commenting.Todo"/>
 <rule ref="Generic.ControlStructures.InlineControlStructure"/>
 <rule ref="Generic.Formatting.DisallowMultipleStatements"/>
 <rule ref="Generic.Formatting.SpaceAfterCast"/>
 <rule ref="Generic.NamingConventions.ConstructorName"/>
 <rule ref="Generic.PHP.DeprecatedFunctions"/>
 <rule ref="Generic.PHP.LowerCaseKeyword"/>
 <rule ref="Generic.Strings.UnnecessaryStringConcat"/>
 <rule ref="PSR2.Files.EndFileNewline"/>
 <rule ref="Zend.Files.ClosingTag"/>

 <!-- Only one argument per line in multi-line function calls -->
 <rule ref="PEAR.Functions.FunctionCallSignature">
  <properties>
   <property name="allowMultipleArguments" value="false"/>
  </properties>
 </rule>

 <!-- Have 12 chars padding maximum and always show as errors -->
 <rule ref="Generic.Formatting.MultipleStatementAlignment">
  <properties>
   <property name="maxPadding" value="12"/>
   <property name="error" value="true"/>
  </properties>
 </rule>

</ruleset>
