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
//! # zsh-plugin-cli
//!
//! A command-line tool to generate new Zsh plugin scaffolds with configurable features.
//!
//! This tool creates a complete plugin directory structure including:
//! - Main plugin source file with function tracking and unload support
//! - Optional autoloaded functions directory
//! - Optional bin directory for scripts
//! - GitHub Actions workflows for shellcheck/shellspec
//! - Git repository initialization
//!
//! ## Architecture
//!
//! The crate is organized around a simple command pattern:
//!
//! - [`cli`] - Command-line argument parsing using clap
//! - [`command`] - The [`OnceCommand`](command::OnceCommand) trait for executable commands
//! - [`error`] - Error types and conversions
//! - [`name`] - Plugin name validation
//! - [`templates`] - Template rendering using Tera
//!
//! ## Example
//!
//! ```bash
//! # Create a complete plugin with all features
//! zsh-plugin init my-plugin -t complete
//!
//! # Create a minimal plugin
//! zsh-plugin init my-plugin -t minimal
//! ```
// ------------------------------------------------------------------------------------------------
// Modules
// ------------------------------------------------------------------------------------------------
pub
pub
pub
pub
pub
// ------------------------------------------------------------------------------------------------
// Imports
// ------------------------------------------------------------------------------------------------
use ;
use Parser;
use ExitCode;
// ------------------------------------------------------------------------------------------------
// Command-Line Structure
// ------------------------------------------------------------------------------------------------
const COMMAND_NAME: &str = env!;