clap/examples
Ed Page 647896d929 feat(derive): Expose control over Actions
This is the derive support for #3774 (see also #3775, #3777)

This combined with `value_parser` replaces `parser`.  The main
frustration with this is that `ArgAction::Count` (the replacement for
`parse(from_occurrences)` must be a `u64`.  We could come up with a
magic attribute that is meant to be the value parser's parsed type.  We
could then use `TryFrom` to convert the parsed type to the user's type
to allow more.  That is an exercise for the future.  Alternatively, we
have #3792.

Prep for this included
- #3782
- #3783
- #3786
- #3789
- #3793
2022-06-06 11:35:07 -05:00
..
derive_ref feat(derive): Expose control over Actions 2022-06-06 11:35:07 -05:00
tutorial_builder fix(parser): Simplify the common getter API 2022-05-25 10:50:42 -05:00
tutorial_derive feat(derive): Expose control over Actions 2022-06-06 11:35:07 -05:00
cargo-example-derive.md docs: Fix messed up highlighting 2022-01-05 11:53:06 -06:00
cargo-example-derive.rs doc(derive): Update for value_parser 2022-05-20 20:02:23 -05:00
cargo-example.md fix(parser): Simplify the common getter API 2022-05-25 10:50:42 -05:00
cargo-example.rs docs(example): Update for value_parser 2022-05-24 14:53:08 -05:00
demo.md docs: Fix messed up highlighting 2022-01-05 11:53:06 -06:00
demo.rs doc(derive): Update for value_parser 2022-05-20 20:02:23 -05:00
escaped-positional-derive.md docs: Fix messed up highlighting 2022-01-05 11:53:06 -06:00
escaped-positional-derive.rs feat(derive): Expose control over Actions 2022-06-06 11:35:07 -05:00
escaped-positional.md docs: Fix messed up highlighting 2022-01-05 11:53:06 -06:00
escaped-positional.rs fix(parser): Simplify the common getter API 2022-05-25 10:50:42 -05:00
git-derive.md docs: Fix examples 2022-03-23 12:31:13 -05:00
git-derive.rs doc(derive): Update for value_parser 2022-05-20 20:02:23 -05:00
git.md docs(examples): Fix help output 2022-03-25 07:20:46 -05:00
git.rs fix(parser): Simplify the common getter API 2022-05-25 10:50:42 -05:00
multicall-busybox.md docs: Update App references to Command 2022-02-14 15:33:49 -06:00
multicall-busybox.rs docs(example): Update for value_parser 2022-05-24 14:53:08 -05:00
multicall-hostname.md docs: Update App references to Command 2022-02-14 15:33:49 -06:00
multicall-hostname.rs feat(multicall): Stablize multicall 2022-05-20 12:20:40 -05:00
pacman.md fix(help): Use standard alternate syntax for subcommands 2022-02-14 21:18:33 -06:00
pacman.rs fix(parser): Simplify the common getter API 2022-05-25 10:50:42 -05:00
README.md fix cargo.toml link 2022-05-27 07:43:09 -04:00
repl.rs feat(multicall): Stablize multicall 2022-05-20 12:20:40 -05:00
typed-derive.md docs(examples): Show IP Address 2022-03-14 09:53:31 -05:00
typed-derive.rs doc(derive): Update for value_parser 2022-05-20 20:02:23 -05:00

Examples

  • Basic demo: derive
  • Typed arguments: derive
    • Topics:
      • Custom parse()
  • Custom cargo command: builder, derive
    • Topics:
      • Subcommands
      • Cargo plugins
  • git-like interface: builder, derive
    • Topics:
      • Subcommands
      • External subcommands
      • Optional subcommands
      • Default subcommands
  • pacman-like interface: builder
    • Topics:
      • Flag subcommands
      • Conflicting arguments
  • Escaped positionals with --: builder, derive
  • Multi-call
    • busybox: builder
      • Topics:
        • Subcommands
    • hostname: builder
      • Topics:
        • Subcommands
  • repl: builder
    • Topics:
      • Read-Eval-Print Loops / Custom command lines

Contributing

New examples:

  • Building: They must be added to Cargo.toml with the appropriate required-features.
  • Testing: Ensure there is a markdown file with trycmd syntax
  • Link the .md file from here

See also the general CONTRIBUTING.