From e60c3dc46e3889f29fac70cc6be1530e2741a2f2 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Tue, 16 Aug 2022 10:28:45 +0300 Subject: fix: deal with Pandoc AST versioning Sponsored-by: author --- Cargo.lock | 1 + Cargo.toml | 8 +++++++- src/bin/pandoc-filter-diagram.rs | 2 +- src/lib.rs | 5 +++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3336ecc..3e1028d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -617,6 +617,7 @@ dependencies = [ "anyhow", "base64", "fehler", + "pandoc_ast 0.7.3", "pandoc_ast 0.8.0", "pikchr", "roadmap 0.4.3", diff --git a/Cargo.toml b/Cargo.toml index ed32d8c..4c8f5ff 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,10 +11,16 @@ description = '''render diagram markup in a Pandoc abstract syntax tree as SVG'' repository = "https://gitlab.com/larswirzenius/pandoc-filter-diagram" rust-version = "1.56.0" +[features] +default = ["ast_07"] +ast_07 = ["pandoc_ast_07"] +ast_08 = ["pandoc_ast_08"] + [dependencies] anyhow = "1.0.50" base64 = "0.13.0" -pandoc_ast = "0.8.0" +pandoc_ast_07 = { package = "pandoc_ast", version = "0.7", optional = true } +pandoc_ast_08 = { package = "pandoc_ast", version = "0.8", optional = true } pikchr = "0.1.1" roadmap = "0.4.3" serde = { version = "1.0.101", features = ["derive"] } diff --git a/src/bin/pandoc-filter-diagram.rs b/src/bin/pandoc-filter-diagram.rs index c2f808a..7a32f63 100644 --- a/src/bin/pandoc-filter-diagram.rs +++ b/src/bin/pandoc-filter-diagram.rs @@ -1,6 +1,6 @@ //! A program that can be used with the pandoc --filter option. -use pandoc_filter_diagram::DiagramFilter; +use pandoc_filter_diagram::{pandoc_ast, DiagramFilter}; use std::io::{Read, Write}; fn main() { diff --git a/src/lib.rs b/src/lib.rs index eb55090..c88fdcc 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -50,6 +50,11 @@ //! } //! ``` +#[cfg(feature = "pandoc_ast_07")] +pub extern crate pandoc_ast_07 as pandoc_ast; +#[cfg(feature = "pandoc_ast_08")] +pub extern crate pandoc_ast_08 as pandoc_ast; + use pandoc_ast::{Block, Inline, MutVisitor, Pandoc}; use std::env; use std::ffi::OsString; -- cgit v1.2.1