X-Git-Url: https://git.cweiske.de/phorkie.git/blobdiff_plain/7bf061541b0424b427bbbd1300e81d12190c9c54..38aa0dc6133ff53d20fd9f714eb380809c8dba67:/src/phorkie/Renderer/Geshi.php diff --git a/src/phorkie/Renderer/Geshi.php b/src/phorkie/Renderer/Geshi.php index 1a79e16..21d36c2 100644 --- a/src/phorkie/Renderer/Geshi.php +++ b/src/phorkie/Renderer/Geshi.php @@ -6,21 +6,30 @@ class Renderer_Geshi /** * Converts the code to HTML * - * @param File $file File to render + * @param File $file File to render + * @param Tool_Result $res Tool result to integrate * * @return string HTML */ - public function toHtml(File $file) + public function toHtml(File $file, Tool_Result $res = null) { /** * Yes, geshi needs to be in your include path * We use the mediawiki geshi extension package. */ - require_once 'MediaWiki/geshi/geshi/geshi.php'; + require_once $GLOBALS['phorkie']['cfg']['geshi']; $geshi = new \GeSHi($file->getContent(), $this->getType($file)); $geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS); $geshi->set_header_type(GESHI_HEADER_DIV); - return $geshi->parse_code(); + + if ($res !== null) { + $geshi->highlight_lines_extra(array_keys($res->annotations)); + $geshi->set_highlight_lines_extra_style('background-color: #F2DEDE'); + } + + return '
' + . str_replace(' ', ' ', $geshi->parse_code()) + . '
'; } /**