Alex Flint
5fb236a65d
fix bracketing for non-required positionals
2022-02-09 06:31:34 -08:00
Alex Flint
7cc8da61cf
simplify the error string logic
2021-05-09 14:01:08 -07:00
Alex Flint
c9b504edc1
add FailSubcommand, WriteUsageForSubcommand, WriteHelpForSubcommand
2021-05-09 13:55:34 -07:00
Alex Flint
fe4a138ac8
test coverage 100% !!
2021-04-19 21:03:43 -07:00
Alex Flint
9949860eb3
change "kind" to "cardinality", add support for maps to parser
2021-04-19 13:21:04 -07:00
Alex Flint
f4eb7f3a58
Merge pull request #137 from alexflint/optional-long
...
Optional long names
2021-04-16 21:03:14 -07:00
LeoZhan
4f2ab5c009
refactor: remove unused function
2021-04-08 00:20:56 +08:00
Alex Flint
788c166025
test that short-only options are printed first in the help message
2021-01-31 19:15:49 -08:00
Andrew Morozko
438a91dba1
Skip right column if the left is empty
2020-12-20 03:51:33 +03:00
Andrew Morozko
faebd3e0f2
Optional long arguments
2020-12-20 02:54:03 +03:00
Denys Vitali
d4bb56e096
feat(usage): Include env variable in usage
2020-06-03 10:05:20 +02:00
Dylan Allbee
c24567c12e
Fix lint warnings
2020-01-25 11:53:34 -08:00
Dylan Allbee
5df19ebe00
Use command passed into p.Parse(...) write methods
...
It is currently impossible to programatically write help and usage
messages for subcommands, due to parser.WriteHelp and parser.WriteUsage
not taking the state of the parser into account.
Check for the existence of p.lastCmd and use it for the writers when
available.
Enables ability to write unit tests for subcommand help.
2020-01-25 11:53:34 -08:00
Dylan Allbee
338e831a84
Print global options in help for subcommands
...
fixes #101
2020-01-25 11:53:34 -08:00
Marco Molteni
9f5522668a
address review comments
2020-01-23 16:35:45 +01:00
Marco Molteni
cfd894f446
usage: if the program supports subcommands, mention it
2020-01-19 19:40:53 +01: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
cc768447a7
store default values during NewParser
2019-10-19 23:23:32 -07:00
Alex Flint
990e87d80d
no need to initialize nil structs during path traversal
2019-05-03 16:32:16 -07:00
Alex Flint
3c5e61a292
simplify Fprint call
2019-05-03 15:50:41 -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
af12b7cfc2
introduced path struct
2019-04-30 13:30:23 -07:00
Alex Flint
ddec9e9e4f
rename get/settable to readable/writable
2019-04-30 11:40:11 -07:00
Alex Flint
f282f71f26
minor reformat
2019-04-30 11:16:01 -07:00
Alex Flint
e2dda40825
all tests passing again
2019-04-14 19:50:17 -07:00
Alex Flint
b8678d4045
refactor validation
2019-04-14 18:00:40 -07:00
Wlazlo, Matt
d4cc703210
Custom parsers implementing encoding.TextMarshaler() can have default values printed via --help
2018-04-13 14:46:24 +10:00
Mario Hros
58e62faa3d
required positional args
2017-03-30 20:32:39 +02:00
Mario Hros
9173d259ef
nicer usage output
2017-03-08 20:44:01 +01:00
Emmanouil "Manolis" Maragkakis
9030aa1348
print description in help message, not in usage
2017-02-08 11:41:07 -05:00
Emmanouil "Manolis" Maragkakis
db27431153
add support for description string
2017-01-23 20:41:12 -05:00
Alex Flint
c453aa1a28
add support for version string
2016-09-08 21:18:19 -07:00
Fredrik Wallgren
e71d6514f4
Print defaults for multiples
...
Check if the default value supplied is a slice and not nil, if so
print the list of values supplied.
Test case for slice argument with and without default values.
Default values for slices was not printed because slice is not
comparable, but the zero value for slices is nil.
2016-03-06 21:07:01 +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
e389d7f782
add support for IP address, email address, and MAC address
2016-01-23 20:49:57 -08:00
Alex Flint
b1ec8c9093
make it possible to override the name of the program
2016-01-18 10:31:01 -08:00
Alex Flint
4197d283e4
extract common colWidth constant
2016-01-18 08:24:21 -08:00
Alex Flint
77be03b907
resolve merge
2016-01-18 08:19:10 -08:00
Alex Rakoczy
e4e9e19427
Fix error when printing usage for multi-value arguments
...
We try to compare []strings, which are uncomparable types:
`panic: runtime error: comparing uncomparable type []string`
2015-12-04 09:59:13 -05:00
Fredrik Wallgren
670c7b787d
Fix merge conflicts
2015-11-22 01:06:44 +01:00
brettlangdon
d45bd4523c
Display help text for positional arguments
2015-11-21 18:59:40 -05:00
Fredrik Wallgren
b0d37d1fb2
Add default values to usage
...
Check if the value isn't it's zero value and if not add a default value
to the usage text.
2015-11-22 00:53:29 +01:00
Fredrik Wallgren
330a0da571
Add built ins to options in help output
...
Adds help to the options in help output with an easy way to add more
built ins.
2015-11-16 13:23:58 +01:00
Alex Flint
c4704194de
Merge pull request #14 from walle/usage_on_stderr_bug
...
Fix bug with error not being written to stderr
2015-11-11 09:34:05 -08:00
Fredrik Wallgren
d6a447ed7c
Fix lint warning
2015-11-11 14:08:28 +01:00
Fredrik Wallgren
df17f4df45
Fix bug with error not being written to stderr
...
Only the usage message was written to stderr, the error was written with
the standard fmt.Println.
2015-11-11 10:29:01 +01:00
Alex Flint
a49bba8533
Merge pull request #10 from walle/fail_to_stderr
...
Write usage message to stderr on error
2015-11-09 10:04:37 -08:00
Fredrik Wallgren
935b2a1bd5
Write usage message to stderr on error
...
When the parsing of parameters/flags fails eg. when a required flag is
missing, print the usage statement and error to stderr instead of
stdout.
2015-11-09 10:27:15 +01:00