<?xml version="1.0"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="SMNTCS Custom Logo Link Coding Standards" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/squizlabs/PHP_CodeSniffer/master/phpcs.xsd">

	<!-- See https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml -->
	<!-- See https://github.com/WordPress/WordPress-Coding-Standards/blob/develop/.phpcs.xml.dist -->

	<!-- Set a description for this ruleset. -->
	<description>Coding standards used for checking the SMNTCS Custom Logo Link plugin.</description>

	<!-- Check the entire theme. -->
	<file>.</file>

	<!-- Exclude patterns. -->
	<exclude-pattern>/vendor/*</exclude-pattern>
	<exclude-pattern>/node_modules/*</exclude-pattern>

	<!-- Additional arguments. -->
	<arg value="sp"/>
	<arg name="basepath" value="."/>
	<arg name="parallel" value="8"/>
	<arg name="cache"/>
	<arg name="extensions" value="php"/>

	<!-- Include the WordPress rulesets. -->
	<rule ref="WordPress-Extra"/>
	<rule ref="WordPress-Docs"/>

	<!-- We want to allow exceptions for the filename naming, since we are working with a theme. -->
	<!-- See https://github.com/WordPress/WordPress-Coding-Standards/wiki/Customizable-sniff-properties#themes-allow-filename-exceptions -->
	<rule ref="WordPress.Files.FileName">
		<properties>
			<property name="is_theme" value="false"/>
		</properties>
	</rule>

	<!-- Allow multiple parameters on one line for multi-line function calls. -->
	<rule ref="PEAR.Functions.FunctionCallSignature">
		<properties>
			<property name="allowMultipleArguments" value="true" />
		</properties>
	</rule>

	<!-- Improve code readablilty by allowing the artguments after function call. -->
	<rule ref="PEAR.Functions.FunctionCallSignature">
		<exclude name="PEAR.Functions.FunctionCallSignature.ContentAfterOpenBracket"/>
		<exclude name="PEAR.Functions.FunctionCallSignature.CloseBracketLine"/>
	</rule>

	<!-- Check valid textdomain. -->
	<rule ref="WordPress.WP.I18n">
		<properties>
			<property name="text_domain" type="array">
				<element value="smntcs-custom-logo-link"/>
			</property>
		</properties>
	</rule>

	<rule ref="WordPress-Extra">
		<!-- _e() and _ex() are considered safe for core translations. -->
		<exclude name="WordPress.Security.EscapeOutput.UnsafePrintingFunction"/>
	</rule>

	<rule ref="WordPress.Security.EscapeOutput">
		<properties>
			<property name="customAutoEscapedFunctions" type="array">
				<!-- i18n functions are considered safe for core translations. -->
				<element value="__"/>
				<element value="_x"/>
				<element value="_n"/>
				<element value="_nx"/>
				<element value="number_format_i18n"/>
				<element value="date_i18n"/>
			</property>
		</properties>
	</rule>

</ruleset>
