From 8b67acf130e12cf8aaa439fe19ea7b8917db300b Mon Sep 17 00:00:00 2001 From: Gokul Soumya Date: Tue, 21 Jun 2022 22:16:50 +0530 Subject: Format keys identically in statusline and command palette (#2790) The command palette previously used + as a delimiter for denoting a single key in a key sequence, (like C+w). This was at odds with how the statusline displayed them with pending keys (like ). This patch changes the palette formatting to the statusline formatting--- helix-term/src/commands.rs | 5 ++--- helix-term/src/ui/editor.rs | 8 +------- 2 files changed, 3 insertions(+), 10 deletions(-) (limited to 'helix-term') diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs index d7937ff5..d4fa34e0 100644 --- a/helix-term/src/commands.rs +++ b/helix-term/src/commands.rs @@ -2237,9 +2237,8 @@ pub fn command_palette(cx: &mut Context) { .iter() .map(|bind| { bind.iter() - .map(|key| key.to_string()) - .collect::>() - .join("+") + .map(|key| key.key_sequence_format()) + .collect::() }) .collect::>() .join(", ") diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs index ec25ce94..dc6362c6 100644 --- a/helix-term/src/ui/editor.rs +++ b/helix-term/src/ui/editor.rs @@ -13,7 +13,6 @@ use helix_core::{ }, movement::Direction, syntax::{self, HighlightEvent}, - unicode::segmentation::UnicodeSegmentation, unicode::width::UnicodeWidthStr, LineEnding, Position, Range, Selection, Transaction, }; @@ -1391,12 +1390,7 @@ impl Component for EditorView { disp.push_str(&count.to_string()) } for key in self.keymaps.pending() { - let s = key.to_string(); - if s.graphemes(true).count() > 1 { - disp.push_str(&format!("<{}>", s)); - } else { - disp.push_str(&s); - } + disp.push_str(&key.key_sequence_format()); } if let Some(pseudo_pending) = &cx.editor.pseudo_pending { disp.push_str(pseudo_pending.as_str()) -- cgit v1.2.3-70-g09d2