• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //! ## Documentation: Feature Flags
2 //!
3 //! Available [compile-time feature flags](https://doc.rust-lang.org/cargo/reference/features.html#dependency-features)
4 //!
5 //! #### Default Features
6 //!
7 //! * **std**: _Not Currently Used._ Placeholder for supporting `no_std` environments in a backwards compatible manner.
8 //! * **color**: Turns on colored error messages.
9 //! * **help**: Auto-generate help output
10 //! * **usage**: Auto-generate usage
11 //! * **error-context**: Include contextual information for errors (which arg failed, etc)
12 //! * **suggestions**: Turns on the `Did you mean '--myoption'?` feature for when users make typos.
13 //!
14 //! #### Optional features
15 //!
16 //! * **deprecated**: Guided experience to prepare for next breaking release (at different stages of development, this may become default)
17 //! * **derive**: Enables the custom derive (i.e. `#[derive(Parser)]`). Without this you must use one of the other methods of creating a `clap` CLI listed above.
18 //! * **cargo**: Turns on macros that read values from [`CARGO_*` environment variables](https://doc.rust-lang.org/cargo/reference/environment-variables.html#environment-variables-cargo-sets-for-crates).
19 //! * **env**: Turns on the usage of environment variables during parsing.
20 //! * **unicode**: Turns on support for unicode characters (including emoji) in arguments and help messages.
21 //! * **wrap_help**: Turns on the help text wrapping feature, based on the terminal size.
22 //! * **string**: Allow runtime generated strings (e.g. with [`Str`][crate::builder::Str]).
23 //!
24 //! #### Experimental features
25 //!
26 //! **Warning:** These may contain breaking changes between minor releases.
27 //!
28 //! * **unstable-replace**: Enable [`Command::replace`](https://github.com/clap-rs/clap/issues/2836)
29 //! * **unstable-v5**: Preview features which will be stable on the v5.0 release
30