keymaps

Crates.iokeymaps
lib.rskeymaps
version1.2.0
created_at2023-12-23 21:38:42.066576+00
updated_at2025-06-24 15:24:58.286788+00
descriptionA rust crate which provides a standardized encoding for key codes
homepage
repositoryhttps://codeberg.org/trinitrix/keymaps
max_upload_size
id1079293
size213,939
Benedikt Peetz (bpeetz)

documentation

README

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.

Commit count: 0

cargo fmt