From f90896b892619ea7a0cbdee56e2ff866e7ba1d66 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Sat, 16 Dec 2023 18:04:04 +0100 Subject: [PATCH 1/2] require sources --- src/Console/Command/SwitchFormatCommand.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Console/Command/SwitchFormatCommand.php b/src/Console/Command/SwitchFormatCommand.php index b80bff3f29f..6b401b1abf6 100644 --- a/src/Console/Command/SwitchFormatCommand.php +++ b/src/Console/Command/SwitchFormatCommand.php @@ -42,7 +42,7 @@ protected function configure(): void $this->addArgument( Option::SOURCES, - InputArgument::OPTIONAL | InputArgument::IS_ARRAY, + InputArgument::IS_ARRAY, 'Path to directory/file with configs' ); From f81fb3d5033455e2e9ebf1d1f67f5c9e7dc8ac27 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Sat, 16 Dec 2023 18:07:50 +0100 Subject: [PATCH 2/2] support multiple files --- src/Finder/ConfigFileFinder.php | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/Finder/ConfigFileFinder.php b/src/Finder/ConfigFileFinder.php index 38d06979998..daae99ef431 100644 --- a/src/Finder/ConfigFileFinder.php +++ b/src/Finder/ConfigFileFinder.php @@ -21,20 +21,22 @@ final class ConfigFileFinder */ public function findFileInfos(array $sources): array { - if (count($sources) === 1 && is_file($sources[0])) { - $path = realpath($sources[0]); - return [ - new SplFileInfo( - $path, - $sources[0], - $sources[0] - )]; + $fileInfos = []; + $directories = []; + + foreach ($sources as $source) { + if (is_file($source)) { + $fileInfos[] = new SplFileInfo(realpath($source), $source, $source); + } else { + $directories[] = $source; + } } $finder = new Finder(); $finder->files() - ->in($sources) - ->name(self::CONFIG_SUFFIXES_REGEX); + ->in($directories) + ->name(self::CONFIG_SUFFIXES_REGEX) + ->append($fileInfos); return iterator_to_array($finder->getIterator()); }