NAME
    Perinci::CmdLine - Rinci/Riap-based command-line application framework

VERSION
    This document describes version 1.36 of Perinci::CmdLine (from Perl
    distribution Perinci-CmdLine), released on 2014-10-24.

SYNOPSIS
    See Perinci::CmdLine::Manual::Examples.

DESCRIPTION
    See Perinci::CmdLine::Manual.

    Screenshots:

REQUEST KEYS
    See also Perinci::CmdLine::Base. Extra stuffs put by this module to the
    $r hash/stash.

    *   format_options => hash

ATTRIBUTES
    All the attributes of Perinci::CmdLine::Base, plus:

  log_any_app => BOOL (default: 1)
    Whether to load Log::Any::App (enable logging output) by default. See
    "LOGGING" for more details.

  use_utf8 => BOOL
    From SHARYANTO::Role::TermAttrs (please see its docs for more details).
    There are several other attributes added by the role.

  undo => BOOL (optional, default 0)
    Whether to enable undo/redo functionality. Some things to note if you
    intend to use undo:

    *   These common command-line options will be recognized

        "--undo", "--redo", "--history", "--clear-history".

    *   Transactions will be used

        "use_tx=>1" will be passed to Perinci::Access, which will cause it
        to initialize the transaction manager. Riap requests begin_tx and
        commit_tx will enclose the call request to function.

    *   Called function will need to support transaction and undo

        Function which does not meet qualifications will refuse to be
        called.

        Exception is when subcommand is specified with "undo=>0", where
        transaction will not be used for that subcommand. For an example of
        disabling transaction for some subcommands, see "bin/u-trash" in the
        distribution.

  undo_dir => STR (optional, default ~/.<program_name>/.undo)
    Where to put undo data. This is actually the transaction manager's data
    dir.

METHODS
    All the methods of Perinci::CmdLine::Base, plus:

RESULT METADATA
    All those supported by Perinci::CmdLine::Base, plus:

ENVIRONMENT
    All the environment variables that Perinci::CmdLine::Base supports,
    plus:

  PERINCI_CMDLINE_COLOR_THEME => STR
    Can be used to set "color_theme".

  PROGRESS => BOOL
    Explicitly turn the progress bar on/off.

  COLOR => INT
    Please see SHARYANTO::Role::TermAttrs.

  UTF8 => BOOL
    Please see SHARYANTO::Role::TermAttrs.

SEE ALSO
    Perinci, Rinci, Riap.

    Perinci::CmdLine::Base.

    Perinci::CmdLine::Lite.

    Other CPAN modules to write command-line applications: App::Cmd,
    App::Rad, MooseX::Getopt.

HOMEPAGE
    Please visit the project's homepage at
    <https://metacpan.org/release/Perinci-CmdLine>.

SOURCE
    Source repository is at
    <https://github.com/perlancar/perl-Perinci-CmdLine>.

BUGS
    Please report any bugs or feature requests on the bugtracker website
    <https://rt.cpan.org/Public/Dist/Display.html?Name=Perinci-CmdLine>

    When submitting a bug or request, please include a test-file or a patch
    to an existing test-file that illustrates the bug or desired feature.

AUTHOR
    perlancar <perlancar@cpan.org>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2014 by perlancar@cpan.org.

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

