Nix 2.26.3
Nix, the purely functional package manager; unstable internal interfaces
 
Loading...
Searching...
No Matches
nix::Command Struct Referenceabstract

#include <args.hh>

Inheritance diagram for nix::Command:
nix::Args CmdConfigShow CmdDumpPath2 CmdHashBase CmdHashConvert CmdKeyConvertSecretToPublic CmdKeyGenerateSecret CmdLsNar CmdRegistryAdd CmdRegistryRemove CmdToBase nix::CmdHelp nix::CmdHelpStores nix::NixMultiCommand nix::StoreCommand

Public Types

using Category = int
 

Public Member Functions

virtual void run ()=0
 
virtual std::optional< ExperimentalFeatureexperimentalFeature ()
 
virtual Category category ()
 
- Public Member Functions inherited from nix::Args
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 ()
 
RootArgsgetRoot ()
 

Static Public Attributes

static constexpr Category catDefault = 0
 
- Static Public Attributes inherited from nix::Args
static CompleterFun completePath
 
static CompleterFun completeDir
 

Friends

class MultiCommand
 

Additional Inherited Members

- Public Attributes inherited from nix::Args
MultiCommandparent = nullptr
 
- Protected Types inherited from nix::Args
using CompleterFun = void(AddCompletions &, size_t, std::string_view)
 
using CompleterClosure = std::function<CompleterFun>
 
- Protected Member Functions inherited from nix::Args
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 ()
 
- Protected Attributes inherited from nix::Args
std::map< std::string, Flag::ptr > longFlags
 
std::map< char, Flag::ptr > shortFlags
 
std::list< ExpectedArgexpectedArgs
 
std::list< ExpectedArgprocessedArgs
 
std::set< std::string > hiddenCategories
 
- Static Protected Attributes inherited from nix::Args
static const size_t ArityAny = std::numeric_limits<size_t>::max()
 

Detailed Description

A command is an argument parser that can be executed by calling its run() method.

Member Function Documentation

◆ experimentalFeature()

std::optional< ExperimentalFeature > nix::Command::experimentalFeature ( )
virtual

Reimplemented in CmdConfigCheck, CmdUpgradeNix, and nix::CmdRepl.

◆ run()


The documentation for this struct was generated from the following files: