From 214e3bc4b675b08ce4df76b1373f4548949e67ee Mon Sep 17 00:00:00 2001 From: Akshay Date: Tue, 19 Oct 2021 15:58:46 +0530 Subject: fully flesh out CLI --- bin/src/err.rs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 bin/src/err.rs (limited to 'bin/src/err.rs') diff --git a/bin/src/err.rs b/bin/src/err.rs new file mode 100644 index 0000000..b3a79c2 --- /dev/null +++ b/bin/src/err.rs @@ -0,0 +1,28 @@ +use std::{io, path::PathBuf}; + +use globset::ErrorKind; +use rnix::parser::ParseError; +use thiserror::Error; + +#[derive(Error, Debug)] +pub enum ConfigErr { + #[error("error parsing glob `{0:?}`: {1}")] + InvalidGlob(Option, ErrorKind), + + #[error("path error: {0}")] + InvalidPath(#[from] io::Error), +} + +#[derive(Error, Debug)] +pub enum LintErr { + #[error("[{0}] syntax error: {1}")] + Parse(PathBuf, ParseError), +} + +#[derive(Error, Debug)] +pub enum StatixErr { + #[error("linter error: {0}")] + Lint(#[from] LintErr), + #[error("config error: {0}")] + Config(#[from] ConfigErr), +} -- cgit v1.2.3