03.nested-subcommand

command
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 4, 2024 License: MIT Imports: 2 Imported by: 0

README

これは何?

flaggy パッケージの使い方をメモしたものです。

サブコマンドはネストさせることも出来ます。

func init() {
	// ルートレベルのフラグ
	flaggy.Int(&args.Val1, "d", "val", "value 1")

	// サブコマンドの作成
	subA = flaggy.NewSubcommand("subA")

	// サブサブコマンドの作成
	subsubA = flaggy.NewSubcommand("subsubA")
	subsubA.String(&args.SubA.SubSubA.Val1, "v1", "val1", "subsubA value 1")

	// アタッチ
	subA.AttachSubcommand(subsubA, 1)
	flaggy.AttachSubcommand(subA, 1)

	// ヘルプに表示される情報やバージョン情報など
	subA.Description = "Subcommand A"
	subsubA.Description = "Nested-Subcommand A"

	flaggy.SetName("app")
	flaggy.SetDescription("flaggy sample app")
	flaggy.SetVersion("v1.0.0")

	flaggy.Parse()
}

上記のような構成にすると、コマンドラインにて以下のように指定できるようになります。

$ app subA subsubA -v1 helloworld

docker compose ls のような形のコマンドラインが作れるということです。

参考情報

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL