NAME
App::PericmdUtils - Some utilities related to Perinci::CmdLine
VERSION
This document describes version 0.054 of App::PericmdUtils (from Perl
distribution App-PericmdUtils), released on 2022-05-27.
DESCRIPTION
This distribution includes a few utility scripts related to
Perinci::CmdLine modules family.
* detect-pericmd-script
* dump-pericmd-script
* gen-pod-for-pericmd-script
* list-pericmd-plugins
FUNCTIONS
list_pericmd_plugins
Usage:
list_pericmd_plugins(%args) -> [$status_code, $reason, $payload, \%result_meta]
List Perinci::CmdLine plugins.
Examples:
* Example #1:
list_pericmd_plugins();
Result:
[
200,
"OK",
[
"Debug::DumpArgs",
"Debug::DumpR",
"Debug::DumpRes",
"Flow::Exit",
"Plugin::Disable",
"Plugin::DisablePlugin",
"Run::Completion",
"Run::DebugCompletion",
"Run::DumpObject",
"Run::Normal",
],
{},
]
* Show details:
list_pericmd_plugins(detail => 1);
Result:
[
200,
"OK",
[
{
name => "Debug::DumpArgs",
summary => "Dump command-line arguments (\$r->{args}), by default after argument validation",
tags => "category:debugging",
conf => "",
hooks => "after_validate_args",
dist => "Perinci-CmdLine-Lite",
},
{
name => "Debug::DumpR",
summary => "Dump request stash (\$r), by default after action",
dist => "Perinci-CmdLine-Lite",
conf => "",
hooks => "after_action",
tags => "category:debugging",
},
{
name => "Debug::DumpRes",
summary => "Dump result (\$r->{res}), by default after action",
tags => "category:debugging",
conf => "",
hooks => "after_action",
dist => "Perinci-CmdLine-Lite",
},
{
name => "Flow::Exit",
summary => "Exit program",
dist => "Perinci-CmdLine-Lite",
conf => "exit_code",
hooks => "after_action",
tags => "category:flow-control, category:debugging",
},
{
name => "Plugin::Disable",
summary => "Prevent the loading (activation) of other plugins",
tags => "category:plugin",
hooks => "before_activate_plugin",
conf => "plugins",
dist => "Perinci-CmdLine-Lite",
},
{
name => "Plugin::DisablePlugin",
summary => "Prevent the loading (activation) of other plugins",
dist => "Perinci-CmdLine-Lite",
hooks => "before_activate_plugin",
conf => "plugins",
tags => "category:plugin",
},
{
name => "Run::Completion",
summary => "Shell completion mode",
dist => "Perinci-CmdLine-Lite",
hooks => "on_run",
conf => "",
tags => "category:run-handler, category:completion",
},
{
name => "Run::DebugCompletion",
summary => "Debug completion",
dist => "Perinci-CmdLine-Lite",
conf => "log_file",
hooks => "on_run",
tags => "category:run-handler, category:debugging",
},
{
name => "Run::DumpObject",
summary => "Dump object mode",
tags => "category:run-handler, category:debugging",
hooks => "on_run",
conf => "",
dist => "Perinci-CmdLine-Lite",
},
{
name => "Run::Normal",
summary => "Normal run",
tags => "category:run-handler",
dist => "Perinci-CmdLine-Lite",
conf => "",
hooks => "on_run",
},
],
{ "table.fields" => ["name", "summary"] },
]
This utility lists Perl modules in the "Perinci::CmdLine::Plugin::*"
namespace.
This function is not exported.
Arguments ('*' denotes required arguments):
* detail => *bool*
Returns an enveloped result (an array).
First element ($status_code) is an integer containing HTTP-like status
code (200 means OK, 4xx caller error, 5xx function error). Second
element ($reason) is a string containing error message, or something
like "OK" if status is 200. Third element ($payload) is the actual
result, but usually not present when enveloped result is an error
response ($status_code is not 2xx). Fourth element (%result_meta) is
called result metadata and is optional, a hash that contains extra
information, much like how HTTP response headers provide additional
metadata.
Return value: (any)
HOMEPAGE
Please visit the project's homepage at
<https://metacpan.org/release/App-PericmdUtils>.
SOURCE
Source repository is at
<https://github.com/perlancar/perl-App-PericmdUtils>.
SEE ALSO
Perinci
App::PerinciUtils
peri-doc (from Perinci::To::Doc)
AUTHOR
perlancar <perlancar@cpan.org>
CONTRIBUTING
To contribute, you can send patches by email/via RT, or send pull
requests on GitHub.
Most of the time, you don't need to build the distribution yourself. You
can simply modify the code, then test via:
% prove -l
If you want to build the distribution (e.g. to try to install it locally
on your system), you can install Dist::Zilla,
Dist::Zilla::PluginBundle::Author::PERLANCAR, and sometimes one or two
other Dist::Zilla plugin and/or Pod::Weaver::Plugin. Any additional
steps required beyond that are considered a bug and can be reported to
me.
COPYRIGHT AND LICENSE
This software is copyright (c) 2022, 2021, 2017, 2016, 2015 by perlancar
<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.
BUGS
Please report any bugs or feature requests on the bugtracker website
<https://rt.cpan.org/Public/Dist/Display.html?Name=App-PericmdUtils>
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.