pub enum TixError {
Io(Error),
Workflow(WorkflowDiagnostic),
Config(String),
Parse(String),
NotFound(String),
InvalidInput(String),
Editor(String),
External(String),
Kitty(String),
}Expand description
Typed errors raised by tix.
Variants§
Io(Error)
An I/O operation failed (read/write/rename/remove).
Workflow(WorkflowDiagnostic)
The transition service refused a status change (contract §3.5).
WP03. Carries the diagnostic, not a pre-formatted string, so the named
kind reaches the surface intact: the CLI, the TUI, MCP and lint all report
one condition under one name (contract §6). A refusal that arrives as a
bare InvalidInput would be indistinguishable from a typo caught by
argument parsing, and the caller could not tell “you asked for a column
that does not exist” from “that move is against policy”.
Reaching this variant is itself the contract: nothing was written — no
issue file, no tix.toml, no History entry. The seam guarantees it.
Config(String)
tix.toml or other config surface is invalid.
Parse(String)
A data file (issue frontmatter, config) could not be parsed.
NotFound(String)
The requested issue/config path does not exist.
InvalidInput(String)
User input failed validation.
Editor(String)
Launching or interacting with the $EDITOR failed.
External(String)
An external tool (glab, linear-cli, …) failed.
Kitty(String)
Spec Kitty bridge error (kitty-specs/ read, parse, or link).
Implementations§
Trait Implementations§
Source§impl Error for TixError
impl Error for TixError
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<HierarchyError> for TixError
A hierarchy refusal becomes user input error, so ? works at the call site.
impl From<HierarchyError> for TixError
A hierarchy refusal becomes user input error, so ? works at the call site.
The conversion is total and lossless: the type’s own Display already renders
the full diagnostic set, and InvalidInput supplies the invalid input: prefix
every other validation failure in the crate carries.
Source§fn from(err: HierarchyError) -> TixError
fn from(err: HierarchyError) -> TixError
Source§impl From<Refusal> for TixError
impl From<Refusal> for TixError
Source§fn from(refusal: Refusal) -> Self
fn from(refusal: Refusal) -> Self
Refusals reach surfaces that take the crate’s error type as
invalid input, the variant WP01 and WP02 already use for triage
validation failures — no new variant, and no new name in
crate::workflow::DiagnosticKind, whose ALL stays at seven.
Auto Trait Implementations§
impl !RefUnwindSafe for TixError
impl !UnwindSafe for TixError
impl Freeze for TixError
impl Send for TixError
impl Sync for TixError
impl Unpin for TixError
impl UnsafeUnpin for TixError
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> 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> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString. Read more