Ookii.CommandLine for C++  1.0.0
shell_command_usage_options.h
Go to the documentation of this file.
1 #ifndef SHELL_COMMAND_USAGE_OPTIONS_H_
4 #define SHELL_COMMAND_USAGE_OPTIONS_H_
5 
6 #pragma once
7 
8 #include "usage_options.h"
9 
10 namespace ookii
11 {
12 
28  template<typename CharType, typename Traits = std::char_traits<CharType>, typename Alloc = std::allocator<CharType>>
29  class basic_shell_command_usage_options : public basic_usage_options<CharType, Traits, Alloc>
30  {
31  public:
33  struct defaults
34  {
36  static constexpr auto command_usage_format = literal_cast<CharType>("{} <command> [args...]");
38  static constexpr auto command_format = literal_cast<CharType>(" {}\n{}\n");
40  static constexpr auto available_commands_header = literal_cast<CharType>("The following commands are available:");
42  static constexpr size_t command_indent = 8;
43  };
44 
51 
57 
65  : base_type(output)
66  {
67  }
68 
76  {
77  }
78 
84 
90 
93 
100  };
101 
106 }
107 
108 #endif
Provides options for how to format usage help for applications using shell commands.
Definition: shell_command_usage_options.h:30
string_type available_commands_header
The header to show above the list of available commands.
Definition: shell_command_usage_options.h:92
basic_shell_command_usage_options()=default
Initializes a new instance of the basic_shell_command_usage_options class.
size_t command_indent
The level of indentation to use when writing the list of commands.
Definition: shell_command_usage_options.h:99
basic_shell_command_usage_options(stream_type &output, stream_type &error)
Initializes a new instance of the basic_shell_command_usage_options class with the specified output a...
Definition: shell_command_usage_options.h:74
typename base_type::stream_type stream_type
The concrete stream type used.
Definition: shell_command_usage_options.h:50
typename base_type::string_type string_type
The concrete string type used.
Definition: shell_command_usage_options.h:48
string_type command_usage_format
The usage syntax format shown when no command was specified, or an unknown command was specified.
Definition: shell_command_usage_options.h:83
string_type command_format
The format for showing a command in the list of commands.
Definition: shell_command_usage_options.h:89
basic_shell_command_usage_options(stream_type &output)
Initializes a new instance of the basic_shell_command_usage_options class with the specified stream.
Definition: shell_command_usage_options.h:64
Provides options for how to format usage help.
Definition: usage_options.h:29
std::basic_ostream< CharType, Traits > stream_type
The concrete stream type used.
Definition: usage_options.h:66
stream_type & error
The stream used to write errors to.
Definition: usage_options.h:107
std::basic_string< CharType, Traits, Alloc > string_type
The concrete string type used.
Definition: usage_options.h:64
stream_type & output
The stream used to write usage help to.
Definition: usage_options.h:104
Namespace containing the core Ookii.CommandLine.Cpp types.
Definition: command_line_argument.h:16
Provides default values for the fields of basic_shell_command_usage_options.
Definition: shell_command_usage_options.h:34
static constexpr auto available_commands_header
Default value for basic_shell_command_usage_options::available_commands_header.
Definition: shell_command_usage_options.h:40
static constexpr size_t command_indent
Default value for basic_shell_command_usage_options::command_indent.
Definition: shell_command_usage_options.h:42
static constexpr auto command_usage_format
Default value for basic_shell_command_usage_options::command_usage_format.
Definition: shell_command_usage_options.h:36
static constexpr auto command_format
Default value for basic_shell_command_usage_options::command_format.
Definition: shell_command_usage_options.h:38