ChainCLI
A modern C++20 command-line interface library
Loading...
Searching...
No Matches
cli::commands::docwriting::DocWriter Class Reference

Documentation writer for CLI commands. Consists of formatters for commands and arguments. More...

#include <docwriting.h>

Public Member Functions

 DocWriter (const CliConfig &config)
 Construct a new DocWriter object.
 
void setAppFormatter (std::unique_ptr< AbstractCliAppDocFormatter > formatter)
 Set the formatter for the application documentation.
 
void setOptionFormatter (std::unique_ptr< AbstractArgDocFormatter< OptionArgumentBase > > formatter)
 Set the formatter for option arguments.
 
void setPositionalFormatter (std::unique_ptr< AbstractArgDocFormatter< PositionalArgumentBase > > formatter)
 Set the formatter for positional arguments.
 
void setFlagFormatter (std::unique_ptr< AbstractArgDocFormatter< FlagArgument > > formatter)
 Set the formatter for flag arguments.
 
void setCommandFormatter (std::unique_ptr< AbstractCommandFormatter > formatter)
 Set the formatter for command arguments.
 
void setDocStrings (Command &command, std::string_view fullCommandPath) const
 Build and set the documentation strings for a command.
 
std::string generateLongDocString (const Command &command, std::string_view fullCommandPath) const
 Generate the long documentation string for a command.
 
std::string generateShortDocString (const Command &command, std::string_view fullCommandPath) const
 Generate the short documentation string for a command.
 
std::string generateOptionsDocString (const FlagArgument &argument) const
 Generate the documentation string for a flag argument.
 
std::string generateArgDocString (const FlagArgument &argument) const
 Generate the argument documentation string for a flag argument.
 
std::string generateOptionsDocString (const OptionArgumentBase &argument) const
 Generate the documentation string for an option argument.
 
std::string generateArgDocString (const OptionArgumentBase &argument) const
 Generate the argument documentation string for an option argument.
 
std::string generateOptionsDocString (const PositionalArgumentBase &argument) const
 Generate the documentation string for a positional argument.
 
std::string generateArgDocString (const PositionalArgumentBase &argument) const
 Generate the argument documentation string for a positional argument.
 
std::string generateAppDocString (const std::vector< const cli::commands::Command * > &commands) const
 Generate the documentation string for the application.
 
std::string generateCommandDocString (const Command &command) const
 Generate the documentation string for a command.
 
std::string generateAppVersionString () const
 Generate the version string for the application.
 

Detailed Description

Documentation writer for CLI commands. Consists of formatters for commands and arguments.

Constructor & Destructor Documentation

◆ DocWriter()

cli::commands::docwriting::DocWriter::DocWriter ( const CliConfig config)
inlineexplicit

Construct a new DocWriter object.

Parameters
configThe CLI configuration.

Member Function Documentation

◆ generateAppDocString()

inline_t std::string cli::commands::docwriting::DocWriter::generateAppDocString ( const std::vector< const cli::commands::Command * > &  commands) const

Generate the documentation string for the application.

Parameters
commandsThe commands to generate the documentation string for.
Returns
The documentation string for the application.

◆ generateAppVersionString()

inline_t std::string cli::commands::docwriting::DocWriter::generateAppVersionString ( ) const

Generate the version string for the application.

Returns
The version string for the application.

◆ generateArgDocString() [1/3]

inline_t std::string cli::commands::docwriting::DocWriter::generateArgDocString ( const FlagArgument argument) const

Generate the argument documentation string for a flag argument.

Parameters
argumentThe flag argument to generate the documentation string for.
Returns
The argument documentation string for the flag argument.

◆ generateArgDocString() [2/3]

inline_t std::string cli::commands::docwriting::DocWriter::generateArgDocString ( const OptionArgumentBase argument) const

Generate the argument documentation string for an option argument.

Parameters
argumentThe option argument to generate the documentation string for.
Returns
The argument documentation string for the option argument.

◆ generateArgDocString() [3/3]

