markdown_parser/
error.rs
1use std::borrow::Cow;
2
3use quick_error::quick_error;
4
5use crate::Format;
6
7#[derive(Debug)]
8pub enum ParseError {
9 BadFormat(Format),
10 MissingAllFormat,
11}
12
13#[cfg(feature = "adapt")]
14quick_error! {
15 #[derive(Debug)]
16 #[cfg(feature = "adapt")]
17 pub enum SerdeError {
18 JsonError(err: serde_json::Error) {
19 from()
20 }
21
22 YamlError(err: serde_yaml::Error) {
23 from()
24 }
25
26 TomlSerError(err: toml::ser::Error) {
27 from()
28 }
29
30 TomlDeError(err: toml::de::Error) {
31 from()
32 }
33 }
34}
35
36quick_error! {
37 #[derive(Debug)]
38 pub enum Error {
39
40 IO(err: std::io::Error) {
41 from()
42 }
43
44 Regex(err: regex::Error) {
45 from()
46 }
47
48 Parse(err: ParseError) {
49 from()
50 }
51
52 #[cfg(feature = "adapt")]
53 Serde(err: SerdeError) {
54 from()
55 from(err: toml::de::Error) -> (SerdeError::from(err))
56 from(err: toml::ser::Error) -> (SerdeError::from(err))
57 from(err: serde_json::Error) -> (SerdeError::from(err))
58 from(err: serde_yaml::Error) -> (SerdeError::from(err))
59 }
60
61 Unexpected(err: Cow<'static, str>) {
62 from()
63 }
64 }
65}