tvl-depot/xanthous.cabal
Griffin Smith f37d0f75c0 Implement saving+loading the game
Implement ToJSON and FromJSON for all of the various pieces of the game
state, and add a pair of functions saveGame/loadGame implementing a
prism to save the game as zlib-compressed JSON. To test this, there's
now Arbitrary, CoArbitrary, and Function instances for all the parts of
the game state - to get around circular imports with the concrete
entities this unfortunately is happening via orphan instances, plus an
hs-boot file to break a circular import that was just a little too hard
to remove by moving things around. Ugh.
2019-11-29 14:33:52 -05:00

265 lines
6.8 KiB
Text

cabal-version: 1.12
-- This file has been generated from package.yaml by hpack version 0.31.2.
--
-- see: https://github.com/sol/hpack
--
-- hash: 0ec32d45d89e30640d8d59137c5eaa80e5eed7eb31cb553d9b251db94ed1ba36
name: xanthous
version: 0.1.0.0
synopsis: A WIP TUI RPG
description: Please see the README on GitHub at <https://github.com/glittershark/xanthous>
category: Game
homepage: https://github.com/glittershark/xanthous#readme
bug-reports: https://github.com/glittershark/xanthous/issues
author: Griffin Smith
maintainer: root@gws.fyi
copyright: 2019 Griffin Smith
license: GPL-3
license-file: LICENSE
build-type: Simple
extra-source-files:
README.org
source-repository head
type: git
location: https://github.com/glittershark/xanthous
library
exposed-modules:
Data.Aeson.Generic.DerivingVia
Main
Xanthous.AI.Gormlak
Xanthous.App
Xanthous.Command
Xanthous.Data
Xanthous.Data.EntityMap
Xanthous.Data.EntityMap.Graphics
Xanthous.Entities
Xanthous.Entities.Character
Xanthous.Entities.Creature
Xanthous.Entities.Draw.Util
Xanthous.Entities.Entities
Xanthous.Entities.Environment
Xanthous.Entities.Item
Xanthous.Entities.Raws
Xanthous.Entities.RawTypes
Xanthous.Game
Xanthous.Game.Arbitrary
Xanthous.Game.Draw
Xanthous.Game.Lenses
Xanthous.Game.Prompt
Xanthous.Game.State
Xanthous.Generators
Xanthous.Generators.CaveAutomata
Xanthous.Generators.LevelContents
Xanthous.Generators.Util
Xanthous.Messages
Xanthous.Monad
Xanthous.Orphans
Xanthous.Prelude
Xanthous.Random
Xanthous.Resource
Xanthous.Util
Xanthous.Util.Graphics
Xanthous.Util.Inflection
Xanthous.Util.JSON
Xanthous.Util.QuickCheck
other-modules:
Paths_xanthous
hs-source-dirs:
src
default-extensions: BlockArguments ConstraintKinds DataKinds DeriveAnyClass DeriveGeneric DerivingStrategies DerivingVia FlexibleContexts FlexibleInstances FunctionalDependencies GADTSyntax GeneralizedNewtypeDeriving KindSignatures LambdaCase MultiWayIf NoImplicitPrelude NoStarIsType OverloadedStrings PolyKinds RankNTypes ScopedTypeVariables TupleSections TypeApplications TypeFamilies TypeOperators
ghc-options: -Wall
build-depends:
MonadRandom
, QuickCheck
, aeson
, array
, base
, brick
, checkers
, classy-prelude
, constraints
, containers
, data-default
, deepseq
, file-embed
, filepath
, generic-arbitrary
, generic-lens
, generic-monoid
, groups
, lens
, megaparsec
, mtl
, optparse-applicative
, quickcheck-instances
, quickcheck-text
, random
, random-extras
, random-fu
, random-source
, raw-strings-qq
, reflection
, stache
, text-zipper
, tomland
, vector
, vty
, yaml
, zlib
default-language: Haskell2010
executable xanthous
main-is: Main.hs
other-modules:
Data.Aeson.Generic.DerivingVia
Xanthous.AI.Gormlak
Xanthous.App
Xanthous.Command
Xanthous.Data
Xanthous.Data.EntityMap
Xanthous.Data.EntityMap.Graphics
Xanthous.Entities
Xanthous.Entities.Character
Xanthous.Entities.Creature
Xanthous.Entities.Draw.Util
Xanthous.Entities.Entities
Xanthous.Entities.Environment
Xanthous.Entities.Item
Xanthous.Entities.Raws
Xanthous.Entities.RawTypes
Xanthous.Game
Xanthous.Game.Arbitrary
Xanthous.Game.Draw
Xanthous.Game.Lenses
Xanthous.Game.Prompt
Xanthous.Game.State
Xanthous.Generators
Xanthous.Generators.CaveAutomata
Xanthous.Generators.LevelContents
Xanthous.Generators.Util
Xanthous.Messages
Xanthous.Monad
Xanthous.Orphans
Xanthous.Prelude
Xanthous.Random
Xanthous.Resource
Xanthous.Util
Xanthous.Util.Graphics
Xanthous.Util.Inflection
Xanthous.Util.JSON
Xanthous.Util.QuickCheck
Paths_xanthous
hs-source-dirs:
src
default-extensions: BlockArguments ConstraintKinds DataKinds DeriveAnyClass DeriveGeneric DerivingStrategies DerivingVia FlexibleContexts FlexibleInstances FunctionalDependencies GADTSyntax GeneralizedNewtypeDeriving KindSignatures LambdaCase MultiWayIf NoImplicitPrelude NoStarIsType OverloadedStrings PolyKinds RankNTypes ScopedTypeVariables TupleSections TypeApplications TypeFamilies TypeOperators
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
build-depends:
MonadRandom
, QuickCheck
, aeson
, array
, base
, brick
, checkers
, classy-prelude
, constraints
, containers
, data-default
, deepseq
, file-embed
, filepath
, generic-arbitrary
, generic-lens
, generic-monoid
, groups
, lens
, megaparsec
, mtl
, optparse-applicative
, quickcheck-instances
, quickcheck-text
, random
, random-extras
, random-fu
, random-source
, raw-strings-qq
, reflection
, stache
, text-zipper
, tomland
, vector
, vty
, xanthous
, yaml
, zlib
default-language: Haskell2010
test-suite test
type: exitcode-stdio-1.0
main-is: Spec.hs
other-modules:
Test.Prelude
Xanthous.Data.EntityMapSpec
Xanthous.DataSpec
Xanthous.Entities.RawsSpec
Xanthous.EntitiesSpec
Xanthous.GameSpec
Xanthous.Generators.UtilSpec
Xanthous.MessageSpec
Xanthous.OrphansSpec
Xanthous.Util.GraphicsSpec
Xanthous.Util.InflectionSpec
Xanthous.UtilSpec
Paths_xanthous
hs-source-dirs:
test
default-extensions: BlockArguments ConstraintKinds DataKinds DeriveAnyClass DeriveGeneric DerivingStrategies DerivingVia FlexibleContexts FlexibleInstances FunctionalDependencies GADTSyntax GeneralizedNewtypeDeriving KindSignatures LambdaCase MultiWayIf NoImplicitPrelude NoStarIsType OverloadedStrings PolyKinds RankNTypes ScopedTypeVariables TupleSections TypeApplications TypeFamilies TypeOperators
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
build-depends:
MonadRandom
, QuickCheck
, aeson
, array
, base
, brick
, checkers
, classy-prelude
, constraints
, containers
, data-default
, deepseq
, file-embed
, filepath
, generic-arbitrary
, generic-lens
, generic-monoid
, groups
, lens
, lens-properties
, megaparsec
, mtl
, optparse-applicative
, quickcheck-instances
, quickcheck-text
, random
, random-extras
, random-fu
, random-source
, raw-strings-qq
, reflection
, stache
, tasty
, tasty-hunit
, tasty-quickcheck
, text-zipper
, tomland
, vector
, vty
, xanthous
, yaml
, zlib
default-language: Haskell2010