1*be906b56SAndreas Gohr<?php 2*be906b56SAndreas Gohr 3*be906b56SAndreas Gohrnamespace dokuwiki\Parsing\ParserMode; 4*be906b56SAndreas Gohr 5*be906b56SAndreas Gohrclass Preformatted extends AbstractMode 6*be906b56SAndreas Gohr{ 7*be906b56SAndreas Gohr 8*be906b56SAndreas Gohr /** @inheritdoc */ 9*be906b56SAndreas Gohr public function connectTo($mode) 10*be906b56SAndreas Gohr { 11*be906b56SAndreas Gohr // Has hard coded awareness of lists... 12*be906b56SAndreas Gohr $this->Lexer->addEntryPattern('\n (?![\*\-])', $mode, 'preformatted'); 13*be906b56SAndreas Gohr $this->Lexer->addEntryPattern('\n\t(?![\*\-])', $mode, 'preformatted'); 14*be906b56SAndreas Gohr 15*be906b56SAndreas Gohr // How to effect a sub pattern with the Lexer! 16*be906b56SAndreas Gohr $this->Lexer->addPattern('\n ', 'preformatted'); 17*be906b56SAndreas Gohr $this->Lexer->addPattern('\n\t', 'preformatted'); 18*be906b56SAndreas Gohr } 19*be906b56SAndreas Gohr 20*be906b56SAndreas Gohr /** @inheritdoc */ 21*be906b56SAndreas Gohr public function postConnect() 22*be906b56SAndreas Gohr { 23*be906b56SAndreas Gohr $this->Lexer->addExitPattern('\n', 'preformatted'); 24*be906b56SAndreas Gohr } 25*be906b56SAndreas Gohr 26*be906b56SAndreas Gohr /** @inheritdoc */ 27*be906b56SAndreas Gohr public function getSort() 28*be906b56SAndreas Gohr { 29*be906b56SAndreas Gohr return 20; 30*be906b56SAndreas Gohr } 31*be906b56SAndreas Gohr} 32