INNER CODE UNIT · Rust

keys_for_action

bgreenwell/doxx · src/keymap/mod.rs:32

    pub fn keys_for_action(&self, action: Action) -> Vec<String> {
        let mut bindings: Vec<&KeyBinding> = self
            .bindings
            .iter()
            .filter(|(_, a)| **a == action)
            .map(|(k, _)| k)
            .collect();
        bindings.sort_by_key(|k| (k.sort_priority(), k.display()));
        bindings.iter().map(|k| k.display()).collect()
    }

    /// Returns the single "best" key string for `action` (first after sorting).
    pub fn primary_key_for_action(&self, action: Action) -> String {
        self.keys_for_action(action)
            .into_iter()
            .next()
            .unwrap_or_else(|| "(unbound)".to_string())
    }

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…