<?xml version="1.0"?>
<ruleset name="WordPress Coding Standards for Plugins">
  <description>Generally-applicable sniffs for WordPress plugins</description>

  <rule ref="WordPress">
    <exclude name="WordPress.PHP.StrictInArray.MissingTrueStrict"/>

    <!-- Intentionally different names. -->
    <exclude name="WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid"/>
    <exclude name="PEAR.NamingConventions.ValidClassName.StartWithCapital"/>
    <exclude name="WordPress.Files.FileName.InvalidClassFileName"/>
    <exclude name="WordPress.Files.FileName.NotHyphenatedLowercase"/>

    <!-- We're not strict about this. -->
    <exclude name="WordPress.PHP.StrictComparisons.LooseComparison"/>

    <!-- We don't want Yoda conditions.. -->
    <exclude name="WordPress.PHP.YodaConditions.NotYoda"/>
    <exclude name="WordPress.Arrays.ArrayKeySpacingRestrictions.NoSpacesAroundArrayKeys"/>
  </rule>

  <rule ref="WordPress-Docs">
    <exclude name="Squiz.Commenting.FileComment.Missing" />
    <exclude name="Squiz.Commenting.ClassComment.Missing" />
    <exclude name="Squiz.Commenting.FunctionComment.EmptyThrows" />
  </rule>

  <exclude-pattern>*/vendor/*</exclude-pattern>
  <exclude-pattern>*/tests/*</exclude-pattern>
  <exclude-pattern>*/node_modules/*</exclude-pattern>
</ruleset>
