Getopt::Yath::Instance(3)

NAME
Getopt::Yath::Instance - An instance of options.

DESCRIPTION
This does the real work for Getopt::Yath under the hood. It is probably better not to use this directly.

SYNOPSIS
Do not use this directly. The user interface you should be looking at is Getopt::Yath.

METHODS

$state = $instance->process_args(\@argv, %params)
    Parse the given argument list according to the defined options. Returns a Getopt::Yath::State object containing "settings", "skipped", "remains", "stop", "cleared", "modules", and "env" accessors. See Getopt::Yath for the full list of parameters and Getopt::Yath::State for the returned object.

$option = $instance->add_option(%option_spec)
    Add a new option to this instance. The %option_spec is passed directly to "create" in Getopt::Yath::Option.

$instance->add_post_process($weight, $applicable, $callback)
    Register a post-processing callback. $weight controls ordering (lower runs first), $applicable is an optional coderef filter, and $callback is the coderef to run after parsing.

$instance->include($other_instance)
$instance->include($other_instance, \@list)
    Merge options and post-processors from another instance into this one. If "\@list" is provided, only options whose title, field, or name appears in the list are included.

$text = $instance->docs($format, %params)
    Generate documentation for all applicable options. $format must be 'cli' or 'pod'. Params may include:

    head => $level
        Heading level for POD output (e.g., 2 for "=head2").

    group => $group_name
        Only show options from the specified group.

    settings => $settings
        An Getopt::Yath::Settings object used to evaluate option applicability.

    applicable => $bool
        If true, include all options regardless of their applicability filter.

    color => $bool
        Enable or disable ANSI color in CLI output. Defaults to true if color is available and STDOUT is a terminal.

$map = $instance->option_map()
$map = $instance->option_map(\@options)
    Returns a hashref mapping all option forms (e.g., "--verbose", "-v", "--no-verbose") to their Getopt::Yath::Option objects. Also includes a "custom_match" key with an arrayref of custom match coderefs. Results are cached unless an explicit option list is provided.

$groups = $instance->option_groups()
    Returns a hashref of group names defined by the current options. Results are cached.

$bool = $instance->have_group($name)
    Returns true if any option defines the given group name.

$instance->set_category_sort_map(%map)
    Set the sort ordering for documentation categories. See "category_sort_map" in Getopt::Yath.

$options = $instance->options()
    Returns the arrayref of Getopt::Yath::Option objects registered in this instance.

SOURCE
The source code repository for Getopt-Yath can be found at <http://github.com/Test-More/Getopt-Yath/>.

MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT
Copyright Chad Granum <exodist7@gmail.com>.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See <http://dev.perl.org/licenses/>