Command ${:name}

[:text]
[:?var :@subcommand {

Subcommands

[:for sub ${:@subcommand} {

[$sub name]

[:? {[$sub exists @return] && [[$sub @return] spec] ne ""} {<[[$sub @return] spec]>} ] ${:name} [$sub name] [$sub parameters]
[$sub text] [:? {[$sub exists :@param]} {
Subcommand parameters:
[:for param [$sub @param] {
[$param name] [:? {[$param exists spec] && [$param spec] ne ""} {<[$param spec]>}] [$param text]
}]
}] [:? {[$sub exists :@return]} {
Returns:
[[$sub @return] text]
}]

}]
} - { [:?var :@param {
Parameters:
[:for param ${:@param} {
[$param name] <[:? {[$param exists spec]} {[$param spec]}]> [$param text]
}]
}] [:?var :@return {
Returns:
[${:@return} text]
}] }]