about summary refs log tree commit diff
path: root/third_party/nix/src/libexpr/common-eval-args.hh
blob: 5e0e8af79cbe83c4c0df08db6bda0b0412dba046 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once

#include "libutil/args.hh"

namespace nix {

class Store;
class EvalState;
class Bindings;

enum ArgType { kArgTypeString, kArgTypeExpr };

struct MixEvalArgs : virtual Args {
  MixEvalArgs();

  std::unique_ptr<Bindings> getAutoArgs(EvalState& state);

  Strings searchPath;

 private:
  std::map<std::string, std::pair<ArgType, std::string>> auto_args_;
};

Path lookupFileArg(EvalState& state, std::string s);

}  // namespace nix