tilia-0.0.1.0: corpora/vendored/other/cpp/one-guard-asked-twice.hs
{-# LANGUAGE CPP #-}
#if defined(HAVE_PATTERNS)
{-# LANGUAGE PatternSynonyms #-}
#endif
module Terminal.Key
( Key (..),
keyCode,
#ifndef NO_NAMES
keyName,
keyLabel,
#if defined(HAVE_PATTERNS)
pattern Escape,
pattern Enter,
#endif
keyGlyph,
#endif
)
where
data Key = Key Int
keyCode :: Key -> Int
keyCode (Key c) = c
#ifndef NO_NAMES
keyName :: Key -> String
keyName (Key c) = "key" <> show c
keyLabel :: Key -> String
keyLabel k = "<" <> keyName k <> ">"
keyGlyph :: Key -> Char
keyGlyph (Key c) = toEnum c
#endif
#if defined(HAVE_PATTERNS)
pattern Escape :: Key
pattern Escape = Key 27
pattern Enter :: Key
pattern Enter = Key 13
#endif