License | BSD-3-Clause |
---|---|
Safe Haskell | None |
Language | Haskell2010 |
Swarm.Language.Key
Contents
Description
Parsing and pretty-printing for keys (as in, keys on a keyboard) and key combos.
Synopsis
- data KeyCombo
- mkKeyCombo :: [Modifier] -> Key -> KeyCombo
- parseKeyComboFull :: SParser KeyCombo
- parseKeyCombo :: SParser KeyCombo
- prettyKeyCombo :: KeyCombo -> Text
- specialKeyNames :: Set Text
Documentation
A keyboard input, represented as a key + modifiers. Invariant: the modifier list is always sorted.
Instances
parseKeyComboFull :: SParser KeyCombo Source #
Parse a key combo with nothing after it.
parseKeyCombo :: SParser KeyCombo Source #
Parse a key combo like "M-C-F5"
, "Down"
, or "C-x"
.
prettyKeyCombo :: KeyCombo -> Text Source #
Pretty-print a key combo, e.g. "C-M-F5"
. Right inverse to
parseKeyCombo
. Left inverse up to reordering of modifiers.