CLI11
C++11 Command Line Interface Parser
Loading...
Searching...
No Matches
Public Member Functions | List of all members
CLI::Formatter Class Reference

#include <FormatterFwd.hpp>

Inheritance diagram for CLI::Formatter:
CLI::FormatterBase

Public Member Functions

 Formatter (const Formatter &)=default
 
 Formatter (Formatter &&)=default
 
Formatteroperator= (const Formatter &)=default
 
Formatteroperator= (Formatter &&)=default
 
Overridables
virtual CLI11_NODISCARD std::string make_group (std::string group, bool is_positional, std::vector< const Option * > opts) const
 
virtual std::string make_positionals (const App *app) const
 This prints out just the positionals "group".
 
std::string make_groups (const App *app, AppFormatMode mode) const
 This prints out all the groups of options.
 
virtual std::string make_subcommands (const App *app, AppFormatMode mode) const
 This prints out all the subcommands.
 
virtual std::string make_subcommand (const App *sub) const
 This prints out a subcommand.
 
virtual std::string make_expanded (const App *sub, AppFormatMode mode) const
 This prints out a subcommand in help-all.
 
virtual std::string make_footer (const App *app) const
 This prints out all the groups of options.
 
virtual std::string make_description (const App *app) const
 This displays the description line.
 
virtual std::string make_usage (const App *app, std::string name) const
 This displays the usage line.
 
std::string make_help (const App *app, std::string, AppFormatMode mode) const override
 This puts everything together.
 
Options
virtual std::string make_option (const Option *, bool) const
 This prints out an option help line, either positional or optional form.
 
virtual std::string make_option_name (const Option *, bool) const
 This is the name part of an option, Default: left column.
 
virtual std::string make_option_opts (const Option *) const
 This is the options part of the name, Default: combined into left column.
 
virtual std::string make_option_desc (const Option *) const
 This is the description. Default: Right column, on new line if left column too large.
 
virtual std::string make_option_usage (const Option *opt) const
 This is used to print the name on the USAGE line.
 
- Public Member Functions inherited from CLI::FormatterBase
 FormatterBase (const FormatterBase &)=default
 
 FormatterBase (FormatterBase &&)=default
 
FormatterBaseoperator= (const FormatterBase &)=default
 
FormatterBaseoperator= (FormatterBase &&)=default
 
virtual ~FormatterBase () noexcept
 Adding a destructor in this form to work around bug in GCC 4.7.
 
void label (std::string key, std::string val)
 Set the "REQUIRED" label.
 
void column_width (std::size_t val)
 Set the left column width (options/flags/subcommands)
 
void right_column_width (std::size_t val)
 Set the right column width (description of options/flags/subcommands)
 
void description_paragraph_width (std::size_t val)
 Set the description paragraph width at the top of help.
 
void footer_paragraph_width (std::size_t val)
 Set the footer paragraph width.
 
CLI11_NODISCARD std::string get_label (std::string key) const
 Get the current value of a name (REQUIRED, etc.)
 
CLI11_NODISCARD std::size_t get_column_width () const
 Get the current left column width (options/flags/subcommands)
 
CLI11_NODISCARD std::size_t get_right_column_width () const
 Get the current right column width (description of options/flags/subcommands)
 
CLI11_NODISCARD std::size_t get_description_paragraph_width () const
 Get the current description paragraph width at the top of help.
 
CLI11_NODISCARD std::size_t get_footer_paragraph_width () const
 Get the current footer paragraph width.
 

Additional Inherited Members

- Protected Attributes inherited from CLI::FormatterBase
std::size_t column_width_ {30}
 The width of the left column (options/flags/subcommands)
 
std::size_t right_column_width_ {65}
 The width of the right column (description of options/flags/subcommands)
 
std::size_t description_paragraph_width_ {80}
 The width of the description paragraph at the top of help.
 
std::size_t footer_paragraph_width_ {80}
 The width of the footer paragraph.
 
std::map< std::string, std::string > labels_ {}
 The required help printout labels (user changeable) Values are Needs, Excludes, etc.
 

Detailed Description

This is the default Formatter for CLI11. It pretty prints help output, and is broken into quite a few overridable methods, to be highly customizable with minimal effort.

Member Function Documentation

◆ make_group()

CLI11_INLINE std::string CLI::Formatter::make_group ( std::string  group,
bool  is_positional,
std::vector< const Option * >  opts 
) const
virtual

This prints out a group of options with title

◆ make_help()

CLI11_INLINE std::string CLI::Formatter::make_help ( const App app,
std::string  name,
AppFormatMode  mode 
) const
overridevirtual

This puts everything together.

Implements CLI::FormatterBase.


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