|
3 | 3 | declare(strict_types=1);
|
4 | 4 |
|
5 | 5 | use Colors\Color;
|
6 |
| -use League\CommonMark\ElementRendererInterface; |
7 |
| -use PhpSchool\CliMdRenderer\CliExtension; |
8 |
| -use PhpSchool\CliMdRenderer\CliRenderer; |
9 |
| -use PhpSchool\PhpWorkshop\Check\FileComparisonCheck; |
10 |
| -use PhpSchool\PhpWorkshop\ExerciseRunner\Factory\ServerRunnerFactory; |
11 |
| -use PhpSchool\PhpWorkshop\Listener\InitialCodeListener; |
12 |
| -use PhpSchool\PhpWorkshop\Listener\OutputRunInfoListener; |
13 |
| -use PhpSchool\PhpWorkshop\Listener\TearDownListener; |
14 |
| -use PhpSchool\PhpWorkshop\Logger\ConsoleLogger; |
15 |
| -use PhpSchool\PhpWorkshop\Logger\Logger; |
16 |
| -use PhpSchool\PhpWorkshop\Markdown\Parser\ContextSpecificBlockParser; |
17 |
| -use PhpSchool\PhpWorkshop\Markdown\ProblemFileExtension; |
18 |
| -use PhpSchool\PhpWorkshop\Markdown\Renderer\ContextSpecificRenderer; |
19 |
| -use PhpSchool\PhpWorkshop\Markdown\Shorthands\AppName; |
20 |
| -use PhpSchool\PhpWorkshop\Markdown\Shorthands\Context; |
21 |
| -use PhpSchool\PhpWorkshop\Markdown\Shorthands\Documentation; |
22 |
| -use PhpSchool\PhpWorkshop\Markdown\Shorthands\Run; |
23 |
| -use PhpSchool\PhpWorkshop\Markdown\Shorthands\Verify; |
24 |
| -use PhpSchool\PhpWorkshop\Result\ComposerFailure; |
25 |
| -use PhpSchool\PhpWorkshop\Result\FileComparisonFailure; |
26 |
| -use PhpSchool\PhpWorkshop\ResultRenderer\ComposerFailureRenderer; |
27 |
| -use PhpSchool\PhpWorkshop\ResultRenderer\FileComparisonFailureRenderer; |
28 |
| -use PhpSchool\PhpWorkshop\UserState\LocalJsonSerializer; |
29 |
| -use Psr\Log\LoggerInterface; |
30 |
| -use function DI\create; |
31 |
| -use function DI\factory; |
| 6 | +use Faker\Factory as FakerFactory; |
| 7 | +use Faker\Generator as FakerGenerator; |
32 | 8 | use Kadet\Highlighter\KeyLighter;
|
33 |
| -use function PhpSchool\PhpWorkshop\canonicalise_path; |
34 |
| -use function PhpSchool\PhpWorkshop\Event\containerListener; |
35 |
| -use Psr\Container\ContainerInterface; |
36 | 9 | use League\CommonMark\DocParser;
|
| 10 | +use League\CommonMark\ElementRendererInterface; |
37 | 11 | use League\CommonMark\Environment;
|
38 |
| -use PhpParser\PrettyPrinter\Standard; |
39 |
| -use PhpSchool\CliMenu\Terminal\TerminalFactory; |
40 |
| -use PhpSchool\Terminal\Terminal; |
41 | 12 | use PhpParser\Parser;
|
42 | 13 | use PhpParser\ParserFactory;
|
| 14 | +use PhpParser\PrettyPrinter\Standard; |
| 15 | +use PhpSchool\CliMdRenderer\CliExtension; |
| 16 | +use PhpSchool\CliMdRenderer\CliRenderer; |
| 17 | +use PhpSchool\CliMenu\Terminal\TerminalFactory; |
43 | 18 | use PhpSchool\PhpWorkshop\Check\CheckRepository;
|
| 19 | +use PhpSchool\PhpWorkshop\Check\CodeExistsCheck; |
44 | 20 | use PhpSchool\PhpWorkshop\Check\CodeParseCheck;
|
45 | 21 | use PhpSchool\PhpWorkshop\Check\ComposerCheck;
|
46 | 22 | use PhpSchool\PhpWorkshop\Check\DatabaseCheck;
|
| 23 | +use PhpSchool\PhpWorkshop\Check\FileComparisonCheck; |
| 24 | +use PhpSchool\PhpWorkshop\Check\FileExistsCheck; |
| 25 | +use PhpSchool\PhpWorkshop\Check\FunctionRequirementsCheck; |
| 26 | +use PhpSchool\PhpWorkshop\Check\PhpLintCheck; |
47 | 27 | use PhpSchool\PhpWorkshop\CodeInsertion as Insertion;
|
48 | 28 | use PhpSchool\PhpWorkshop\CodePatcher;
|
| 29 | +use PhpSchool\PhpWorkshop\Command\CreditsCommand; |
| 30 | +use PhpSchool\PhpWorkshop\Command\HelpCommand; |
| 31 | +use PhpSchool\PhpWorkshop\Command\MenuCommand; |
| 32 | +use PhpSchool\PhpWorkshop\Command\PrintCommand; |
| 33 | +use PhpSchool\PhpWorkshop\Command\RunCommand; |
| 34 | +use PhpSchool\PhpWorkshop\Command\VerifyCommand; |
| 35 | +use PhpSchool\PhpWorkshop\CommandDefinition; |
| 36 | +use PhpSchool\PhpWorkshop\CommandRouter; |
49 | 37 | use PhpSchool\PhpWorkshop\Event\EventDispatcher;
|
50 | 38 | use PhpSchool\PhpWorkshop\ExerciseDispatcher;
|
| 39 | +use PhpSchool\PhpWorkshop\ExerciseRenderer; |
| 40 | +use PhpSchool\PhpWorkshop\ExerciseRepository; |
51 | 41 | use PhpSchool\PhpWorkshop\ExerciseRunner\Factory\CgiRunnerFactory;
|
52 | 42 | use PhpSchool\PhpWorkshop\ExerciseRunner\Factory\CliRunnerFactory;
|
53 | 43 | use PhpSchool\PhpWorkshop\ExerciseRunner\Factory\CustomVerifyingRunnerFactory;
|
| 44 | +use PhpSchool\PhpWorkshop\ExerciseRunner\Factory\ServerRunnerFactory; |
54 | 45 | use PhpSchool\PhpWorkshop\ExerciseRunner\RunnerManager;
|
55 | 46 | use PhpSchool\PhpWorkshop\Factory\EventDispatcherFactory;
|
56 | 47 | use PhpSchool\PhpWorkshop\Factory\MenuFactory;
|
57 | 48 | use PhpSchool\PhpWorkshop\Factory\ResultRendererFactory;
|
58 | 49 | use PhpSchool\PhpWorkshop\Listener\CheckExerciseAssignedListener;
|
59 | 50 | use PhpSchool\PhpWorkshop\Listener\CodePatchListener;
|
60 | 51 | use PhpSchool\PhpWorkshop\Listener\ConfigureCommandListener;
|
| 52 | +use PhpSchool\PhpWorkshop\Listener\InitialCodeListener; |
| 53 | +use PhpSchool\PhpWorkshop\Listener\OutputRunInfoListener; |
61 | 54 | use PhpSchool\PhpWorkshop\Listener\PrepareSolutionListener;
|
62 | 55 | use PhpSchool\PhpWorkshop\Listener\RealPathListener;
|
63 | 56 | use PhpSchool\PhpWorkshop\Listener\SelfCheckListener;
|
| 57 | +use PhpSchool\PhpWorkshop\Listener\TearDownListener; |
| 58 | +use PhpSchool\PhpWorkshop\Logger\ConsoleLogger; |
| 59 | +use PhpSchool\PhpWorkshop\Logger\Logger; |
| 60 | +use PhpSchool\PhpWorkshop\Markdown\CurrentContext; |
| 61 | +use PhpSchool\PhpWorkshop\Markdown\Parser\ContextSpecificBlockParser; |
| 62 | +use PhpSchool\PhpWorkshop\Markdown\ProblemFileExtension; |
| 63 | +use PhpSchool\PhpWorkshop\Markdown\Renderer\ContextSpecificRenderer; |
| 64 | +use PhpSchool\PhpWorkshop\Markdown\Shorthands\Cli\AppName; |
| 65 | +use PhpSchool\PhpWorkshop\Markdown\Shorthands\Cli\Run; |
| 66 | +use PhpSchool\PhpWorkshop\Markdown\Shorthands\Cli\Verify; |
| 67 | +use PhpSchool\PhpWorkshop\Markdown\Shorthands\Context; |
| 68 | +use PhpSchool\PhpWorkshop\Markdown\Shorthands\Documentation; |
| 69 | +use PhpSchool\PhpWorkshop\MarkdownRenderer; |
64 | 70 | use PhpSchool\PhpWorkshop\MenuItem\ResetProgress;
|
65 | 71 | use PhpSchool\PhpWorkshop\Output\OutputInterface;
|
66 | 72 | use PhpSchool\PhpWorkshop\Output\StdOutput;
|
67 | 73 | use PhpSchool\PhpWorkshop\Patch;
|
| 74 | +use PhpSchool\PhpWorkshop\Result\Cgi\CgiResult; |
68 | 75 | use PhpSchool\PhpWorkshop\Result\Cgi\GenericFailure as CgiGenericFailure;
|
69 | 76 | use PhpSchool\PhpWorkshop\Result\Cgi\RequestFailure as CgiRequestFailure;
|
70 |
| -use PhpSchool\PhpWorkshop\Result\Cgi\CgiResult; |
71 | 77 | use PhpSchool\PhpWorkshop\Result\Cli\CliResult;
|
72 | 78 | use PhpSchool\PhpWorkshop\Result\Cli\GenericFailure as CliGenericFailure;
|
73 | 79 | use PhpSchool\PhpWorkshop\Result\Cli\RequestFailure as CliRequestFailure;
|
74 | 80 | use PhpSchool\PhpWorkshop\Result\ComparisonFailure;
|
| 81 | +use PhpSchool\PhpWorkshop\Result\ComposerFailure; |
75 | 82 | use PhpSchool\PhpWorkshop\Result\Failure;
|
| 83 | +use PhpSchool\PhpWorkshop\Result\FileComparisonFailure; |
76 | 84 | use PhpSchool\PhpWorkshop\Result\FunctionRequirementsFailure;
|
77 | 85 | use PhpSchool\PhpWorkshop\ResultAggregator;
|
| 86 | +use PhpSchool\PhpWorkshop\ResultRenderer\Cgi\RequestFailureRenderer as CgiRequestFailureRenderer; |
78 | 87 | use PhpSchool\PhpWorkshop\ResultRenderer\CgiResultRenderer;
|
| 88 | +use PhpSchool\PhpWorkshop\ResultRenderer\Cli\RequestFailureRenderer as CliRequestFailureRenderer; |
79 | 89 | use PhpSchool\PhpWorkshop\ResultRenderer\CliResultRenderer;
|
80 | 90 | use PhpSchool\PhpWorkshop\ResultRenderer\ComparisonFailureRenderer;
|
| 91 | +use PhpSchool\PhpWorkshop\ResultRenderer\ComposerFailureRenderer; |
81 | 92 | use PhpSchool\PhpWorkshop\ResultRenderer\FailureRenderer;
|
| 93 | +use PhpSchool\PhpWorkshop\ResultRenderer\FileComparisonFailureRenderer; |
82 | 94 | use PhpSchool\PhpWorkshop\ResultRenderer\FunctionRequirementsFailureRenderer;
|
83 |
| -use PhpSchool\PhpWorkshop\ResultRenderer\Cli\RequestFailureRenderer as CliRequestFailureRenderer; |
84 |
| -use PhpSchool\PhpWorkshop\ResultRenderer\Cgi\RequestFailureRenderer as CgiRequestFailureRenderer; |
85 |
| -use PhpSchool\PhpWorkshop\Utils\RequestRenderer; |
86 |
| -use PhpSchool\PhpWorkshop\WorkshopType; |
87 |
| -use PhpSchool\PhpWorkshop\Check\FileExistsCheck; |
88 |
| -use PhpSchool\PhpWorkshop\Check\CodeExistsCheck; |
89 |
| -use PhpSchool\PhpWorkshop\Check\FunctionRequirementsCheck; |
90 |
| -use PhpSchool\PhpWorkshop\Check\PhpLintCheck; |
91 |
| -use PhpSchool\PhpWorkshop\Command\CreditsCommand; |
92 |
| -use PhpSchool\PhpWorkshop\Command\HelpCommand; |
93 |
| -use PhpSchool\PhpWorkshop\Command\MenuCommand; |
94 |
| -use PhpSchool\PhpWorkshop\Command\PrintCommand; |
95 |
| -use PhpSchool\PhpWorkshop\Command\VerifyCommand; |
96 |
| -use PhpSchool\PhpWorkshop\Command\RunCommand; |
97 |
| -use PhpSchool\PhpWorkshop\CommandDefinition; |
98 |
| -use PhpSchool\PhpWorkshop\CommandRouter; |
99 |
| -use PhpSchool\PhpWorkshop\ExerciseRenderer; |
100 |
| -use PhpSchool\PhpWorkshop\ExerciseRepository; |
101 |
| -use PhpSchool\PhpWorkshop\MarkdownRenderer; |
102 | 95 | use PhpSchool\PhpWorkshop\ResultRenderer\ResultsRenderer;
|
103 |
| -use PhpSchool\PhpWorkshop\UserState\UserState; |
| 96 | +use PhpSchool\PhpWorkshop\UserState\LocalJsonSerializer; |
104 | 97 | use PhpSchool\PhpWorkshop\UserState\Serializer;
|
| 98 | +use PhpSchool\PhpWorkshop\UserState\UserState; |
| 99 | +use PhpSchool\PhpWorkshop\Utils\RequestRenderer; |
| 100 | +use PhpSchool\PhpWorkshop\WorkshopType; |
| 101 | +use PhpSchool\Terminal\Terminal; |
| 102 | +use Psr\Container\ContainerInterface; |
| 103 | +use Psr\Log\LoggerInterface; |
105 | 104 | use Symfony\Component\Filesystem\Filesystem;
|
106 |
| -use Faker\Factory as FakerFactory; |
107 |
| -use Faker\Generator as FakerGenerator; |
| 105 | +use function DI\create; |
| 106 | +use function DI\factory; |
| 107 | +use function PhpSchool\PhpWorkshop\canonicalise_path; |
| 108 | +use function PhpSchool\PhpWorkshop\Event\containerListener; |
108 | 109 |
|
109 | 110 | return [
|
110 | 111 | 'appName' => basename($_SERVER['argv'][0] ?? 'phpschool'),
|
|
327 | 328 | $c->get(OutputInterface::class)
|
328 | 329 | );
|
329 | 330 | },
|
330 |
| - ContextSpecificRenderer::class => function () { |
331 |
| - return new ContextSpecificRenderer(ContextSpecificBlockParser::CLI_TYPE); |
| 331 | + ContextSpecificRenderer::class => function (ContainerInterface $c) { |
| 332 | + return new ContextSpecificRenderer($c->get(CurrentContext::class)); |
| 333 | + }, |
| 334 | + Context::class => function (ContainerInterface $c) { |
| 335 | + return new Context($c->get(CurrentContext::class)); |
332 | 336 | },
|
333 |
| - Context::class => function () { |
334 |
| - return new Context(ContextSpecificBlockParser::CLI_TYPE); |
| 337 | + CurrentContext::class => function () { |
| 338 | + return CurrentContext::cli(); |
335 | 339 | },
|
336 | 340 | Environment::class => function (ContainerInterface $c) {
|
337 | 341 | $terminal = $c->get(Terminal::class);
|
|
349 | 353 | [
|
350 | 354 | 'appname' => new AppName($c->get('appName')),
|
351 | 355 | 'doc' => new Documentation(),
|
352 |
| - 'run' => new Run(), |
353 |
| - 'verify' => new Verify(), |
| 356 | + 'run' => new Run($c->get('appName')), |
| 357 | + 'verify' => new Verify($c->get('appName')), |
354 | 358 | 'context' => $c->get(Context::class)
|
355 | 359 | ]
|
356 | 360 | ));
|
|
0 commit comments