| 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 | #![doc = include_str!("../README.md" )] |
| 7 | #![doc (html_logo_url = "https://raw.githubusercontent.com/clap-rs/clap/master/assets/clap.png" )] |
| 8 | #![cfg_attr (docsrs, feature(doc_auto_cfg))] |
| 9 | #![forbid (unsafe_code)] |
| 10 | #![warn (missing_docs)] |
| 11 | #![warn (clippy::print_stderr)] |
| 12 | #![warn (clippy::print_stdout)] |
| 13 | |
| 14 | #[cfg (not(feature = "std" ))] |
| 15 | compile_error!("`std` feature is currently required to build `clap`" ); |
| 16 | |
| 17 | pub use crate::builder::ArgAction; |
| 18 | pub use crate::builder::Command; |
| 19 | pub use crate::builder::ValueHint; |
| 20 | pub use crate::builder::{Arg, ArgGroup}; |
| 21 | pub use crate::parser::ArgMatches; |
| 22 | pub use crate::util::color::ColorChoice; |
| 23 | pub use crate::util::Id; |
| 24 | |
| 25 | /// Command Line Argument Parser Error |
| 26 | /// |
| 27 | /// See [`Command::error`] to create an error. |
| 28 | /// |
| 29 | /// [`Command::error`]: crate::Command::error |
| 30 | pub type Error = error::Error<error::DefaultFormatter>; |
| 31 | |
| 32 | pub use crate::derive::{Args, CommandFactory, FromArgMatches, Parser, Subcommand, ValueEnum}; |
| 33 | |
| 34 | #[macro_use ] |
| 35 | #[allow (missing_docs)] |
| 36 | mod macros; |
| 37 | |
| 38 | mod derive; |
| 39 | |
| 40 | pub mod builder; |
| 41 | pub mod error; |
| 42 | pub mod parser; |
| 43 | |
| 44 | mod mkeymap; |
| 45 | mod output; |
| 46 | mod util; |
| 47 | |
| 48 | const INTERNAL_ERROR_MSG: &str = "Fatal internal error. Please consider filing a bug \ |
| 49 | report at https://github.com/clap-rs/clap/issues" ; |
| 50 | |