Move towards implementing terminal autocomplete
This commit is contained in:
@@ -8,7 +8,6 @@ module Dodge.Data.Terminal (
|
||||
module Dodge.Data.Terminal.Status,
|
||||
) where
|
||||
|
||||
import qualified Data.ListTrie.Patricia.Map.Enum as PT
|
||||
import Sound.Data
|
||||
import Color
|
||||
import Control.Lens
|
||||
@@ -31,12 +30,12 @@ data Terminal = Terminal
|
||||
, _tmExternalColor :: Color
|
||||
, _tmDisplayedLines :: [(String, Color)]
|
||||
, _tmFutureLines :: [TerminalLine]
|
||||
, _tmCommands :: [TerminalCommand]
|
||||
, _tmCommands :: [TCom]
|
||||
, _tmDeathEffect :: TmWdWd
|
||||
, _tmStatus :: TerminalStatus
|
||||
, _tmCommandHistory :: [String]
|
||||
, _tmToggles :: M.Map String TerminalToggle
|
||||
, _tmPartialCommand :: Maybe TerminalCommand
|
||||
-- , _tmPartialCommand :: Maybe TerminalCommand
|
||||
}
|
||||
|
||||
data TerminalLineString = TerminalLineConst String Color
|
||||
@@ -77,10 +76,13 @@ data TerminalCommand = TerminalCommand
|
||||
, _tcEffect :: TerminalCommandEffect -- Terminal -> World -> EffectArguments
|
||||
}
|
||||
|
||||
data TCom = TCom
|
||||
{ _tcomHelp :: String
|
||||
, _tcomArgs :: PT.TrieMap Char [TerminalLine]
|
||||
}
|
||||
data TCom = TCInfo String String
|
||||
| TCBase
|
||||
|
||||
--data TEff = TEff
|
||||
-- { _teffHelp :: String
|
||||
-- , _teffArgs :: PTE.TrieMap Char [TerminalLine]
|
||||
-- }
|
||||
|
||||
data TmWdWd
|
||||
= TmWdId
|
||||
@@ -90,13 +92,14 @@ data TmWdWd
|
||||
| TmWdWdDoDeathTriggers
|
||||
| TmTmClearDisplayedLines
|
||||
| TmTmSetStatus TerminalStatus
|
||||
| TmTmSetPartialCommand (Maybe TerminalCommand)
|
||||
| TmDisplayCommands
|
||||
|
||||
makeLenses ''Terminal
|
||||
makeLenses ''TerminalLine
|
||||
makeLenses ''TerminalToggle
|
||||
makeLenses ''EffectArguments
|
||||
makeLenses ''TerminalCommand
|
||||
makeLenses ''TCom
|
||||
concat
|
||||
<$> mapM
|
||||
(deriveJSON defaultOptions)
|
||||
@@ -106,6 +109,7 @@ concat
|
||||
, ''EffectArguments
|
||||
, ''TerminalCommandEffect
|
||||
, ''TerminalCommand
|
||||
, ''TCom
|
||||
, ''TmWdWd
|
||||
, ''Terminal
|
||||
]
|
||||
|
||||
@@ -10,7 +10,7 @@ import Data.Aeson.TH
|
||||
data TerminalStatus
|
||||
= TerminalOff
|
||||
| TerminalBusy
|
||||
| TerminalTextInput {_tiText :: String, _tiSel :: Int}
|
||||
| TerminalTextInput {_tiText :: String}
|
||||
| TerminalPressTo {_tptString :: String}
|
||||
-- | TerminalArgumentInput TerminalCommand
|
||||
deriving (Eq)
|
||||
|
||||
Reference in New Issue
Block a user