ghc-debug-brick-0.8.0.0: src/GHC/Debug/Brick/Render/Key.hs
{-# LANGUAGE OverloadedStrings #-}
module GHC.Debug.Brick.Render.Key where
import Data.Text (Text)
import qualified Data.Text as Text
import Graphics.Vty.Input
renderKey :: Event -> Text
renderKey (EvKey (KFun n) []) = "(F" <> Text.pack (show n) <> ")"
renderKey (EvKey k [MCtrl]) = "(^" <> renderNormalKey k <> ")"
renderKey (EvKey k [MMeta]) = "(Alt + " <> renderNormalKey k <> ")"
renderKey (EvKey k []) = "(" <> renderNormalKey k <> ")"
renderKey _k = "()"
renderNormalKey :: Key -> Text
renderNormalKey (KChar c) = Text.pack [c]
renderNormalKey KEsc = "ESC"
renderNormalKey KLeft = "←"
renderNormalKey KRight = "→"
renderNormalKey _k = "�"