summaryrefslogtreecommitdiff
path: root/platform/www/inc/Parsing/ParserMode/Preformatted.php
diff options
context:
space:
mode:
Diffstat (limited to 'platform/www/inc/Parsing/ParserMode/Preformatted.php')
-rw-r--r--platform/www/inc/Parsing/ParserMode/Preformatted.php31
1 files changed, 31 insertions, 0 deletions
diff --git a/platform/www/inc/Parsing/ParserMode/Preformatted.php b/platform/www/inc/Parsing/ParserMode/Preformatted.php
new file mode 100644
index 0000000..7dfc474
--- /dev/null
+++ b/platform/www/inc/Parsing/ParserMode/Preformatted.php
@@ -0,0 +1,31 @@
+<?php
+
+namespace dokuwiki\Parsing\ParserMode;
+
+class Preformatted extends AbstractMode
+{
+
+ /** @inheritdoc */
+ public function connectTo($mode)
+ {
+ // Has hard coded awareness of lists...
+ $this->Lexer->addEntryPattern('\n (?![\*\-])', $mode, 'preformatted');
+ $this->Lexer->addEntryPattern('\n\t(?![\*\-])', $mode, 'preformatted');
+
+ // How to effect a sub pattern with the Lexer!
+ $this->Lexer->addPattern('\n ', 'preformatted');
+ $this->Lexer->addPattern('\n\t', 'preformatted');
+ }
+
+ /** @inheritdoc */
+ public function postConnect()
+ {
+ $this->Lexer->addExitPattern('\n', 'preformatted');
+ }
+
+ /** @inheritdoc */
+ public function getSort()
+ {
+ return 20;
+ }
+}