<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
<?xml version="1.0"?>
<ruleset name="LiteSpeed Cache Coding Standards">
	<description>Apply LiteSpeed Cache Coding Standards to all plugin files</description>

	<!--
	#############################################################################
	COMMAND LINE ARGUMENTS
	https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-Ruleset
	#############################################################################
	-->

	<!-- Only scan PHP files -->
	<arg name="extensions" value="php"/>

	<!-- Cache scan results to use for unchanged files on future scans -->
	<arg name="cache" value=".cache/phpcs.json"/>

	<!-- Set memory limit to 512M
		 Ref: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Advanced-Usage#specifying-phpini-settings 
	-->
	<ini name="memory_limit" value="512M"/> 

	<!-- Remove unwanted prefix from filepaths -->
	<arg name="basepath" value="./"/>

	<!-- Check max 20 files in parallel -->
	<arg name="parallel" value="20"/>

	<!-- Show sniff codes in all reports -->
	<arg value="ps"/>

	<!--
	#############################################################################
	FILE SELECTION
	Set which files will be subject to the scans executed using this ruleset.
	#############################################################################
	-->

	<file>.</file>

	<!-- Exclude any wordpress folder in the current directory -->
	<exclude-pattern type="relative">^wordpress/*</exclude-pattern>

	<!-- Directories and third-party library exclusions -->
	<exclude-pattern>/node_modules/*</exclude-pattern>
	<exclude-pattern>/vendor/*</exclude-pattern>

	<!--
	#############################################################################
	SET UP THE RULESET
	#############################################################################
	-->
	<!-- Check PHP v7.2 and all newer versions -->
	<config name="testVersion" value="7.2-"/>

	<rule ref="PHPCompatibility">
		<!-- Exclude false positives -->
		<!-- array_key_firstFound is defined in lib/php-compatibility.func.php -->
		<exclude name="PHPCompatibility.FunctionUse.NewFunctions.array_key_firstFound" />
	</rule>

</ruleset>