inline_t std::string cli::commands::docwriting::DocWriter::generateArgDocString ( const PositionalArgumentBase argument) const

Generate the argument documentation string for a positional argument.

Parameters
argumentThe positional argument to generate the documentation string for.
Returns
The argument documentation string for the positional argument.

◆ generateCommandDocString()

inline_t std::string cli::commands::docwriting::DocWriter::generateCommandDocString ( const Command command) const

Generate the documentation string for a command.

Parameters
commandThe command to generate the documentation string for.
fullCommandPathThe full path of the command.
Returns
The documentation string for the command.

◆ generateLongDocString()

inline_t std::string cli::commands::docwriting::DocWriter::generateLongDocString ( const Command command,
std::string_view  fullCommandPath 
) const

Generate the long documentation string for a command.

Parameters
commandThe command to generate the documentation string for.
fullCommandPathThe full path of the command.
Returns
The long documentation string for the command.

◆ generateOptionsDocString() [1/3]

inline_t std::string cli::commands::docwriting::DocWriter::generateOptionsDocString ( const FlagArgument argument) const

Generate the documentation string for a flag argument.

Parameters
argumentThe flag argument to generate the documentation string for.
Returns
The documentation string for the flag argument.

◆ generateOptionsDocString() [2/3]

inline_t std::string cli::commands::docwriting::DocWriter::generateOptionsDocString ( const OptionArgumentBase argument) const

Generate the documentation string for an option argument.

Parameters
argumentThe option argument to generate the documentation string for.
Returns
The documentation string for the option argument.

◆ generateOptionsDocString() [3/3]

inline_t std::string cli::commands::docwriting::DocWriter::generateOptionsDocString ( const PositionalArgumentBase argument) const

Generate the documentation string for a positional argument.

Parameters
argumentThe positional argument to generate the documentation string for.
Returns
The documentation string for the positional argument.

◆ generateShortDocString()

inline_t std::string cli::commands::docwriting::DocWriter::generateShortDocString ( const Command command,
std::string_view  fullCommandPath 
) const

Generate the short documentation string for a command.

Parameters
commandThe command to generate the documentation string for.
fullCommandPathThe full path of the command.
Returns
The short documentation string for the command.

◆ setAppFormatter()

inline_t void cli::commands::docwriting::DocWriter::setAppFormatter ( std::unique_ptr< AbstractCliAppDocFormatter formatter)

Set the formatter for the application documentation.

Parameters
formatterThe formatter to use for the application documentation.

◆ setCommandFormatter()

inline_t void cli::commands::docwriting::DocWriter::setCommandFormatter ( std::unique_ptr< AbstractCommandFormatter formatter)

Set the formatter for command arguments.

Parameters
formatterThe formatter to use for command arguments.

◆ setDocStrings()

inline_t void cli::commands::docwriting::DocWriter::setDocStrings ( Command command,
std::string_view  fullCommandPath 
) const

Build and set the documentation strings for a command.

Parameters
commandThe command to set the documentation strings for.
fullCommandPathThe full path of the command.

◆ setFlagFormatter()

inline_t void cli::commands::docwriting::DocWriter::setFlagFormatter ( std::unique_ptr< AbstractArgDocFormatter< FlagArgument > >  formatter)

Set the formatter for flag arguments.

Parameters
formatterThe formatter to use for flag arguments.

◆ setOptionFormatter()

inline_t void cli::commands::docwriting::DocWriter::setOptionFormatter ( std::unique_ptr< AbstractArgDocFormatter< OptionArgumentBase > >  formatter)

Set the formatter for option arguments.

Parameters
formatterThe formatter to use for option arguments.

◆ setPositionalFormatter()

inline_t void cli::commands::docwriting::DocWriter::setPositionalFormatter ( std::unique_ptr< AbstractArgDocFormatter< PositionalArgumentBase > >  formatter)

Set the formatter for positional arguments.

Parameters
formatterThe formatter to use for positional arguments.

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