<h3 id="{{file.getFilename}}">{{file.getFilename}}<a class="anchorlink" href="#{{file.getFilename}}"></a></h3>
</div>
<div class="code">
- {{file.getHighlightedContent|raw}}
+ {{file.getHighlightedContent(toolres)|raw}}
</div>
</div>
return file_get_contents($this->path);
}
- public function getHighlightedContent()
+ public function getHighlightedContent(Tool_Result $res = null)
{
$ext = $this->getExt();
if (isset($GLOBALS['phorkie']['languages'][$ext]['renderer'])) {
$class = '\\phorkie\\Renderer_Geshi';
}
$rend = new $class();
- return $rend->toHtml($this);
+ return $rend->toHtml($this, $res);
}
/**
/**
* 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
$geshi = new \GeSHi($file->getContent(), $this->getType($file));
$geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS);
$geshi->set_header_type(GESHI_HEADER_DIV);
+
+ if ($res !== null) {
+ $geshi->highlight_lines_extra(array_keys($res->annotations));
+ $geshi->set_highlight_lines_extra_style('background-color: #F2DEDE');
+ }
+
return $geshi->parse_code();
}