public function loadProjects()
    {
        $this->showProgress('Loading projects and suites...', 'info');

        if (!is_arrayable($projects = $this->config('projects')) or count($projects) == 0) {
            $this->showProgress('No projects found.', 'error');

            return;
        }

        foreach ($projects as $data) {
            $this->showProgress("Project '{$data['name']}'", 'comment');

            $project = $this->dataRepository->createOrUpdateProject($data['name'], $data['path'], $data['tests_path']);

            $this->refreshProjectSuites($data, $project);

            $this->addToWatchFolders($data['path'], $data['watch_folders']);

            $this->addToExclusions($data['path'], $data['exclude']);
        }

        $this->dataRepository->deleteMissingProjects(collect($this->config('projects'))->pluck('name')->toArray());
    }