Nix
2.93.3
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
repl.hh
Go to the documentation of this file.
1
#pragma once
3
4
#include "
lix/libexpr/eval.hh
"
5
#include "
lix/libutil/types.hh
"
6
7
namespace
nix {
8
9
struct
AbstractNixRepl :
NeverAsync
10
{
11
typedef
std::vector<std::pair<Value*,std::string>> AnnotatedValues;
12
13
static
ReplExitStatus
14
run(
const
SearchPath
& searchPath,
15
nix::ref<Store>
store,
16
EvalState
& state,
17
std::function<AnnotatedValues()> getValues,
18
const
ValMap & extraEnv,
19
Bindings
* autoArgs);
20
21
static
ReplExitStatus
runSimple(
22
EvalState
& evalState,
23
const
ValMap & extraEnv);
24
25
protected
:
26
EvalState
& state;
27
Bindings
* autoArgs;
28
29
AbstractNixRepl(
EvalState
& state)
30
: state(state)
31
{ }
32
33
virtual
~AbstractNixRepl()
34
{ }
35
36
virtual
void
initEnv() = 0;
37
38
virtual
ReplExitStatus
mainLoop() = 0;
39
};
40
41
}
nix::Bindings
Definition
attr-set.hh:48
nix::EvalState
Definition
eval.hh:685
nix::ref
Definition
ref.hh:19
eval.hh
nix::ReplExitStatus
ReplExitStatus
Definition
repl-exit-status.hh:9
nix::NeverAsync
Definition
types.hh:172
nix::SearchPath
Definition
search-path.hh:16
types.hh
lix
libcmd
repl.hh
Generated by
1.15.0