about summary refs log tree commit diff
path: root/users/grfn/xanthous/src/Xanthous/Game
diff options
context:
space:
mode:
authorGriffin Smith <grfn@gws.fyi>2021-11-07T20·44-0500
committergrfn <grfn@gws.fyi>2021-11-07T21·05+0000
commit9577d97a8f351e6dc1057c7ec9f7c825f6e9a020 (patch)
treef130817f57287265fbf53b8a97131dbf795ceb18 /users/grfn/xanthous/src/Xanthous/Game
parente3724448a2f2538d43135e61243ed0342bc9bff7 (diff)
feat(gs/xanthous): Allow disabling saving r/3017
Add a command-line parameter to disable the Save command, so people
don't save and fill up my disk when I'm running this on the internet.

Change-Id: I2408e60de2d99764ac53c21c3ea784282576d400
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3808
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
Diffstat (limited to 'users/grfn/xanthous/src/Xanthous/Game')
-rw-r--r--users/grfn/xanthous/src/Xanthous/Game/Env.hs22
1 files changed, 20 insertions, 2 deletions
diff --git a/users/grfn/xanthous/src/Xanthous/Game/Env.hs b/users/grfn/xanthous/src/Xanthous/Game/Env.hs
index 6e10d0f73581..5d7b275c8a0b 100644
--- a/users/grfn/xanthous/src/Xanthous/Game/Env.hs
+++ b/users/grfn/xanthous/src/Xanthous/Game/Env.hs
@@ -1,8 +1,12 @@
 {-# LANGUAGE TemplateHaskell #-}
 --------------------------------------------------------------------------------
 module Xanthous.Game.Env
-  ( GameEnv(..)
+  ( Config(..)
+  , defaultConfig
+  , disableSaving
+  , GameEnv(..)
   , eventChan
+  , config
   ) where
 --------------------------------------------------------------------------------
 import Xanthous.Prelude
@@ -11,9 +15,23 @@ import Brick.BChan (BChan)
 import Xanthous.Data.App (AppEvent)
 --------------------------------------------------------------------------------
 
+data Config = Config
+  { _disableSaving :: Bool
+  }
+  deriving stock (Generic, Show, Eq)
+makeLenses ''Config
+{-# ANN Config ("HLint: ignore Use newtype instead of data" :: String) #-}
+
+defaultConfig :: Config
+defaultConfig = Config
+  { _disableSaving = False
+  }
+
+--------------------------------------------------------------------------------
+
 data GameEnv = GameEnv
   { _eventChan :: BChan AppEvent
+  , _config :: Config
   }
   deriving stock (Generic)
 makeLenses ''GameEnv
-{-# ANN GameEnv ("HLint: ignore Use newtype instead of data" :: String) #-}