| #
71096e46 |
| 18-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
move handler methods into ParserMode classes and rename Handler
Each ParserMode class now implements handle() from ModeInterface, containing the token handling logic that previously lived as individ
move handler methods into ParserMode classes and rename Handler
Each ParserMode class now implements handle() from ModeInterface, containing the token handling logic that previously lived as individual methods on Doku_Handler.
The Handler class (formerly Doku_Handler) is the single dispatch point: Lexer passes tokens to Handler::handleToken() which routes to mode objects, plugins, or returns false. The Lexer only tokenizes and resolves mapHandler aliases.
Key changes: - Add handle() to ModeInterface, implemented by all mode classes - Move Doku_Handler to dokuwiki\Parsing\Handler namespace - File extends Code (shared parsing via $type property) - Quotes uses mapHandler() + Handler::getModeName() for sub-modes - Media::parseMedia() replaces Doku_Handler_Parse_Media() - Code::parseHighlightOptions() replaces parse_highlight_options() - Per-parse state (footnote, doublequote) stays on Handler - Deprecated wrappers kept for base/header/internallink/media - Class alias and rector rules added for backward compatibility
show more ...
|
| #
c8dd1b9d |
| 16-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
introduce ModeRegistry to encapsulate parser mode categories
Replace the global $PARSER_MODES definition in inc/parser/parser.php with a ModeRegistry singleton that initializes and manages the mode
introduce ModeRegistry to encapsulate parser mode categories
Replace the global $PARSER_MODES definition in inc/parser/parser.php with a ModeRegistry singleton that initializes and manages the mode categories. The global array is still populated for backward compatibility with plugins that access it directly.
Mode constructors now use ModeRegistry::getModesForCategories() instead of accessing the global directly. p_get_parsermodes() and p_sort_modes() are moved to inc/deprecated.php as thin wrappers.
show more ...
|
| #
093fe67e |
| 07-Mar-2026 |
Andreas Gohr <andi@splitbrain.org> |
updated rector and applied it
|
| #
efc3ac2f |
| 07-Sep-2023 |
splitbrain <splitbrain@users.noreply.github.com> |
Rector and PHPCS fixes
|
| #
e6a82646 |
| 03-Sep-2023 |
Andreas Gohr <andi@splitbrain.org> |
fix syntax plugin loading
It turns out our Syntax plugins never implemented the PluginInterface (though they did use the PluginTrait). With our stricter type checking in the plugin loader, these plu
fix syntax plugin loading
It turns out our Syntax plugins never implemented the PluginInterface (though they did use the PluginTrait). With our stricter type checking in the plugin loader, these plugins did not longer load.
show more ...
|
| #
1490c177 |
| 29-Aug-2023 |
Andreas Gohr <andi@splitbrain.org> |
Apply rector fixes to inc/Extension and inc/Debug
|
| #
903d43fe |
| 31-Dec-2019 |
Michael Große <mic.grosse@googlemail.com> |
Check code style against PSR12
In 2019 PSR-12 was officially released and PSR-2 deprecated. We should adapt to that and check our files against that new coding standard.
|
| #
e1d9dcc8 |
| 15-Jun-2018 |
Andreas Gohr <andi@splitbrain.org> |
First go at moving the plugin classes into their own namespace
|