feat: add Display functionality for config errs

main
Angelo Fallaria 2 years ago
parent f78e40c67c
commit 9567883fed

@ -1,7 +1,7 @@
use std::collections::HashMap; use std::collections::HashMap;
use std::fs::File; use std::fs::File;
use std::io::Read; use std::io::Read;
use std::{path, fmt}; use std::{fmt, path};
#[derive(Debug)] #[derive(Debug)]
pub enum Error { pub enum Error {
@ -33,21 +33,19 @@ impl fmt::Display for Error {
match &*self { match &*self {
Error::ConfigNotFound => "Config file not found.".fmt(f), Error::ConfigNotFound => "Config file not found.".fmt(f),
Error::Io(io_err) => Error::Io(io_err) => format!("I/O Error while parsing config file: {}", io_err).fmt(f),
format!("I/O Error while parsing config file: {}", io_err)
.fmt(f),
Error::InvalidConfig(parse_err) => match parse_err { Error::InvalidConfig(parse_err) => match parse_err {
ParseError::UnknownSymbol(line_nr) => ParseError::UnknownSymbol(line_nr) => {
format!("Unknown symbol at line {}.", line_nr) format!("Unknown symbol at line {}.", line_nr).fmt(f)
.fmt(f), }
ParseError::InvalidKeysym(line_nr) => ParseError::InvalidKeysym(line_nr) => {
format!("Invalid keysym at line {}.", line_nr) format!("Invalid keysym at line {}.", line_nr).fmt(f)
.fmt(f), }
ParseError::InvalidModifier(line_nr) => ParseError::InvalidModifier(line_nr) => {
format!("Invalid modifier at line {}.", line_nr) format!("Invalid modifier at line {}.", line_nr).fmt(f)
.fmt(f), }
} },
} }
} }
} }

Loading…
Cancel
Save