
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
Signed-off-by: Jan Tytgat <jan.tytgat@corelayer.eu>
52 lines
1.7 KiB
Go
52 lines
1.7 KiB
Go
package application
|
|
|
|
import (
|
|
"github.com/Oudwins/zog"
|
|
"github.com/spf13/cobra"
|
|
|
|
"git.flexabyte.io/flexabyte/go-kit/flagzog"
|
|
)
|
|
|
|
const (
|
|
jsonOutputFlagDefault = false
|
|
noColorFlagDefault = false
|
|
quietFlagDefault = false
|
|
quietFlagShortCode = "q"
|
|
verboseFlagDefault = false
|
|
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.Value, jsonOutputFlag.Name(), "", jsonOutputFlagDefault, jsonOutputFlag.Usage())
|
|
}
|
|
|
|
func addNoColorFlag(cmd *cobra.Command) {
|
|
cmd.PersistentFlags().BoolVarP(&noColorFlag.Value, noColorFlag.Name(), "", noColorFlagDefault, noColorFlag.Usage())
|
|
}
|
|
|
|
func addQuietFlag(cmd *cobra.Command) {
|
|
cmd.PersistentFlags().BoolVarP(&quietFlag.Value, quietFlag.Name(), quietFlagShortCode, quietFlagDefault, quietFlag.Usage())
|
|
}
|
|
|
|
func addVerboseFlag(cmd *cobra.Command) {
|
|
cmd.PersistentFlags().BoolVarP(&verboseFlag.Value, verboseFlag.Name(), verboseFlagShortCode, verboseFlagDefault, verboseFlag.Usage())
|
|
}
|
|
|
|
func configureOutputFlags(cmd *cobra.Command) {
|
|
addJsonOutputFlag(cmd)
|
|
addNoColorFlag(cmd)
|
|
addVerboseFlag(cmd)
|
|
addQuietFlag(cmd)
|
|
|
|
cmd.MarkFlagsMutuallyExclusive(verboseFlag.Name(), quietFlag.Name(), jsonOutputFlag.Name())
|
|
cmd.MarkFlagsMutuallyExclusive(jsonOutputFlag.Name(), noColorFlag.Name())
|
|
cmd.MarkFlagsMutuallyExclusive(quietFlag.Name(), noColorFlag.Name())
|
|
}
|