2022-01-05 19:06:08 +03:00
|
|
|
## Description:
|
|
|
|
|
|
|
|
`cli` is a command line option parser, that supports
|
|
|
|
declarative subcommands, each having separate set of options.
|
|
|
|
|
|
|
|
See also the `flag` module, for a simpler command line option parser,
|
|
|
|
that supports only options.
|
|
|
|
|
2022-01-07 14:28:50 +03:00
|
|
|
## Example:
|
2021-01-05 14:25:25 +03:00
|
|
|
|
|
|
|
```v
|
|
|
|
module main
|
|
|
|
|
|
|
|
import os
|
|
|
|
import cli
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
mut app := cli.Command{
|
|
|
|
name: 'example-app'
|
|
|
|
description: 'example-app'
|
2022-10-20 22:14:33 +03:00
|
|
|
execute: fn (cmd cli.Command) ! {
|
2021-01-05 14:25:25 +03:00
|
|
|
println('hello app')
|
|
|
|
return
|
|
|
|
}
|
|
|
|
commands: [
|
|
|
|
cli.Command{
|
|
|
|
name: 'sub'
|
2022-10-20 22:14:33 +03:00
|
|
|
execute: fn (cmd cli.Command) ! {
|
2021-01-05 14:25:25 +03:00
|
|
|
println('hello subcommand')
|
|
|
|
return
|
|
|
|
}
|
|
|
|
},
|
|
|
|
]
|
|
|
|
}
|
|
|
|
app.setup()
|
|
|
|
app.parse(os.args)
|
|
|
|
}
|
|
|
|
```
|