mirror of
https://github.com/clap-rs/clap
synced 2024-12-13 22:32:33 +00:00
087224a486
`OnceLock` became available as of 1.70 which is older than our new MSRV. We can easily get away without `Lazy` variants.
66 lines
2.1 KiB
Rust
66 lines
2.1 KiB
Rust
// Copyright ⓒ 2015-2016 Kevin B. Knapp and [`clap-rs` contributors](https://github.com/clap-rs/clap/graphs/contributors).
|
|
// Licensed under the MIT license
|
|
// (see LICENSE or <http://opensource.org/licenses/MIT>) All files in the project carrying such
|
|
// notice may not be copied, modified, or distributed except according to those terms.
|
|
|
|
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
|
|
#![doc = include_str!("../README.md")]
|
|
#![doc(html_logo_url = "https://raw.githubusercontent.com/clap-rs/clap/master/assets/clap.png")]
|
|
#![warn(
|
|
missing_docs,
|
|
missing_debug_implementations,
|
|
missing_copy_implementations,
|
|
trivial_casts,
|
|
unused_allocation,
|
|
trivial_numeric_casts,
|
|
clippy::single_char_pattern
|
|
)]
|
|
#![forbid(unsafe_code)]
|
|
// Wanting consistency in our calls
|
|
#![allow(clippy::write_with_newline)]
|
|
// Gets in the way of logging
|
|
#![allow(clippy::let_and_return)]
|
|
// HACK https://github.com/rust-lang/rust-clippy/issues/7290
|
|
#![allow(clippy::single_component_path_imports)]
|
|
#![allow(clippy::branches_sharing_code)]
|
|
// Doesn't allow for debug statements, etc to be unique
|
|
#![allow(clippy::if_same_then_else)]
|
|
// Breaks up parallelism that clarifies intent
|
|
#![allow(clippy::collapsible_else_if)]
|
|
|
|
#[cfg(not(feature = "std"))]
|
|
compile_error!("`std` feature is currently required to build `clap`");
|
|
|
|
pub use crate::builder::ArgAction;
|
|
pub use crate::builder::Command;
|
|
pub use crate::builder::ValueHint;
|
|
pub use crate::builder::{Arg, ArgGroup};
|
|
pub use crate::parser::ArgMatches;
|
|
pub use crate::util::color::ColorChoice;
|
|
pub use crate::util::Id;
|
|
|
|
/// Command Line Argument Parser Error
|
|
///
|
|
/// See [`Command::error`] to create an error.
|
|
///
|
|
/// [`Command::error`]: crate::Command::error
|
|
pub type Error = crate::error::Error<crate::error::DefaultFormatter>;
|
|
|
|
pub use crate::derive::{Args, CommandFactory, FromArgMatches, Parser, Subcommand, ValueEnum};
|
|
|
|
#[macro_use]
|
|
#[allow(missing_docs)]
|
|
mod macros;
|
|
|
|
mod derive;
|
|
|
|
pub mod builder;
|
|
pub mod error;
|
|
pub mod parser;
|
|
|
|
mod mkeymap;
|
|
mod output;
|
|
mod util;
|
|
|
|
const INTERNAL_ERROR_MSG: &str = "Fatal internal error. Please consider filing a bug \
|
|
report at https://github.com/clap-rs/clap/issues";
|