summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bindings.rs3
-rw-r--r--src/error.rs13
-rw-r--r--src/templatespec.rs2
3 files changed, 6 insertions, 12 deletions
diff --git a/src/bindings.rs b/src/bindings.rs
index 5c98297..a6f96ca 100644
--- a/src/bindings.rs
+++ b/src/bindings.rs
@@ -463,7 +463,8 @@ impl Bindings {
/// Add bindings from a YAML string
pub fn add_from_yaml(&mut self, yaml: &str) -> Result<(), SubplotError> {
- let bindings: Vec<ParsedBindingWrapper> = serde_yaml::from_str(yaml)?;
+ let bindings: Vec<ParsedBindingWrapper> =
+ serde_yaml::from_str(yaml).map_err(SubplotError::Metadata)?;
for wrapper in bindings {
self.add(from_hashmap(&wrapper.binding)?);
}
diff --git a/src/error.rs b/src/error.rs
index 1b95f1c..5286410 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -309,16 +309,9 @@ pub enum SubplotError {
source: serde_json::Error,
},
- /// YAML error
- ///
- /// Subplot parses YAML. This is a generic wrapper for any kinds
- /// of errors related to that.
- #[error(transparent)]
- YamlError {
- /// The wrapped error.
- #[from]
- source: serde_yaml::Error,
- },
+ /// Error parsing YAML metadata for document.
+ #[error("Failed to parse YAML metadata")]
+ Metadata(#[source] serde_yaml::Error),
/// Abstract syntax tree error.
#[error(transparent)]
diff --git a/src/templatespec.rs b/src/templatespec.rs
index 7b8723b..28ab7e1 100644
--- a/src/templatespec.rs
+++ b/src/templatespec.rs
@@ -21,7 +21,7 @@ pub struct TemplateSpec {
impl TemplateSpec {
// Create a new TemplateSpec from YAML text.
fn from_yaml(yaml: &str) -> Result<TemplateSpec, SubplotError> {
- Ok(serde_yaml::from_str(yaml)?)
+ serde_yaml::from_str(yaml).map_err(SubplotError::Metadata)
}
// Create a new TemplateSpec.