//! Filter implementations for the tfil PTY proxy.
//!
//! Each filter rewrites a stream of bytes coming from a child process
//! before it reaches the user's terminal. Filters are stateful so they
//! can handle escape sequences that span multiple chunks.
use Cow;
pub use CursorShapeFilter;
pub use InkFakeCursorFilter;
pub use OscTitleFilter;
/// Stateful byte-stream filter.
///
/// Implementations buffer partial escape sequences across calls and emit
/// them once they can be classified. [`finish`](Self::finish) is called
/// at end of stream so any unfinished pending bytes can be flushed.