/** * Generate file * @param FileContext $file */ public function generateFile(FileContext $file) { // Load code and line numbers into array $code = $this->getContentInTuples($file->getName()); // load scopes names, lines and issues $scopes = $file->getContextsNumberOfIssues(); // get list of issues per line $issues = $file->getIssues(true); foreach ($issues as $issue) { $code[$issue->getLine() - 1]['issues'][] = ['type' => $issue->getTitle(), 'name' => $issue->getID()]; } // render $view = new Mustache_Engine(['loader' => new Mustache_Loader_FilesystemLoader(__DIR__ . '/views')]); $relFilename = $this->convertPathToRelative($file->getName()); $output = $view->render('file', ['currentPath' => $relFilename, 'scopes' => $scopes, 'lines' => $code, 'date' => date('r')]); $this->saveFile($relFilename . '.html', $output); }