reflex-vty-1.3.0.0: reflex-vty.cabal
cabal-version: 3.0
name: reflex-vty
version: 1.3.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
test/goldens/*.txt
test/coverage-baseline.tsv
test/Coverage.hs
test/pty_smoke.py
extra-doc-files:
doc/tasks.png
doc/qa.md
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
common library-settings
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
-- Keep the trigger queue and signal handlers in a private library.
-- Tests can use these modules without public exports or duplicate sources.
library reflex-vty-internal
import: library-settings
visibility: private
hs-source-dirs: internal
exposed-modules:
Reflex.Vty.Host.Signal
Reflex.Vty.Host.Trigger
build-depends:
base >= 4.10.0 && < 4.22,
dependent-sum >= 0.7 && < 0.8,
exceptions >= 0.10 && < 0.11,
mmorph >= 1.1 && < 1.3,
mtl >= 2.2.2 && < 2.4,
primitive >= 0.6.3 && < 0.10,
ref-tf >= 0.4.0 && < 0.6,
reflex >= 0.9.2 && < 1,
stm >= 2.4 && < 2.6,
transformers >= 0.5.5 && < 0.7
if !os(windows)
build-depends: unix >= 2.7 && < 2.10
library
import: library-settings
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
build-depends:
base >= 4.10.0 && < 4.22,
async >= 2.2.6 && < 2.3,
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,
vector >= 0.12 && < 0.14,
vty >= 6.0 && < 6.7,
vty-crossplatform >= 0.1 && < 0.6,
reflex-vty:reflex-vty-internal
hs-source-dirs: src
flag leaktest
description: Build the space-leak profiling repro (src-bin/leaktest.hs)
manual: True
default: False
flag test-tools
description: Build the PTY test driver (reflex-vty-test-driver).
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
TypeOperators
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
executable reflex-vty-test-driver
if !flag(test-tools) || os(windows)
buildable: False
hs-source-dirs: test/pty
main-is: Main.hs
ghc-options: -threaded -Wall
default-language: Haskell2010
build-depends:
base >= 4.10.0 && < 4.22,
reflex-vty,
reflex >= 0.9.2 && < 1,
vty >= 6.0 && < 6.5,
text,
bytestring,
transformers >= 0.5.5 && < 0.7,
data-default
if !os(windows)
build-depends: unix >= 2.7 && < 2.10
test-suite reflex-vty-test
hs-source-dirs: test
main-is: Spec.hs
type: exitcode-stdio-1.0
ghc-options: -threaded
other-modules:
Control.Monad.NodeIdSpec
Data.Text.ZipperSpec
Reflex.Vty.Test.Generators
Reflex.Vty.CanvasSpec
Reflex.Vty.ColorProfileSpec
Reflex.Vty.ColorSpec
Reflex.Vty.HostSpec
Reflex.Vty.Host.SignalSpec
Reflex.Vty.Host.TriggerSpec
Reflex.Vty.Test.AppHarness
Reflex.Vty.StyleSpec
Reflex.Vty.StyleJoinSpec
Reflex.Vty.Test.Snapshot
Reflex.Vty.Test.SnapshotSpec
Reflex.Vty.Test.GoldenPolicySpec
Reflex.Vty.Test.GoldenSpec
Reflex.Vty.Widget.BoxSpec
Reflex.Vty.Widget.CursorSpec
Reflex.Vty.Widget.LayoutSpec
Reflex.Vty.WidgetSpec
Reflex.Vty.Widget.InputSpec
Reflex.Vty.Widget.Input.TextSpec
Reflex.Vty.Widget.TextSpec
Reflex.Vty.Widget.SplitSpec
Reflex.Vty.ThemeSpec
Reflex.Vty.CompositionSpec
Reflex.Vty.Widget.MouseSpec
Reflex.Vty.Widget.ScrollSpec
build-depends:
base,
reflex,
async >= 2.2.6 && < 2.3,
bytestring,
dependent-sum,
containers,
directory,
exceptions,
filepath,
ordered-containers,
process >= 1.6 && < 1.7,
reflex-vty,
reflex-vty:reflex-vty-internal,
stm,
text,
transformers,
vector >= 0.12 && < 0.14,
extra,
QuickCheck >= 2.14 && < 2.16,
hspec >= 2.7 && < 2.12,
vty
if !os(windows)
build-depends: unix >= 2.7 && < 2.10
default-language: Haskell2010