module Rasa.Internal.Events
( BeforeRender(..)
, OnRender(..)
, AfterRender(..)
, BufAdded(..)
, Keypress(..)
, Mod(..)
, BufTextChanged(..)
) where
import Data.Dynamic
import Rasa.Internal.Range
import Rasa.Internal.Buffer
import qualified Yi.Rope as Y
data BeforeRender = BeforeRender deriving (Show, Eq, Typeable)
data OnRender = OnRender deriving (Show, Eq, Typeable)
data AfterRender = AfterRender deriving (Show, Eq, Typeable)
data BufAdded = BufAdded BufRef deriving (Show, Eq, Typeable)
data Keypress
= Keypress Char [Mod]
| KEsc [Mod]
| KBS [Mod]
| KEnter [Mod]
| KLeft [Mod]
| KRight [Mod]
| KUp [Mod]
| KDown [Mod]
| KPrtScr [Mod]
| KHome [Mod]
| KPageUp [Mod]
| KDel [Mod]
| KEnd [Mod]
| KPageDown [Mod]
| KUnknown
deriving (Show, Eq, Typeable)
data Mod
= Ctrl
| Alt
| Shift
| Meta
deriving (Show, Eq)
data BufTextChanged
= BufTextChanged CrdRange Y.YiString
deriving (Show, Eq, Typeable)