Nix 2.26.3
Nix, the purely functional package manager; unstable internal interfaces
 
Loading...
Searching...
No Matches
nix::LegacyArgs Struct Reference
Inheritance diagram for nix::LegacyArgs:
nix::MixCommonArgs nix::RootArgs nix::Args nix::Args

Public Member Functions

 LegacyArgs (const std::string &programName, std::function< bool(Strings::iterator &arg, const Strings::iterator &end)> parseArg)
 
bool processFlag (Strings::iterator &pos, Strings::iterator end) override
 
bool processArgs (const Strings &args, bool finish) override
 
- Public Member Functions inherited from nix::MixCommonArgs
 MixCommonArgs (const std::string &programName)
 
- Public Member Functions inherited from nix::Args
virtual std::string description ()
 
virtual bool forceImpureByDefault ()
 
virtual std::string doc ()
 
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 ()
 
- Public Member Functions inherited from nix::RootArgs
void parseCmdline (const Strings &cmdline, bool allowShebang=false)
 
Path getCommandBaseDir () const override
 Get the base directory for the command.
 

Public Attributes

std::function< bool(Strings::iterator &arg, const Strings::iterator &end)> parseArg
 
- Public Attributes inherited from nix::MixCommonArgs
std::string programName
 
- Public Attributes inherited from nix::Args
MultiCommandparent = nullptr
 
- Public Attributes inherited from nix::RootArgs
std::shared_ptr< Completionscompletions
 

Additional Inherited Members

- Static Public Attributes inherited from nix::Args
static CompleterFun completePath
 
static CompleterFun completeDir
 
- 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::MixCommonArgs
virtual void pluginsInited ()
 
- Protected Member Functions inherited from nix::Args
virtual Strings::iterator rewriteArgs (Strings &args, Strings::iterator pos)
 
- 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
 
- Protected Attributes inherited from nix::RootArgs
Path commandBaseDir = "."
 The command's "working directory", but only set when top level.
 
std::vector< DeferredCompletiondeferredCompletions
 
std::set< ExperimentalFeatureflagExperimentalFeatures
 
- Static Protected Attributes inherited from nix::Args
static const size_t ArityAny = std::numeric_limits<size_t>::max()
 

Member Function Documentation

◆ processArgs()

bool nix::LegacyArgs::processArgs ( const Strings & args,
bool finish )
overridevirtual

Process some positional arugments

Parameters
finishWe have parsed everything else, and these are the only arguments left. Used because we accumulate some "pending args" we might have left over.

Reimplemented from nix::Args.

◆ processFlag()

bool nix::LegacyArgs::processFlag ( Strings::iterator & pos,
Strings::iterator end )
overridevirtual

Process a single flag and its arguments, pulling from an iterator of raw CLI args as needed.

Reimplemented from nix::Args.


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