From 71d61508f203e8d926a0365332ff218c1314f734 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 26 Aug 2014 20:05:08 +0200 Subject: [PATCH] Support -I flag --- nix-repl.cc | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/nix-repl.cc b/nix-repl.cc index bff54aa1..51d297d1 100644 --- a/nix-repl.cc +++ b/nix-repl.cc @@ -38,7 +38,7 @@ struct NixRepl StringSet completions; StringSet::iterator curCompletion; - NixRepl(); + NixRepl(const Strings & searchPath); void mainLoop(const Strings & files); void completePrefix(string prefix); bool getLine(string & line); @@ -72,8 +72,8 @@ string removeWhitespace(string s) } -NixRepl::NixRepl() - : state(Strings()) +NixRepl::NixRepl(const Strings & searchPath) + : state(searchPath) , staticEnv(false, &state.staticBaseEnv) { curDir = absPath("."); @@ -595,11 +595,13 @@ int main(int argc, char * * argv) return handleExceptions(argv[0], [&]() { initNix(); - Strings files; + Strings files, searchPath; parseCmdLine(argc, argv, [&](Strings::iterator & arg, const Strings::iterator & end) { if (*arg == "--version") printVersion("nix-repl"); + else if (parseSearchPathArg(arg, end, searchPath)) + ; else if (*arg != "" && arg->at(0) == '-') return false; else @@ -607,7 +609,7 @@ int main(int argc, char * * argv) return true; }); - NixRepl repl; + NixRepl repl(searchPath); repl.mainLoop(files); }); }