std.getopt

Processing of command line options.

The getopt module implements a getopt function, which adheres to the POSIX syntax for command line options. GNU extensions are supported in the form of long options introduced by a double dash ("--"). Support for bundling of command line options, as was the case with the more traditional single-letter approach, is provided but not enabled by default.

Members

Classes

GetOptException
class GetOptException

Thrown on one of the following conditions:

  • An unrecognized command-line argument is passed, and std.getopt.config.passThrough was not present.
  • A command-line option was not found, and std.getopt.config.required was present.
  • A callback option is missing a value.

Enums

config
enum config

Configuration options for getopt.

Functions

defaultGetoptFormatter
void defaultGetoptFormatter(Output output, string text, Option[] opt, string style)

This function writes the passed text and Option into an output range in the manner described in the documentation of function defaultGetoptPrinter, unless the style option is used.

defaultGetoptPrinter
void defaultGetoptPrinter(string text, Option[] opt)

This function prints the passed Options and text in an aligned manner on stdout.

getopt
GetoptResult getopt(string[] args, T opts)

Parse and remove command line options from a string array.

Structs

GetoptResult
struct GetoptResult

The result of the getopt function.

Option
struct Option

Information about an option.

Variables

arraySep
string arraySep;

When set to "", parameters to array and associative array receivers are treated as an individual argument. That is, only one argument is appended or inserted per appearance of the option switch. If arraySep is set to something else, then each parameter is first split by the separator, and the individual pieces are treated as arguments to the same option.

assignChar
dchar assignChar;

The assignment character used in options with parameters (default '=').

endOfOptions
string endOfOptions;

The string that conventionally marks the end of all options (default '--').

optionChar
dchar optionChar;

The option character (default '-').

Meta

Credits

This module and its documentation are inspired by Perl's Getopt::Long module. The syntax of D's getopt is simpler than its Perl counterpart because getopt infers the expected parameter types from the static types of the passed-in pointers.