|
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