prmt 0.6.0

Ultra-fast, customizable shell prompt generator with zero-copy parsing
Documentation
use thiserror::Error;

#[derive(Error, Debug)]
pub enum PromptError {
    #[error("Unknown module: {0}")]
    UnknownModule(String),

    #[error("Module '{0}' panicked while rendering")]
    ModulePanic(String),

    #[error("Style error for module '{module}': {error}")]
    StyleError { module: String, error: String },

    #[error("Invalid format '{format}' for module '{module}'. Valid formats: {valid_formats}")]
    InvalidFormat {
        module: String,
        format: String,
        valid_formats: String,
    },

    #[error("I/O error: {0}")]
    IoError(#[from] std::io::Error),

    #[error("UTF-8 conversion error")]
    Utf8Error(#[from] std::string::FromUtf8Error),
}

pub type Result<T> = std::result::Result<T, PromptError>;