[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/inc/Parsing/ParserMode/ -> Table.php (source)

   1  <?php
   2  
   3  namespace dokuwiki\Parsing\ParserMode;
   4  
   5  class Table extends AbstractMode
   6  {
   7      /**
   8       * Table constructor.
   9       */
  10      public function __construct()
  11      {
  12          global $PARSER_MODES;
  13  
  14          $this->allowedModes = array_merge(
  15              $PARSER_MODES['formatting'],
  16              $PARSER_MODES['substition'],
  17              $PARSER_MODES['disabled'],
  18              $PARSER_MODES['protected']
  19          );
  20      }
  21  
  22      /** @inheritdoc */
  23      public function connectTo($mode)
  24      {
  25          $this->Lexer->addEntryPattern('[\t ]*\n\^', $mode, 'table');
  26          $this->Lexer->addEntryPattern('[\t ]*\n\|', $mode, 'table');
  27      }
  28  
  29      /** @inheritdoc */
  30      public function postConnect()
  31      {
  32          $this->Lexer->addPattern('\n\^', 'table');
  33          $this->Lexer->addPattern('\n\|', 'table');
  34          $this->Lexer->addPattern('[\t ]*:::[\t ]*(?=[\|\^])', 'table');
  35          $this->Lexer->addPattern('[\t ]+', 'table');
  36          $this->Lexer->addPattern('\^', 'table');
  37          $this->Lexer->addPattern('\|', 'table');
  38          $this->Lexer->addExitPattern('\n', 'table');
  39      }
  40  
  41      /** @inheritdoc */
  42      public function getSort()
  43      {
  44          return 60;
  45      }
  46  }