diff --git a/crates/rari-doc/src/helpers/subpages.rs b/crates/rari-doc/src/helpers/subpages.rs index 45043709..b5af474c 100644 --- a/crates/rari-doc/src/helpers/subpages.rs +++ b/crates/rari-doc/src/helpers/subpages.rs @@ -276,7 +276,7 @@ fn split_into_parts(s: &str) -> Vec<(bool, &str)> { let mut end = 0; let mut in_number = false; - for c in s.chars() { + for (i, c) in s.char_indices() { if c.is_ascii_digit() || c == '.' { if !in_number { if start != end { @@ -292,7 +292,7 @@ fn split_into_parts(s: &str) -> Vec<(bool, &str)> { } in_number = false; } - end += 1 + end = i + c.len_utf8() } if start != end { diff --git a/crates/rari-types/src/settings.rs b/crates/rari-types/src/settings.rs index caf98849..75ec7caa 100644 --- a/crates/rari-types/src/settings.rs +++ b/crates/rari-types/src/settings.rs @@ -78,7 +78,12 @@ impl Settings { } let s = s .add_source(File::with_name(".config.toml").required(false)) - .add_source(Environment::default()) + .add_source( + Environment::default() + .list_separator(",") + .with_list_parse_key("additional_locales_for_generics_and_spas") + .try_parsing(true), + ) .build()?; let mut settings: Self = s.try_deserialize::()?.validate();