@@ -77,7 +77,7 @@ impl KeyTrieNode {
79 pub fn infobox(&self) -> Info {
79 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());
81 for (&key, trie) in self.iter() {
81 for (&key, trie) in self.iter() {
82 let desc = match trie {
82 let desc = match trie {
83 KeyTrie::MappableCommand(cmd) => {
83 KeyTrie::MappableCommand(cmd) => {
@@ -89,14 +89,14 @@ impl KeyTrieNode {
89 KeyTrie::Node(n) => n.name(),
89 KeyTrie::Node(n) => n.name(),
90 KeyTrie::Sequence(_) => "[Multiple commands]",
90 KeyTrie::Sequence(_) => "[Multiple commands]",
92− match body.iter().position(|(d, _)| d == &desc) {
92+ match body.iter().position(|(_, d)| d == &desc) {
93 Some(pos) => {
93 Some(pos) => {
94− body[pos].1.insert(key);
94+ body[pos].0.insert(key);
96− None => body.push((desc, BTreeSet::from([key]))),
96+ None => body.push((BTreeSet::from([key]), desc)),
99− body.sort_unstable_by_key(|(_, keys)| {
99+ body.sort_unstable_by_key(|(keys, _)| {
100 self.order
100 self.order
102 .position(|&k| k == *keys.iter().next().unwrap())
102 .position(|&k| k == *keys.iter().next().unwrap())