module cli fn test_manpage() { mut cmd := Command{ name: 'command' description: 'description' commands: [ Command{ name: 'sub' description: 'subcommand' }, Command{ name: 'sub2' description: 'another subcommand' }, ] flags: [ Flag{ flag: .string name: 'str' description: 'str flag' }, Flag{ flag: .bool name: 'bool' description: 'bool flag' abbrev: 'b' }, Flag{ flag: .string name: 'required' abbrev: 'r' required: true }, ] } cmd.setup() assert cmd.manpage().after_char(`\n`) == r'.Dt COMMAND 1 .Os .Sh NAME .Nm command .Nd description .Sh SYNOPSIS .Nm command .Op Fl str Ar string .Op Fl b .Op Fl r Ar string .Nm command .Ar subcommand .Sh DESCRIPTION description .Pp The options are as follows: .Bl -tag -width indent .It Fl str str flag .It Fl b Fl bool bool flag .It Fl r Fl required .El .Pp The subcommands are as follows: .Bl -tag -width indent .It Cm sub subcommand .It Cm sub2 another subcommand .El .Sh SEE ALSO .Xr command-sub 1 , .Xr command-sub2 1 ' cmd.posix_mode = true assert cmd.manpage().after_char(`\n`) == r'.Dt COMMAND 1 .Os .Sh NAME .Nm command .Nd description .Sh SYNOPSIS .Nm command .Op Fl -str Ar string .Op Fl b .Op Fl r Ar string .Nm command .Ar subcommand .Sh DESCRIPTION description .Pp The options are as follows: .Bl -tag -width indent .It Fl -str str flag .It Fl b Fl -bool bool flag .It Fl r Fl -required .El .Pp The subcommands are as follows: .Bl -tag -width indent .It Cm sub subcommand .It Cm sub2 another subcommand .El .Sh SEE ALSO .Xr command-sub 1 , .Xr command-sub2 1 ' }