}
}
+ let is_source = key.split('.').next().unwrap_or("") == "SOURCE";
+
let mut filename = if let Some(name) = self.patterns.get(&Scope::create_local(key)) {
Ok(name.to_string())
} else if let Some(name) = self.patterns.get(&Scope::create_global(key)) {
.pattern
.join(key.replace(".", "/") + ".meta")
.exists()
+ || is_source
{
Ok(String::new())
} else if self.header.panic_default {
}
let pattern_path = key.replace('.', "/") + "/" + &filename;
- let mut path = self.opts.pattern.join(pattern_path);
- path.set_extension("meta");
+ let mut path = if is_source {
+ let pattern_path = pattern_path.replace("SOURCE/", "");
+ self.opts.source.join(pattern_path)
+ } else {
+ self.opts.pattern.join(pattern_path)
+ };
+
+ path.set_extension("meta");
let mut pattern = MetaFile::build(path, self.opts)?;
// copy over maps for expanding contained variables
pattern.merge(self);
- if pattern.header.pandoc.unwrap_or(false) {
+ if pattern.header.pandoc.unwrap_or(false) || is_source {
pattern.pandoc()
} else {
pattern.get_source()
"<html>\n<h1 id=\"good\">GOOD</h1>\n\n\n</html>\n"
);
+unit_test!(
+ include_source,
+ "expand/source",
+ "<html>\n<p>GOOD GOOD</p>\n\n\n\n</html>\n"
+);
+
panic_test!(ignore, "ignore.meta", "");
#[test]