|
37 | 37 | use PhpSchool\PhpWorkshop\Output\OutputInterface; |
38 | 38 | use PhpSchool\PhpWorkshop\Output\StdOutput; |
39 | 39 | use PhpSchool\PhpWorkshop\Patch; |
| 40 | +use PhpSchool\PhpWorkshop\Result\Cgi\GenericFailure as CgiGenericFailure; |
| 41 | +use PhpSchool\PhpWorkshop\Result\Cgi\RequestFailure as CgiRequestFailure; |
| 42 | +use PhpSchool\PhpWorkshop\Result\Cgi\CgiResult; |
| 43 | +use PhpSchool\PhpWorkshop\Result\Cli\CliResult; |
| 44 | +use PhpSchool\PhpWorkshop\Result\Cli\GenericFailure as CliGenericFailure; |
| 45 | +use PhpSchool\PhpWorkshop\Result\Cli\RequestFailure as CliRequestFailure; |
| 46 | +use PhpSchool\PhpWorkshop\Result\Failure; |
| 47 | +use PhpSchool\PhpWorkshop\Result\FunctionRequirementsFailure; |
| 48 | +use PhpSchool\PhpWorkshop\Result\StdOutFailure; |
40 | 49 | use PhpSchool\PhpWorkshop\ResultAggregator; |
| 50 | +use PhpSchool\PhpWorkshop\ResultRenderer\CgiResultRenderer; |
| 51 | +use PhpSchool\PhpWorkshop\ResultRenderer\CliResultRenderer; |
| 52 | +use PhpSchool\PhpWorkshop\ResultRenderer\FailureRenderer; |
| 53 | +use PhpSchool\PhpWorkshop\ResultRenderer\FunctionRequirementsFailureRenderer; |
| 54 | +use PhpSchool\PhpWorkshop\ResultRenderer\Cli\RequestFailureRenderer as CliRequestFailureRenderer; |
| 55 | +use PhpSchool\PhpWorkshop\ResultRenderer\Cgi\RequestFailureRenderer as CgiRequestFailureRenderer; |
| 56 | +use PhpSchool\PhpWorkshop\Utils\RequestRenderer; |
41 | 57 | use PhpSchool\PSX\Factory as PsxFactory; |
42 | 58 | use PhpSchool\PhpWorkshop\WorkshopType; |
43 | 59 | use PhpSchool\PSX\SyntaxHighlighter; |
|
125 | 141 | RunnerManager::class => function (ContainerInterface $c) { |
126 | 142 | $manager = new RunnerManager; |
127 | 143 | $manager->addFactory(new CliRunnerFactory($c->get(EventDispatcher::class))); |
128 | | - $manager->addFactory(new CgiRunnerFactory($c->get(EventDispatcher::class))); |
| 144 | + $manager->addFactory(new CgiRunnerFactory($c->get(EventDispatcher::class), $c->get(RequestRenderer::class))); |
129 | 145 | $manager->addFactory(new CustomVerifyingRunnerFactory); |
130 | 146 | return $manager; |
131 | 147 | }, |
|
231 | 247 | FakerGenerator::class => function () { |
232 | 248 | return FakerFactory::create(); |
233 | 249 | }, |
| 250 | + RequestRenderer::class => object(), |
234 | 251 |
|
235 | 252 | TerminalInterface::class => factory([TerminalFactory::class, 'fromSystem']), |
236 | 253 | 'menu' => factory(MenuFactory::class), |
|
266 | 283 | ResetProgress::class => function (ContainerInterface $c) { |
267 | 284 | return new ResetProgress($c->get(UserStateSerializer::class)); |
268 | 285 | }, |
269 | | - ResultRendererFactory::class => object(), |
| 286 | + ResultRendererFactory::class => function (ContainerInterface $c) { |
| 287 | + $factory = new ResultRendererFactory; |
| 288 | + $factory->registerRenderer(FunctionRequirementsFailure::class, FunctionRequirementsFailureRenderer::class); |
| 289 | + $factory->registerRenderer(Failure::class, FailureRenderer::class); |
| 290 | + $factory->registerRenderer( |
| 291 | + CgiResult::class, |
| 292 | + CgiResultRenderer::class, |
| 293 | + function (CgiResult $result) use ($c) { |
| 294 | + return new CgiResultRenderer($result, $c->get(RequestRenderer::class)); |
| 295 | + } |
| 296 | + ); |
| 297 | + $factory->registerRenderer(CgiGenericFailure::class, FailureRenderer::class); |
| 298 | + $factory->registerRenderer(CgiRequestFailure::class, CgiRequestFailureRenderer::class); |
| 299 | + |
| 300 | + $factory->registerRenderer(CliResult::class, CliResultRenderer::class); |
| 301 | + $factory->registerRenderer(CliGenericFailure::class, FailureRenderer::class); |
| 302 | + $factory->registerRenderer(CliRequestFailure::class, CliRequestFailureRenderer::class); |
| 303 | + |
| 304 | + return $factory; |
| 305 | + }, |
270 | 306 | ResultsRenderer::class => function (ContainerInterface $c) { |
271 | 307 | return new ResultsRenderer( |
272 | 308 | $c->get('appName'), |
|
277 | 313 | $c->get(ResultRendererFactory::class) |
278 | 314 | ); |
279 | 315 | }, |
| 316 | + |
280 | 317 | 'coreContributors' => [ |
281 | 318 | '@AydinHassan' => 'Aydin Hassan', |
282 | 319 | '@mikeymike' => 'Michael Woodward', |
|
0 commit comments