Command ${:name}

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

Subcommands

[:for sub ${:@subcommand} {

[$sub name]

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

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