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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
//! # zfish — Ultra-Light Zero-Dependency CLI Framework
//!
//! ```text
//! ╭─╮
//! │ ╰─╮ zfish — Soar above the complexity
//! ╰─╯
//! ```
//!
//! **zfish** is a zero-dependency Rust library for building beautiful, fast, and reliable
//! command-line applications. Built with only Rust's standard library, zfish provides
//! everything you need for modern CLI development without the bloat.
//!
//! ## Philosophy
//!
//! - **Zero Dependencies**: Build on `std` alone — no supply-chain risk, minimal compile times
//! - **Cross-Platform**: Works seamlessly on Linux, macOS, and Windows
//! - **Lightweight**: Cold start under 5ms, parse millions of flags in milliseconds
//! - **Safe**: `#![forbid(unsafe_code)]` in public API (platform-specific code isolated)
//!
//! ## Features
//!
//! - **Argument Parsing**: Handcrafted lexer for `--flags`, `-abc` combos, subcommands
//! - **Terminal Styling**: ANSI colors (16 + 256-color palette), bold, italic, underline
//! - **Progress Bars**: Multi-bar support with throughput display
//! - **Interactive Prompts**: Text input, password entry, confirmation dialogs
//! - **Logging**: Leveled output with timestamp support
//! - **Terminal Control**: Size detection, cursor movement, screen clearing
//!
//! ## Quick Start
//!
//! ```rust
//! use zfish::{Args, Color};
//!
//! let args = Args::parse();
//! if args.has_flag("verbose") {
//! println!("{}", Color::Green.paint("✓ Verbose mode enabled"));
//! }
//! ```
//!
//! ## Feature Flags
//!
//! - `colour` (default): Enable ANSI color support
//! - `raw`: Raw terminal mode for interactive apps
//! - `progress`: Progress bars and spinners (requires `raw`)
//! - `interactive`: Interactive prompts (requires `raw`)
//!
//! ## Project Status
//!
//! **Current Version**: 0.1.10 (Active Development)
//!
//! See [ROADMAP.md](../ROADMAP.md) for future plans.
//!
//! ## Documentation
//!
//! - **[Developer Docs](https://zfish-devdocs.vercel.app)** — Interactive guides and tutorials
//! - **[API Reference](https://docs.rs/zfish)** — Complete API documentation
//! - **[Roadmap](https://sprinkle-toque-13b.notion.site/ZFish-29d4eaaebc9d80bd82f3c27833a92232)** — Feature status
//!
//! ## License
//!
//! Licensed under the [MIT License](https://opensource.org/licenses/MIT).
//!
//! ## Credits
//!
//! Created by **Jeet Karena** with ❤️ for the Rust community.
//!
//! ```text
//! ╔═══════════════════════════════════════════════════════════════╗
//! ║ zfish v0.1.10 ║
//! ║ Copyright © 2025 Jeet Karena ║
//! ║ Licensed under MIT License ║
//! ╚═══════════════════════════════════════════════════════════════╝
//! ```
// Deny unsafe code by default (can be overridden in os module)
//! Core modules
// Platform-specific code (unsafe allowed here)
pub
// Re-export main components for easier access
pub use Args;
pub use ;
pub use ;
pub use ;
pub use Prompt;
pub use ;
pub use ;
pub use Terminal;
/// Library version
pub const VERSION: &str = env!;
/// ASCII art logo
pub const LOGO: &str = r#"
╭─╮
│ ╰─╮ zfish — Ultra-light CLI framework
╰─╯";
"#;