tvl-depot/users/grfn/xanthous/xanthous.cabal
Griffin Smith 7437a18188 fix(xanthous): Only use alphabetic chars for menu items
Previously, we were using `smallestNotIn` for selecting new characters
for menu items with duplicate chatacters - this uses the 'Bounded'
instance for the type, which for Char meant the first character we would
always select was \NUL - making it look like the menu item had no
character, and making it impossible to actually select the menu item.
This introduces an AlphaChar newtype, which is a wrapper around Char
whose Bounded and Enum instances only use alphabetic characters (a-ZA-Z)
and uses that for menu characters instead.

Change-Id: If34ed9e9ce84f2bcb1cb87432cc6273f40b69f72
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3229
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-06-23 21:52:08 +00:00

581 lines
12 KiB
Text

cabal-version: 1.12
-- This file has been generated from package.yaml by hpack version 0.34.4.
--
-- see: https://github.com/sol/hpack
--
-- hash: 761fd1d1a9f9f9fdf8e14e56922558f7968401c879dcb95ca697dab03d1e9eec
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.App.Autocommands
Xanthous.App.Common
Xanthous.App.Prompt
Xanthous.App.Time
Xanthous.Command
Xanthous.Data
Xanthous.Data.App
Xanthous.Data.Entities
Xanthous.Data.EntityChar
Xanthous.Data.EntityMap
Xanthous.Data.EntityMap.Graphics
Xanthous.Data.Levels
Xanthous.Data.Memo
Xanthous.Data.NestedMap
Xanthous.Data.VectorBag
Xanthous.Entities.Character
Xanthous.Entities.Creature
Xanthous.Entities.Creature.Hippocampus
Xanthous.Entities.Draw.Util
Xanthous.Entities.Entities
Xanthous.Entities.Environment
Xanthous.Entities.Item
Xanthous.Entities.Marker
Xanthous.Entities.Raws
Xanthous.Entities.RawTypes
Xanthous.Game
Xanthous.Game.Arbitrary
Xanthous.Game.Draw
Xanthous.Game.Env
Xanthous.Game.Lenses
Xanthous.Game.Memo
Xanthous.Game.Prompt
Xanthous.Game.State
Xanthous.Generators.Level
Xanthous.Generators.Level.CaveAutomata
Xanthous.Generators.Level.Dungeon
Xanthous.Generators.Level.LevelContents
Xanthous.Generators.Level.Util
Xanthous.Generators.Level.Village
Xanthous.Generators.Speech
Xanthous.Messages
Xanthous.Messages.Template
Xanthous.Monad
Xanthous.Orphans
Xanthous.Prelude
Xanthous.Random
Xanthous.Util
Xanthous.Util.Comonad
Xanthous.Util.Graph
Xanthous.Util.Graphics
Xanthous.Util.Inflection
Xanthous.Util.JSON
Xanthous.Util.Optparse
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
StandaloneKindSignatures
LambdaCase
MultiWayIf
NoImplicitPrelude
NoStarIsType
OverloadedStrings
PolyKinds
RankNTypes
ScopedTypeVariables
TupleSections
TypeApplications
TypeFamilies
TypeOperators
ViewPatterns
ghc-options: -Wall
build-depends:
JuicyPixels
, MonadRandom
, QuickCheck
, Rasterific
, aeson
, array
, async
, base
, bifunctors
, brick
, checkers
, classy-prelude
, comonad
, comonad-extras
, constraints
, containers
, criterion
, data-default
, data-interval
, deepseq
, directory
, fgl
, fgl-arbitrary
, file-embed
, filepath
, generic-arbitrary
, generic-lens
, groups
, hgeometry
, hgeometry-combinatorial
, lens
, lifted-async
, linear
, megaparsec
, mmorph
, monad-control
, mtl
, optparse-applicative
, parallel
, parser-combinators
, pointed
, quickcheck-instances
, quickcheck-text
, random
, random-extras
, random-fu
, random-source
, raw-strings-qq
, reflection
, semigroupoids
, semigroups
, splitmix
, stache
, streams
, text
, text-zipper
, tomland
, transformers
, vector
, vty
, witherable
, yaml
, zlib
default-language: Haskell2010
executable xanthous
main-is: Main.hs
other-modules:
Data.Aeson.Generic.DerivingVia
Xanthous.AI.Gormlak
Xanthous.App
Xanthous.App.Autocommands
Xanthous.App.Common
Xanthous.App.Prompt
Xanthous.App.Time
Xanthous.Command
Xanthous.Data
Xanthous.Data.App
Xanthous.Data.Entities
Xanthous.Data.EntityChar
Xanthous.Data.EntityMap
Xanthous.Data.EntityMap.Graphics
Xanthous.Data.Levels
Xanthous.Data.Memo
Xanthous.Data.NestedMap
Xanthous.Data.VectorBag
Xanthous.Entities.Character
Xanthous.Entities.Creature
Xanthous.Entities.Creature.Hippocampus
Xanthous.Entities.Draw.Util
Xanthous.Entities.Entities
Xanthous.Entities.Environment
Xanthous.Entities.Item
Xanthous.Entities.Marker
Xanthous.Entities.Raws
Xanthous.Entities.RawTypes
Xanthous.Game
Xanthous.Game.Arbitrary
Xanthous.Game.Draw
Xanthous.Game.Env
Xanthous.Game.Lenses
Xanthous.Game.Memo
Xanthous.Game.Prompt
Xanthous.Game.State
Xanthous.Generators.Level
Xanthous.Generators.Level.CaveAutomata
Xanthous.Generators.Level.Dungeon
Xanthous.Generators.Level.LevelContents
Xanthous.Generators.Level.Util
Xanthous.Generators.Level.Village
Xanthous.Generators.Speech
Xanthous.Messages
Xanthous.Messages.Template
Xanthous.Monad
Xanthous.Orphans
Xanthous.Prelude
Xanthous.Random
Xanthous.Util
Xanthous.Util.Comonad
Xanthous.Util.Graph
Xanthous.Util.Graphics
Xanthous.Util.Inflection
Xanthous.Util.JSON
Xanthous.Util.Optparse
Xanthous.Util.QuickCheck
Paths_xanthous
hs-source-dirs:
src
default-extensions:
BlockArguments
ConstraintKinds
DataKinds
DeriveAnyClass
DeriveGeneric
DerivingStrategies
DerivingVia
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTSyntax
GeneralizedNewtypeDeriving
KindSignatures
StandaloneKindSignatures
LambdaCase
MultiWayIf
NoImplicitPrelude
NoStarIsType
OverloadedStrings
PolyKinds
RankNTypes
ScopedTypeVariables
TupleSections
TypeApplications
TypeFamilies
TypeOperators
ViewPatterns
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2
build-depends:
JuicyPixels
, MonadRandom
, QuickCheck
, Rasterific
, aeson
, array
, async
, base
, bifunctors
, brick
, checkers
, classy-prelude
, comonad
, comonad-extras
, constraints
, containers
, criterion
, data-default
, data-interval
, deepseq
, directory
, fgl
, fgl-arbitrary
, file-embed
, filepath
, generic-arbitrary
, generic-lens
, groups
, hgeometry
, hgeometry-combinatorial
, lens
, lifted-async
, linear
, megaparsec
, mmorph
, monad-control
, mtl
, optparse-applicative
, parallel
, parser-combinators
, pointed
, quickcheck-instances
, quickcheck-text
, random
, random-extras
, random-fu
, random-source
, raw-strings-qq
, reflection
, semigroupoids
, semigroups
, splitmix
, stache
, streams
, text
, text-zipper
, tomland
, transformers
, vector
, vty
, witherable
, xanthous
, yaml
, zlib
default-language: Haskell2010
test-suite test
type: exitcode-stdio-1.0
main-is: Spec.hs
other-modules:
Test.Prelude
Xanthous.Data.EntitiesSpec
Xanthous.Data.EntityCharSpec
Xanthous.Data.EntityMap.GraphicsSpec
Xanthous.Data.EntityMapSpec
Xanthous.Data.LevelsSpec
Xanthous.Data.MemoSpec
Xanthous.Data.NestedMapSpec
Xanthous.DataSpec
Xanthous.Entities.CharacterSpec
Xanthous.Entities.RawsSpec
Xanthous.Game.PromptSpec
Xanthous.Game.StateSpec
Xanthous.GameSpec
Xanthous.Generators.Level.UtilSpec
Xanthous.Messages.TemplateSpec
Xanthous.MessageSpec
Xanthous.OrphansSpec
Xanthous.RandomSpec
Xanthous.Util.GraphicsSpec
Xanthous.Util.GraphSpec
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
StandaloneKindSignatures
LambdaCase
MultiWayIf
NoImplicitPrelude
NoStarIsType
OverloadedStrings
PolyKinds
RankNTypes
ScopedTypeVariables
TupleSections
TypeApplications
TypeFamilies
TypeOperators
ViewPatterns
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O0
build-depends:
JuicyPixels
, MonadRandom
, QuickCheck
, Rasterific
, aeson
, array
, async
, base
, bifunctors
, brick
, checkers
, classy-prelude
, comonad
, comonad-extras
, constraints
, containers
, criterion
, data-default
, data-interval
, deepseq
, directory
, fgl
, fgl-arbitrary
, file-embed
, filepath
, generic-arbitrary
, generic-lens
, groups
, hgeometry
, hgeometry-combinatorial
, lens
, lens-properties
, lifted-async
, linear
, megaparsec
, mmorph
, monad-control
, mtl
, optparse-applicative
, parallel
, parser-combinators
, pointed
, quickcheck-instances
, quickcheck-text
, random
, random-extras
, random-fu
, random-source
, raw-strings-qq
, reflection
, semigroupoids
, semigroups
, splitmix
, stache
, streams
, tasty
, tasty-hunit
, tasty-quickcheck
, text
, text-zipper
, tomland
, transformers
, vector
, vty
, witherable
, xanthous
, yaml
, zlib
default-language: Haskell2010
benchmark benchmark
type: exitcode-stdio-1.0
main-is: Bench.hs
other-modules:
Bench.Prelude
Xanthous.Generators.UtilBench
Xanthous.RandomBench
Paths_xanthous
hs-source-dirs:
bench
default-extensions:
BlockArguments
ConstraintKinds
DataKinds
DeriveAnyClass
DeriveGeneric
DerivingStrategies
DerivingVia
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTSyntax
GeneralizedNewtypeDeriving
KindSignatures
StandaloneKindSignatures
LambdaCase
MultiWayIf
NoImplicitPrelude
NoStarIsType
OverloadedStrings
PolyKinds
RankNTypes
ScopedTypeVariables
TupleSections
TypeApplications
TypeFamilies
TypeOperators
ViewPatterns
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
build-depends:
JuicyPixels
, MonadRandom
, QuickCheck
, Rasterific
, aeson
, array
, async
, base
, bifunctors
, brick
, checkers
, classy-prelude
, comonad
, comonad-extras
, constraints
, containers
, criterion
, data-default
, data-interval
, deepseq
, directory
, fgl
, fgl-arbitrary
, file-embed
, filepath
, generic-arbitrary
, generic-lens
, groups
, hgeometry
, hgeometry-combinatorial
, lens
, lifted-async
, linear
, megaparsec
, mmorph
, monad-control
, mtl
, optparse-applicative
, parallel
, parser-combinators
, pointed
, quickcheck-instances
, quickcheck-text
, random
, random-extras
, random-fu
, random-source
, raw-strings-qq
, reflection
, semigroupoids
, semigroups
, splitmix
, stache
, streams
, text
, text-zipper
, tomland
, transformers
, vector
, vty
, witherable
, xanthous
, yaml
, zlib
default-language: Haskell2010