From 6d1d0c6a3fe8d2452bb47e7db95e6193a9c58254 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 14 May 2022 15:33:22 +0100 Subject: [PATCH] shapelib subst: Provide subst arg to colour_subst_1 We're going to want to call substn too. Signed-off-by: Ian Jackson --- src/shapelib.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/shapelib.rs b/src/shapelib.rs index aa04c4b6..380f657f 100644 --- a/src/shapelib.rs +++ b/src/shapelib.rs @@ -1211,11 +1211,12 @@ fn process_files_entry( }, }; - fn colour_subst_1<'s>(substitutor: Option<(&'static str, &'s str)>) + fn colour_subst_1<'s, S>(subst: S, kv: Option<(&'static str, &'s str)>) -> impl for <'i> Fn(&'i str) -> Result, SubstError> + 's + where S: Fn(&str, &'static str, &str) -> Result + 's { move |input| Ok( - if let Some((keyword, val)) = substitutor { + if let Some((keyword, val)) = kv { subst(input, keyword, val)?.into() } else { input.into() @@ -1227,8 +1228,8 @@ fn process_files_entry( c_colour: Option<(&'static str, &str)>, c_abbrev: Option<(&'static str, &str)>, | { - let c_colour = colour_subst_1(c_colour); - let c_abbrev = colour_subst_1(c_abbrev); + let c_colour = colour_subst_1(subst, c_colour); + let c_abbrev = colour_subst_1(subst, c_abbrev); let sort = sort.as_deref().map(|v| c_abbrev(v)).transpose()?; let sort = sort.map(|s| s.into_owned()); -- 2.30.2