Jan Verbeek
a18658af86
perf: Replace BTreeMaps by manually sorted Vecs
...
This removes another ~20KB of code size.
There is one BTreeMap left, but replacing that one doesn't make a difference.
2022-01-29 22:18:32 +01:00
Jan Verbeek
7bf2479125
perf: Do not inline formatting methods
...
This shaves off ~20KB from the argparse-benchmarks-rs app.
2022-01-29 22:18:30 +01:00
Ed Page
f443eacdab
Merge pull request #3366 from epage/man
...
fix(man)!: Clean up Meta API
2022-01-28 17:53:36 -06:00
Ed Page
b16cfeecdc
fix(man): Expose title generation
2022-01-28 16:22:53 -06:00
Ed Page
2fdb9a3d54
fix(man)!: Clean up Meta
API
...
`Meta` wasn't really serving a distinct purpose in the API, so rolled it
into `Man` now that it lazily renders.
2022-01-28 16:21:14 -06:00
Ed Page
1e2bafe78c
Merge pull request #3364 from epage/man
...
feat(man)!: Allow customizing man page
2022-01-28 16:13:02 -06:00
Ed Page
5d0ef1f420
feat(man): Allow customizing man page
...
This is part of #3354
2022-01-28 15:59:09 -06:00
Ed Page
6453df1dc1
refactor(man)!: Open door for customizing rendering
...
BREAKING CHANGE: Functions now take ownership
2022-01-28 15:42:46 -06:00
Ed Page
924262b329
Merge pull request #3356 from epage/man
...
docs: Add man changelog
2022-01-28 15:34:05 -06:00
Ed Page
f3f63a4f19
docs: Add man changelog
2022-01-28 15:15:14 -06:00
Sondre Nilsen
0b045f5d0d
feat(man): Initial man generator ( #3174 )
...
This is an initial implementation with plenty of room to grow, including
- Allowing pulling out a subset of the generated man page for greater customization
- Subcommand handling
- Extra sections
- Consolidate argument formatter after #2914
Fixes #552
2022-01-28 14:55:55 -06:00
Ed Page
d2109b3969
chore: Release
2022-01-26 15:54:12 -06:00
Ed Page
7f1860e7e2
chore: Update release process
2022-01-26 15:54:06 -06:00
Ed Page
f5ae5714bc
docs: Update changelog
2022-01-26 15:53:25 -06:00
Ed Page
993d55fcf3
Merge pull request #3347 from jpgrayson/master
...
fix(help): Optional arg values in brackets
2022-01-26 15:52:13 -06:00
Peter Grayson
7eea7d27ad
fix(help): Optional arg values in brackets
...
When an Arg uses .min_values(0), that arg's value(s) are effectively
optional. This is conventionaly denoted in help messages by wrapping the
arg's values in square brackets. For example:
--foo[=value]
--bar [value]
This kind of argument can be seen in the wild in many git commands; e.g.
git-status(1).
Signed-off-by: Peter Grayson <pete@jpgrayson.net>
2022-01-26 12:03:23 -05:00
mikehoyle
50b3d2966e
Correct README syntax for bool flag ( #3346 )
...
The proper syntax for the attribute is "parse" not "parser".
2022-01-26 08:41:09 -06:00
Samuel El-Borai
5ccffb073b
docs: Fix builder link from docs.rs #3345
...
3468325b8d
and afd0342a
added extra context to the README's example. However, when browsing it at docs.rs, the builder link just links back to the page you are own, offering little value.
Instead we'll now link to the tutorial which works as a next step from the example and resolves the "what do we link for the builder api" question.
2022-01-25 13:30:13 -06:00
Ed Page
b88faadcb9
Merge pull request #3343 from epage/sub
...
docs(tutorial): Talk about required/optional subcommands
2022-01-25 09:56:53 -06:00
Ed Page
f32d640d49
docs(tutorial): Talk about required/optional subcommands
...
Inspired by https://github.com/clap-rs/clap/discussions/3342
Looks like we already cover this in the derive reference.
2022-01-25 09:39:14 -06:00
Ed Page
ea7699c11f
chore: Release
2022-01-24 15:34:27 -06:00
Ed Page
d09188a7ce
docs: Update changelog
2022-01-24 15:33:12 -06:00
omjadas
86c83d296f
feat: Add default_value_os_t ( #3333 )
...
The order of suffixes allows us to preserve the original builder function name.
This is a part of #2813
2022-01-24 15:32:21 -06:00
Ed Page
e5b06c3061
chore: Release
2022-01-24 10:54:50 -06:00
Ed Page
ac43b7baee
docs: Update changelog
2022-01-24 10:54:04 -06:00
Ed Page
af5502461c
Merge pull request #3334 from epage/source
...
fix(parser): Track the most explicit value source
2022-01-24 10:51:25 -06:00
Ed Page
c6664afe9d
fix(parser): Track the most explicit value source
...
We were only tracking the last value source (default, env, cli, etc).
This works for args because they only come from one source. Groups
however can come from multiple sources and this was making us treat a
group with a default value as being completely from defaults despite
some values maybe being from the commandline.
We now track the highest precedence value for a group.
Fixes #3330
2022-01-24 10:34:41 -06:00
Ed Page
afd0342a9b
docs(readme): discuss API trade offs
...
Fixes #3329
2022-01-24 08:29:02 -06:00
Ed Page
43673a1bd1
docs(error): Update reported failure code
...
Fixes #3332
2022-01-24 08:11:18 -06:00
Ed Page
a7f33efd80
docs(faq): Note clap-serde
2022-01-21 09:49:01 -06:00
Ed Page
0dd169be52
Merge pull request #3328 from epage/panic
...
Clarify some panics
2022-01-21 08:51:16 -06:00
Ed Page
afb2a3dd05
docs(complete): Clarify some panic conditions
2022-01-21 08:29:38 -06:00
Ed Page
b488aab46c
fix: Clarify some unwraps as expects
...
This was inspiredby #3322
2022-01-21 08:27:18 -06:00
Ed Page
ddad3a7923
docs(derive): Clarify from_flag's interactions
2022-01-20 09:55:13 -06:00
Ed Page
1d6d293ccd
Merge pull request #3314 from epage/docs
...
docs: More cross-linking to make derive docs discoverable
2022-01-18 19:53:07 -06:00
Ed Page
4c2d65e290
docs(derive): Have crate link out to specific docs
2022-01-18 19:41:29 -06:00
Ed Page
3468325b8d
docs: Describe the example we show
...
This also provides us another opportunity to link to the docs.
2022-01-18 19:38:53 -06:00
Ed Page
5877f884f1
chore: Release
2022-01-18 14:59:58 -06:00
Ed Page
8cfa3567ef
docs: Update changelog
2022-01-18 14:59:48 -06:00
Ed Page
c6b5f640a4
Merge pull request #3311 from epage/fix
...
fix: Don't panic when propagating
2022-01-18 14:58:34 -06:00
Ed Page
38e6952d46
fix: Don't panic when propagating
...
I thought I was adding a test in #3305 . Maybe I considered the
clap_complete changes sufficient for this. Doing more `debug_assert`s
would be good also.
Unsetting `PropagateVersion` helps in some cases but we need to unset it
globally to override the global propagation.
Fixes #3310
2022-01-18 14:38:58 -06:00
Ed Page
4b60440d91
docs: Note case in #3309
2022-01-18 10:30:51 -06:00
Ed Page
bd1bf66279
chore: Release
2022-01-17 20:34:09 -06:00
Ed Page
4e51f9b0ef
docs: Update changelog
2022-01-17 20:33:52 -06:00
Ed Page
784d249a4e
Merge pull request #3306 from sunshowers/sub
...
implement App::find_subcommand_mut
2022-01-17 20:30:07 -06:00
Rain
236ec973d9
feat: Implement App::find_subcommand_mut
...
Similar to `App::find_subcommand`, except it returns a mutable reference
to the subcommand.
2022-01-17 12:31:41 -08:00
Ed Page
ccbbba8908
chore: Release
2022-01-17 09:37:45 -06:00
Ed Page
6817a9cab2
docs: Update changelog
2022-01-17 09:37:22 -06:00
Ed Page
ffe6bff8ac
Merge pull request #3305 from epage/help
...
fix(help): Always respect DisableColoredHelp
2022-01-17 09:35:18 -06:00
Ed Page
4a43b51a42
fix(complete): Handle help completions
...
The main motivation was to reduce special cases by putting all of the
logic in one place.
2022-01-17 09:23:04 -06:00