thephpleague /
commonmark
| 1 | <?php |
||
| 2 | |||
| 3 | declare(strict_types=1); |
||
| 4 | |||
| 5 | /* |
||
| 6 | * This file is part of the league/commonmark package. |
||
| 7 | * |
||
| 8 | * (c) Colin O'Dell <[email protected]> |
||
| 9 | * |
||
| 10 | * For the full copyright and license information, please view the LICENSE |
||
| 11 | * file that was distributed with this source code. |
||
| 12 | */ |
||
| 13 | |||
| 14 | namespace League\CommonMark\Environment; |
||
| 15 | |||
| 16 | use League\CommonMark\Delimiter\Processor\DelimiterProcessorInterface; |
||
| 17 | use League\CommonMark\Exception\AlreadyInitializedException; |
||
| 18 | use League\CommonMark\Extension\ExtensionInterface; |
||
| 19 | use League\CommonMark\Node\Node; |
||
| 20 | use League\CommonMark\Parser\Block\BlockStartParserInterface; |
||
| 21 | use League\CommonMark\Parser\Inline\InlineParserInterface; |
||
| 22 | use League\CommonMark\Renderer\NodeRendererInterface; |
||
| 23 | use League\Config\ConfigurationProviderInterface; |
||
| 24 | |||
| 25 | /** |
||
| 26 | * Interface for building the Environment with any extensions, parsers, listeners, etc. that it may need |
||
| 27 | */ |
||
| 28 | interface EnvironmentBuilderInterface extends ConfigurationProviderInterface |
||
| 29 | { |
||
| 30 | /** |
||
| 31 | * Registers the given extension with the Environment |
||
| 32 | * |
||
| 33 | * @throws AlreadyInitializedException if the Environment has already been initialized |
||
| 34 | */ |
||
| 35 | public function addExtension(ExtensionInterface $extension): EnvironmentBuilderInterface; |
||
| 36 | |||
| 37 | /** |
||
| 38 | * Registers the given block start parser with the Environment |
||
| 39 | * |
||
| 40 | * @param BlockStartParserInterface $parser Block parser instance |
||
| 41 | * @param int $priority Priority (a higher number will be executed earlier) |
||
| 42 | * |
||
| 43 | * @return $this |
||
| 44 | * |
||
| 45 | * @throws AlreadyInitializedException if the Environment has already been initialized |
||
| 46 | */ |
||
| 47 | public function addBlockStartParser(BlockStartParserInterface $parser, int $priority = 0): EnvironmentBuilderInterface; |
||
| 48 | |||
| 49 | /** |
||
| 50 | * Registers the given inline parser with the Environment |
||
| 51 | * |
||
| 52 | * @param InlineParserInterface $parser Inline parser instance |
||
| 53 | * @param int $priority Priority (a higher number will be executed earlier) |
||
| 54 | * |
||
| 55 | * @return $this |
||
| 56 | * |
||
| 57 | * @throws AlreadyInitializedException if the Environment has already been initialized |
||
| 58 | */ |
||
| 59 | public function addInlineParser(InlineParserInterface $parser, int $priority = 0): EnvironmentBuilderInterface; |
||
| 60 | |||
| 61 | /** |
||
| 62 | * Registers the given delimiter processor with the Environment |
||
| 63 | * |
||
| 64 | * @param DelimiterProcessorInterface $processor Delimiter processors instance |
||
| 65 | * |
||
| 66 | * @throws AlreadyInitializedException if the Environment has already been initialized |
||
| 67 | */ |
||
| 68 | public function addDelimiterProcessor(DelimiterProcessorInterface $processor): EnvironmentBuilderInterface; |
||
| 69 | |||
| 70 | /** |
||
| 71 | * Registers the given node renderer with the Environment |
||
| 72 | * |
||
| 73 | * @param string $nodeClass The fully-qualified node element class name the renderer below should handle |
||
| 74 | * @param NodeRendererInterface $renderer The renderer responsible for rendering the type of element given above |
||
| 75 | * @param int $priority Priority (a higher number will be executed earlier) |
||
| 76 | * |
||
| 77 | * @psalm-param class-string<Node> $nodeClass |
||
| 78 | * |
||
| 79 | * @return $this |
||
| 80 | * |
||
| 81 | * @throws AlreadyInitializedException if the Environment has already been initialized |
||
| 82 | */ |
||
| 83 | public function addRenderer(string $nodeClass, NodeRendererInterface $renderer, int $priority = 0): EnvironmentBuilderInterface; |
||
| 84 | |||
| 85 | /** |
||
| 86 | * Registers the given event listener |
||
| 87 | * |
||
| 88 | * @param class-string $eventClass Fully-qualified class name of the event this listener should respond to |
||
|
0 ignored issues
–
show
Documentation
Bug
introduced
by
Loading history...
|
|||
| 89 | * @param callable $listener Listener to be executed |
||
| 90 | * @param int $priority Priority (a higher number will be executed earlier) |
||
| 91 | * |
||
| 92 | * @return $this |
||
| 93 | * |
||
| 94 | * @throws AlreadyInitializedException if the Environment has already been initialized |
||
| 95 | */ |
||
| 96 | public function addEventListener(string $eventClass, callable $listener, int $priority = 0): EnvironmentBuilderInterface; |
||
| 97 | } |
||
| 98 |