func TestApp_RunAsSubcommandParseFlags(t *testing.T) { var context *cli.Context a := cli.NewApp() a.Commands = []cli.Command{ { Name: "foo", Action: func(c *cli.Context) { context = c }, Flags: []cli.Flag{ cli.StringFlag{ Name: "lang", Value: "english", Usage: "language for the greeting", }, }, Before: func(_ *cli.Context) error { return nil }, }, } a.Run([]string{"", "foo", "--lang", "spanish", "abcd"}) expect(t, context.Args().Get(0), "abcd") expect(t, context.String("lang"), "spanish") }
func action(c *cli.Context) { scanner := bufio.NewScanner(os.Stdin) anonuuid := anonuuid.New() anonuuid.Hexspeak = c.Bool("hexspeak") anonuuid.Random = c.Bool("random") anonuuid.Prefix = c.String("prefix") anonuuid.Suffix = c.String("suffix") anonuuid.KeepBeginning = c.Bool("keep-beginning") anonuuid.KeepEnd = c.Bool("keep-end") for scanner.Scan() { line := scanner.Text() fmt.Println(anonuuid.Sanitize(line)) } }