Get rid from pflag dependency.

This commit is contained in:
Foil-hat-guy 2025-04-20 23:57:39 +03:00
parent c0853ca918
commit 7a21684147
No known key found for this signature in database
GPG key ID: 221CC305A7B23591

33
ui.go
View file

@ -1,33 +1,36 @@
// This package provides --quiet and --verbose flags for cli and corresponding output print functions PrintOut and PrintVerbose.
// Another line
package ui
import (
"fmt"
"io"
"os"
"github.com/spf13/pflag"
"strings"
)
var stdOutput io.Writer
var verboseOutput io.Writer
func init() {
outputFlagSet := pflag.NewFlagSet("output", pflag.ContinueOnError)
outputFlagSet.ParseErrorsWhitelist.UnknownFlags = true
outputFlagSet.SetOutput(nil)
isQuiet := detectFlag("q", "--quiet")
isVerbose := detectFlag("V", "--verbose")
isVerbose := outputFlagSet.BoolP("verbose", "V", false, "If set adds additional details to output.")
isQuiet := outputFlagSet.BoolP("quiet", "q", false, "If set makes no output at all.")
SetupOutputMode(isQuiet, isVerbose)
}
err := outputFlagSet.Parse(os.Args)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
func detectFlag(shortFlag string, fullFlag string) bool {
for _, arg := range os.Args {
return containFlag(arg, shortFlag) || arg == fullFlag
}
return false
}
SetupOutputMode(*isQuiet, *isVerbose)
func containFlag(arg string, shortFlag string) bool {
if len(arg)>1 {
if arg[0] == "-"[0] && arg[1] != "-"[0] {
return strings.Contains(arg, shortFlag)
}
}
return false
}
func SetupOutputMode(isQuiet bool, isVerbose bool) {