Module parser

Source
Expand description

§Parser

This module defines functionality for parsing plain-text keymap definitions into structured representations. It supports sequences such as "ctrl-alt-f1" or "a b" and maps them to key/modifier combinations.

§Supported Syntax

node      = modifiers* key
modifiers = modifier "-"
modifier  = "ctrl" | "cmd" | "alt" | "shift"
key       = fn-key | named-key | group | char
fn-key    = "f" digit digit?
named-key = "del" | "insert" | "end" | ...
group     = "@" ("digit" | "lower" | "upper" | "alnum" | "alpha" | "any")
char      = ascii-char

Each Node consists of optional modifier keys followed by a key identifier.

Structs§

ParseError
Represents an error that occurred during parsing.

Functions§

parse
Parses a single key expression into a Node.
parse_seq
Parses a whitespace-separated sequence of key expressions.