use std::ffi::OsString;
use thiserror::Error;
use uucore::display::Quotable;
use uucore::error::UError;
use uucore::translate;
#[derive(Debug, Error)]
pub enum TacError {
#[error("{}", translate!("tac-error-invalid-regex", "error" => .0))]
InvalidRegex(regex::Error),
#[error("{}", translate!("tac-error-invalid-argument", "argument" => .0.maybe_quote()))]
InvalidArgument(OsString),
#[error("{}", translate!("tac-error-file-not-found", "filename" => .0.quote()))]
FileNotFound(OsString),
#[error("{}", translate!("tac-error-read-error", "filename" => .0.quote(), "error" => .1))]
ReadError(OsString, std::io::Error),
#[error("{}", translate!("tac-error-write-error", "error" => .0))]
WriteError(std::io::Error),
}
impl UError for TacError {
fn code(&self) -> i32 {
1
}
}