use crate::numberparse::ParseNumberError;
use thiserror::Error;
use uucore::display::Quotable;
use uucore::error::UError;
#[derive(Debug, Error)]
pub enum SeqError {
#[error("invalid {} argument: {}", parse_error_type(.1), .0.quote())]
ParseError(String, ParseNumberError),
#[error("invalid Zero increment value: {}", .0.quote())]
ZeroIncrement(String),
#[error("missing operand")]
NoArguments,
#[error("format string may not be specified when printing equal width strings")]
FormatAndEqualWidth,
}
fn parse_error_type(e: &ParseNumberError) -> &'static str {
match e {
ParseNumberError::Float => "floating point",
ParseNumberError::Nan => "'not-a-number'",
}
}
impl UError for SeqError {
fn code(&self) -> i32 {
1
}
fn usage(&self) -> bool {
true
}
}