]> git.huck.website - metaforge.git/commitdiff
added: expansions can now directly call pattern files without definition
authorHuck Boles <huck@huck.website>
Sun, 21 May 2023 21:22:35 +0000 (16:22 -0500)
committerHuck Boles <huck@huck.website>
Sun, 21 May 2023 21:22:35 +0000 (16:22 -0500)
Cargo.lock
files/test_site/source/unit_tests/expand/file.meta [new file with mode: 0644]
src/metafile/dir.rs
src/metafile/file/patterns.rs
src/tests.rs

index a52e12c3457efdc22cf2d0092ad92756a347baad..00ed6e9e52d8afdefba6efc94874ede5faba3502 100644 (file)
@@ -524,7 +524,6 @@ dependencies = [
  "pandoc",
  "pest",
  "pest_derive",
- "rayon",
  "thiserror",
 ]
 
diff --git a/files/test_site/source/unit_tests/expand/file.meta b/files/test_site/source/unit_tests/expand/file.meta
new file mode 100644 (file)
index 0000000..5c0b9fe
--- /dev/null
@@ -0,0 +1 @@
+&{test.good}
index b12d8f1e9baa84807b831cae8e6442426b4c2098..c24654d1142e3dc5c40d8245350f94c3899ed350 100644 (file)
@@ -1,6 +1,5 @@
 use crate::{MetaError, Options};
 use eyre::Result;
-use rayon::prelude::*;
 use std::{fs, path::PathBuf};
 
 use super::*;
index b3a2871128c8525140ec82fe6821d3bd2ef32e1d..1df58444fd9d3750cce0693bb18b55389d7f4a6d 100644 (file)
@@ -16,6 +16,13 @@ impl<'a> MetaFile<'a> {
             Ok(name.to_string())
         } else if let Some(name) = self.patterns.get(&Scope::into_global(key)) {
             Ok(name.to_string())
+        } else if self
+            .opts
+            .pattern
+            .join(key.replace(".", "/") + ".meta")
+            .exists()
+        {
+            Ok(String::new())
         } else if self.header.panic_default {
             Err(MetaError::UndefinedDefault {
                 pattern: key.to_string(),
index 6276cfbd1c2be32ddb4851b06cb66eeaeabed34d..7c5174f0d908c54badba2fff128f8a4b33acc4f7 100644 (file)
@@ -81,6 +81,12 @@ unit_test!(
 
 unit_test!(header_blank, "header/blank", "");
 
+unit_test!(
+    pat_file,
+    "expand/file.meta",
+    "<html>\n<p>GOOD</p>\n</html>\n"
+);
+
 #[test]
 fn test_filetype_header() -> Result<()> {
     let dir = PathBuf::from("files/test_site").canonicalize()?;