You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: mod.rs
    path of file: ./repos/zola/components/markdown/src/shortcode
    
    the code of the file until where you have to start completion: use std::collections::HashMap;

use errors::{Error, Result};
use libs::tera;
use utils::templates::{ShortcodeDefinition, ShortcodeFileType};

mod parser;

pub(crate) use parser::{parse_for_shortcodes, Shortcode, SHORTCODE_PLACEHOLDER};

/// Extracts the shortcodes present in the source, check if we know them and errors otherwise
pub fn extrac
    
    fn can_insert_md_shortcodes() {
        let mut tera = templates::ZOLA_TERA.clone();

        tera.add_raw_template("shortcodes/a.md", "{{ nth }}").unwrap();
        tera.add_raw_template("shortcodes/bodied.md", "{{ body }}").unwrap();

        let tera_context = tera::Context::new();
        assert_eq!(
            insert_md_shortcodes(
                format!("{}{}", SHORTCODE_PLACEHOLDER, SHORTCODE_PLACEHOLDER),
                vec![
                    Shortcode {
                        name: "a".to_string(),
                        args: to_value(&HashMap::<u8, u8>::new()).unwrap(),
                        span: 0..SHORTCODE_PLACEHOLDER.len(),
                        body: None,
                        nth: 1,
                        tera_name: "shortcodes/a.md".to_owned(),
                    },
                    Shortcode {
                        name: "a".to_string(),
                        args: to_value(&HashMap::<u8, u8>::new()).unwrap(),
                        span: SHORTCODE_PLACEHOLDER.len()..(2 * SHORTCODE_PLACEHOLDER.len()),
                        body: None,
                        nth: 2,
                        tera_name: "shortcodes/a.md".to_owned(),
                    }
                ],
                &tera_context,
                &tera
            )
            .unwrap()
            .0,
            "12".to_string()
        );

        assert_eq!(
            insert_md_shortcodes(
                format!("Much wow {}", SHORTCODE_PLACEHOLDER),
                vec![Shortcode {
                    name: "bodied".to_string(),
                    args: to_value(&HashMap::<u8, u8>::new()).unwrap(),
                    span: 9..(9 + SHORTCODE_PLACEHOLDER.len()),
                    body: Some("Content of the body".to_owned()),
                    nth: 1,

                    tera_name: "shortcodes/bodied.md".to_owned(),
                },],
                &tera_context,
                &tera
            )
            .unwrap()
            .0,
            "Much wow Content of the body".to_string()
        );
    }