Struct crokey::KeyCombinationFormat
source · pub struct KeyCombinationFormat {
pub control: String,
pub alt: String,
pub shift: String,
pub enter: String,
pub uppercase_shift: bool,
pub key_separator: String,
}
Expand description
A formatter to produce key combinations descriptions.
use {
crokey::*,
crossterm::event::{
KeyCode,
KeyEvent,
KeyModifiers,
},
};
let format = KeyCombinationFormat::default();
assert_eq!(format.to_string(key!(shift-a)), "Shift-a");
assert_eq!(format.to_string(key!(ctrl-c)), "Ctrl-c");
// A more compact format
let format = KeyCombinationFormat::default()
.with_implicit_shift()
.with_control("^");
assert_eq!(format.to_string(key!(shift-a)), "A");
assert_eq!(format.to_string(key!(ctrl-c)), "^c");
// A long format with lowercased modifiers
let format = KeyCombinationFormat::default()
.with_lowercase_modifiers();
assert_eq!(format.to_string(key!(ctrl-enter)), "ctrl-Enter");
assert_eq!(format.to_string(key!(home)), "Home");
assert_eq!(
format.to_string(
KeyCombination::new(
KeyCode::F(6),
KeyModifiers::ALT,
)
),
"alt-F6",
);
assert_eq!(
format.to_string(
KeyCombination::new(
(KeyCode::Char('u'), KeyCode::Char('i')),
KeyModifiers::NONE,
)
),
"i-u",
);
Fields§
§control: String
§alt: String
§shift: String
§enter: String
§uppercase_shift: bool
§key_separator: String
Implementations§
source§impl KeyCombinationFormat
impl KeyCombinationFormat
pub fn with_lowercase_modifiers(self) -> Self
pub fn with_control<S: Into<String>>(self, s: S) -> Self
pub fn with_alt<S: Into<String>>(self, s: S) -> Self
pub fn with_shift<S: Into<String>>(self, s: S) -> Self
pub fn with_implicit_shift(self) -> Self
sourcepub fn format<K: Into<KeyCombination>>(
&self,
key: K
) -> FormattedKeyCombination<'_>
pub fn format<K: Into<KeyCombination>>( &self, key: K ) -> FormattedKeyCombination<'_>
return a wrapper of the key implementing Display
use crokey::*;
let format = KeyCombinationFormat::default();
let k = format.format(key!(f6));
let s = format!("k={}", k);
assert_eq!(s, "k=F6");
sourcepub fn to_string<K: Into<KeyCombination>>(&self, key: K) -> String
pub fn to_string<K: Into<KeyCombination>>(&self, key: K) -> String
return the key formatted into a string
format.to_string(key)
is equivalent to format.format(key).to_string()
.
Trait Implementations§
source§impl Clone for KeyCombinationFormat
impl Clone for KeyCombinationFormat
source§fn clone(&self) -> KeyCombinationFormat
fn clone(&self) -> KeyCombinationFormat
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for KeyCombinationFormat
impl Debug for KeyCombinationFormat
Auto Trait Implementations§
impl Freeze for KeyCombinationFormat
impl RefUnwindSafe for KeyCombinationFormat
impl Send for KeyCombinationFormat
impl Sync for KeyCombinationFormat
impl Unpin for KeyCombinationFormat
impl UnwindSafe for KeyCombinationFormat
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more