<?xml version="1.0"?>
<ruleset name="WordPress Plugin Coding Standards">
	<description>
		A custom set of code standard rules to check for WordPress plugins:

		* See https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml
    * See https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/blob/develop/WordPress-Core/ruleset.xml
	</description>

	<config name="minimum_supported_wp_version" value="5.2"/>
	<config name="testVersion" value="7.4-"/>

	<!-- Include the WordPress ruleset, with exclusions. -->
	<rule ref="WordPress-Core">
		<exclude name="WordPress.Arrays.CommaAfterArrayItem.SpaceAfterComma" />
		<exclude name="Generic.Functions.FunctionCallArgumentSpacing.TooMuchSpaceAfterComma" />
		<exclude name="Universal.Arrays.DisallowShortArraySyntax" />
	</rule>
	<rule ref="WordPress-Docs" />
	<rule ref="WordPress-Extra" />

	<rule ref="WordPress.NamingConventions.ValidVariableName">
		<properties>
			<property name="allowed_custom_properties" type="array" value="nodeValue,parentNode,childNodes,tagName,ownerDocument,nextSibling,previousSibling,firstChild,lastChild" />
		</properties>
	</rule>

	<rule ref="WordPress.Arrays.MultipleStatementAlignment">
		<properties>
			<property name="exact" value="false" />
			<property name="maxColumn" value="70" />
		</properties>
	</rule>

	<!--
	To get the optimal benefits of using WPCS, we should add a couple of
	custom properties.
	Adjust the values of these properties to fit our needs.
	For information on additional custom properties available, check out
	the wiki:
	https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/wiki/Customizable-sniff-properties
	-->
	<rule ref="WordPress.WP.I18n">
		<properties>
			<property name="text_domain" type="array">
				<element value="$textdomain"/>
			</property>
		</properties>
	</rule>

	<rule ref="WordPress.NamingConventions.PrefixAllGlobals">
		<properties>
			<property name="prefixes" type="array">
				<element value="WP_Requirements"/>
				<element value="Mundschenk"/>
			</property>
		</properties>

		<exclude-pattern>*/partials/*\.php</exclude-pattern>
		<exclude-pattern>*/tests/*\.php</exclude-pattern>
	</rule>

	<!-- Include sniffs for PHP cross-version compatibility. -->
	<rule ref="PHPCompatibility" />
</ruleset>
