9 releases (1 stable)
1.0.0 | Feb 1, 2025 |
---|---|
0.3.1 | Jan 31, 2025 |
0.2.1 | Jan 31, 2025 |
0.1.2 | Jul 20, 2024 |
0.0.0 | Dec 23, 2023 |
#449 in Data structures
637 downloads per month
83KB
1.5K
SLoC
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.
Dependencies
~0.2–9MB
~103K SLoC