1#![doc = document_features::document_features!()]
9#![deny(missing_docs, rustdoc::broken_intra_doc_links)]
15#![expect(
16 clippy::missing_errors_doc,
17 reason = "each fallible function returns one typed error whose variants carry the docs"
18)]
19
20#[cfg(feature = "app")]
22pub mod app;
23pub mod color;
25#[cfg(feature = "document")]
27pub mod document;
28pub mod format;
30pub mod model;
32
33#[cfg(feature = "baseline")]
36pub mod baseline;
37#[cfg(feature = "fixture")]
39pub mod fixture;
40#[cfg(feature = "cli")]
42pub mod flags;
43#[cfg(feature = "help")]
45pub mod help;
46#[cfg(feature = "input")]
48pub mod input;
49#[cfg(feature = "render")]
50mod layout;
51#[cfg(feature = "cli")]
53pub mod parser;
54pub mod prelude;
56#[cfg(feature = "render")]
58pub mod render;
59#[cfg(feature = "served")]
62pub mod served;
63#[cfg(feature = "render")]
64mod style;
65#[cfg(feature = "surface-model")]
67pub mod surface;
68#[cfg(feature = "render")]
70pub mod table;
71#[cfg(feature = "usage")]
73pub mod usage;
74#[cfg(feature = "validate")]
76pub mod validate;
77#[cfg(feature = "view")]
79pub mod view;
80
81#[cfg(feature = "app")]
82pub use app::App;
83pub use color::ColorMode;
84#[cfg(feature = "document")]
85pub use document::{
86 Block, Document, Fields, Notice, NoticeLevel, Role, Rule, Section, Span, Table, Text,
87};
88#[cfg(feature = "cli")]
89pub use flags::{
90 ColorLong, DryRunArgs, FlagWarning, FormatArgs, FormatLong, OutputArgs, WarningKind,
91 chassis_warnings, emit_warnings, resolve_color, switch, warn_opposites,
92};
93pub use format::OutputFormat;
94pub use indoc::{concatdoc, eprintdoc, formatdoc, indoc, printdoc, writedoc};
95pub use model::{Envelope, ErrorBody, SCHEMA_VERSION};
96#[cfg(feature = "render")]
97pub use render::{
98 DEFAULT_COLUMN_BUFFER, DEFAULT_COLUMN_BUFFER_ENV, DEFAULT_COLUMN_BUFFER_ENVS,
99 DEFAULT_FALLBACK_WIDTH, DEFAULT_LIST_STYLE_ENV, DEFAULT_LIST_STYLE_ENVS,
100 DEFAULT_MINIMUM_AUTOMATIC_WIDTH, DEFAULT_RECORD_STYLE_ENV, DEFAULT_RECORD_STYLE_ENVS,
101 DEFAULT_ROW_SEPARATION_ENV, DEFAULT_ROW_SEPARATION_ENVS, ListStyle, RecordStyle, RenderOptions,
102 Renderer, RowSeparation,
103};
104#[cfg(feature = "surface-model")]
105pub use surface::{Surface, SurfaceArgument, SurfaceCommand, SurfaceRequirement, SurfaceScope};
106#[cfg(feature = "render")]
107pub use table::{grid, kv};
108#[cfg(feature = "usage")]
109pub use usage::{mount_line, spec, spec_bin, take};
110#[cfg(feature = "view")]
111pub use view::{
112 Captured, DEFAULT_JSON_LAYOUT_ENV, DEFAULT_JSON_LAYOUT_ENVS, JsonLayout, MessageKind, Present,
113 Stream, View,
114};