Skip to main content

Source

Trait Source 

Source
pub trait Source: Send + Sync {
    // Required methods
    fn len(&self) -> usize;
    fn bytes(&self, range: Range<usize>) -> Cow<'_, [u8]>;
    fn is_complete(&self) -> bool;

    // Provided methods
    fn pump(&self) { ... }
    fn revision(&self) -> u64 { ... }
    fn prettify_mode(&self) -> Option<PrettifyMode> { ... }
    fn prettify_label(&self) -> Option<String> { ... }
    fn set_prettify_mode(&self, _mode: PrettifyMode) { ... }
    fn toggle_prettify(&self) { ... }
    fn redetect_prettify(&self) { ... }
}

Required Methods§

Source

fn len(&self) -> usize

Source

fn bytes(&self, range: Range<usize>) -> Cow<'_, [u8]>

Source

fn is_complete(&self) -> bool

Provided Methods§

Source

fn pump(&self)

Read any new bytes that have become available since the last call. Default no-op for static sources. Streaming sources override.

Source

fn revision(&self) -> u64

Monotonic counter that bumps whenever the source’s content has been replaced wholesale (as opposed to merely appended to). Append-style sources keep this at 0; LiveFileSource increments it on each detected rewrite so the event loop knows to rebuild the line index instead of just folding in new bytes.

Source

fn prettify_mode(&self) -> Option<PrettifyMode>

Current prettify mode if this source has a TransformingSource wrapper. None means the source is not capable of prettification (e.g. a plain FileSource). Some(Off) means wrapped but currently raw.

Source

fn prettify_label(&self) -> Option<String>

Status-line label for the active prettify state, e.g. "json" or "json:err". None when there’s no wrapper or the mode is Off without an error.

Source

fn set_prettify_mode(&self, _mode: PrettifyMode)

Switch to a specific prettify mode. No-op for sources without a wrapper. Bumps revision() so callers know to rebuild the line index.

Source

fn toggle_prettify(&self)

Flip between the current mode and the last active (non-Off) mode. No-op if the source is not wrapped, or if it has never had an active mode (i.e. only ever been raw).

Source

fn redetect_prettify(&self)

Re-run byte-based content detection and apply the result. Used by the interactive -Pa (“auto”) sub-command. No-op without a wrapper.

Implementors§