Refactor flags to use flagzog package
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 35s
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 35s
Signed-off-by: Jan Tytgat <jan.tytgat@corelayer.eu>
This commit is contained in:
@ -1,26 +1,38 @@
|
||||
package application
|
||||
|
||||
import "github.com/spf13/cobra"
|
||||
import (
|
||||
"github.com/Oudwins/zog"
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
var jsonOutputFlag bool
|
||||
var noColorFlag bool
|
||||
var quietFlag bool
|
||||
var verboseFlag bool
|
||||
"git.flexabyte.io/flexabyte/go-kit/flagzog"
|
||||
)
|
||||
|
||||
const (
|
||||
quietFlagShortCode = "q"
|
||||
verboseFlagShortCode = "v"
|
||||
)
|
||||
|
||||
var (
|
||||
jsonOutputFlag = flagzog.NewBoolFlag("json", zog.Bool(), "Enable JSON output")
|
||||
noColorFlag = flagzog.NewBoolFlag("no-color", zog.Bool(), "Disable colored output")
|
||||
quietFlag = flagzog.NewBoolFlag("quiet", zog.Bool(), "Suppress output")
|
||||
verboseFlag = flagzog.NewBoolFlag("verbose", zog.Bool(), "Enable verbose output")
|
||||
)
|
||||
|
||||
func addJsonOutputFlag(cmd *cobra.Command) {
|
||||
cmd.PersistentFlags().BoolVarP(&jsonOutputFlag, "json", "", false, "Enable JSON outWriter")
|
||||
cmd.PersistentFlags().BoolVarP(&jsonOutputFlag.Value, jsonOutputFlag.Name(), "", false, jsonOutputFlag.Usage())
|
||||
}
|
||||
|
||||
func addNoColorFlag(cmd *cobra.Command) {
|
||||
cmd.PersistentFlags().BoolVarP(&noColorFlag, "no-color", "", false, "Disable color outWriter")
|
||||
cmd.PersistentFlags().BoolVarP(&noColorFlag.Value, noColorFlag.Name(), "", false, noColorFlag.Usage())
|
||||
}
|
||||
|
||||
func addQuietFlag(cmd *cobra.Command) {
|
||||
cmd.PersistentFlags().BoolVarP(&quietFlag, "quiet", "q", false, "Enable quiet mode")
|
||||
cmd.PersistentFlags().BoolVarP(&quietFlag.Value, quietFlag.Name(), quietFlagShortCode, false, quietFlag.Usage())
|
||||
}
|
||||
|
||||
func addVerboseFlag(cmd *cobra.Command) {
|
||||
cmd.PersistentFlags().BoolVarP(&verboseFlag, "verbose", "v", false, "Enable verbose outWriter")
|
||||
cmd.PersistentFlags().BoolVarP(&verboseFlag.Value, verboseFlag.Name(), verboseFlagShortCode, false, verboseFlag.Usage())
|
||||
}
|
||||
|
||||
func configureOutputFlags(cmd *cobra.Command) {
|
||||
@ -29,8 +41,7 @@ func configureOutputFlags(cmd *cobra.Command) {
|
||||
addVerboseFlag(cmd)
|
||||
addQuietFlag(cmd)
|
||||
|
||||
cmd.MarkFlagsMutuallyExclusive("verbose", "quiet", "json")
|
||||
cmd.MarkFlagsMutuallyExclusive("json", "no-color")
|
||||
cmd.MarkFlagsMutuallyExclusive("quiet", "no-color")
|
||||
|
||||
cmd.MarkFlagsMutuallyExclusive(verboseFlag.Name(), quietFlag.Name(), jsonOutputFlag.Name())
|
||||
cmd.MarkFlagsMutuallyExclusive(jsonOutputFlag.Name(), noColorFlag.Name())
|
||||
cmd.MarkFlagsMutuallyExclusive(quietFlag.Name(), noColorFlag.Name())
|
||||
}
|
||||
|
Reference in New Issue
Block a user