fastpastebin/vendor/go.dev.pztrn.name/flagger
Stanislav Nikitin 7f04a9a7bb
Typo fix and missed dependencies files.
2021-01-08 12:00:38 +05:00
..
.drone.yml Typo fix and missed dependencies files. 2021-01-08 12:00:38 +05:00
.gitignore Typo fix and missed dependencies files. 2021-01-08 12:00:38 +05:00
.golangci.yml Typo fix and missed dependencies files. 2021-01-08 12:00:38 +05:00
LICENSE Typo fix and missed dependencies files. 2021-01-08 12:00:38 +05:00
README.md Typo fix and missed dependencies files. 2021-01-08 12:00:38 +05:00
errors.go Typo fix and missed dependencies files. 2021-01-08 12:00:38 +05:00
exported.go Typo fix and missed dependencies files. 2021-01-08 12:00:38 +05:00
flag.go Typo fix and missed dependencies files. 2021-01-08 12:00:38 +05:00
flagger.go Typo fix and missed dependencies files. 2021-01-08 12:00:38 +05:00
go.mod Typo fix and missed dependencies files. 2021-01-08 12:00:38 +05:00
go.sum Typo fix and missed dependencies files. 2021-01-08 12:00:38 +05:00
loggerinterface.go Typo fix and missed dependencies files. 2021-01-08 12:00:38 +05:00

README.md

Flagger

GoDoc Drone (self-hosted) Discord Keybase XLM Go Report Card

Flagger is an arbitrary CLI flags parser, like argparse in Python. Flagger is able to parse boolean, integer and string flags.

Installation

go get -u -v go.dev.pztrn.name/flagger

Usage

Flagger requires logging interface to be passed on initialization. See loggerinterface.go for required logging functions. It is able to run with standart log package, in that case initialize flagger like:

flgr = flagger.New("My Super Program", flagger.LoggerInterface(log.New(os.Stdout, "testing logger: ", log.Lshortfile)))
flgr.Initialize()

Adding a flag is easy, just fill Flag structure and pass to AddFlag() call:

flag_bool := Flag{
    Name: "boolflag",
    Description: "Boolean flag",
    Type: "bool",
    DefaultValue: true,
}
err := flgr.AddFlag(&flag_bool)
if err != nil {
    ...
}

After adding all neccessary flags you should issue Parse() call to get them parsed:

flgr.Parse()

After parsed they can be obtained everywhere you want, like:

val, err := flgr.GetBoolValue("boolflag")
if err != nil {
    ...
}

For more examples take a look at flagger_test.go file or at GoDoc.