Skip to main content

omp_tui/
lib.rs

1#![doc = include_str!("../README.md")]
2#![warn(missing_docs)]
3//!
4//! The crate covers terminal lifecycle and capability detection, including
5//! graphics protocol support and desktop notifications.
6
7extern crate self as omp_tui;
8
9/// Time-driven animation primitives: easing, tweens, and frame cycles.
10pub mod anim;
11mod color;
12mod component;
13/// Built-in layout, text, navigation, data, and input components.
14pub mod components;
15mod context;
16mod debug;
17mod editcore;
18mod escape;
19mod frame;
20mod graphics;
21mod icons;
22/// Image format dimension probing without full decodes.
23pub mod imagefmt;
24mod imagereg;
25mod input;
26mod iterm2;
27mod kitty;
28pub mod latex;
29pub mod markdown;
30mod markup;
31mod notify;
32mod overlay;
33/// Terminal protocol, dropped-path, and native clipboard paste handling.
34pub mod paste;
35mod props;
36mod pump;
37mod renderer;
38mod rich;
39mod runtime;
40/// Raytraced braille scenes.
41///
42/// Provides vector math, an orbit camera, and a rasterizer.
43pub mod scene;
44/// CPU fragment-shader effects packed into half-block cells.
45pub mod shader;
46mod sixel;
47pub mod syntax;
48mod terminal;
49#[doc(hidden)]
50pub mod test_support;
51mod tty;
52/// Stable controlling-terminal identity helpers.
53pub mod ttyid;
54mod ui;
55/// Parent-process watchdogs for terminal-owning applications.
56pub mod watchdog;
57
58pub use color::{CssColor, SystemColor};
59pub use component::{
60	Cached, Component, ElementFactory, Elements, EventCtx, Flow, Hit, HitTag, IntoChildren,
61	IntoComponent, PaintCtx, Slot, next_slot,
62};
63pub use context::{Appearance, Charset, Graphics, Grid, JamoWidth, Theme, UiContext};
64pub use debug::respond_debug_query;
65pub use editcore::{
66	BufferOutcome, Command, CompletionEdit, EditBuffer, EditOutcome, Editor, EditorCompletion,
67	EditorOptions, Picker, SlashCommands, Suggestion, SuggestionDisplay, SuggestionList,
68	Suggestions, TabAction, VisualRow,
69};
70pub use frame::{Color, Frame, LinkId, Rect, Size, Style};
71pub use graphics::{
72	NotifyProtocol, ProbeParser, ProbeResults, TerminalCaps, TerminalId, TerminalPlatform, detect,
73	detect_from, negotiate, negotiate_async, probe_terminal,
74};
75pub use icons::Icon;
76pub use imagefmt::ImageFormat;
77pub use input::{
78	Chord, InputDecoder, InputEvent, Key, Keymap, Mods, Mouse, MouseButton, MouseReport,
79	TerminalResponse, UiEvent, decode_keys,
80};
81pub use markup::{Border, Dim, ParseError};
82pub use notify::{
83	Notification, NotificationAction, NotificationBuilder, NotificationSound, Urgency, notify,
84};
85/// Builds a component tree from declarative markup.
86pub use omp_tui_macros::dom;
87pub use overlay::{Layer, OverlayAnchor, OverlayBand, OverlayId, OverlayMargin, OverlayOptions};
88pub use paste::{Pasted, PastedImage};
89pub use props::{Prop, PropValue, Props};
90pub use pump::{DebugOp, DebugQuery, TerminalEvent};
91pub use renderer::{OutputState, PaintStats, Renderer};
92pub use rich::{
93	Clip, Measure, Pipeline, Prefix, Prefixed, Restyle, RichSink, RichText, Rows, Tee, Wrap,
94	decompose,
95};
96pub use runtime::{App, AppEnv, AppEvent, AppOptions, ImageLoader, UiHandle};
97pub use terminal::{AltScreenUse, CursorStyle, Progress, Terminal, TerminalOptions};
98pub use tty::TtyOut;
99pub use ui::Ui;