Alex Flint
efe5cdf4da
replace "name" and "typ" by storing the original StructField
2021-01-31 19:40:38 -08:00
Alex Flint
2a91531140
Merge remote-tracking branch 'origin/master' into optional-long
2021-01-31 19:20:28 -08:00
Alex Flint
aa6cb95149
skip unexported fields
2021-01-31 18:29:22 -08:00
Andrew Morozko
faebd3e0f2
Optional long arguments
2020-12-20 02:54:03 +03:00
Alex Flint
6be0398e80
move empty tag check inside the loop
2020-07-06 09:54:23 -07:00
Alex Flint
17bbf2e7ef
add Config.IgnoreEnv to ignore environment variables
2020-03-01 16:32:59 -06:00
Alex Flint
2cc1f136b1
make sure to deep copy the field indices
2020-01-24 14:34:56 -08:00
Alex Flint
711618869d
fix issue with duplicate fields in embedded structs
2020-01-24 14:30:29 -08:00
Marco Molteni
33db14a48b
parse: fix typo in comment
2020-01-19 19:38:19 +01:00
Andrew Morozko
c49d847704
Removed "dataname" tag
2019-11-30 00:32:28 +03:00
Andrew Morozko
c3a019cdb8
Various changes
2019-11-30 00:22:21 +03:00
Andrew Morozko
904e039267
Added the "dataname" tag
2019-11-29 22:33:16 +03:00
Alex Flint
45d0915afc
Remove %w for compatibility with go<1.13
2019-10-21 11:42:03 -07:00
Alex Flint
84e7a764db
minor cleanups
2019-10-19 23:30:33 -07:00
Alex Flint
cc768447a7
store default values during NewParser
2019-10-19 23:23:32 -07:00
Alex Flint
0c95297990
add support for default values in struct tags
2019-10-08 16:39:00 -07:00
Alex Flint
233d378a50
fix issue 89 (multiple args terminated by "--")
2019-10-04 13:18:17 -07:00
Alex Flint
9f37d5f600
fix typo
2019-08-06 16:38:11 -07:00
Alex Flint
990e87d80d
no need to initialize nil structs during path traversal
2019-05-03 16:32:16 -07:00
Alex Flint
b83047068d
print help and usage at subcommand level if necessary
2019-05-03 15:49:44 -07:00
Alex Flint
15bf383f1d
add subcommands to usage string
2019-05-03 15:02:10 -07:00
Alex Flint
edd1af4667
Merge remote-tracking branch 'origin/master' into subcommand-impl
...
# Conflicts:
# parse.go
2019-05-03 13:16:52 -07:00
Alex Flint
3392c173d7
add expected output for usage example
2019-05-03 13:07:12 -07:00
Alex Flint
e55b361498
fix error message
2019-05-02 09:50:44 -07:00
Alex Flint
87be2d9790
add unittests for canParse
2019-05-02 09:28:17 -07:00
Alex Flint
39decf197f
add several subcommand unittests
2019-04-30 13:49:55 -07:00
Alex Flint
a78c6ded26
set subcommand structs to be struct pointers
2019-04-30 13:40:45 -07:00
Alex Flint
af12b7cfc2
introduced path struct
2019-04-30 13:30:23 -07:00
Alex Flint
4e977796af
add recursive expansion of subcommands
2019-04-30 12:54:28 -07:00
Alex Flint
ddec9e9e4f
rename get/settable to readable/writable
2019-04-30 11:40:11 -07:00
Alex Flint
e2dda40825
all tests passing again
2019-04-14 19:50:17 -07:00
Alex Flint
e86673b20a
restore process as a free func
2019-04-14 18:24:59 -07:00
Alex Flint
b8678d4045
refactor validation
2019-04-14 18:00:40 -07:00
Alex Flint
7b1d9ef23f
simplify processing of positionals a little
2019-04-14 17:30:53 -07:00
Illia Volochii
89714b6f48
Fix the problem with errors
2018-05-14 22:18:05 +03:00
Illia Volochii
fa5fe315f8
Change format from JSON to CSV
2018-05-01 12:02:44 +03:00
Illia Volochii
75bf1a1525
Fix providing multiple values via environment variables
2018-04-26 21:10:44 +03:00
Alex Flint
b9375a2e66
fix repeated text unmarshal bug
2018-04-18 21:51:16 -07:00
Alex Flint
74dd5a2c5a
separate scalar.CanParse from isBoolean
2018-04-18 21:33:46 -07:00
Alex Flint
6f2f3b4bf6
drop setScalar
2018-04-18 21:23:08 -07:00
Alex Flint
a0df5f3391
handle negative values
2018-01-13 14:20:00 -08:00
Rick
d7961941f0
Altered help tag parsing to reduce the constraints on help text content; old behaviour is retained for backward compatibility
2017-10-02 14:18:41 +01:00
Rick
fb97335a13
Allow spaces after each comma in tags
2017-09-16 12:05:53 +01:00
Mario Hros
58e62faa3d
required positional args
2017-03-30 20:32:39 +02:00
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
38c51f4cab
put comment back
2017-02-15 18:24:32 -08:00
Alex Flint
6859799559
use go-scalar, vendoring
2017-02-15 18:19:41 -08:00
Alex Flint
ec576f9765
fix case where os.Args is empty
2017-02-09 15:12:33 -08:00