1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
//! # errcraft
//!
//! Beautiful, structured, and colorful error handling for Rust.
//!
//! ## Overview
//!
//! `errcraft` provides a composable error type that supports:
//! - Rich context with key-value pairs and text annotations
//! - Nested error chaining with beautiful tree rendering
//! - Colorful CLI output with emoji support
//! - Smart backtrace capture and filtering
//! - JSON and Markdown serialization
//! - Integration with popular error handling crates
//!
//! ## Quick Start
//!
//! ```rust
//! use errcraft::ErrFrame;
//!
//! fn read_config(path: &str) -> Result<String, ErrFrame> {
//! std::fs::read_to_string(path).map_err(|e| {
//! ErrFrame::new("Failed to read config file")
//! .context("path", path.to_string())
//! .with_source(e)
//! })
//! }
//! ```
//!
//! ## Features
//!
//! - `std` (default): Standard library support with `std::error::Error`
//! - `backtrace` (default): Capture and display backtraces
//! - `colors-owo` (default): Colorful output using owo-colors
//! - `serde`: JSON serialization support
//! - `markdown`: Markdown rendering utilities
//! - `emoji`: Enable emoji glyphs in output
//! - Integration features: `anyhow`, `eyre`, `thiserror`, `tracing`, `axum`
extern crate std;
extern crate alloc;
// Public exports
pub use ;
pub use ErrFrame;
pub use ErrResult;
pub use ;
// Feature-gated integrations are in the integration module
// but don't export anything at the crate root since they extend existing types
// Note: Color backend conflicts should be checked via cargo features
// When using --all-features, multiple color backends may be enabled
// The last one in the conditional compilation chain will be used