Reduce visual clutter in the debugger

This commit is contained in:
Rebecca Turner 2024-02-02 19:58:35 -08:00
parent 081dc5daa1
commit 6414cd259e
No known key found for this signature in database
2 changed files with 14 additions and 5 deletions

View file

@ -243,10 +243,21 @@ static std::ostream & showDebugTrace(std::ostream & out, const PosTable & positi
return out; return out;
} }
static bool isFirstRepl = true;
void NixRepl::mainLoop() void NixRepl::mainLoop()
{ {
std::string error = ANSI_RED "error:" ANSI_NORMAL " "; if (isFirstRepl) {
notice("Welcome to Nix " + nixVersion + ". Type :? for help.\n"); std::string_view debuggerNotice = "";
if (state->debugRepl) {
debuggerNotice = " debugger";
}
notice("Nix %1%%2%\nType :? for help.", nixVersion, debuggerNotice);
}
if (isFirstRepl) {
isFirstRepl = false;
}
loadFiles(); loadFiles();

View file

@ -821,12 +821,10 @@ void EvalState::runDebugRepl(const Error * error, const Env & env, const Expr &
if (error) if (error)
{ {
printError("%s\n\n", error->what()); printError("%s\n", error->what());
if (trylevel > 0 && error->info().level != lvlInfo) if (trylevel > 0 && error->info().level != lvlInfo)
printError("This exception occurred in a 'tryEval' call. Use " ANSI_GREEN "--ignore-try" ANSI_NORMAL " to skip these.\n"); printError("This exception occurred in a 'tryEval' call. Use " ANSI_GREEN "--ignore-try" ANSI_NORMAL " to skip these.\n");
printError(ANSI_BOLD "Starting REPL to allow you to inspect the current state of the evaluator.\n" ANSI_NORMAL);
} }
auto se = getStaticEnv(expr); auto se = getStaticEnv(expr);