diff --git a/crates/generate/src/generate.rs b/crates/generate/src/generate.rs index 61d5e3f51..c90bde449 100644 --- a/crates/generate/src/generate.rs +++ b/crates/generate/src/generate.rs @@ -76,7 +76,7 @@ pub type GenerateResult = Result; #[derive(Debug, Error, Serialize, Deserialize)] pub enum GenerateError { #[error("Error with specified path -- {0}")] - GrammarPath(String), + GrammarPath(IoError), #[error(transparent)] IO(IoError), #[cfg(feature = "load")] @@ -347,7 +347,7 @@ where let path_buf: PathBuf = path.into(); if !path_buf .try_exists() - .map_err(|e| GenerateError::GrammarPath(e.to_string()))? + .map_err(|e| GenerateError::GrammarPath(IoError::new(e, Some(&path_buf))))? { // A nonexistent path with an extension (i.e. tree-sitter-foo/grammar.json) // is a missing input file, not a directory to create.