From 828cf7b0582220ce568b69e9cc51af794bdd2416 Mon Sep 17 00:00:00 2001 From: Fabian Schmitthenner Date: Sat, 19 Mar 2016 13:52:39 +0000 Subject: [PATCH] show trace of errors when using --show-trace --- nix-repl.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/nix-repl.cc b/nix-repl.cc index a9a21ae76..d1c67276c 100644 --- a/nix-repl.cc +++ b/nix-repl.cc @@ -14,6 +14,7 @@ #include "get-drvs.hh" #include "derivations.hh" #include "affinity.hh" +#include "globals.hh" using namespace std; using namespace nix; @@ -108,6 +109,7 @@ NixRepl::NixRepl(const Strings & searchPath, nix::ref store) void NixRepl::mainLoop(const Strings & files) { + string error = ANSI_RED "error:" ANSI_NORMAL " "; std::cout << "Welcome to Nix version " << NIX_VERSION << ". Type :? for help." << std::endl << std::endl; for (auto & i : files) @@ -138,12 +140,12 @@ void NixRepl::mainLoop(const Strings & files) // input without clearing the input so far. continue; } else { - printMsg(lvlError, "error: " + e.msg()); + printMsg(lvlError, format(error + "%1%%2%") % (settings.showTrace ? e.prefix() : "") % e.msg()); } } catch (Error & e) { - printMsg(lvlError, "error: " + e.msg()); + printMsg(lvlError, format(error + "%1%%2%") % (settings.showTrace ? e.prefix() : "") % e.msg()); } catch (Interrupted & e) { - printMsg(lvlError, "error: " + e.msg()); + printMsg(lvlError, format(error + "%1%%2%") % (settings.showTrace ? e.prefix() : "") % e.msg()); } // We handled the current input fully, so we should clear it and read brand new input.