diff --git a/composer.json b/composer.json index 4d77bb41..0ec51485 100644 --- a/composer.json +++ b/composer.json @@ -85,6 +85,7 @@ }, "pest": { "plugins": [ + "Pest\\Plugins\\Thanks", "Pest\\Plugins\\Version" ] }, diff --git a/src/Plugins/Thanks.php b/src/Plugins/Thanks.php new file mode 100644 index 00000000..eef88dde --- /dev/null +++ b/src/Plugins/Thanks.php @@ -0,0 +1,46 @@ + */ + private const FUNDING_MESSAGES = [ + "\n Want to support Pest? Here are some ways you can help:", + "\n - Star or contribute to Pest on GitHub:\n https://github.com/pestphp/pest", + "\n - Tweet about Pest on Twitter:\n https://twitter.com/pestphp", + "\n - Sponsor Nuno Maduro on GitHub:\n https://github.com/sponsors/nunomaduro", + "\n - Sponsor Nuno Maduro on Patreon:\n https://patreon.com/nunomaduro", + ]; + + /** @var OutputInterface */ + private $output; + + public function __construct(OutputInterface $output) + { + $this->output = $output; + } + + public function handleArguments(array $arguments): array + { + if (!in_array(self::THANKS_OPTION, $arguments, true)) { + return $arguments; + } + + foreach (self::FUNDING_MESSAGES as $message) { + $this->output->writeln($message); + } + + exit(0); + } +}