The format that prints the version to std::cout.
More...
#include <seqan3/argument_parser/detail/format_help.hpp>
|
void | add_flag (bool &value, char const short_id, std::string const &long_id, std::string const &desc, option_spec const spec) |
| Adds a seqan3::print_list_item call to be evaluated later on. More...
|
|
void | add_line (std::string const &text, bool is_paragraph, option_spec const spec) |
| Adds a print_line call to parser_set_up_calls. More...
|
|
void | add_list_item (std::string const &key, std::string const &desc, option_spec const spec) |
| Adds a seqan3::print_list_item call to parser_set_up_calls. More...
|
|
void | add_option (option_type &value, char const short_id, std::string const &long_id, std::string const &desc, option_spec const spec, validator_type &&option_validator) |
| Adds a seqan3::print_list_item call to be evaluated later on. More...
|
|
void | add_positional_option (option_type &value, std::string const &desc, validator_type &option_validator) |
| Adds a seqan3::print_list_item call to be evaluated later on. More...
|
|
void | add_section (std::string const &title, option_spec const spec) |
| Adds a print_section call to parser_set_up_calls. More...
|
|
void | add_subsection (std::string const &title, option_spec const spec) |
| Adds a print_subsection call to parser_set_up_calls. More...
|
|
void | parse (argument_parser_meta_data &parser_meta) |
| Initiates the printing of the version information to std::cout. More...
|
|
|
friend | base_type |
| Befriend the base class to give access to the private member functions.
|
|
console_layout_struct | layout {} |
| Stores the relevant parameters of the documentation on the screen.
|
|
bool | prev_was_paragraph {false} |
| Needed for correct formatting while calling different print functions.
|
|
The format that prints the version to std::cout.
The version printing is not done immediately, because the user cannot provide meta information on construction of the parser. Thus the meta information is collected and only evaluated when calling format_version::parse().
◆ add_flag()
Adds a seqan3::print_list_item call to be evaluated later on.
- Parameters
-
[in,out] | value | The variable in which to store the given command line argument. |
[in] | short_id | The short identifier for the flag (e.g. 'i'). |
[in] | long_id | The long identifier for the flag (e.g. "integer"). |
[in] | desc | The description of the flag to be shown in the help page. |
[in] | spec | Advanced flag specification, see seqan3::option_spec. |
◆ add_line()
Adds a print_line call to parser_set_up_calls.
- Parameters
-
[in] | text | The text to print. |
[in] | is_paragraph | Whether to insert as paragraph or just a line (Default: false). |
[in] | spec | Whether to always display this line (seqan3::option_spec::standard), only when showing the advanced help page (seqan3::option_spec::advanced) or never (seqan3::option_spec::hidden). |
If the line is not a paragraph (false), only one line break is appended, otherwise two line breaks are appended. This only affects the help page and other output formats.
◆ add_list_item()
Adds a seqan3::print_list_item call to parser_set_up_calls.
- Parameters
-
[in] | key | The key of the key-value pair of the list item. |
[in] | desc | The value of the key-value pair of the list item. |
[in] | spec | Whether to always display this list item (seqan3::option_spec::standard), only when showing the advanced help page (seqan3::option_spec::advanced) or never (seqan3::option_spec::hidden). |
Note: This only affects the help page and other output formats.
A list item is composed of a key (key
) and value (desc
) and usually used for option identifier-description-pairs. E.g.:
-a, --age LONG
Super important integer for age.
◆ add_option()
Adds a seqan3::print_list_item call to be evaluated later on.
- Template Parameters
-
option_type | Must have a formatted input function (stream >> value). If option_type is a container, its value type must have the formatted input function (exception: std::string is not regarded as a container). See FormattedInputFunction . |
validator_type | The type of validator to be applied to the option value. Must model seqan3::validator. |
- Parameters
-
[in,out] | value | The variable in which to store the given command line argument. |
[in] | short_id | The short identifier for the option (e.g. 'a'). |
[in] | long_id | The long identifier for the option (e.g. "age"). |
[in] | desc | The description of the option to be shown in the help page. |
[in] | spec | Advanced option specification, see seqan3::option_spec. |
[in] | option_validator | A seqan3::validator that verifies the value after parsing (callable). |
- Exceptions
-
◆ add_positional_option()
Adds a seqan3::print_list_item call to be evaluated later on.
- Template Parameters
-
option_type | Must have a formatted input function (stream >> value). If option_type is a container, its value type must have the formatted input function (exception: std::string is not regarded as a container). See FormattedInputFunction . |
validator_type | The type of validator to be applied to the option value. Must model seqan3::validator. |
- Parameters
-
[in,out] | value | The variable in which to store the given command line argument. |
[in] | desc | The description of the positional option to be shown in the help page. |
[in] | option_validator | A seqan3::validator that verifies the value after parsing (callable). |
- Exceptions
-
The validator must be applicable to the given output variable (value
).
◆ add_section()
Adds a print_section call to parser_set_up_calls.
- Parameters
-
[in] | title | The title of the section. |
[in] | spec | Whether to always display this section title (seqan3::option_spec::standard), only when showing the advanced help page (seqan3::option_spec::advanced) or never (seqan3::option_spec::hidden). |
This only affects the help page and other output formats.
◆ add_subsection()
Adds a print_subsection call to parser_set_up_calls.
- Parameters
-
[in] | title | The title of the subsection. |
[in] | spec | Whether to always display this subsection title (seqan3::option_spec::standard), only when showing the advanced help page (seqan3::option_spec::advanced) or never (seqan3::option_spec::hidden). |
This only affects the help page and other output formats.
◆ escape_special_xml_chars()
Escapes certain characters for correct output.
- Parameters
-
[in] | original | The string containing characters to be escaped. |
- Returns
- The original string as their corresponding html/xml representation.
Special characters considered are "
, \
, &
, <
and >
.
◆ expand_multiple_flags()
|
inlinestaticprotectedinherited |
Expands multiple one character flag identifiers for pretty help output.
- Parameters
-
[in] | flag_cluster | The string of one character flags. |
- Returns
- A string that lists all flags as a comma separated list.
e.g. "-agdg" becomes "-a, -g, -d and -g".
◆ get_type_name_as_string() [1/2]
template<sequence_container container_type>
static std::string seqan3::detail::format_base::get_type_name_as_string |
( |
container_type const & |
| ) |
|
|
inlinestaticprotectedinherited |
Returns the value_type
of the input container as a string (reflection).
- Template Parameters
-
container_type | The container type for which to query it's value_type. |
- Returns
- The type of the container value_type as a string.
◆ get_type_name_as_string() [2/2]
template<typename value_type >
|
inlinestaticprotectedinherited |
Returns the input type as a string (reflection).
- Template Parameters
-
- Returns
- The type of the value as a string.
◆ in_bold()
Format string in bold.
- Parameters
-
[in] | str | The input string to format in bold. |
- Returns
- The string
str
wrapped in bold formatting.
◆ option_type_and_list_info() [1/2]
template<typename container_type >
static std::string seqan3::detail::format_base::option_type_and_list_info |
( |
container_type const & |
container | ) |
|
|
inlinestaticprotectedinherited |
Formats the container and its value_type for the help page printing.
- Template Parameters
-
- Parameters
-
[in] | container | The container to deduct the type from. |
- Returns
- The type of the container value type as a string, encapsulated in "List of".
◆ option_type_and_list_info() [2/2]
template<typename option_value_type >
static std::string seqan3::detail::format_base::option_type_and_list_info |
( |
option_value_type const & |
value | ) |
|
|
inlinestaticprotectedinherited |
Formats the type of a value for the help page printing.
- Template Parameters
-
option_value_type | The type of the option value to get the info for. |
- Parameters
-
[in] | value | The value to deduct the type from. |
- Returns
- The type of the value as string.
◆ parse()
Initiates the printing of the version information to std::cout.
- Parameters
-
[in] | parser_meta | The meta information that are needed for a detailed version information. |
◆ prep_id_for_help()
static std::string seqan3::detail::format_base::prep_id_for_help |
( |
char const |
short_id, |
|
|
std::string const & |
long_id |
|
) |
| |
|
inlinestaticprotectedinherited |
Formats the option/flag identifier pair for the help page printing.
- Parameters
-
[in] | short_id | The short identifier of the option/flag. |
[in] | long_id | The long identifier of the option/flag. |
- Returns
- The name of the short and long id, prepended with (double)dash.
e.g. "-i,--integer", "-i", or "--integer".
◆ print_line() [1/2]
Delegates to seqan3::print_line(std::string const & text, true) of each format.
- Parameters
-
[in] | text | The text to print. |
◆ print_line() [2/2]
void seqan3::detail::format_help::print_line |
( |
std::string const & |
text, |
|
|
bool const |
line_is_paragraph |
|
) |
| |
|
inlineprivateinherited |
Prints a text to std::cout.
- Parameters
-
[in] | text | The text to print. |
[in] | line_is_paragraph | Whether to insert as paragraph or just a line (only one line break if not a paragraph). |
◆ print_list_item()
Prints a help page list_item to std::cout.
- Parameters
-
[in] | term | The key of the key-value pair of the list item. |
[in] | desc | The value of the key-value pair of the list item. |
A list item is composed of a key (term) and value (desc) and usually used for option identifier-description-pairs. E.g.:
-a, --age LONG
Super important integer for age.
◆ print_section()
void seqan3::detail::format_help::print_section |
( |
std::string const & |
title | ) |
|
|
inlineprivateinherited |
Prints a help page section to std::cout.
- Parameters
-
[in] | title | The title of the subsection of the help page. |
◆ print_subsection()
void seqan3::detail::format_help::print_subsection |
( |
std::string const & |
title | ) |
|
|
inlineprivateinherited |
Prints a help page subsection to std::cout.
- Parameters
-
[in] | title | The title of the subsection of the help page. |
◆ print_text()
void seqan3::detail::format_help::print_text |
( |
std::string const & |
text, |
|
|
unsigned const |
tab |
|
) |
| |
|
inlineprivateinherited |
Prints text with correct line wrapping to the command line (std::cout).
- Parameters
-
[in] | text | The string to print on the command line. |
[in] | tab | The position offset (indentation) to start printing at. |
◆ store_help_page_element()
Adds a function object to parser_set_up_calls if the annotation in spec
does not prevent it.
- Parameters
-
[in] | printer | The invokable that, if added to parser_set_up_calls , prints information to the help page. |
[in] | spec | The option specification deciding whether to add the information to the help page. |
If spec
equals seqan3::option_spec::hidden
, the information is never added to the help page. If spec
equals seqan3::option_spec::advanced
, the information is only added to the help page if the advanced help page has been queried on the command line (show_advanced_options == true
).
◆ text_width()
unsigned seqan3::detail::format_help::text_width |
( |
std::string const & |
text | ) |
|
|
inlineprivateinherited |
Returns width of text if printed.
- Parameters
-
[in] | text | The string to compute the width for on the command line. /detail Note: "\-" has length 1, "\fI", "\fB", "\fP" have length 0. |
◆ to_text()
Formats text for pretty command line printing.
- Parameters
-
[in] | str | The input string to format for correct command line printing. |
◆ meta
Stores all meta information about the application.
This needs to be a member of format_parse, because it needs to present (not filled) when the parser_set_up_calls vector is filled, since all printing functions need some meta information. The member variable itself is filled when copied over from the argument_parser when calling format_parse::parse. That way all the information needed are there, when the actual printing starts.
This function is not private because it is needed for short but nicely formatted (error) output to the command line.
The documentation for this class was generated from the following file: