#[repr(u8)]pub enum ExitCode {
Show 29 variants
Success = 0,
GeneralError = 1,
ArgumentError = 2,
InternalError = 3,
Interrupted = 4,
Timeout = 5,
SecretsDetected = 10,
PiiDetected = 11,
LicenseViolation = 12,
PathTraversalBlocked = 13,
SecurityScanFailed = 14,
ConfigNotFound = 20,
ConfigInvalid = 21,
ConfigMissing = 22,
ConfigConflict = 23,
ConfigVersionError = 24,
NotFound = 30,
PermissionDenied = 31,
DiskFull = 32,
NetworkError = 33,
ResourceLimitExceeded = 34,
FileTooLarge = 35,
BinaryFileDetected = 36,
NoFilesMatched = 40,
NoChunksGenerated = 41,
InvalidPattern = 42,
UnsupportedLanguage = 43,
ManifestCorrupted = 44,
BudgetExceeded = 45,
}Expand description
Semantic exit codes for CLI commands
These exit codes provide meaningful status information to CI/CD systems and shell scripts. Each code represents a specific condition that can be programmatically handled.
Variants§
Success = 0
Operation completed successfully
GeneralError = 1
Unspecified error
ArgumentError = 2
Command-line argument parsing error
InternalError = 3
Internal error (bug)
Interrupted = 4
Operation interrupted by user (Ctrl+C)
Timeout = 5
Operation timed out
SecretsDetected = 10
Secrets/credentials detected in code
PiiDetected = 11
PII (Personally Identifiable Information) detected
LicenseViolation = 12
License compliance violation (GPL, AGPL, etc.)
PathTraversalBlocked = 13
Path traversal attack blocked
SecurityScanFailed = 14
Security scan failed
ConfigNotFound = 20
Configuration file not found
ConfigInvalid = 21
Invalid configuration format
ConfigMissing = 22
Missing required configuration
ConfigConflict = 23
Conflicting configuration options
ConfigVersionError = 24
Unsupported configuration version
NotFound = 30
File or directory not found
PermissionDenied = 31
Permission denied
DiskFull = 32
Disk full or quota exceeded
NetworkError = 33
Network error (e.g., remote clone failed)
ResourceLimitExceeded = 34
Resource limit exceeded (too many files, etc.)
FileTooLarge = 35
File too large
BinaryFileDetected = 36
Binary file detected
NoFilesMatched = 40
No files matched the include patterns
NoChunksGenerated = 41
No chunks generated (empty output)
InvalidPattern = 42
Invalid pattern (glob/regex)
UnsupportedLanguage = 43
Unsupported language or file type
ManifestCorrupted = 44
Manifest integrity error
BudgetExceeded = 45
Token budget exceeded
Implementations§
Source§impl ExitCode
impl ExitCode
Sourcepub fn category(&self) -> ExitCodeCategory
pub fn category(&self) -> ExitCodeCategory
Get the exit code category
Sourcepub fn description(&self) -> &'static str
pub fn description(&self) -> &'static str
Get a description of this exit code
Sourcepub fn is_security_issue(&self) -> bool
pub fn is_security_issue(&self) -> bool
Check if this is a security-related exit code
Sourcepub fn is_success(&self) -> bool
pub fn is_success(&self) -> bool
Check if this exit code indicates success
Trait Implementations§
Source§impl From<ExitCode> for ExitResult
impl From<ExitCode> for ExitResult
impl Copy for ExitCode
impl Eq for ExitCode
impl StructuralPartialEq for ExitCode
Auto Trait Implementations§
impl Freeze for ExitCode
impl RefUnwindSafe for ExitCode
impl Send for ExitCode
impl Sync for ExitCode
impl Unpin for ExitCode
impl UnwindSafe for ExitCode
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);