sort autocomplete hashmap

This commit is contained in:
Simon Gardling 2022-05-18 08:39:54 -04:00
parent 624d50caaf
commit 828e59ae71
2 changed files with 18 additions and 9 deletions

View File

@ -47,6 +47,15 @@ pub fn compile_hashmap(data: Vec<String>) -> Vec<(String, String)> {
panic!("Number of values for {key} is 0!");
}
}
// sort
output.sort_unstable_by(|a, b| {
let new_a = format!(r#"("{}", {})"#, a.0, a.1);
let new_b = format!(r#"("{}", {})"#, b.0, b.1);
compare_len_reverse_alpha(&new_b, &new_a)
});
output
}

View File

@ -5,15 +5,15 @@ use std::collections::HashMap;
fn hashmap_gen_test() {
let data = vec!["time", "text", "test"];
let expect = vec![
("t", r#"Hint::Many(&["ime(", "ext(", "est("])"#),
("ti", r#"Hint::Single("me(")"#),
("tim", r#"Hint::Single("e(")"#),
("time", r#"Hint::Single("(")"#),
("te", r#"Hint::Many(&["xt(", "st("])"#),
("tex", r#"Hint::Single("t(")"#),
("text", r#"Hint::Single("(")"#),
("tes", r#"Hint::Single("t(")"#),
("test", r#"Hint::Single("(")"#),
("t", "Hint::Many(&[\"ime(\", \"ext(\", \"est(\"])"),
("te", "Hint::Many(&[\"xt(\", \"st(\"])"),
("tes", "Hint::Single(\"t(\")"),
("test", "Hint::Single(\"(\")"),
("tex", "Hint::Single(\"t(\")"),
("text", "Hint::Single(\"(\")"),
("ti", "Hint::Single(\"me(\")"),
("tim", "Hint::Single(\"e(\")"),
("time", "Hint::Single(\"(\")"),
];
assert_eq!(