pub struct ProgramStatus<'a> {
pub state: ProgramStatusState<'a>,
pub id: Option<&'a str>,
pub kind: Option<ProgramStatusKind<'a>>,
pub progress: Option<u8>,
pub app: Option<&'a str>,
pub title: Option<&'a str>,
pub message: Option<&'a str>,
}Expand description
A complete OSC 7501 report, with borrowed text.
Each report replaces its record, so include every field that should
remain present. An absent app inherits from the nearest ancestor with
one. Text and identifiers are validated by write_program_status
before any output. Callers supply plain UTF-8, not base64.
Fields§
§state: ProgramStatusState<'a>Required record state.
id: Option<&'a str>Optional record path. At most 128 bytes and eight slash-separated
segments, each 1-32 bytes from [A-Za-z0-9_.+-]. None selects root.
kind: Option<ProgramStatusKind<'a>>Reason for blocking. Terminals use this only with state blocked.
progress: Option<u8>Percentage, from 0 to 100. Terminals use this only with state working
or blocked. None means indeterminate progress.
app: Option<&'a str>Program name: 1-32 bytes from [A-Za-z0-9_.+-].
title: Option<&'a str>Human-readable record label, at most 192 UTF-8 bytes. C0, DEL, and C1 control characters are rejected.
message: Option<&'a str>Human-readable status message, at most 2048 UTF-8 bytes. C0, DEL, and C1 control characters are rejected.
Implementations§
Source§impl<'a> ProgramStatus<'a>
impl<'a> ProgramStatus<'a>
Sourcepub fn new(state: ProgramStatusState<'a>) -> Self
pub fn new(state: ProgramStatusState<'a>) -> Self
Create a root report with the specified state and no optional fields.
Trait Implementations§
Source§impl<'a> Clone for ProgramStatus<'a>
impl<'a> Clone for ProgramStatus<'a>
Source§fn clone(&self) -> ProgramStatus<'a>
fn clone(&self) -> ProgramStatus<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more