#![doc = document_features::document_features!()]
#![deny(missing_docs, rustdoc::broken_intra_doc_links)]
#![expect(
clippy::missing_errors_doc,
reason = "each fallible function returns one typed error whose variants carry the docs"
)]
#[cfg(feature = "app")]
pub mod app;
pub mod color;
#[cfg(feature = "document")]
pub mod document;
pub mod format;
pub mod model;
#[cfg(feature = "baseline")]
pub mod baseline;
#[cfg(feature = "fixture")]
pub mod fixture;
#[cfg(feature = "cli")]
pub mod flags;
#[cfg(feature = "help")]
pub mod help;
#[cfg(feature = "input")]
pub mod input;
#[cfg(feature = "render")]
mod layout;
#[cfg(feature = "cli")]
pub mod parser;
pub mod prelude;
#[cfg(feature = "render")]
pub mod render;
#[cfg(feature = "served")]
pub mod served;
#[cfg(feature = "render")]
mod style;
#[cfg(feature = "surface-model")]
pub mod surface;
#[cfg(feature = "render")]
pub mod table;
#[cfg(feature = "usage")]
pub mod usage;
#[cfg(feature = "validate")]
pub mod validate;
#[cfg(feature = "view")]
pub mod view;
#[cfg(feature = "app")]
pub use app::App;
pub use color::ColorMode;
#[cfg(feature = "document")]
pub use document::{
Block, Document, Fields, Notice, NoticeLevel, Role, Rule, Section, Span, Table, Text,
};
#[cfg(feature = "cli")]
pub use flags::{
ColorLong, DryRunArgs, FlagWarning, FormatArgs, FormatLong, OutputArgs, WarningKind,
chassis_warnings, emit_warnings, resolve_color, switch, warn_opposites,
};
pub use format::OutputFormat;
pub use indoc::{concatdoc, eprintdoc, formatdoc, indoc, printdoc, writedoc};
pub use model::{Envelope, ErrorBody, SCHEMA_VERSION};
#[cfg(feature = "render")]
pub use render::{
DEFAULT_COLUMN_BUFFER, DEFAULT_COLUMN_BUFFER_ENV, DEFAULT_COLUMN_BUFFER_ENVS,
DEFAULT_FALLBACK_WIDTH, DEFAULT_LIST_STYLE_ENV, DEFAULT_LIST_STYLE_ENVS,
DEFAULT_MINIMUM_AUTOMATIC_WIDTH, DEFAULT_RECORD_STYLE_ENV, DEFAULT_RECORD_STYLE_ENVS,
DEFAULT_ROW_SEPARATION_ENV, DEFAULT_ROW_SEPARATION_ENVS, ListStyle, RecordStyle, RenderOptions,
Renderer, RowSeparation,
};
#[cfg(feature = "surface-model")]
pub use surface::{Surface, SurfaceArgument, SurfaceCommand, SurfaceRequirement, SurfaceScope};
#[cfg(feature = "render")]
pub use table::{grid, kv};
#[cfg(feature = "usage")]
pub use usage::{mount_line, spec, spec_bin, take};
#[cfg(feature = "view")]
pub use view::{
Captured, DEFAULT_JSON_LAYOUT_ENV, DEFAULT_JSON_LAYOUT_ENVS, JsonLayout, MessageKind, Present,
Stream, View,
};