func redo(ctx *cli.Context) error { ctx.JSON(ctx.RootArgv()) ctx.JSON(ctx.Argv()) fmt.Println() return nil }
func fi(ctx *cli.Context) error { ctx.JSON(ctx.RootArgv()) ctx.JSON(ctx.Argv()) fmt.Println() argv := ctx.Argv().(*rootT) data, err := ioutil.ReadAll(argv.Fi) argv.Fi.Close() if err != nil { return err } ctx.String("read from file(or stdin): %s\n", string(data)) ctx.String("filename: %s, isStdin=%v\n", argv.Fi.Name(), argv.Fi.IsStdin()) return nil }