1#![doc = document_features::document_features!()]
9#![deny(missing_docs, rustdoc::broken_intra_doc_links)]
15#![allow(clippy::missing_errors_doc)]
16
17#[cfg(feature = "app")]
19pub mod app;
20pub mod color;
22#[cfg(feature = "document")]
24pub mod document;
25pub mod format;
27pub mod model;
29
30#[cfg(feature = "cli")]
32pub mod flags;
33#[cfg(feature = "help")]
35pub mod help;
36#[cfg(feature = "input")]
38pub mod input;
39#[cfg(feature = "render")]
40mod layout;
41#[cfg(feature = "cli")]
43pub mod parser;
44pub mod prelude;
46#[cfg(feature = "render")]
48pub mod render;
49#[cfg(feature = "render")]
50mod style;
51#[cfg(feature = "surface-model")]
53pub mod surface;
54#[cfg(feature = "render")]
56pub mod table;
57#[cfg(feature = "usage")]
59pub mod usage;
60#[cfg(feature = "validate")]
62pub mod validate;
63#[cfg(feature = "view")]
65pub mod view;
66
67#[cfg(feature = "app")]
68pub use app::App;
69pub use color::ColorMode;
70#[cfg(feature = "document")]
71pub use document::{
72 Block, Document, Fields, Notice, NoticeLevel, Role, Rule, Section, Span, Table, Text,
73};
74#[cfg(feature = "cli")]
75pub use flags::{
76 ColorLong, DryRunArgs, FlagWarning, FormatArgs, FormatLong, OutputArgs, WarningKind,
77 chassis_warnings, emit_warnings, resolve_color, switch, warn_opposites,
78};
79pub use format::OutputFormat;
80pub use indoc::{concatdoc, eprintdoc, formatdoc, indoc, printdoc, writedoc};
81pub use model::{Envelope, ErrorBody, SCHEMA_VERSION};
82#[cfg(feature = "render")]
83pub use render::{
84 DEFAULT_COLUMN_BUFFER, DEFAULT_COLUMN_BUFFER_ENV, DEFAULT_COLUMN_BUFFER_ENVS,
85 DEFAULT_FALLBACK_WIDTH, DEFAULT_LIST_STYLE_ENV, DEFAULT_LIST_STYLE_ENVS,
86 DEFAULT_MINIMUM_AUTOMATIC_WIDTH, DEFAULT_RECORD_STYLE_ENV, DEFAULT_RECORD_STYLE_ENVS,
87 DEFAULT_ROW_SEPARATION_ENV, DEFAULT_ROW_SEPARATION_ENVS, ListStyle, RecordStyle, RenderOptions,
88 Renderer, RowSeparation,
89};
90#[cfg(feature = "surface-model")]
91pub use surface::{Surface, SurfaceArgument, SurfaceCommand, SurfaceRequirement, SurfaceScope};
92#[cfg(feature = "render")]
93pub use table::{grid, kv};
94#[cfg(feature = "usage")]
95pub use usage::{mount_line, spec, spec_bin, take};
96#[cfg(feature = "view")]
97pub use view::{
98 Captured, DEFAULT_JSON_LAYOUT_ENV, DEFAULT_JSON_LAYOUT_ENVS, JsonLayout, MessageKind, Present,
99 Stream, View,
100};