1 | // Copyright ⓒ 2015-2016 Kevin B. Knapp and [`clap-rs` contributors](https://github.com/clap-rs/clap/graphs/contributors). |
2 | // Licensed under the MIT license |
3 | // (see LICENSE or <http://opensource.org/licenses/MIT>) All files in the project carrying such |
4 | // notice may not be copied, modified, or distributed except according to those terms. |
5 | |
6 | #![cfg_attr (docsrs, feature(doc_auto_cfg))] |
7 | #![doc = include_str!("../README.md" )] |
8 | #![doc (html_logo_url = "https://raw.githubusercontent.com/clap-rs/clap/master/assets/clap.png" )] |
9 | #![warn ( |
10 | missing_docs, |
11 | missing_debug_implementations, |
12 | missing_copy_implementations, |
13 | trivial_casts, |
14 | unused_allocation, |
15 | trivial_numeric_casts, |
16 | clippy::single_char_pattern |
17 | )] |
18 | #![forbid (unsafe_code)] |
19 | // Wanting consistency in our calls |
20 | #![allow (clippy::write_with_newline)] |
21 | // Gets in the way of logging |
22 | #![allow (clippy::let_and_return)] |
23 | // HACK https://github.com/rust-lang/rust-clippy/issues/7290 |
24 | #![allow (clippy::single_component_path_imports)] |
25 | #![allow (clippy::branches_sharing_code)] |
26 | // Doesn't allow for debug statements, etc to be unique |
27 | #![allow (clippy::if_same_then_else)] |
28 | // Breaks up parallelism that clarifies intent |
29 | #![allow (clippy::collapsible_else_if)] |
30 | |
31 | #[cfg (not(feature = "std" ))] |
32 | compile_error!("`std` feature is currently required to build `clap`" ); |
33 | |
34 | pub use crate::builder::ArgAction; |
35 | pub use crate::builder::Command; |
36 | pub use crate::builder::ValueHint; |
37 | pub use crate::builder::{Arg, ArgGroup}; |
38 | pub use crate::parser::ArgMatches; |
39 | pub use crate::util::color::ColorChoice; |
40 | pub use crate::util::Id; |
41 | |
42 | /// Command Line Argument Parser Error |
43 | /// |
44 | /// See [`Command::error`] to create an error. |
45 | /// |
46 | /// [`Command::error`]: crate::Command::error |
47 | pub type Error = crate::error::Error<crate::error::DefaultFormatter>; |
48 | |
49 | pub use crate::derive::{Args, CommandFactory, FromArgMatches, Parser, Subcommand, ValueEnum}; |
50 | |
51 | #[macro_use ] |
52 | #[allow (missing_docs)] |
53 | mod macros; |
54 | |
55 | mod derive; |
56 | |
57 | pub mod builder; |
58 | pub mod error; |
59 | pub mod parser; |
60 | |
61 | mod mkeymap; |
62 | mod output; |
63 | mod util; |
64 | |
65 | const INTERNAL_ERROR_MSG: &str = "Fatal internal error. Please consider filing a bug \ |
66 | report at https://github.com/clap-rs/clap/issues" ; |
67 | |