keymaps 1.1.0

A rust crate which provides a standardized encoding for key codes
Documentation

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.