<?xml version="1.0"?>
<ruleset name="OceanExtra">
	<description>Rules for Ocean Extra</description>

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

    <exclude-pattern>*/vendor/*</exclude-pattern>
    <exclude-pattern>*/node_modules/*</exclude-pattern>
	<exclude-pattern>*/sass*/*</exclude-pattern>
    <exclude-pattern>*/build*/*</exclude-pattern>
    <exclude-pattern>*/assets*/*</exclude-pattern>

	<!-- Include the WordPress-Extra standard. -->
	<rule ref="WordPress-Extra">
		<!--
		We may want a middle ground though. The best way to do this is add the
		entire ruleset, then rule by rule, remove ones that don't suit a project.
		We can do this by running `phpcs` with the '-s' flag, which allows us to
		see the names of the sniffs reporting errors.
		Once we know the sniff names, we can opt to exclude sniffs which don't
		suit our project like so.
		-->
		<exclude name="WordPress.Files.FileName.InvalidClassFileName"/>
		<exclude name="WordPress.Files.FileName.NotHyphenatedLowercase"/>
		<exclude name="WordPress.NamingConventions.ValidVariableName.VariableNotSnakeCase"/>
		<exclude name="WordPress.Arrays.MultipleStatementAlignment.DoubleArrowNotAligned"/>
		<exclude name="WordPress.PHP.StrictInArray.MissingTrueStrict"/>
		<exclude name="Generic.Files.LineEndings" />
		<exclude name="Generic.Formatting.MultipleStatementAlignment.NotSameWarning" />
		<exclude name="Generic.Arrays.DisallowShortArraySyntax"/>
	</rule>

	<!-- Let's also check that everything is properly documented. -->
	<rule ref="WordPress-Docs"/>
	<rule ref="PHPCompatibility"/>

	<config name="minimum_supported_wp_version" value="5.0.0"/>
	<config name="testVersion" value="5.6-"/>

	<rule ref="WordPress.WP.I18n">
		<properties>
			<property name="text_domain" value="ocean-extra"/>
		</properties>
	</rule>

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

</ruleset>