Perinci-Sub-To-CLIDocData
view release on metacpan or search on metacpan
NAME
Perinci::Sub::To::CLIDocData - From Rinci function metadata, generate
structure convenient for producing CLI documentation (help/usage/POD)
VERSION
This document describes version 0.305 of Perinci::Sub::To::CLIDocData
(from Perl distribution Perinci-Sub-To-CLIDocData), released on
2022-11-14.
SYNOPSIS
use Perinci::Sub::To::CLIDocData qw(gen_cli_doc_data_from_meta);
my $clidocdata = gen_cli_doc_data_from_meta(meta => $meta);
Sample function metadata ($meta):
{
args => {
bool1 => {
cmdline_aliases => { z => { summary => "This is summary for option `-z`" } },
schema => "bool",
summary => "Another bool option",
tags => ["category:cat1"],
},
flag1 => {
cmdline_aliases => { f => {} },
schema => ["bool", "is", 1],
tags => ["category:cat1"],
},
str1 => {
pos => 0,
req => 1,
schema => "str*",
summary => "A required option as well as positional argument",
},
},
examples => [
{
argv => ["a value", "--bool1"],
summary => "Summary for an example",
test => 0,
},
],
summary => "Function summary",
v => 1.1,
}
Sample result:
do {
my $a = [
200,
"OK",
{
"compact_usage_line" => "[[prog]] [options] <str1>",
"example_categories" => { Examples => { order => 99 } },
"examples" => [
{
categories => ["Examples"],
category => "Examples",
cmdline => "[[prog]] 'a value' --bool1",
description => undef,
example_spec => {
argv => ["a value", "--bool1"],
summary => "Summary for an example",
test => 0,
},
summary => "Summary for an example",
},
],
"option_categories" => { "Cat1 options" => { order => 50 }, "Main options" => { order => 0 } },
"opts" => {
"--bool1" => {
arg => "bool1",
( run in 1.270 second using v1.01-cache-2.11-cpan-39bf76dae61 )