diff -r 5846bc8a2855 -r f3cd2d6eeef9 rust/rhg/src/main.rs --- a/rust/rhg/src/main.rs Fri May 20 11:02:52 2022 +0100 +++ b/rust/rhg/src/main.rs Mon Jul 11 17:27:39 2022 +0200 @@ -687,13 +687,18 @@ } let enabled: HashSet<&[u8]> = config - .get_section_keys(b"extensions") - .into_iter() - .map(|extension| { + .iter_section(b"extensions") + .filter_map(|(extension, value)| { + if value == b"!" { + // Filter out disabled extensions + return None; + } // Ignore extension suboptions. Only `required` exists for now. // `rhg` either supports an extension or doesn't, so it doesn't // make sense to consider the loading of an extension. - extension.split_2(b':').unwrap_or((extension, b"")).0 + let actual_extension = + extension.split_2(b':').unwrap_or((extension, b"")).0; + Some(actual_extension) }) .collect();