Commit Graph

22 Commits

Author SHA1 Message Date
Kenneth Shaw d4c2b35b2e Adding separate tag option
As outlined in #49, there is a need to mimic the behavior of other
applications by interweaving positional and non-positional parameters.

This change adds the 'separate' option that will force a arg of type
[]string to only read the next supplied value.

For example, when dealing with the following arg type:

var MyArgs struct {
    Pos []string `arg:"positional"`
    Separate []string `arg:"-s,separate"`
}

This commit will parse the following command line:

./app pos1 pos2 -s=separate1 -s=separate2 pos3 -s=separate3 pos4

Such that MyArgs.Pos will be [pos1 pos2 pos3 pos4] and MyArgs.Separate
will be [separate1 separate2 separate3].

Unit tests for the above have also been written and are included in this
commit, as well as the addition of a section to README.md and an example
func in example_test.go.

Fixes #49
2017-03-04 09:13:12 +07:00
Alex Flint c4c162448c deal with "-" as option value 2017-02-21 09:08:08 -08:00
Alex Flint 44a8b85d82 deal with booleans correctly 2017-02-15 18:37:19 -08:00
Alex Flint ec576f9765 fix case where os.Args is empty 2017-02-09 15:12:33 -08:00
Alex Flint 12fa37d10d add support for embedded structs 2016-10-10 10:48:28 +10:30
Alex Flint 5800b89ce9 fix example function names 2016-07-31 09:14:44 -07:00
Fredrik Wallgren 1488562b1e
Allow override of defaults for slice arguments
This commit fixes a bug where if a multiple value argument (slice) has default
values, the submitted values will be appended to the default. Not
overriding them as expected.
2016-02-29 22:05:26 +01:00
Alex Flint aaae1550b7 Merge pull request #32 from alexflint/override_program_name
make it possible to override the name of the program
2016-02-22 06:39:41 -08:00
Alex Flint c9584269b9 added tests for MAC and email addresses 2016-01-23 20:58:43 -08:00
Alex Flint 9a30acda05 added tests for IP address parsing 2016-01-23 20:55:40 -08:00
Alex Flint 865cc5a973 add support for pointers and TextUnmarshaler 2016-01-23 19:40:15 -08:00
Alex Flint 64a4bab550 add test for invalid durations 2016-01-23 18:35:08 -08:00
Alex Flint ed2b19f2bb add support for time.Duration fields 2016-01-23 18:28:35 -08:00
brettlangdon 8dd29d34bf Add support for environment variables 2016-01-18 13:42:04 -05:00
Alex Flint b1ec8c9093 make it possible to override the name of the program 2016-01-18 10:31:01 -08:00
Alex Flint 0c0f9a53ac MustParse returns *Parser 2016-01-05 13:52:33 -08:00
Alex Flint 70c56eff66 add more tests 2015-11-04 10:27:17 -08:00
Alex Flint 4d271f5326 fix float test for go1.4 2015-11-01 13:38:04 -08:00
Alex Flint f427e9f317 added parser struct 2015-10-31 23:57:26 -07:00
Alex Flint b9ad104f33 added usage generation 2015-10-31 18:26:58 -07:00
Alex Flint 8397a40f4c positional arguments working 2015-10-31 17:05:14 -07:00
Alex Flint 408290f7c2 basic first version working 2015-10-31 16:15:24 -07:00