Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Brick.Keybindings.KeyEvents
Description
This module provides KeyEvents
, a data type for mapping
application-defined abstract events to user-facing names (e.g.
for use in configuration files and documentation). This data
structure gives you a place to define the correspondence between
your application's key events and their names. A KeyEvents
also
effectively tells the key binding system about the collection of
possible abstract events that can be handled.
A KeyEvents
is used to construct a
KeyConfig
with
newKeyConfig
.
Synopsis
- data KeyEvents k
- keyEvents :: Ord k => [(Text, k)] -> KeyEvents k
- keyEventsList :: KeyEvents k -> [(Text, k)]
- lookupKeyEvent :: Ord k => KeyEvents k -> Text -> Maybe k
- keyEventName :: Ord k => KeyEvents k -> k -> Maybe Text
Documentation
A bidirectional mapping between events k
and their user-readable
names.
keyEvents :: Ord k => [(Text, k)] -> KeyEvents k Source #
Build a new KeyEvents
map from the specified list of events and
names. Key event names are stored in lowercase.
Calls error
if any events have the same name (ignoring case) or if
multiple names map to the same event.
keyEventsList :: KeyEvents k -> [(Text, k)] Source #
Convert the KeyEvents
to a list.
lookupKeyEvent :: Ord k => KeyEvents k -> Text -> Maybe k Source #
Look up the specified event name to get its abstract event. The lookup ignores leading and trailing whitespace as well as case.
keyEventName :: Ord k => KeyEvents k -> k -> Maybe Text Source #
Given an abstract event, get its event name.