rbam 0.1.1

A blazing-fast Rust Bash Alias Manager (create, list, and remove shell aliases).
mod alias;
mod commands;

use std::env;

/// Function to print usage instructions
/// This function is called when the user provides insufficient or incorrect arguments.
/// It outlines the available commands and their usage.
fn print_usage() {
    println!("rbam - Rust Bash Alias Manager");
    println!();
    println!("Usage:");
    println!("  rbam list [--full]    List aliases");
    println!("  rbam exec <name>      Execute an alias");
    println!("  rbam add              Add new alias (interactive)");
}

fn main() {
    let args: Vec<String> = env::args().collect();

    if args.len() < 2 {
        print_usage();
        return;
    }

    let command = &args[1];

    match command.as_str() {
        "list" => {
            let full = args.len() > 2 && args[2] == "--full";
            commands::list_aliases(full);
        }
        "exec" => {
            if args.len() < 3 {
                eprintln!("Usage: rbam exec <alias_name>");
                return;
            }
            commands::exec_alias(&args[2]);
        }
        "add" => {
            commands::add_alias();
        }
        _ => {
            println!("Unknown command: {}", command);
            print_usage();
        }
    }
}