From 5906a497322277da04e6b4a3f7dc8b558b45e38a Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Wed, 28 Dec 2022 18:28:32 +0200 Subject: refactor: drop unused extract_metadata function This was orphaned when we dropped the functionality to extract YAML metadata embedded in the Markdown source. Because the function was exported, tools didn't complain that it's unused. Sponsored-by: author --- src/ast.rs | 45 --------------------------------------------- src/lib.rs | 2 +- 2 files changed, 1 insertion(+), 46 deletions(-) diff --git a/src/ast.rs b/src/ast.rs index 14a57be..e638464 100644 --- a/src/ast.rs +++ b/src/ast.rs @@ -46,51 +46,6 @@ impl AbstractSyntaxTree { } } -/// Extract YAML metadata from a Markdown document. -pub fn extract_metadata(markdown: &str) -> Result<(YamlMetadata, &str), Error> { - trace!("Extracting YAML from Markdown"); - let (yaml, md) = if let Some((yaml, markdown)) = get_yaml(&LEADING_YAML_PATTERN, markdown) { - trace!("Found leading YAML: {:?}", yaml); - (yaml, markdown) - } else if let Some((yaml, _markdown)) = get_yaml(&TRAILING_YAML_PATTERN, markdown) { - trace!("Found trailing YAML: {:?}", yaml); - (yaml, markdown) - } else { - trace!("No YAML to be found"); - return Err(Error::NoMetadata); - }; - let meta = YamlMetadata::new(yaml)?; - trace!("Parsing markdown: OK"); - Ok((meta, md)) -} - -// Extract a YAML metadata block using a given regex. -fn get_yaml<'a>(pat: &Regex, markdown: &'a str) -> Option<(&'a str, &'a str)> { - trace!("Markdown: {:?}", markdown); - if let Some(c) = pat.captures(markdown) { - trace!("YAML regex matches: {:?}", c); - let yaml = c.name("yaml"); - let text = c.name("text"); - trace!("YAML metadata: {:?}", yaml); - trace!("markdown: {:?}", text); - if yaml.is_some() && text.is_some() { - trace!("YAML regex captures YAML and text"); - let yaml = yaml?; - let text = text?; - let yaml = &markdown[yaml.start()..yaml.end()]; - let text = &markdown[text.start()..text.end()]; - assert!(yaml.starts_with("---")); - assert!(yaml.ends_with("...\n")); - return Some((yaml, text)); - } else { - trace!("YAML regex fails to capture YAML"); - } - } else { - trace!("YAML regex does not match"); - } - None -} - // Parse Markdown into a sequence of Blocks. fn parse_blocks(markdown: &str) -> Vec { trace!("Parsing blocks"); diff --git a/src/lib.rs b/src/lib.rs index 725e49c..4a3ae81 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -73,4 +73,4 @@ mod codegen; pub use codegen::generate_test_program; mod ast; -pub use ast::{extract_metadata, AbstractSyntaxTree, YamlMetadata}; +pub use ast::{AbstractSyntaxTree, YamlMetadata}; -- cgit v1.2.1