refactor: factor out getValue

This commit is contained in:
Tom Bereknyei 2022-05-18 21:33:41 -04:00
parent 9f8c1183fa
commit 7534798eed

View file

@ -920,18 +920,22 @@ struct CmdRepl : InstallablesCommand
void run(ref<Store> store) override void run(ref<Store> store) override
{ {
auto state = getEvalState(); auto state = getEvalState();
auto repl = std::make_unique<NixRepl>(searchPath, openStore(),state auto getValues = [&]()->NixRepl::AnnotatedValues{
,[&]()->NixRepl::AnnotatedValues{ auto installables = load();
auto installables = load(); NixRepl::AnnotatedValues values;
NixRepl::AnnotatedValues values; for (auto & installable: installables){
for (auto & installable: installables){ auto [val, pos] = installable->toValue(*state);
auto [val, pos] = installable->toValue(*state); auto what = installable->what();
auto what = installable->what(); values.push_back( {val,what} );
values.push_back( {val,what} ); }
} return values;
return values; };
} auto repl = std::make_unique<NixRepl>(
); searchPath,
openStore(),
state,
getValues
);
repl->autoArgs = getAutoArgs(*repl->state); repl->autoArgs = getAutoArgs(*repl->state);
repl->mainLoop(); repl->mainLoop();
} }