summaryrefslogtreecommitdiff
path: root/src/error.rs
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2021-09-14 14:14:38 +0300
committerLars Wirzenius <liw@liw.fi>2021-09-16 16:40:18 +0300
commit458525d21c9960d98fa932be06cf133cd910ce7b (patch)
tree08f3d913e388c5870231b757f64ed0fe157ba105 /src/error.rs
parent9198b69c561e582704dbd99000d59e474c406a67 (diff)
downloadsubplot-458525d21c9960d98fa932be06cf133cd910ce7b.tar.gz
feat! parse Markdown input with pull-cmark instead of Pandoc
This is a first step towards being able to use Subplot codegen from a project's build.rs, and with only pure-Rust build dependencies. Replace Pandoc for parsing Markdown input with pulldown-cmark. This is mostly a drop-in replacement, but not entirely. The YAML parsing is more strict now. Note that this is a breaking change. Some subplots that used to work, and still work with docgen, no longer work with the new parser. Major differences are: * Only specific fields are supported. All the Markdown files in the Subplot source tree work. If anything else is needed, and it likely is, the new parser needs to be extended. * The bindings, functions, classes, and bibliography fields MUST be lists of strings. A single string value will no longer work. Sponsored-by: pep.foundation
Diffstat (limited to 'src/error.rs')
-rw-r--r--src/error.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/error.rs b/src/error.rs
index 92e8edb..e69bffe 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -165,7 +165,7 @@ pub enum SubplotError {
///
/// Names of embedded files must be unique in the input document,
/// but Subplot found at least one with the same name as another.
- #[error("Duplicate embedded file name: {0}")]
+ #[error("Duplicate embedded file name: {0:?}")]
DuplicateEmbeddedFilename(String),
/// Embedded file has more than one `add-newline` attribute
@@ -287,6 +287,14 @@ pub enum SubplotError {
#[from]
source: serde_yaml::Error,
},
+
+ /// Abstract syntax tree error.
+ #[error(transparent)]
+ Ast(#[from] crate::ast::Error),
+
+ /// UTF8 conversion error.
+ #[error(transparent)]
+ Utf8Error(#[from] std::str::Utf8Error),
}
impl SubplotError {