Keymaps
A rust crate which provides a standardized encoding for key codes
Quickstart
use keymaps::{
key_repr::{Key, Keys},
map_tree::Trie,
};
fn main() {
let mut tree = MapTrie::<&str>::new();
let keys: Vec<Key> = Key::parse_multiple("<C-c>ab").unwrap();
tree.insert(&keys, "first").unwrap();
let keys: Vec<Key> = Key::parse_multiple("<CA-B>ac").unwrap();
tree.insert(&keys, "second").unwrap();
let keys: Keys = ("<AMC-0>d").parse().unwrap();
tree.insert(&keys, "third").unwrap();
println!("Got value: '{}'", tree.get(&keys).unwrap().value().unwrap());
println!("Tree is: \n{tree}");
}
Licence
This program is free software: you can redistribute it and/or modify
it under the terms of the Lesser GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.