Commit Graph

77 Commits

Author SHA1 Message Date
Alex Flint d10a064207
Merge pull request #262 from hhromic/fix-261
Fix help text for positional args with default and env var
2024-09-05 17:20:09 -04:00
Hugo Hromic bf156d17a3
Fix help text for positional args with default and env var 2024-07-22 19:25:51 +01:00
Hugo Hromic 3673177bf9
Move writing program version from usage to help writer
* Writing the version on usage text is unexpected and confusing
2024-07-06 11:52:47 +01:00
Alex Flint 0cc152dce5
Merge pull request #224 from hhromic/better-version-v2
Fix usage writing when using custom version flag
2024-06-30 12:27:39 -04:00
Hugo Hromic bed89eb683
Implement scanning of version flag in specs for usage generation 2024-06-29 23:42:22 +01:00
Hugo Hromic 4ed4ce751f
Better scanning of version flag in specs for help generation 2024-06-29 23:42:22 +01:00
Hugo Hromic a7c40c36a3
Use standard exit status code for usage errors
* The stdlib `flags` package and most command line utilities use status code `2`.
2024-06-29 15:44:50 +01:00
Alex Flint dfca71d159
Merge pull request #243 from alexflint/handle-empty-placeholder
Handle explicit empty placeholders
2024-04-02 12:16:06 -04:00
Alex Flint 8e35a4f0d4 handle explicit empty placeholders 2024-03-31 10:30:12 -04:00
Alex Flint 0142b0b842 add subcommand aliases 2023-10-08 20:09:05 -04:00
Hugo Hromic c73f38cd54
Improve handling of version flag
* Only use/show builtin `--version` flag if args are versioned with a non-empty `Version()`
* If args define a `--version` flag, honor it and disable/hide the builtin version flag
* Only return `ErrVersion` when using the builtin version flag
2023-07-14 20:12:52 +01:00
Ilja Neumann 18623d869b help,usage and error messages and tests 2023-06-03 12:47:47 +02:00
Ilja Neumann ccf62e0ffc don't print env-vars in usage line 2023-06-03 03:33:10 +02:00
Pablo Diaz 5f10667949 fixed tests 2023-06-03 02:39:56 +02:00
Pablo Diaz c3cac76438 added tests and fixed usage 2023-06-03 02:39:56 +02:00
Alex Flint df28e7154b clean up customizable stdout, stderr, and exit in parser config 2023-02-08 09:49:03 -05:00
duxinlong efae1938fd feat: support more env than terminal
Change-Id: I7f35e90b8f19f4ea781832885d35e2f1e275207a
2023-02-08 12:01:48 +00:00
Alex Flint 3d95a706a6 Merge remote-tracking branch 'origin/master' into default-value-issue 2022-10-29 15:19:23 -04:00
Alex Flint 522dbbcea8 add test for the new default value parsing logic as it shows up in help messages 2022-10-29 15:08:48 -04:00
Sebastiaan Pasterkamp c8b9567d1b Feat: Add epilog after help text
Similar to the Description at the top of the
help text an Epilog is added at the bottom.

Resolves #189
2022-09-17 12:55:00 +02:00
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