1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/cli
2022-01-25 15:58:06 +02:00
..
command_test.v cli: have a posix mode to handle -- (#11133) 2021-08-11 12:26:17 +03:00
command.v cli: have a posix mode to handle -- (#11133) 2021-08-11 12:26:17 +03:00
flag_test.v cli: improve multiple value management (#8310) 2021-03-19 13:09:56 +02:00
flag.v cli: have a posix mode to handle -- (#11133) 2021-08-11 12:26:17 +03:00
help_test.v cli: fix bug that caused help to panic (#11157) 2021-08-12 09:25:28 +03:00
help.v cli: make help fn's public (#13275) 2022-01-25 15:58:06 +02:00
README.md docs: add more documentation to each of the modules in vlib (#13043) 2022-01-07 13:28:50 +02:00
version.v cli: various improvements (#6180) 2020-08-20 23:14:53 +02: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.

Example:

module main

import os
import cli

fn main() {
	mut app := cli.Command{
		name: 'example-app'
		description: 'example-app'
		execute: fn (cmd cli.Command) ? {
			println('hello app')
			return
		}
		commands: [
			cli.Command{
				name: 'sub'
				execute: fn (cmd cli.Command) ? {
					println('hello subcommand')
					return
				}
			},
		]
	}
	app.setup()
	app.parse(os.args)
}