1use thiserror::Error;
2
3#[derive(Debug, Error)]
4#[error("error when parse var '{var}': {kind}")]
5pub struct VarsBuildError {
6 pub var: String,
7 pub kind: VarsParseError,
8}
9
10#[derive(Debug, Error)]
11pub enum VarsParseError {
12 #[error("unclosed brace at position {0}")]
13 UnclosedBrace(usize),
14
15 #[error("empty variable expression found at position {0}")]
16 EmptyVarName(usize),
17
18 #[error("unknown variable '{0}' found at {1}")]
19 UnknowndVar(String, usize),
20}
21
22#[derive(Debug, Error)]
23pub enum PkgsParseError {
24 #[error(transparent)]
25 VarsBuild(#[from] VarsBuildError),
26
27 #[error(transparent)]
28 VarsParse(#[from] VarsParseError),
29
30 #[error("could not get filename from path '{0}'")]
31 NoneFilename(String),
32}