on master help sign in
Place `Info::from_keymap()` contents in `keymap.infobox()`:
3d0bc72gibbz00
helix-term/src/keymap.rs+9−1
@@ -102,7 +102,15 @@ impl KeyTrieNode {
102 .position(|&k| k == *keys.iter().next().unwrap())
102 .position(|&k| k == *keys.iter().next().unwrap())
103 .unwrap()
103 .unwrap()
104 });
104 });
105+
106+ let body: Vec<_> = body
107+ .into_iter()
108+ .map(|(events, desc)| {
109+ let events = events.iter().map(ToString::to_string).collect::<Vec<_>>();
110+ (events.join(", "), desc)
111+ })
112+ .collect();
105− Info::from_keymap(self.name(), body)
113+ Info::new(self.name(), &body)
106 }
114 }
107}
115}
108
116
helix-view/src/info.rs+1−14
@@ -1,6 +1,5 @@
1−use crate::input::KeyEvent;
2use helix_core::{register::Registers, unicode::width::UnicodeWidthStr};
1use helix_core::{register::Registers, unicode::width::UnicodeWidthStr};
3−use std::{collections::BTreeSet, fmt::Write};
2+use std::fmt::Write;
4
3
5#[derive(Debug)]
4#[derive(Debug)]
6/// Info box used in editor. Rendering logic will be in other crate.
5/// Info box used in editor. Rendering logic will be in other crate.
@@ -55,18 +54,6 @@ impl Info {
55 }
54 }
56 }
55 }
57
56
58− pub fn from_keymap(title: &str, body: Vec<(BTreeSet<KeyEvent>, &str)>) -> Self {
59− let body: Vec<_> = body
60− .into_iter()
61− .map(|(events, desc)| {
62− let events = events.iter().map(ToString::to_string).collect::<Vec<_>>();
63− (events.join(", "), desc)
64− })
65− .collect();
66−
67− Self::new(title, &body)
68− }
69−
70 pub fn from_registers(registers: &Registers) -> Self {
57 pub fn from_registers(registers: &Registers) -> Self {
71 let body: Vec<_> = registers
58 let body: Vec<_> = registers
72 .inner()
59 .inner()