#![cfg_attr(
not(feature = "app"),
doc = "",
doc = "[`App`]: crate#cargo-features",
doc = "[`App::broken_pipe`]: crate#cargo-features"
)]
#![cfg_attr(
not(feature = "view"),
doc = "",
doc = "[`Present`]: crate#cargo-features",
doc = "[`Outcome`]: crate#cargo-features",
doc = "[`View`]: crate#cargo-features"
)]
#![cfg_attr(
not(feature = "document"),
doc = "",
doc = "[`Document`]: crate#cargo-features",
doc = "[`Fields`]: crate#cargo-features",
doc = "[`Table`]: crate#cargo-features",
doc = "[`Section`]: crate#cargo-features",
doc = "[`Notice`]: crate#cargo-features",
doc = "[`Role`]: crate#cargo-features",
doc = "[`document::Text`]: crate#cargo-features"
)]
#![cfg_attr(
not(feature = "cli"),
doc = "",
doc = "[`OutputArgs`]: crate#cargo-features",
doc = "[`DryRunArgs`]: crate#cargo-features",
doc = "[`EnvPrefix`]: crate#cargo-features",
doc = "[`FlagWarning`]: crate#cargo-features",
doc = "[`FlagClash`]: crate#cargo-features"
)]
#![cfg_attr(
not(feature = "render"),
doc = "",
doc = "[`RenderOptions`]: crate#cargo-features",
doc = "[`Theme`]: crate#cargo-features",
doc = "[`text`]: crate#cargo-features",
doc = "[`layout`]: crate#cargo-features",
doc = "[`text::Text`]: crate#cargo-features"
)]
#![cfg_attr(
not(any(feature = "view", feature = "help")),
doc = "",
doc = "[`term`]: crate#cargo-features"
)]
#![cfg_attr(
not(any(feature = "input-yaml", feature = "input-toml")),
doc = "",
doc = "[`input::Input`]: crate#cargo-features"
)]
#![doc = document_features::document_features!()]
#![cfg_attr(docsrs, feature(doc_cfg))]
#[cfg(feature = "app")]
pub mod app;
pub mod color;
#[cfg(feature = "completion")]
pub mod completion;
#[cfg(feature = "document")]
pub mod document;
pub mod format;
pub mod model;
#[cfg(feature = "fixture")]
pub mod fixture;
#[cfg(feature = "cli")]
pub mod flags;
#[cfg(feature = "help")]
pub mod help;
#[cfg(any(feature = "input-yaml", feature = "input-toml"))]
pub mod input;
#[cfg(feature = "cli")]
pub mod parser;
pub mod prelude;
#[cfg(feature = "render")]
pub mod render;
#[cfg(feature = "served")]
pub mod served;
#[cfg(feature = "shell")]
pub mod shell;
#[cfg(feature = "shell-init")]
pub mod shell_init;
#[cfg(feature = "surface-model")]
pub mod surface;
#[cfg(feature = "render")]
mod theme;
#[cfg(feature = "usage")]
pub mod usage;
#[cfg(feature = "validate")]
pub mod validate;
#[cfg(feature = "render")]
pub use ctl_layout as layout;
#[cfg(any(feature = "view", feature = "help"))]
pub use ctl_term as term;
#[cfg(feature = "render")]
pub use ctl_text as text;
#[cfg(feature = "unsafe-chars")]
pub use ctl_text::unsafe_chars;
#[cfg(feature = "view")]
pub mod view;
#[cfg(feature = "app")]
#[doc(hidden)]
pub use app::{App, BrokenPipe};
#[doc(hidden)]
pub use color::ColorMode;
#[cfg(feature = "document")]
#[doc(hidden)]
pub use document::Document;
#[cfg(feature = "document")]
#[doc(hidden)]
pub use document::{Block, Fields, Notice, NoticeLevel, Role, Rule, Section, Span, Table, Text};
#[cfg(feature = "cli")]
#[doc(hidden)]
pub use flags::EnvPrefix;
#[cfg(feature = "cli")]
#[doc(hidden)]
pub use flags::{
ColorLong, DryRunArgs, FlagClash, FlagWarning, FormatArgs, FormatLong, OutputArgs,
chassis_warnings, emit_warnings, resolve_color, switch, warn_opposites,
};
#[doc(hidden)]
pub use format::OutputFormat;
#[doc(hidden)]
pub use indoc::{concatdoc, eprintdoc, formatdoc, indoc, printdoc, writedoc};
#[doc(hidden)]
pub use model::{Envelope, ErrorBody, SCHEMA_VERSION};
#[cfg(any(feature = "view", feature = "help"))]
#[doc(hidden)]
pub use render::{
DEFAULT_COLUMN_BUFFER, DEFAULT_COLUMN_BUFFER_ENV, DEFAULT_COLUMN_BUFFER_ENVS,
DEFAULT_MINIMUM_AUTOMATIC_WIDTH,
};
#[cfg(feature = "render")]
#[doc(hidden)]
pub use render::{
DEFAULT_FALLBACK_WIDTH, DEFAULT_LIST_STYLE_ENV, DEFAULT_LIST_STYLE_ENVS,
DEFAULT_RECORD_STYLE_ENV, DEFAULT_RECORD_STYLE_ENVS, DEFAULT_ROW_SEPARATION_ENV,
DEFAULT_ROW_SEPARATION_ENVS, Frame, RecordStyle, RenderOptions, RowSeparation,
};
#[cfg(feature = "surface-model")]
#[doc(hidden)]
pub use surface::{Surface, SurfaceArgument, SurfaceCommand, SurfaceRequirement, SurfaceScope};
#[cfg(feature = "render")]
pub use theme::Theme;
#[cfg(feature = "usage")]
#[doc(hidden)]
pub use usage::{mount_directives, mount_line, spec, spec_bin, take};
#[cfg(feature = "view")]
#[doc(hidden)]
pub use view::Present;
#[cfg(feature = "view")]
#[doc(hidden)]
pub use view::{
Captured, DEFAULT_JSON_LAYOUT_ENV, DEFAULT_JSON_LAYOUT_ENVS, Destination, JsonLayout, Outcome,
View,
};
#[doc = include_str!("../README.md")]
#[cfg(all(doctest, feature = "app"))]
pub struct ReadmeDoctests;