chiark / gitweb /
shapelib, subst: Allow groups to provide magic substs
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 15 May 2022 15:48:51 +0000 (16:48 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 15 May 2022 20:41:22 +0000 (21:41 +0100)
Otherwise they might have to recapitulate the template.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/shapelib-toml.rs
src/shapelib.rs

index 5dd16c5d6a130e9b2608c52be12f91883492ea93..5de8d5725d10e6249bfdb4ae43baf7b2c69d6b82 100644 (file)
@@ -37,6 +37,7 @@ pub struct MagicDetails {
   #[serde(default)] pub item_prefix: String,
   #[serde(default)] pub item_suffix: String,
   pub template: String,
+  #[serde(default)] pub substs: HashMap<String,String>,
 }
 
 #[derive(Debug,Deserialize,Copy,Clone)]
index f4adef5a1f0589075f8e0b41a3fb2fd83345fe33..a3d71d31b489878f61069ec5ee9edde579dd417b 100644 (file)
@@ -1444,6 +1444,7 @@ fn process_files_entry(
       let mut spec = c_colour_all(spec.into())?.is_y()?;
       for (k,v) in chain!{
         fe.extra_fields.iter().filter(|(k,_v)| k.starts_with('x')),
+        &magic.substs,
       } {
         spec = substn(spec, format!("${{{}}}", k), v)?;
       }