1
0
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:
David Tolnay
2020-03-30 13:18:41 -07:00
committed by David Peter
parent 014d754588
commit 42e3825daf
5 changed files with 44 additions and 62 deletions
+7 -40
View File
@@ -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 {}
}