@@ -77,7 +77,7 @@ impl KeyTrieNode {
7777 }
7878
7979 pub fn infobox(&self) -> Info {
80− let mut body: Vec<(&str, BTreeSet<KeyEvent>)> = Vec::with_capacity(self.len());
80+ let mut body: Vec<(BTreeSet<KeyEvent>, &str)> = Vec::with_capacity(self.len());
8181 for (&key, trie) in self.iter() {
8282 let desc = match trie {
8383 KeyTrie::MappableCommand(cmd) => {
@@ -89,14 +89,14 @@ impl KeyTrieNode {
8989 KeyTrie::Node(n) => n.name(),
9090 KeyTrie::Sequence(_) => "[Multiple commands]",
9191 };
92− match body.iter().position(|(d, _)| d == &desc) {
92+ match body.iter().position(|(_, d)| d == &desc) {
9393 Some(pos) => {
94− body[pos].1.insert(key);
94+ body[pos].0.insert(key);
9595 }
96− None => body.push((desc, BTreeSet::from([key]))),
96+ None => body.push((BTreeSet::from([key]), desc)),
9797 }
9898 }
99− body.sort_unstable_by_key(|(_, keys)| {
99+ body.sort_unstable_by_key(|(keys, _)| {
100100 self.order
101101 .iter()
102102 .position(|&k| k == *keys.iter().next().unwrap())