From 8916d17e4b77ef2d199128014da80c4a34cb17fe Mon Sep 17 00:00:00 2001 From: Jan-Erik Rediger Date: Wed, 6 Jan 2021 14:39:52 +0100 Subject: [PATCH] Parse max-level --- src/lib.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index 63fca7b..eee96bd 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -17,12 +17,14 @@ static DEFAULT_MARKER: &str = "\n"; struct Config { marker: String, + max_level: u32, } impl Default for Config { fn default() -> Config { Config { marker: DEFAULT_MARKER.into(), + max_level: 4, } } } @@ -50,6 +52,19 @@ impl<'a> TryFrom> for Config { cfg.marker = marker.into(); } + if let Some(level) = mdbook_cfg.get("max-level") { + let level = match level.as_integer() { + Some(l) => l, + None => { + return Err(Error::msg(format!( + "Level {:?} is not a valid integer", + level + ))) + } + }; + cfg.max_level = level.try_into()?; + } + Ok(cfg) } }