Lexer->addEntryPattern('(?=.*?)', $mode, 'plugin_codify'); } public function postConnect() { $this->Lexer->addExitPattern('', 'plugin_codify'); } public function handle($match, $state, $pos, Doku_Handler $handler) { if ($state == DOKU_LEXER_ENTER) { $attributes = trim(substr($match, 7, -1)); $chunk = preg_split("/\s+/", $attributes); $match = $chunk[0]; } return array($state, $match); } public function render($mode, Doku_Renderer $renderer, $data) { if ($mode != 'xhtml') return false; list($state, $match) = $data; switch ($state) { case DOKU_LEXER_ENTER: $lang = (empty($match)) ? '' : "language-{$match}"; $renderer->doc .= "
";
        $renderer->doc .= "";
        break;

      case DOKU_LEXER_UNMATCHED:
        $match = ltrim($match);
        $renderer->doc .= $renderer->_xmlEntities($match);
        break;

      case DOKU_LEXER_EXIT:
        $renderer->doc .= "";
        $renderer->doc .= "
"; break; } return false; } }