#pragma once ///@file #include "lix/libexpr/eval.hh" #include "lix/libutil/types.hh" namespace nix { struct AbstractNixRepl : NeverAsync { typedef std::vector> AnnotatedValues; static ReplExitStatus run(const SearchPath & searchPath, nix::ref store, EvalState & state, std::function getValues, const ValMap & extraEnv, Bindings * autoArgs); static ReplExitStatus runSimple( EvalState & evalState, const ValMap & extraEnv); protected: EvalState & state; Bindings * autoArgs; AbstractNixRepl(EvalState & state) : state(state) { } virtual ~AbstractNixRepl() { } virtual void initEnv() = 0; virtual ReplExitStatus mainLoop() = 0; }; }