files() ->name("*.blade.php") ->in($path) as $file ) { $paths[] = [ "path" => str_replace(base_path(DIRECTORY_SEPARATOR), '', $file->getRealPath()), "isVendor" => str_contains($file->getRealPath(), base_path("vendor")), "key" => \Illuminate\Support\Str::of($file->getRealPath()) ->replace(realpath($path), "") ->replace(".blade.php", "") ->ltrim(DIRECTORY_SEPARATOR) ->replace(DIRECTORY_SEPARATOR, ".") ]; } return $paths; } $paths = collect( app("view") ->getFinder() ->getPaths() )->flatMap(function ($path) { return vsCodeFindBladeFiles($path); }); $hints = collect( app("view") ->getFinder() ->getHints() )->flatMap(function ($paths, $key) { return collect($paths)->flatMap(function ($path) use ($key) { return collect(vsCodeFindBladeFiles($path))->map(function ($value) use ( $key ) { return array_merge($value, ["key" => "{$key}::{$value["key"]}"]); }); }); }); [$local, $vendor] = $paths ->merge($hints) ->values() ->partition(function ($v) { return !$v["isVendor"]; }); return $local ->sortBy("key", SORT_NATURAL) ->merge($vendor->sortBy("key", SORT_NATURAL));