From b1abee64b9076d189411e666a4c141176bc007f7 Mon Sep 17 00:00:00 2001 From: "Stanislav N. aka pztrn" Date: Sun, 20 Aug 2017 15:06:37 +0500 Subject: [PATCH] README updates. --- README.md | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 39fcabd..b524947 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,9 @@ +[![GoDoc](https://godoc.org/lab.pztrn.name/golibs/flagger?status.svg)](https://godoc.org/lab.pztrn.name/golibs/flagger) + # Flagger Flagger is an arbitrary CLI flags parser, like argparse in Python. +Flagger is able to parse boolean, integer and string flags. # Installation @@ -10,4 +13,44 @@ go get -u -v lab.pztrn.name/golibs/flagger # Usage -//TBW// +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(flagger.LoggerInterface(log.New(os.Stdout, "testing logger: ", log.Lshortfile))) +``` + +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](https://godoc.org/lab.pztrn.name/golibs/flagger).