Move from store to flat
This commit is contained in:
+15
-24
@@ -1,8 +1,11 @@
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE DeriveAnyClass #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Dodge.Data.Terminal where
|
||||
|
||||
import Flat
|
||||
import LinearHelp
|
||||
import Color
|
||||
import Control.Lens
|
||||
@@ -15,19 +18,19 @@ import TH.Derive
|
||||
import Data.Store
|
||||
|
||||
data TerminalStatus = TerminalOff | TerminalBusy | TerminalReady
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
|
||||
data TerminalInput = TerminalInput
|
||||
{ _tiText :: T.Text
|
||||
, _tiFocus :: Bool
|
||||
, _tiSel :: (Int, Int)
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
|
||||
data TerminalBootProgram
|
||||
= TerminalBootMempty
|
||||
| TerminalBootLines [TerminalLine]
|
||||
deriving (Eq, Show, Read)
|
||||
deriving (Eq, Show, Read, Generic, Flat)
|
||||
|
||||
data Terminal = Terminal
|
||||
{ _tmID :: Int
|
||||
@@ -47,16 +50,16 @@ data Terminal = Terminal
|
||||
, _tmCommandHistory :: [String]
|
||||
, _tmToggles :: M.Map String TerminalToggle
|
||||
}
|
||||
deriving (Eq, Show, Read)
|
||||
deriving (Eq, Show, Read, Generic, Flat)
|
||||
|
||||
data TerminalLineString = TerminalLineConst String Color
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
|
||||
data TmTm
|
||||
= TmId
|
||||
| TmTmClearDisplayedLines
|
||||
| TmTmSetStatus TerminalStatus
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
|
||||
data TerminalLine
|
||||
= TerminalLineDisplay
|
||||
@@ -71,19 +74,19 @@ data TerminalLine
|
||||
{ _tlPause :: Int
|
||||
, _tlEffect :: TmWdWd --Terminal -> World -> World
|
||||
}
|
||||
deriving (Eq, Show, Read)
|
||||
deriving (Eq, Show, Read, Generic, Flat)
|
||||
|
||||
data TerminalToggle = TerminalToggle
|
||||
{ _ttTriggerID :: Int
|
||||
, _ttDeathEffect :: BlBl
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
|
||||
data BlBl
|
||||
= BlNegate
|
||||
| BlConst Bool
|
||||
| BlId
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
|
||||
data EffectArguments
|
||||
= NoArguments {_cmdEffect :: [TerminalLine]}
|
||||
@@ -91,7 +94,7 @@ data EffectArguments
|
||||
{ _argType :: String
|
||||
, _argList :: M.Map String [TerminalLine]
|
||||
}
|
||||
deriving (Eq, Show, Read)
|
||||
deriving (Eq, Show, Read, Generic, Flat)
|
||||
|
||||
data TerminalCommandEffect
|
||||
= TerminalCommandArguments EffectArguments
|
||||
@@ -103,7 +106,7 @@ data TerminalCommandEffect
|
||||
| TerminalCommandEffectCommands
|
||||
| TerminalCommandEffectSingleCommand WdWd [String]
|
||||
| TerminalCommandEffectNone
|
||||
deriving (Eq, Show, Read)
|
||||
deriving (Eq, Show, Read, Generic, Flat)
|
||||
|
||||
data TerminalCommand = TerminalCommand
|
||||
{ _tcString :: String
|
||||
@@ -111,7 +114,7 @@ data TerminalCommand = TerminalCommand
|
||||
, _tcHelp :: String
|
||||
, _tcEffect :: TerminalCommandEffect -- Terminal -> World -> EffectArguments
|
||||
}
|
||||
deriving (Eq, Show, Read)
|
||||
deriving (Eq, Show, Read, Generic, Flat)
|
||||
|
||||
makeLenses ''TerminalInput
|
||||
makeLenses ''Terminal
|
||||
@@ -131,15 +134,3 @@ deriveJSON defaultOptions ''BlBl
|
||||
deriveJSON defaultOptions ''EffectArguments
|
||||
deriveJSON defaultOptions ''TerminalCommandEffect
|
||||
deriveJSON defaultOptions ''TerminalCommand
|
||||
$($(derive [d| instance Deriving (Store TerminalStatus) |]))
|
||||
$($(derive [d| instance Deriving (Store TerminalInput) |]))
|
||||
$($(derive [d| instance Deriving (Store TerminalBootProgram) |]))
|
||||
$($(derive [d| instance Deriving (Store Terminal) |]))
|
||||
$($(derive [d| instance Deriving (Store TerminalLineString) |]))
|
||||
$($(derive [d| instance Deriving (Store TmTm) |]))
|
||||
$($(derive [d| instance Deriving (Store TerminalLine) |]))
|
||||
$($(derive [d| instance Deriving (Store TerminalToggle) |]))
|
||||
$($(derive [d| instance Deriving (Store BlBl) |]))
|
||||
$($(derive [d| instance Deriving (Store EffectArguments) |]))
|
||||
$($(derive [d| instance Deriving (Store TerminalCommandEffect) |]))
|
||||
$($(derive [d| instance Deriving (Store TerminalCommand) |]))
|
||||
|
||||
Reference in New Issue
Block a user