<?xml version="1.0"?>
<ruleset name="WordPress Coding Standards">
	<description>Masteriyo PHP_CodeSniffer ruleset.</description>

	<file>.</file>

	<!-- Exclude paths -->
	<exclude-pattern>tests/</exclude-pattern>
	<exclude-pattern>*/node_modules/*</exclude-pattern>
	<exclude-pattern>*/vendor/*</exclude-pattern>
	<exclude-pattern>*/build/*</exclude-pattern>
	<exclude-pattern>*/scripts/*</exclude-pattern>

	<!-- Show progress, show the error codes for each message (source). -->
	<arg value="ps" />

	<!-- Check up to 8 files simultaneously. -->
	<arg name="parallel" value="12" />

	<!-- Strip the filepaths in reports down to the relevant bit. -->
	<arg name="basepath" value="./" />

	<!-- Check for specific valid file extensions. -->
	<arg name="extensions" value="php" />

	<!-- Configs -->
	<config name="minimum_supported_wp_version" value="5.0" />
	<config name="testVersion" value="7.2-" />

	<!-- PHPCompatibility -->
	<rule ref="PHPCompatibility">
		<exclude-pattern>tests/</exclude-pattern>
	</rule>

	<!-- Rules -->
	<rule ref="WordPress-Extra">
		<exclude name="WordPress.Files.FileName" />
		<exclude name="PSR2.Methods.FunctionClosingBrace.SpacingBeforeClose" />
		<exclude name="Squiz.Functions.MultiLineFunctionDeclaration.SpaceAfterFunction" />
	</rule>

	<rule ref="WordPress-Core">
		<exclude name="Core.Commenting.CommentTags.AuthorTag" />
		<exclude name="WordPress.PHP.DontExtract" />
	</rule>

	<rule ref="WordPress.WP.I18n.MissingTranslatorsComment" />

	<rule ref="WordPress.WP.I18n">
		<properties>
			<property name="text_domain" type="array" value="learning-management-system" />
		</properties>
	</rule>
</ruleset>
