getPanel('Tracy:info')->data['Nette Framework'] = $version; $blueScreen->info[] = "Nette Framework $version"; } if (class_exists(Tracy\Bridges\Nette\Bridge::class)) { Tracy\Bridges\Nette\Bridge::initialize(); return; } $blueScreen->addPanel(function ($e) { if ($e instanceof Latte\CompileException) { return [ 'tab' => 'Template', 'panel' => (preg_match('#\n|\?#', $e->sourceName) ? '' : '
' . (@is_file($e->sourceName) // @ - may trigger error ? 'File: ' . Helpers::editorLink($e->sourceName, $e->sourceLine) : '' . htmlspecialchars($e->sourceName . ($e->sourceLine ? ':' . $e->sourceLine : '')) . '') . '
') . '', ]; } }); $blueScreen->addPanel(function ($e) { if ( $e instanceof Nette\Neon\Exception && preg_match('#line (\d+)#', $e->getMessage(), $m) && ($trace = Helpers::findTrace($e->getTrace(), 'Nette\Neon\Decoder::decode')) ) { return [ 'tab' => 'NEON', 'panel' => ($trace2 = Helpers::findTrace($e->getTrace(), 'Nette\DI\Config\Adapters\NeonAdapter::load')) ? '' . BlueScreen::highlightLine(htmlspecialchars($e->sourceCode, ENT_IGNORE, 'UTF-8'), $e->sourceLine) . '
File: ' . Helpers::editorLink($trace2['args'][0], $m[1]) . '
' . BlueScreen::highlightFile($trace2['args'][0], $m[1]) : BlueScreen::highlightPhp($trace['args'][0], $m[1]), ]; } }); } }