/** * Runs the script and outputs highlighted code. * * @return void */ public function run() { $parser = $this->createParser(); try { $result = $parser->parse(); $file = $result->args['infile']; $format = $result->options['format']; $renderer = $result->options['renderer']; if ($format == '') { $format = $this->detectFormat($file); } $geshi = new GeSHi(file_get_contents($file), $format); if ($renderer) { $rendclass = self::$arRenderers[$renderer]; require_once GESHI_CLASSES_ROOT . 'class.geshirenderer.php'; require_once GESHI_CLASSES_ROOT . 'renderers/class.' . strtolower($rendclass) . '.php'; $geshi->setRenderer(new $rendclass()); } echo $geshi->parseCode() . "\n"; } catch (Exception $e) { $parser->displayError($e->getMessage()); exit(1); } }
<?php require_once dirname(__FILE__) . '/../class.geshi.php'; $geshi = new GeSHi(file_get_contents(__FILE__), 'php'); require_once GESHI_CLASSES_ROOT . 'class.geshirenderer.php'; require_once GESHI_CLASSES_ROOT . 'renderers/class.geshirenderertroff.php'; $geshi->setRenderer(new GeSHiRendererTroff()); $highlighted = $geshi->parseCode(); $manpage = <<<MAN .TH DemoManPage .SH EXAMPLE {$highlighted} MAN; file_put_contents('test-manpage', $manpage); echo "run 'man ./test-manpage' now!\n";