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 = "render")]
37mod layout;
38#[cfg(feature = "cli")]
40pub mod parser;
41pub mod prelude;
43#[cfg(feature = "render")]
45pub mod render;
46#[cfg(feature = "render")]
47mod style;
48#[cfg(feature = "surface-model")]
50pub mod surface;
51#[cfg(feature = "render")]
53pub mod table;
54#[cfg(feature = "usage")]
56pub mod usage;
57#[cfg(feature = "view")]
59pub mod view;
60
61#[cfg(feature = "app")]
62pub use app::App;
63pub use color::ColorMode;
64#[cfg(feature = "document")]
65pub use document::{
66 Block, Document, Fields, Notice, NoticeLevel, Role, Rule, Section, Span, Table, Text,
67};
68#[cfg(feature = "cli")]
69pub use flags::{
70 ColorLong, DryRunArgs, FlagWarning, FormatArgs, FormatLong, OutputArgs, WarningKind,
71 chassis_warnings, emit_warnings, resolve_color, switch, warn_opposites,
72};
73pub use format::OutputFormat;
74pub use indoc::{concatdoc, eprintdoc, formatdoc, indoc, printdoc, writedoc};
75pub use model::{Envelope, ErrorBody, SCHEMA_VERSION};
76#[cfg(feature = "render")]
77pub use render::{
78 DEFAULT_COLUMN_BUFFER, DEFAULT_COLUMN_BUFFER_ENV, DEFAULT_COLUMN_BUFFER_ENVS,
79 DEFAULT_FALLBACK_WIDTH, DEFAULT_LIST_STYLE_ENV, DEFAULT_LIST_STYLE_ENVS,
80 DEFAULT_MINIMUM_AUTOMATIC_WIDTH, DEFAULT_RECORD_STYLE_ENV, DEFAULT_RECORD_STYLE_ENVS,
81 DEFAULT_ROW_SEPARATION_ENV, DEFAULT_ROW_SEPARATION_ENVS, ListStyle, RecordStyle, RenderOptions,
82 Renderer, RowSeparation,
83};
84#[cfg(feature = "surface-model")]
85pub use surface::{Surface, SurfaceArgument, SurfaceCommand, SurfaceRequirement, SurfaceScope};
86#[cfg(feature = "render")]
87pub use table::{grid, kv};
88#[cfg(feature = "usage")]
89pub use usage::{mount_line, spec, spec_bin, take};
90#[cfg(feature = "view")]
91pub use view::{
92 Captured, DEFAULT_JSON_LAYOUT_ENV, DEFAULT_JSON_LAYOUT_ENVS, JsonLayout, MessageKind, Present,
93 Stream, View,
94};