packages feed

reflex-vty-1.2.0.0: reflex-vty.cabal

cabal-version: 3.0
name: reflex-vty
version: 1.2.0.0
synopsis: Reflex FRP host and widgets for VTY applications
description:
  Build terminal applications using functional reactive programming (FRP) with Reflex FRP (<https://reflex-frp.org>).
  .
  <<https://vhs.charm.sh/vhs-1QNXpqEc9fg8E2WKtkDsD9.gif>>
license: BSD-3-Clause
license-file: LICENSE
author: Obsidian Systems LLC
maintainer: maintainer@obsidian.systems
copyright: 2020 Obsidian Systems LLC
category: FRP
build-type: Simple
extra-source-files:
  README.md
extra-doc-files:
  doc/tasks.png
  ChangeLog.md
tested-with:
  GHC ==9.8.4 || ==9.10.1 || == 9.12.2

source-repository head
  type: git
  location: https://github.com/reflex-frp/reflex-vty

library
  exposed-modules: Reflex.Vty
                 , Reflex.Vty.Canvas
                 , Reflex.Vty.Color
                 , Reflex.Vty.ColorProfile
                 , Reflex.Vty.Host
                 , Reflex.Vty.Style
                 , Reflex.Vty.Theme
                 , Reflex.Vty.Widget
                 , Reflex.Vty.Widget.Box
                 , Reflex.Vty.Widget.Input
                 , Reflex.Vty.Widget.Input.Mouse
                 , Reflex.Vty.Widget.Input.Text
                 , Reflex.Vty.Widget.Layout
                 , Reflex.Vty.Widget.Scroll
                 , Reflex.Vty.Widget.Split
                 , Reflex.Vty.Widget.Text
                 , Data.Text.Zipper
                 , Control.Monad.NodeId
  other-modules:  Reflex.Vty.Host.Signal
                , Reflex.Vty.Host.Trigger
  build-depends:
    base >= 4.10.0 && < 4.22,
    bimap >= 0.3.3 && < 0.6,
    bytestring >= 0.12.1 && < 0.13,
    containers >= 0.5.0 && < 0.8,
    mtl >= 2.2.2 && < 2.4,
    transformers >= 0.5.5 && < 0.7,
    stm >= 2.4 && < 2.6,
    data-default >= 0.7.1 && < 0.9,
    dependent-map >= 0.4 && < 0.5,
    exceptions >= 0.10 && < 0.11,
    text >= 1.2.3 && < 2.2,
    dependent-sum >= 0.7 && < 0.8,
    exception-transformers >= 0.4.0 && < 0.5,
    mmorph >= 1.1 && < 1.3,
    ordered-containers >= 0.2.2 && < 0.3,
    primitive >= 0.6.3 && < 0.10,
    ref-tf >= 0.4.0 && < 0.6,
    reflex >= 0.9.2 && < 1,
    time >= 1.8.0 && < 1.15,
    vty >= 6.0 && < 6.7,
    vty-crossplatform >= 0.1 && < 0.6
  if !os(windows)
    build-depends: unix >= 2.7 && < 2.10
  hs-source-dirs: src
  default-language: Haskell2010
  ghc-options: -Wall
  default-extensions:
    BangPatterns
    ConstraintKinds
    CPP
    DataKinds
    DefaultSignatures
    DeriveFunctor
    DeriveGeneric
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GADTs
    GeneralizedNewtypeDeriving
    KindSignatures
    LambdaCase
    MultiParamTypeClasses
    MultiWayIf
    OverloadedStrings
    PatternGuards
    PolyKinds
    QuasiQuotes
    RankNTypes
    RecursiveDo
    ScopedTypeVariables
    StandaloneDeriving
    TemplateHaskell
    TupleSections
    TypeApplications
    TypeOperators
    TypeFamilies

flag leaktest
  description: Build the space-leak profiling repro (src-bin/leaktest.hs)
  manual: True
  default: False

executable example
  hs-source-dirs: src-bin
  main-is: example.hs
  ghc-options: -threaded -Wall
  build-depends:
    base,
    containers,
    reflex,
    reflex-vty,
    text,
    time,
    transformers,
    vty
  default-language: Haskell2010
  other-modules: Example.CPU
  default-extensions:
    BangPatterns
    ConstraintKinds
    CPP
    DataKinds
    DefaultSignatures
    DeriveFunctor
    DeriveGeneric
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GADTs
    GeneralizedNewtypeDeriving
    KindSignatures
    LambdaCase
    MultiParamTypeClasses
    MultiWayIf
    OverloadedStrings
    PatternGuards
    PolyKinds
    QuasiQuotes
    RankNTypes
    RecursiveDo
    ScopedTypeVariables
    StandaloneDeriving
    TemplateHaskell
    TupleSections
    TypeApplications
    TypeFamilies

executable examples
  hs-source-dirs: src-bin
  main-is: examples.hs
  ghc-options: -threaded -Wall
  build-depends:
    base,
    containers,
    reflex,
    reflex-vty,
    text,
    time,
    vty
  default-language: Haskell2010
  other-modules:
    Example.CellBuffer
    Example.Common
    Example.DoomFire
    Example.Pager
    Example.Progress
    Example.Space
    Example.Spinner
    Example.Splash
    Example.Stopwatch
    Example.TextInput
    Example.Timer
    Example.Views
  default-extensions:
    ConstraintKinds
    FlexibleContexts
    LambdaCase
    OverloadedStrings
    RankNTypes
    ScopedTypeVariables

executable leaktest
  if !flag(leaktest)
    buildable: False
  hs-source-dirs: src-bin
  main-is: leaktest.hs
  ghc-options: -threaded -Wall -rtsopts
  build-depends:
    base,
    async >= 2.2.6 && < 2.3,
    reflex,
    reflex-vty,
    text,
    transformers,
    vty
  default-language: Haskell2010
  default-extensions:
    LambdaCase
    OverloadedStrings

test-suite reflex-vty-test
  hs-source-dirs: test
  main-is: Spec.hs
  type: exitcode-stdio-1.0
  ghc-options: -threaded
  other-modules:
    Data.Text.ZipperSpec
    Reflex.Vty.CanvasSpec
    Reflex.Vty.ColorProfileSpec
    Reflex.Vty.ColorSpec
    Reflex.Vty.HostSpec
    Reflex.Vty.StyleSpec
    Reflex.Vty.StyleJoinSpec
    Reflex.Vty.Test.Snapshot
    Reflex.Vty.Test.SnapshotSpec
    Reflex.Vty.Test.GoldenSpec
    Reflex.Vty.Widget.BoxSpec
    Reflex.Vty.Widget.CursorSpec
    Reflex.Vty.Widget.MouseSpec
    Reflex.Vty.Widget.ScrollSpec
  build-depends:
    base,
    reflex,
    containers,
    directory,
    filepath,
    reflex-vty,
    text,
    extra,
    hspec >= 2.7 && < 2.12,
    vty
  default-language: Haskell2010