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

	<file>.</file>

	<arg name="extensions" value="php" />

	<exclude-pattern>dist</exclude-pattern>
	<exclude-pattern>node_modules</exclude-pattern>
	<exclude-pattern>vendor</exclude-pattern>
	<exclude-pattern>\.lando</exclude-pattern>
	<exclude-pattern>\.wordpress</exclude-pattern>
	<exclude-pattern>*\.js</exclude-pattern>
	<exclude-pattern>*\.ts</exclude-pattern>

	<!-- Basic -->
	<rule ref="PHPCompatibility" />
	<config name="testVersion" value="7.4-"/>

	<!-- Include the WordPress ruleset, with exclusions. -->
	<rule ref="WordPress">
		<exclude name="Squiz.Commenting.ClassComment.Missing" />
		<exclude name="Squiz.Commenting.FunctionComment.Missing" />
		<exclude name="Squiz.Commenting.VariableComment.Missing" />

		<exclude name="Squiz.Commenting.FileComment.Missing" />
		<exclude name="Squiz.Commenting.FileComment.MissingPackageTag" />
		<exclude name="Squiz.Commenting.FileComment.SpacingAfterComment" />
		<exclude name="Squiz.Commenting.FileComment.SpacingAfterOpen" />
		<exclude name="Squiz.Commenting.FileComment.WrongStyle" />

		<exclude name="WordPress.Files.FileName.InvalidClassFileName" />
	</rule>

	<rule ref="./vendor/automattic/vipwpcs/WordPress-VIP-Go/ruleset.xml"/>

	<!-- Restore some WordPress exclusions -->
	<rule ref="Squiz.Commenting.ClosingDeclarationComment.Missing">
		<severity>5</severity>
	</rule>
	<rule ref="Squiz.Commenting.LongConditionClosingComment">
		<properties>
			<property name="lineLimit" value="1" />
		</properties>
		<severity>5</severity>
	</rule>
	<rule ref="WordPress.Files.FileName.InvalidClassFileName">
		<exclude-pattern>nelio-session-recordings.php</exclude-pattern>
		<severity>5</severity>
	</rule>
	<rule ref="WordPress.WP.Capabilities">
		<properties>
			<property name="custom_capabilities" type="array">
				<element value="edit_neliosr_recordings" />
				<element value="read_neliosr_recordings" />
			</property>
		</properties>
	</rule>

	<!--
	Prevent errors caused by WordPress Coding Standards not supporting PHP 8.0+.
	See https://github.com/WordPress/WordPress-Coding-Standards/issues/2035
	-->
	<ini name="error_reporting" value="E_ALL &#38; ~E_DEPRECATED" />

</ruleset>
