Skip to main content

ctl_core/
prelude.rs

1//! Import once in a *ctl `main.rs`.
2//!
3//! ```ignore
4//! use ctl_core::prelude::*;
5//!
6//! fn main() -> ExitCode {
7//!     App::<Cli>::new("toy").run(execute)
8//! }
9//! ```
10
11pub use std::process::ExitCode;
12
13#[cfg(feature = "cli")]
14pub use clap::{Args, Parser, Subcommand};
15pub use indoc::{concatdoc, eprintdoc, formatdoc, indoc, printdoc, writedoc};
16
17#[cfg(feature = "app")]
18pub use crate::app::App;
19pub use crate::color::ColorMode;
20#[cfg(feature = "document")]
21pub use crate::document::{
22    Document, Fields, Notice, NoticeLevel, Role, Rule, Section, Table, Text,
23};
24#[cfg(feature = "cli")]
25pub use crate::flags::{
26    ColorLong, DryRunArgs, FormatArgs, FormatLong, OutputArgs, chassis_warnings, emit_warnings,
27    warn_opposites,
28};
29pub use crate::format::OutputFormat;
30pub use crate::model::{Envelope, ErrorBody, SCHEMA_VERSION};
31#[cfg(feature = "cli")]
32pub use crate::parser::verify;
33#[cfg(feature = "render")]
34pub use crate::render::{
35    DEFAULT_COLUMN_BUFFER, DEFAULT_COLUMN_BUFFER_ENV, DEFAULT_COLUMN_BUFFER_ENVS,
36    DEFAULT_FALLBACK_WIDTH, DEFAULT_LIST_STYLE_ENV, DEFAULT_LIST_STYLE_ENVS,
37    DEFAULT_MINIMUM_AUTOMATIC_WIDTH, DEFAULT_RECORD_STYLE_ENV, DEFAULT_RECORD_STYLE_ENVS,
38    DEFAULT_ROW_SEPARATION_ENV, DEFAULT_ROW_SEPARATION_ENVS, ListStyle, RecordStyle, RenderOptions,
39    Renderer, RowSeparation,
40};
41#[cfg(feature = "surface-model")]
42pub use crate::surface::Surface;
43#[cfg(feature = "render")]
44pub use crate::table::{grid, kv};
45#[cfg(feature = "usage")]
46pub use crate::usage::{mount_line, spec, spec_bin, take};
47#[cfg(feature = "view")]
48pub use crate::view::{
49    Captured, DEFAULT_JSON_LAYOUT_ENV, DEFAULT_JSON_LAYOUT_ENVS, JsonLayout, MessageKind, Present,
50    Stream, View,
51};