summaryrefslogtreecommitdiff
path: root/src/errors.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/errors.rs')
-rw-r--r--src/errors.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/errors.rs b/src/errors.rs
index 607eecb..282b5c5 100644
--- a/src/errors.rs
+++ b/src/errors.rs
@@ -1,5 +1,31 @@
+use std::path::PathBuf;
+
#[derive(Debug, thiserror::Error)]
pub enum BumperError {
+ #[error("Can't figure out what kind of project: {0}")]
+ UnknownProjectKind(PathBuf),
+
+ #[error("Couldn't read file {0}: {1}")]
+ Read(PathBuf, #[source] std::io::Error),
+
+ #[error("Couldn't write file {0}: {1}")]
+ Write(PathBuf, #[source] std::io::Error),
+
+ #[error("Couldn't find Cargo.toml in {0}: {1}")]
+ CargoTomlNotFound(PathBuf, #[source] cargo_edit::Error),
+
+ #[error("Couldn't parse Cargo.toml from {0}: {1}")]
+ FromToml(PathBuf, #[source] cargo_edit::Error),
+
+ #[error("Couldn't create Cargo.toml manifest to {0}: {1}")]
+ WriteToml(PathBuf, #[source] cargo_edit::Error),
+
+ #[error("Cargo.toml doesn't have a 'package' table")]
+ NoPackage(#[source] cargo_edit::Error),
+
+ #[error("'project' in Cargo.toml is not a table")]
+ ProjectNotTable,
+
#[error("Failed to run git: {0}")]
GitInvoke(#[source] std::io::Error),