5#include "lix/libutil/args/root.hh"
17int handleExceptions(
const std::string & programName, std::function<
void()> fun);
24void printVersion(
const std::string & programName);
33kj::Promise<Result<void>> printMissing(
35 const std::vector<DerivedPath> & paths,
36 Verbosity lvl = lvlInfo);
38kj::Promise<Result<void>> printMissing(
ref<Store> store,
const StorePathSet & willBuild,
39 const StorePathSet & willSubstitute,
const StorePathSet & unknown,
40 uint64_t downloadSize, uint64_t narSize, Verbosity lvl = lvlInfo);
42std::string getArg(
const std::string & opt,
43 Strings::iterator & i,
const Strings::iterator & end);
45template<
class N> N getIntArg(
const std::string & opt,
46 Strings::iterator & i,
const Strings::iterator & end,
bool allowUnit)
49 if (i == end)
throw UsageError(
"'%1%' requires an argument", opt);
54struct LegacyArgs :
public MixCommonArgs,
public RootArgs
59 std::function<bool(Strings::iterator & arg,
const Strings::iterator & end)> parseArg;
61 LegacyArgs(
AsyncIoRoot & aio,
const std::string & programName,
62 std::function<
bool(Strings::iterator & arg,
const Strings::iterator & end)> parseArg);
64 bool processFlag(Strings::iterator & pos, Strings::iterator end)
override;
66 bool processArgs(
const Strings & args,
bool finish)
override;
73void showManPage(
const std::string & name);
91extern volatile ::sig_atomic_t blockInt;
96std::string showBytes(uint64_t bytes);
104 PrintFreed(
bool show,
const GCResults & results)
105 : show(show), results(results) { }
Definition processes.hh:24
Definition store-api.hh:195
void defaultStackOverflowHandler(siginfo_t *info, void *ctx)
Definition stack.cc:69
void detectStackOverflow()
Definition stack.cc:44
std::function< void(siginfo_t *info, void *ctx)> stackOverflowHandler
N string2IntWithUnitPrefix(std::string_view s)
Definition strings.hh:157
Definition gc-store.hh:73
bool processFlag(Strings::iterator &pos, Strings::iterator end) override
Definition shared.cc:266
bool processArgs(const Strings &args, bool finish) override
Definition shared.cc:275