1#![forbid(unsafe_code)]
2
3pub mod cell;
26pub mod cursor;
27pub mod export;
28pub mod flow_control;
29pub mod grid;
30pub mod modes;
31pub mod parser;
32pub mod patch;
33pub mod reply;
34pub mod scrollback;
35pub mod selection;
36pub mod selection_state;
37pub mod terminal_engine;
38pub mod width_policy;
39#[cfg(feature = "ws-codec")]
40pub mod ws_codec;
41
42pub use cell::{
43 Cell, CellFlags, Color, HyperlinkId, HyperlinkRegistry, MAX_COMBINING, SgrAttrs, SgrFlags,
44};
45pub use cursor::{Cursor, SavedCursor, translate_charset};
46pub use export::{
47 AnsiExportOptions, ColorDepth, ExportContext, ExportRange, ExportRow, HtmlExportOptions,
48 LineEnding, TextExportOptions, export_ansi, export_html, export_text,
49};
50pub use flow_control::{
51 ActionLoss, BackpressureAction, DecisionReason, FlowControlConfig, FlowControlDecision,
52 FlowControlPolicy, FlowControlSnapshot, InputEventClass, LatencyWindowMs, LossWeights,
53 QueueDepthBytes, RateWindowBps, jain_fairness_index,
54};
55pub use grid::Grid;
56pub use modes::{AnsiModes, DecModes, Modes};
57pub use parser::{Action, CsiParams, Parser};
58pub use patch::{CellUpdate, ChangeRun, DirtySpan, DirtyTracker, GridDiff, Patch};
59pub use reply::{
60 ReplyContext, ReplyEngine, TerminalQuery, parse_terminal_query, reply_for_query,
61 reply_for_query_bytes,
62};
63pub use scrollback::{Scrollback, ScrollbackLine, ScrollbackWindow};
64pub use selection::{BufferPos, CopyOptions, Selection};
65pub use selection_state::{
66 AutoScrollHint, GestureConfig, SelectionDirection, SelectionGestureController,
67 SelectionGranularity, SelectionPhase, SelectionShape, SelectionState,
68};
69pub use terminal_engine::{DEFAULT_SCROLLBACK_CAPACITY, TerminalEngine, TerminalEngineConfig};
70pub use width_policy::WidthPolicy;