2025-09-04 10:55:50 -07:00
|
|
|
use ratatui::style::Style;
|
2025-09-26 16:35:56 -07:00
|
|
|
use ratatui::style::Stylize;
|
2025-09-04 10:55:50 -07:00
|
|
|
use ratatui::text::Span;
|
|
|
|
|
use std::fmt::Display;
|
|
|
|
|
|
|
|
|
|
#[cfg(test)]
|
|
|
|
|
const ALT_PREFIX: &str = "⌥";
|
|
|
|
|
#[cfg(all(not(test), target_os = "macos"))]
|
|
|
|
|
const ALT_PREFIX: &str = "⌥";
|
|
|
|
|
#[cfg(all(not(test), not(target_os = "macos")))]
|
|
|
|
|
const ALT_PREFIX: &str = "Alt+";
|
|
|
|
|
|
|
|
|
|
fn key_hint_style() -> Style {
|
2025-09-26 16:35:56 -07:00
|
|
|
Style::default().bold()
|
2025-09-04 10:55:50 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn modifier_span(prefix: &str, key: impl Display) -> Span<'static> {
|
|
|
|
|
Span::styled(format!("{prefix}{key}"), key_hint_style())
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub(crate) fn alt(key: impl Display) -> Span<'static> {
|
|
|
|
|
modifier_span(ALT_PREFIX, key)
|
|
|
|
|
}
|