From d0f06ff4ef35fd54910c686cb2727a08b3fb89cd Mon Sep 17 00:00:00 2001 From: Slack Coder Date: Fri, 20 May 2022 15:59:02 -0500 Subject: add help flag to commands Display command usage using the '--help' flag. --- cmd/installpkg/main.go | 11 +++++++++-- cmd/removepkg/main.go | 17 +++++++++++++++-- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/cmd/installpkg/main.go b/cmd/installpkg/main.go index 5cc4955..009a2e7 100644 --- a/cmd/installpkg/main.go +++ b/cmd/installpkg/main.go @@ -44,6 +44,10 @@ import ( // the previous package's files, and this will catch the few // corner cases without generating unnecessary writes. +func usage() { + getopt.PrintUsage(os.Stdout) +} + func ParseFlags() *pkgtools.InstallPkgFlags { flags := pkgtools.DefaultInstallPkgFlags flags.SetEnvValues() @@ -56,9 +60,12 @@ func ParseFlags() *pkgtools.InstallPkgFlags { } func main() { + getopt.SetParameters("package_filename ...") + help := getopt.BoolLong("help", 0, "display help") + flags := ParseFlags() - if len(getopt.Args()) == 0 { - getopt.PrintUsage(os.Stdout) + if len(getopt.Args()) == 0 || *help { + usage() return } diff --git a/cmd/removepkg/main.go b/cmd/removepkg/main.go index 5970112..dd21f54 100644 --- a/cmd/removepkg/main.go +++ b/cmd/removepkg/main.go @@ -1,24 +1,37 @@ package main +// TODO: print help when no arguments given + import ( "flag" "fmt" "os" "git.server.ky/slackcoder/pkgtools" + "github.com/pborman/getopt/v2" ) +func usage() { + getopt.PrintUsage(os.Stdout) +} + func ParseFlags() *pkgtools.RemovePkgFlags { flags := pkgtools.DefaultRemovePkgFlags flags.SetEnvValues() - flag.Parse() - + getopt.Parse() return &flags } func main() { + getopt.SetParameters("packagename ...") + help := getopt.BoolLong("help", 0, "display help") + flags := ParseFlags() + if len(getopt.Args()) == 0 || *help { + usage() + return + } err := pkgtools.RemovePkg(flags, flag.Args()...) if err != nil { -- cgit v1.2.3