librashader_presets/
error.rs1use std::path::PathBuf;
2use thiserror::Error;
3
4#[derive(Error, Debug)]
6pub enum ParsePresetError {
7 #[error("shader preset lexing error")]
9 LexerError { offset: usize, row: u32, col: usize },
10 #[error("shader preset parse error")]
12 ParserError {
13 offset: usize,
14 row: u32,
15 col: usize,
16 kind: ParseErrorKind,
17 },
18 #[error("invalid scale type")]
20 InvalidScaleType(String),
21 #[error("exceeded maximum reference depth (16)")]
23 ExceededReferenceDepth,
24 #[error("shader presets must be resolved against an absolute path")]
26 RootPathWasNotAbsolute,
27 #[error("io error on file {0:?}: {1}")]
29 IOError(PathBuf, std::io::Error),
30 #[error("expected utf8 bytes but got invalid utf8")]
32 Utf8Error(Vec<u8>),
33}
34
35#[derive(Debug)]
37pub enum ParseErrorKind {
38 Index(&'static str),
40 Int,
42 UnsignedInt,
44 Float,
46 Bool,
48}