packages feed

summoner-tui-2.2.0.0: summoner-tui.cabal

cabal-version:       3.4
name:                summoner-tui
version:             2.2.0.0
synopsis:            Tool for scaffolding fully configured batteries-included production-level Haskell projects using TUI.
description:         Tool for scaffolding fully configured batteries-included production-level Haskell projects using TUI.
                     See [README.md](https://github.com/kowainik/summoner#-summoner) for details.
homepage:            https://github.com/kowainik/summoner
bug-reports:         https://github.com/kowainik/summoner/issues
license:             MPL-2.0
license-file:        LICENSE
author:              Veronika Romashkina, Dmitrii Kovanikov
maintainer:          Kowainik <xrom.xkov@gmail.com>
copyright:           2018-2026 Kowainik
category:            TUI, TUI Tool, Development
build-type:          Simple
stability:           experimental
extra-doc-files:     README.md
                     CHANGELOG.md
tested-with:         GHC == 8.4.4
                     GHC == 8.6.5
                     GHC == 8.8.4
                     GHC == 8.10.7
                     GHC == 9.0.2
                     GHC == 9.2.8
                     GHC == 9.4.7
                     GHC == 9.6.7
                     GHC == 9.8.4
                     GHC == 9.10.3
                     GHC == 9.12.2

source-repository head
  type:     git
  location: git@github.com:kowainik/summoner.git

common common-options
  build-depends:       base >= 4.11 && < 4.22
                     , relude >= 1.0.0.0 && < 1.3

  mixins:              base hiding (Prelude)
                     , relude (Relude as Prelude)
                     , relude

  ghc-options:         -Wall
                       -Wcompat
                       -Widentities
                       -Wincomplete-uni-patterns
                       -Wincomplete-record-updates
                       -Wredundant-constraints
                       -Wnoncanonical-monad-instances
                       -fhide-source-paths
                       -Wmissing-export-lists
                       -Wpartial-fields
  if impl(ghc >= 8.8)
    ghc-options:       -Wmissing-deriving-strategies
                       -Werror=missing-deriving-strategies
                       -fwrite-ide-info
                       -hiedir=../.hie
  if impl(ghc >= 8.10)
    ghc-options:       -Wunused-packages
  if impl(ghc >= 9.0)
    ghc-options:       -Winvalid-haddock
  if impl(ghc >= 9.2)
    ghc-options:       -Wredundant-bang-patterns
                       -Woperator-whitespace
  if impl(ghc >= 9.4  && < 9.10)
    ghc-options:       -Wforall-identifier
  if impl(ghc >= 9.4)
    ghc-options:       -Wredundant-strictness-flags
  if impl(ghc >= 9.8)
    ghc-options:       -Wterm-variable-capture
                       -Winconsistent-flags
  if impl(ghc >= 9.10)
    ghc-options:       -Wincomplete-record-selectors
                       -Wdeprecated-type-abstractions
                       -Wdata-kinds-tc
                       -Wdefaulted-exception-context
  if impl(ghc >= 9.12)
    ghc-options:       -Wview-pattern-signatures

  default-extensions:  DeriveGeneric
                       DerivingStrategies
                       GeneralizedNewtypeDeriving
                       InstanceSigs
                       LambdaCase
                       OverloadedStrings
                       RecordWildCards
                       ScopedTypeVariables
                       TypeApplications

  default-language:    Haskell2010

library
  import:              common-options
  hs-source-dirs:      src
  exposed-modules:     Summoner.Tui
                         Summoner.Tui.Field
                         Summoner.Tui.Form
                         Summoner.Tui.GroupBorder
                         Summoner.Tui.Kit
                         Summoner.Tui.Validation
                         Summoner.Tui.Widget

  autogen-modules:     Paths_summoner_tui
  other-modules:       Paths_summoner_tui

  build-depends:       brick >= 1.0 && < 2.11
                     , colourista ^>= 0.1
                     , directory ^>= 1.3.0.2
                     , microlens ^>= 0.4
                     , microlens-th ^>= 0.4
                     , summoner ^>= 2.2.0.0
                     , validation-selective >= 0.0.0.0 && < 0.3
                     , vty >= 6.0 && < 6.3
                     , vty-crossplatform >= 0.2 && < 0.3

executable summon-tui
  import:              common-options
  hs-source-dirs:      app
  main-is:             Tui.hs
  build-depends:       summoner-tui

  ghc-options:         -threaded
                       -rtsopts
                       -with-rtsopts=-N