39 lines
973 B
PHP
39 lines
973 B
PHP
<?php declare(strict_types=1);
|
|
/*
|
|
* This file is part of sebastian/cli-parser.
|
|
*
|
|
* (c) Sebastian Bergmann <sebastian@phpunit.de>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
namespace SebastianBergmann\CliParser;
|
|
|
|
use function implode;
|
|
use function sprintf;
|
|
use RuntimeException;
|
|
|
|
final class UnknownOptionException extends RuntimeException implements Exception
|
|
{
|
|
/**
|
|
* @param array<string> $similarOptions
|
|
*/
|
|
public function __construct(string $option, array $similarOptions)
|
|
{
|
|
$message = sprintf(
|
|
'Unknown option "%s"',
|
|
$option,
|
|
);
|
|
|
|
if ($similarOptions !== []) {
|
|
$message = sprintf(
|
|
'Unknown option "%s". Most similar options are %s',
|
|
$option,
|
|
implode(', ', $similarOptions),
|
|
);
|
|
}
|
|
|
|
parent::__construct($message);
|
|
}
|
|
}
|