mirror of
https://github.com/sharkdp/bat
synced 2026-08-06 19:21:43 +00:00
Updates for review of PR 899
This commit is contained in:
committed by
David Peter
parent
014d754588
commit
42e3825daf
+7
-40
@@ -2,20 +2,20 @@ use error_chain::error_chain;
|
||||
|
||||
error_chain! {
|
||||
foreign_links {
|
||||
Clap(clap::Error);
|
||||
Io(std::io::Error);
|
||||
SyntectError(syntect::LoadingError);
|
||||
ParseIntError(std::num::ParseIntError);
|
||||
GlobParsingError(globset::Error);
|
||||
Clap(::clap::Error) #[cfg(feature = "application")];
|
||||
Io(::std::io::Error);
|
||||
SyntectError(::syntect::LoadingError);
|
||||
ParseIntError(::std::num::ParseIntError);
|
||||
GlobParsingError(::globset::Error);
|
||||
}
|
||||
}
|
||||
|
||||
pub fn default_error_handler(error: &Error) {
|
||||
match error {
|
||||
Error(ErrorKind::Io(ref io_error), _)
|
||||
if io_error.kind() == std::io::ErrorKind::BrokenPipe =>
|
||||
if io_error.kind() == ::std::io::ErrorKind::BrokenPipe =>
|
||||
{
|
||||
std::process::exit(0);
|
||||
::std::process::exit(0);
|
||||
}
|
||||
_ => {
|
||||
use ansi_term::Colour::Red;
|
||||
@@ -23,36 +23,3 @@ pub fn default_error_handler(error: &Error) {
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// Mock out a type for clap::Error if we aren't pulling in a dependency on clap.
|
||||
//
|
||||
// This can be removed after migrating away from error_chain to some modern
|
||||
// derive-based error library such as thiserror, in favor of:
|
||||
//
|
||||
// #[derive(Error)]
|
||||
// pub enum Error {
|
||||
// #[cfg(feature = "application")]
|
||||
// Clap(clap::Error),
|
||||
// ...
|
||||
// }
|
||||
//
|
||||
#[cfg(not(feature = "application"))]
|
||||
mod clap {
|
||||
use std::fmt::{self, Debug, Display};
|
||||
|
||||
pub struct Error(());
|
||||
|
||||
impl Display for Error {
|
||||
fn fmt(&self, _formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||
unreachable!()
|
||||
}
|
||||
}
|
||||
|
||||
impl Debug for Error {
|
||||
fn fmt(&self, _formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||
unreachable!()
|
||||
}
|
||||
}
|
||||
|
||||
impl std::error::Error for Error {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user