2024-03-01
概要
urfave/cli はGo言語のCLIライブラリです。
デフォルトで --help
フラグや help
コマンドが用意されており、通常はライブラリ側でヘルプメッセージを出力してくれますが、プログラム中でマニュアル的に出力することもできます。その方法を紹介します。
ヘルプメッセージをマニュアル的に出力する
cli.ShowAppHelp(c) で出力できます。
package main import ( "fmt" "log" "os" "github.com/urfave/cli/v2" ) func main() { app := &cli.App{ Name: "lsdir", Args: true, ArgsUsage: "path", Action: func(c *cli.Context) error { // arg を取得 path := c.Args().Get(0) if path == "" { // ヘルプメッセージを表示 return cli.ShowAppHelp(c) } fmt.Printf("path: %s\n", path) return nil }, Suggest: true, // サブコマンド名をtypoした時などに候補を表示してくれる HideHelpCommand: true, // helpコマンドを削除 } if err := app.Run(os.Args); err != nil { log.Fatalf("Error: %s", err.Error()) } }
おわり
ユースケースですが Required Argumnet が渡されなかったとき便利です。
作成日
2024-03-01
更新日
2024-03-02