From 94ca2169a2b284cff0fd131017d36b1f278b8e98 Mon Sep 17 00:00:00 2001 From: Jan Bader Date: Mon, 27 Jan 2025 23:36:23 +0100 Subject: [PATCH] fix: use flag args instead of os.Args directly --- main.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/main.go b/main.go index 3527177..8edab0d 100644 --- a/main.go +++ b/main.go @@ -14,16 +14,19 @@ var dryrun bool var execCmd string func main() { - args := os.Args[1:] - if len(args) == 0 { + flag.BoolVar(&dryrun, "n", false, "Show what would have been done.") + flag.StringVar(&execCmd, "exec", "", "Run command on matching file.") + path := flag.String("path", ".", "Handle files in path.") + flag.Parse() + + if flag.NArg() == 0 { fmt.Println("No action specified") return } - flag.BoolVar(&dryrun, "n", false, "Show what would have been done.") - flag.StringVar(&execCmd, "exec", "", "Run command on matching file.") - path := flag.String("path", "p", "Handle files in path.") - flag.Parse() + if !dryrun { + panic("please dry run first") + } switch flag.Arg(0) { case "normalize": @@ -36,7 +39,7 @@ func main() { case "removesuffix": fallthrough case "rs": - suffix := args[1] + suffix := flag.Arg(1) err := filepath.Walk(*path, removeSuffix(suffix)) if err != nil { panic(err)