shadow-crypt 1.0.9

Secure password-based file encryption with filename obfuscation
Documentation
//! Binary for listing files encrypted with shadow-crypt.
//!
//! This binary provides the command-line interface for listing encrypted files in the current
//! directory, displaying their obfuscated names and metadata.

use std::process;

use shadow_crypt_shell::{
    display_error,
    errors::WorkflowError,
    listing::{cli::get_cli_args, file::ListingInput, workflow::run_workflow},
    memory::SecureString,
    password::prompt_for_password,
};

fn run() -> Result<(), WorkflowError> {
    let _args = get_cli_args(std::env::args().collect())?; // for --help and --version handling
    let work_dir = std::env::current_dir()?;
    let password: SecureString = prompt_for_password()?;
    let input = ListingInput::new(password, work_dir);

    run_workflow(input)?;
    Ok(())
}

fn main() {
    if let Err(error) = run() {
        display_error(error);
        process::exit(1);
    }
}