#[non_exhaustive]pub enum EdifactError {
Show 51 variants
UnexpectedEof {
offset: usize,
},
InvalidDelimiter {
byte: u8,
offset: usize,
},
InvalidText {
offset: usize,
},
InvalidReleaseSequence {
offset: usize,
},
MessageCountMismatch {
expected: u32,
actual: u32,
},
SegmentCountMismatch {
expected: u32,
actual: u32,
message_ref: String,
span: Span,
},
InvalidSegmentTag(String),
InvalidUna,
MissingRequiredElement {
tag: String,
element_index: usize,
},
MissingRequiredComponent {
tag: String,
element_index: usize,
component_index: usize,
},
InvalidUtf8,
Io(IoError),
InvalidSegmentForMessage {
tag: String,
message_type: String,
span: Span,
},
InvalidElementCount {
tag: String,
min: usize,
max: usize,
actual: usize,
span: Span,
},
InvalidComponentCount {
tag: String,
element_index: usize,
expected: u8,
actual: u8,
span: Span,
},
InvalidCodeValue {
tag: String,
element_index: usize,
value: String,
code_list: String,
span: Span,
suggestion: Option<&'static str>,
},
MissingSegment {
tag: String,
expected_position: String,
},
QualifierMismatch {
tag: String,
actual: String,
expected: String,
span: Span,
},
ConditionalRequirementNotMet {
tag: String,
element_index: usize,
condition: String,
span: Span,
},
ValidationErrors {
error_count: usize,
report: Box<ValidationReport>,
},
SegmentTooLong {
offset: usize,
limit: usize,
},
UnexpectedMessageType {
message_type: String,
},
InterchangeTooLarge {
count: u64,
},
InvalidEventSequence {
message: &'static str,
},
InvalidElementPosition,
IncompatibleReleaseScopes {
current: String,
incoming: String,
},
InvalidFieldValue {
tag: String,
element_index: usize,
value: String,
},
UnexpectedDataToken {
offset: usize,
},
UnrecognisedSyntaxIdentifier(String),
DuplicateReference {
tag: String,
reference: String,
span: Span,
},
UnknownDataElement {
tag: String,
data_element: String,
},
AmbiguousDataElement {
tag: String,
data_element: String,
},
LimitExceeded {
limit: &'static str,
max: u64,
},
RepetitionSeparatorNotDeclared,
NonFiniteNumber {
value: String,
},
CharacterNotInRepertoire {
charset: &'static str,
character: char,
offset: usize,
},
CharacterRepertoireMismatch {
declared: String,
writer: &'static str,
},
UnsupportedCharset {
syntax_identifier: String,
},
EmptyInterchange {
control_ref: String,
},
EmptyMessage {
message_ref: String,
span: Span,
},
PackageNotSupported {
tag: String,
span: Span,
},
BlankDataElementValue {
tag: String,
element_index: usize,
component_index: usize,
span: Span,
},
SegmentWithoutDataElements {
tag: String,
span: Span,
},
TooManyRepetitions {
tag: String,
element_index: usize,
max: u8,
actual: usize,
span: Span,
},
InvalidCharacterType {
tag: String,
element_index: usize,
component_index: usize,
repr: String,
value: String,
span: Span,
},
DataElementTooLong {
tag: String,
element_index: usize,
component_index: usize,
repr: String,
actual: usize,
span: Span,
},
DataElementTooShort {
tag: String,
element_index: usize,
component_index: usize,
repr: String,
actual: usize,
span: Span,
},
TrailingSeparator {
tag: String,
element_index: Option<usize>,
span: Span,
},
GroupsAndMessagesMixed {
span: Span,
},
InsignificantCharacters {
tag: String,
element_index: usize,
component_index: usize,
kind: Insignificant,
span: Span,
},
SegmentLayoutMismatch {
expected: String,
actual: String,
},
}Expand description
All errors produced by edifact-rs.
§Positional data
Two kinds of position information appear in this enum, and the distinction is deliberate:
offset: usize— a single byte position in the input stream. Used by the lexical variants (UnexpectedEof,InvalidDelimiter,InvalidText,InvalidReleaseSequence,SegmentTooLong,UnexpectedDataToken), where the fault is a point in the byte stream and no meaningful end position exists.span: Span— a half-open byte range. Used by every variant produced while validating an already-parsedSegment, where the exact source range is known. AValidationIssuebuilt from such an error carries the full range, somietteand LSP tooling can underline the offending segment rather than place a zero-width caret.
Use span.start when only the start position is needed.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
UnexpectedEof
Unexpected end of input while parsing.
This typically occurs when a segment terminator or expected delimiter is not found before the end of the input stream.
InvalidDelimiter
Invalid byte encountered in a delimiter context.
Delimiters must be precisely ASCII characters from the UNA service string advice. Any other byte is invalid in delimiter position.
Fields
InvalidText
Invalid UTF-8 sequence in parsed text.
While EDIFACT operates on bytes, segments and elements are expected to contain valid UTF-8 text. Non-UTF-8 sequences are rejected at parse time.
InvalidReleaseSequence
Invalid release-character escape sequence in parsed text.
The release character (? by default) must be followed by one escaped byte.
A trailing release character without a following byte is malformed.
MessageCountMismatch
UNZ interchange message count does not match the number of UNH/UNT pairs found.
The UNZ segment declares the number of messages in the interchange,
but the actual number of UNH/UNT pairs observed differs.
Fields
SegmentCountMismatch
UNT segment count does not match the actual number of segments in the message.
The UNT segment declares the number of segments in the message (including UNH/UNT),
but the actual count differs.
Fields
InvalidSegmentTag(String)
Invalid or malformed segment tag.
Segment tags must be exactly 3 ASCII uppercase letters.
InvalidUna
Invalid UNA service string advice.
If present, the UNA segment must be exactly 9 bytes: "UNA" followed by
6 service characters. The active ones — component separator, element
separator, release character, segment terminator, and the repetition
separator when it is not the “not used” space — must all be mutually
distinct and printable, non-alphanumeric ASCII.
The decimal mark is not checked: ISO 9735-1 Annex B says the character in that position “shall be ignored by the recipient”, and it is the one position where the standard permits a space.
MissingRequiredElement
Missing required element in a segment.
Certain segments require specific elements to be present. This error indicates a mandatory element was not found.
Fields
MissingRequiredComponent
Missing required component in a composite element.
The element is present, but the required component at the given index is absent or empty.
Fields
InvalidUtf8
Output serialization produced invalid UTF-8.
This is an internal consistency error; the writer should never produce non-UTF-8 output. If this occurs, it indicates a bug in the serialization logic.
Io(IoError)
I/O error from reading or writing.
InvalidSegmentForMessage
Segment is not valid for the current message type.
Structural validation found a segment that should not appear in this message.
Fields
InvalidElementCount
Element count in segment exceeds or falls short of directory definition.
Validation against directory metadata found an element count mismatch.
Fields
InvalidComponentCount
Component count in a composite element is invalid.
A composite data element does not have the expected number of components.
Fields
InvalidCodeValue
Code-list value is not valid.
The value appears in a field that should contain a code from a specific code list, but the value is not in that code list.
Fields
MissingSegment
A required segment is missing from the message.
Structural validation found that a mandatory segment is absent.
QualifierMismatch
Qualifier does not match expected value for segment.
A qualified segment (e.g., NAD+MS) has a qualifier that does not match expected.
Fields
ConditionalRequirementNotMet
Conditional requirement not met.
A segment or element is conditionally required based on another element’s value, but the condition was not satisfied.
Fields
ValidationErrors
Validation failed and the full ValidationReport is preserved.
Returned by validation helpers when errors are found. Provides programmatic access to all issues, warnings, and infos.
§Example
match my_fn() {
Err(EdifactError::ValidationErrors { report, .. }) => {
for issue in report.errors() {
eprintln!("{}", issue);
}
}
other => { /* ... */ }
}Fields
report: Box<ValidationReport>Full report with all errors, warnings, and infos.
SegmentTooLong
Segment exceeded the configured maximum byte length.
Returned by reader-based parsers when an unterminated segment accumulates more
bytes than the configured max_segment_bytes limit in ReaderConfig. This
prevents resource exhaustion on adversarially crafted or truncated input that
never emits a segment terminator.
Fields
UnexpectedMessageType
No handler was registered in crate::MessageDispatch for this message type.
Returned by crate::MessageDispatch::dispatch when the message-type
extracted from the UNH segment does not match any registered handler
and no fallback was configured.
InterchangeTooLarge
An interchange or message contains more segments or messages than can be
represented in a u32 counter (> 4 294 967 295).
This is effectively unreachable in practice — no real-world EDIFACT interchange has billions of segments — but the parser returns this error rather than silently saturating or wrapping the counter.
InvalidEventSequence
An crate::EventEmitter received events in an invalid sequence.
This indicates a programming error in the caller’s serialization code:
for example, emitting an crate::EdifactEvent::Element without a prior
crate::EdifactEvent::StartSegment, or emitting
crate::EdifactEvent::ComponentElement without a preceding
crate::EdifactEvent::Element.
InvalidElementPosition
An crate::OwnedElementRef has position = 0, which is never valid.
Element positions are one-based: position 1 refers to the first element
slot. Position 0 is reserved and invalid. Use crate::OwnedElementRef::try_new
to get a Result instead of a panic.
IncompatibleReleaseScopes
Two crate::ProfileRulePack values with incompatible release scopes were composed.
When composing packs via crate::ProfileRulePack::extend_from or
crate::ProfileRulePack::merge_with_override, both packs must either
share the same release scope or at most one may carry a scope.
Fields
InvalidFieldValue
A field value failed semantic validation (e.g. wrong format, out-of-range).
Distinct from InvalidCodeValue which is for
code-list membership checks. Use this variant when a free-text or numeric
field contains a value that is structurally invalid for its purpose.
Fields
UnexpectedDataToken
A data or component element token appeared before the first segment tag.
EDIFACT syntax requires that every data element follows a segment tag. A data element token encountered before any tag (e.g. after a stray separator at the start of the stream) is a protocol violation.
Unlike stray segment terminators (which are tolerated as blank lines), stray data tokens indicate encoding corruption or a partial write.
UnrecognisedSyntaxIdentifier(String)
The interchange syntax identifier (UNB S001 DE 0001) names no defined
character repertoire.
DE 0001 is UN followed by a two-character repertoire code, so the
defined values are UNOA through UNOK, UNOX, UNOY, and KECA
(Korean EDI Centre A). Anything else is a non-standard generator or a
corrupted UNB.
A value that is defined but that this crate cannot decode is
UnsupportedCharset instead — the two say
different things about whose problem it is.
DuplicateReference
A control reference was reused within the scope that requires it to be unique.
ISO 9735-1 requires the message reference number (UNH DE 0062) to be
unique within an interchange, and the group reference number (UNG
DE 0048) to be unique within an interchange. Duplicates make a message
unaddressable: a receiver keying on the reference silently processes one
occurrence and drops the rest.
Fields
UnknownDataElement
A UN/EDIFACT data element code was not found in the segment definition.
Produced by the code-addressed accessors
(Segment::value_by_code and friends)
when the requested data element identifier does not appear anywhere in
the supplied SegmentLayout. This is the error
that turns a mistyped or stale DE reference into a loud failure instead
of a silent off-by-one read of the wrong element.
Fields
AmbiguousDataElement
A UN/EDIFACT data element code appears more than once in a segment definition.
Code-addressed access requires an unambiguous target. When a directory
genuinely repeats a code (e.g. the same DE used at two positions), address
it positionally with Segment::element_str
or split the definition.
Fields
LimitExceeded
A configured ReaderConfig resource limit was exceeded.
Raised by the parsing iterators when the input carries more segments, messages, or bytes than the caller allowed. The limit is reported rather than silently applied: a budget that ends the iterator without an error is indistinguishable from a clean end of input, so the caller would accept a truncated interchange as complete.
SegmentTooLong covers the per-segment size
guard; this variant covers the whole-input budgets.
Fields
RepetitionSeparatorNotDeclared
A repeating data element was written under a service string advice that declares no repetition separator.
ISO 9735-1 §8.6 repetitions can only be expressed when UNA position 7
carries a real separator. With the space “not used” sentinel there is no
byte to write between occurrences, and joining them anyway would emit
output that reads back as a single occurrence — silent data corruption.
Construct the writer with Writer::with_una
and a service string advice whose repetition_sep is set.
NonFiniteNumber
A non-finite float was handed to a numeric serializer.
ISO 9735-1 §10 admits the ISO 6093 numeric representations — digits, an
optional minus sign, a decimal mark, an exponent — and nothing else.
There is no representation for NaN or infinity, and Display would
emit NaN / inf, text no receiver can parse and that the crate’s own
reader would hand back as a string.
CharacterNotInRepertoire
A character cannot be represented in the interchange’s declared repertoire.
The UNB S001 DE 0001 syntax identifier names the character repertoire the
payload is written in (UNOA, UNOC, …). Writing a character outside it
produces bytes the receiver decodes as something else — or as nothing at
all — so the writer refuses instead.
Also raised by Charset::encode.
Fields
CharacterRepertoireMismatch
A UNB was written declaring a repertoire other than the writer’s own.
A header that names UNOA while the body goes out as ISO 8859-1 is
unreadable at the far end in exactly the way that is hardest to diagnose,
so Writer::begin_interchange refuses
the combination rather than emitting it.
Fields
UnsupportedCharset
The interchange declares a character repertoire this crate cannot decode.
UNOX (ISO 2022 code extension) and KECA (Korean) are stateful or
multi-byte in ways that break the byte-level delimiter scanning every
other repertoire allows. They are reported rather than silently
mis-decoded.
EmptyInterchange
An interchange carries neither a message nor a group.
ISO 9735-1 §7.1: an interchange “shall contain at least one group, or one
message or one package”. A bare UNB/UNZ pair is a delivery that says
nothing, and because UNZ+0 makes the control count agree with the
(absent) content, no count check can catch it.
EmptyMessage
A message carries no segment between its header and trailer.
ISO 9735-1 §7.3: a message “shall be started and identified by a message header, shall be terminated by a message trailer, and shall contain at least one additional segment”.
Fields
PackageNotSupported
The interchange carries a package (UNO…UNP), which this crate does not
tokenize.
A package wraps an arbitrary object — ISO 9735-1 §7.9, elaborated by
ISO 9735-8 — whose bytes are not EDIFACT-encoded and whose length is
declared in UNO S022 DE 0810. Feeding those bytes to a tokenizer that
scans for delimiters produces nonsense, so the package is reported instead.
Split the object out of the byte stream using the declared length before
parsing the remainder.
Fields
BlankDataElementValue
A data element value consists only of spaces.
ISO 9735-1 §9.3: “A data element value containing only space(s) shall not be allowed.” Trailing spaces are insignificant and must be suppressed (§9.1), so a value that is nothing but spaces is an element that should have been omitted — and a receiver comparing it against a code list, a reference, or a previous message will not treat it as absent.
Fields
SegmentWithoutDataElements
A segment carries nothing but its tag.
ISO 9735-1 §7.5: “A segment shall contain at least one data element in
addition to the segment tag.” §8.5 adds that a conditional segment whose
only content is the tag “shall be omitted in its entirety” — so ABC' is
either a mandatory segment that lost its data or a conditional one that
should not have been sent.
TooManyRepetitions
A data element occurred more times than its definition allows.
ISO 9735-1 §7.5: “Each stand-alone or composite data element’s position,
status and maximum number of occurrences within the segment structure
shall be stated in the segment specification.” Exceeding the stated
maximum is a structural violation, reported by CONTRL as code 35.
Fields
InvalidCharacterType
A value’s characters do not match its declared representation class.
A directory types every data element a (alphabetic), n (numeric), or
an (alphanumeric). ISO 9735-1 §10 fixes what “numeric” admits: digits,
an optional minus, a decimal mark, and an exponent — and explicitly not
the space character or a plus sign. Reported by CONTRL as code 37.
Fields
DataElementTooLong
A value is longer than its declared representation allows.
Length is counted in characters, not bytes (ISO 9735-1 §6), and for a
numeric value excludes the sign, the decimal mark, and the exponent
(§10). Reported by CONTRL as code 39.
Fields
DataElementTooShort
A value is shorter than its declared fixed-length representation.
Only a fixed-length representation (n8, a1) has a minimum above one;
a variable one (an..35) is satisfied by any non-empty value. Reported
by CONTRL as code 40.
Fields
TrailingSeparator
A segment or composite ends in separators that carry no value.
ISO 9735-1 §8.7.1: “If one or more non-repeating composite data elements or stand-alone data elements at the end of a segment are omitted, the data element separators which would normally follow them shall also be omitted.” §8.7.2 says the same for components at the end of a composite.
BGM+220+' and DTM+137:20260101:' are therefore both malformed, and a
receiver that trims them is being generous rather than correct. Reported
by CONTRL as code 45.
Fields
GroupsAndMessagesMixed
An interchange mixes groups with ungrouped messages.
ISO 9735-1 §7.1 lists what an interchange may contain, and every entry is
exclusive: messages, or packages, or groups containing them — never a
group alongside a bare message. A message outside every group has no
group to be counted in, so UNZ DE 0036 cannot describe the interchange
at all. Reported by CONTRL as code 30.
InsignificantCharacters
A value carries characters ISO 9735-1 §9.1 requires to be suppressed.
§9.1: “In variable length numeric data elements, leading zeroes shall be suppressed… In variable length alphabetic and alphanumeric data elements, trailing spaces shall be suppressed.”
Both are artefacts of a fixed-width source record copied into a
variable-length field. The value is still readable, so this is a warning
— but a receiver comparing 007 against the code 7, or "ACME "
against "ACME", will not match them.
Fields
kind: InsignificantWhich rule of §9.1 was violated.
SegmentLayoutMismatch
A SegmentLayout was applied to a segment with a different tag.
Passing the NAD definition to a DTM segment would resolve codes
against the wrong table, which is exactly the class of mistake that
code-addressed access exists to prevent — so it is rejected up front.
Implementations§
Source§impl EdifactError
impl EdifactError
Sourcepub const fn stable_code(&self) -> &'static str
pub const fn stable_code(&self) -> &'static str
Stable diagnostic code for this error variant.
Sourcepub fn recovery_hint(&self) -> Option<&'static str>
pub fn recovery_hint(&self) -> Option<&'static str>
Stable recovery hint for common malformed input and validation cases.
Trait Implementations§
Source§impl Debug for EdifactError
impl Debug for EdifactError
Source§impl Diagnostic for EdifactError
Available on crate feature diagnostics only.
impl Diagnostic for EdifactError
diagnostics only.Source§fn severity(&self) -> Option<Severity>
fn severity(&self) -> Option<Severity>
Mirrors the severity the validation pipeline assigns.
The two must agree: a miette render that calls a control-reference
mismatch a warning while ValidationReport files it as an error tells
the operator and the program two different things about the same
interchange. crate::ValidationReport is the source of truth, and this
delegates to it.
Source§fn code<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn code<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
Diagnostic. Ideally also globally unique, and documented
in the toplevel crate’s documentation for easy searching. Rust path
format (foo::bar::baz) is recommended, but more classic codes like
E0123 or enums will work just fine.Source§fn help<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn help<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
Diagnostic. Do you have any
advice for the poor soul who’s just run into this issue?Source§fn url<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn url<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
Diagnostic.Source§fn source_code(&self) -> Option<&dyn SourceCode>
fn source_code(&self) -> Option<&dyn SourceCode>
Diagnostic’s Diagnostic::labels to.Source§fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>
fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>
Diagnostic’s Diagnostic::source_codeDiagnostics.Source§fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
Source§impl Display for EdifactError
impl Display for EdifactError
Source§impl Error for EdifactError
impl Error for EdifactError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<Error> for EdifactError
impl From<Error> for EdifactError
Source§impl From<IoError> for EdifactError
impl From<IoError> for EdifactError
Source§impl PartialEq for EdifactError
impl PartialEq for EdifactError
impl StructuralPartialEq for EdifactError
Auto Trait Implementations§
impl !RefUnwindSafe for EdifactError
impl !UnwindSafe for EdifactError
impl Freeze for EdifactError
impl Send for EdifactError
impl Sync for EdifactError
impl Unpin for EdifactError
impl UnsafeUnpin for EdifactError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more