use crate::numberparse::ParseNumberError;
use thiserror::Error;
use uucore::display::Quotable;
use uucore::error::UError;
use uucore::translate;
#[derive(Debug, Error)]
pub enum SeqError {
#[error("{}", translate!("seq-error-parse", "type" => parse_error_type(.1), "arg" => .0.quote()))]
ParseError(String, ParseNumberError),
#[error("{}", translate!("seq-error-zero-increment", "arg" => .0.quote()))]
ZeroIncrement(String),
#[error("{}", translate!("seq-error-no-arguments"))]
NoArguments,
#[error(
"{}",
translate!("seq-error-format-and-equal-width")
)]
FormatAndEqualWidth,
}
fn parse_error_type(e: &ParseNumberError) -> String {
match e {
ParseNumberError::Float => translate!("seq-parse-error-type-float"),
ParseNumberError::Nan => translate!("seq-parse-error-type-nan"),
}
}
impl UError for SeqError {
fn code(&self) -> i32 {
1
}
fn usage(&self) -> bool {
true
}
}