#include <args.hh>
Public Types | |
using | Category = int |
Public Member Functions | |
virtual void | run ()=0 |
virtual std::optional< ExperimentalFeature > | experimentalFeature () |
virtual Category | category () |
![]() | |
virtual std::string | description () |
virtual bool | forceImpureByDefault () |
virtual std::string | doc () |
virtual Path | getCommandBaseDir () const |
Get the base directory for the command. | |
void | addFlag (Flag &&flag) |
void | removeFlag (const std::string &longName) |
void | expectArgs (ExpectedArg &&arg) |
void | expectArg (const std::string &label, std::string *dest, bool optional=false) |
void | expectArg (const std::string &label, std::filesystem::path *dest, bool optional=false) |
void | expectArgs (const std::string &label, std::vector< std::string > *dest) |
virtual nlohmann::json | toJSON () |
RootArgs & | getRoot () |
Static Public Attributes | |
static constexpr Category | catDefault = 0 |
![]() | |
static CompleterFun | completePath |
static CompleterFun | completeDir |
Friends | |
class | MultiCommand |
Additional Inherited Members | |
![]() | |
MultiCommand * | parent = nullptr |
![]() | |
using | CompleterFun = void(AddCompletions &, size_t, std::string_view) |
using | CompleterClosure = std::function<CompleterFun> |
![]() | |
virtual bool | processFlag (Strings::iterator &pos, Strings::iterator end) |
virtual bool | processArgs (const Strings &args, bool finish) |
virtual Strings::iterator | rewriteArgs (Strings &args, Strings::iterator pos) |
virtual void | initialFlagsProcessed () |
![]() | |
std::map< std::string, Flag::ptr > | longFlags |
std::map< char, Flag::ptr > | shortFlags |
std::list< ExpectedArg > | expectedArgs |
std::list< ExpectedArg > | processedArgs |
std::set< std::string > | hiddenCategories |
![]() | |
static const size_t | ArityAny = std::numeric_limits<size_t>::max() |
A command is an argument parser that can be executed by calling its run() method.
|
virtual |
Reimplemented in CmdConfigCheck, CmdUpgradeNix, and nix::CmdRepl.
|
pure virtual |
Entry point to the command
Implemented in CmdConfigShow, CmdDumpPath2, CmdFlake, CmdHashBase, CmdHashConvert, CmdKeyConvertSecretToPublic, CmdKeyGenerateSecret, CmdLsNar, CmdNarDumpPath, CmdRegistryAdd, CmdRegistryRemove, CmdToBase, nix::CmdHelp, nix::CmdHelpStores, nix::NixMultiCommand, and nix::StoreCommand.