use std::str;
use error_chain;
use xmlparser;
use {
ErrorPos,
};
error_chain! {
types {
Error, ErrorKind, ResultExt, Result;
}
links {
Xml(xmlparser::Error, xmlparser::ErrorKind) #[doc = "xmlparser errors"];
Stream(xmlparser::StreamError, xmlparser::StreamErrorKind) #[doc = "'Stream' errors"];
}
errors {
InvalidNumber(pos: ErrorPos) {
display("invalid number at {}", pos)
}
InvalidLength(pos: ErrorPos) {
display("invalid length at {}", pos)
}
InvalidColor(pos: ErrorPos) {
display("invalid color at {}", pos)
}
InvalidTransform(pos: ErrorPos) {
display("invalid transform at {}", pos)
}
InvalidAttributeValue(pos: ErrorPos) {
display("invalid attribute value at {}", pos)
}
}
}
pub trait ChainedErrorExt {
fn full_chain(&self) -> String;
}
impl<T: error_chain::ChainedError> ChainedErrorExt for T {
fn full_chain(&self) -> String {
self.display_chain().to_string().trim().to_owned()
}
}