name:                brick
version:             0.52.1
synopsis:            A declarative terminal user interface library
description:
  Write terminal user interfaces (TUIs) painlessly with 'brick'! You
  write an event handler and a drawing function and the library does the
  rest.
  .
  .
  > module Main where
  >
  > import Brick
  >
  > ui :: Widget ()
  > ui = str "Hello, world!"
  >
  > main :: IO ()
  > main = simpleMain ui
  .
  .
  To get started, see:
  .
  * <https://github.com/jtdaugherty/brick/blob/master/README.md The README>
  .
  * The <https://github.com/jtdaugherty/brick/blob/master/docs/guide.rst Brick user guide>
  .
  * The demonstration programs in the 'programs' directory
  .
  .
  This package deprecates <http://hackage.haskell.org/package/vty-ui vty-ui>.
license:             BSD3
license-file:        LICENSE
author:              Jonathan Daugherty <cygnus@foobox.com>
maintainer:          Jonathan Daugherty <cygnus@foobox.com>
copyright:           (c) Jonathan Daugherty 2015-2018
category:            Graphics
build-type:          Simple
cabal-version:       1.18
Homepage:            https://github.com/jtdaugherty/brick/
Bug-reports:         https://github.com/jtdaugherty/brick/issues
tested-with:         GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.1, GHC == 8.6.5, GHC == 8.8.1

extra-doc-files:     README.md,
                     docs/guide.rst,
                     docs/samtay-tutorial.md,
                     docs/snake-demo.gif,
                     CHANGELOG.md,
                     docs/programs-screenshots.md,
                     docs/programs-screenshots/brick-attr-demo.png,
                     docs/programs-screenshots/brick-border-demo.png,
                     docs/programs-screenshots/brick-cache-demo.png,
                     docs/programs-screenshots/brick-custom-event-demo.png,
                     docs/programs-screenshots/brick-dialog-demo.png,
                     docs/programs-screenshots/brick-dynamic-border-demo.png,
                     docs/programs-screenshots/brick-edit-demo.png,
                     docs/programs-screenshots/brick-file-browser-demo.png,
                     docs/programs-screenshots/brick-fill-demo.png,
                     docs/programs-screenshots/brick-form-demo.png,
                     docs/programs-screenshots/brick-hello-world-demo.png,
                     docs/programs-screenshots/brick-layer-demo.png,
                     docs/programs-screenshots/brick-list-demo.png,
                     docs/programs-screenshots/brick-list-vi-demo.png,
                     docs/programs-screenshots/brick-markup-demo.png,
                     docs/programs-screenshots/brick-mouse-demo.png,
                     docs/programs-screenshots/brick-padding-demo.png,
                     docs/programs-screenshots/brick-progressbar-demo.png,
                     docs/programs-screenshots/brick-readme-demo.png,
                     docs/programs-screenshots/brick-suspend-resume-demo.png,
                     docs/programs-screenshots/brick-text-wrap-demo.png,
                     docs/programs-screenshots/brick-theme-demo.png,
                     docs/programs-screenshots/brick-viewport-scroll-demo.png,
                     docs/programs-screenshots/brick-visibility-demo.png

Source-Repository head
  type:     git
  location: git://github.com/jtdaugherty/brick.git

Flag demos
    Description:     Build demonstration programs
    Default:         False

library
  default-language:    Haskell2010
  ghc-options:         -Wall -Wcompat -O2
  default-extensions:  CPP
  hs-source-dirs:      src
  exposed-modules:
    Brick
    Brick.AttrMap
    Brick.BChan
    Brick.BorderMap
    Brick.Focus
    Brick.Forms
    Brick.Main
    Brick.Markup
    Brick.Themes
    Brick.Types
    Brick.Util
    Brick.Widgets.Border
    Brick.Widgets.Border.Style
    Brick.Widgets.Center
    Brick.Widgets.Core
    Brick.Widgets.Dialog
    Brick.Widgets.Edit
    Brick.Widgets.FileBrowser
    Brick.Widgets.List
    Brick.Widgets.ProgressBar
    Data.IMap
    Data.Text.Markup
  other-modules:
    Brick.Types.Common
    Brick.Types.TH
    Brick.Types.Internal
    Brick.Widgets.Internal

  build-depends:       base <= 4.13.0.0,
                       vty >= 5.24,
                       transformers,
                       data-clist >= 0.1,
                       directory >= 1.2.5.0,
                       dlist,
                       exceptions >= 0.10.0,
                       filepath,
                       containers >= 0.5.7,
                       microlens >= 0.3.0.0,
                       microlens-th,
                       microlens-mtl,
                       config-ini,
                       vector,
                       contravariant,
                       stm >= 2.4.3,
                       text,
                       text-zipper >= 0.7.1,
                       template-haskell,
                       deepseq >= 1.3 && < 1.5,
                       unix,
                       bytestring,
                       word-wrap >= 0.2
  if impl(ghc < 8.0)
    build-depends:     semigroups

executable brick-readme-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  default-extensions:  CPP
  main-is:             ReadmeDemo.hs
  build-depends:       base,
                       brick,
                       text

executable brick-file-browser-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  default-extensions:  CPP
  main-is:             FileBrowserDemo.hs
  build-depends:       base,
                       vty,
                       brick,
                       text

executable brick-form-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  default-extensions:  CPP
  main-is:             FormDemo.hs
  build-depends:       base,
                       brick,
                       text,
                       microlens,
                       microlens-th,
                       vty

executable brick-text-wrap-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  default-extensions:  CPP
  main-is:             TextWrapDemo.hs
  build-depends:       base,
                       brick,
                       text,
                       word-wrap

executable brick-cache-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  default-extensions:  CPP
  main-is:             CacheDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       microlens >= 0.3.0.0,
                       microlens-th

executable brick-visibility-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  main-is:             VisibilityDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       microlens >= 0.3.0.0,
                       microlens-th

executable brick-viewport-scroll-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  default-extensions:  CPP
  main-is:             ViewportScrollDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       microlens

executable brick-dialog-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  main-is:             DialogDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       microlens

executable brick-mouse-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  main-is:             MouseDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       microlens >= 0.3.0.0,
                       microlens-th,
                       text-zipper

executable brick-layer-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  main-is:             LayerDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       microlens >= 0.3.0.0,
                       microlens-th

executable brick-suspend-resume-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  main-is:             SuspendAndResumeDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       microlens >= 0.3.0.0,
                       microlens-th

executable brick-padding-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  main-is:             PaddingDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       microlens

executable brick-theme-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  main-is:             ThemeDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       microlens

executable brick-attr-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  main-is:             AttrDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       microlens

executable brick-markup-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  main-is:             MarkupDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       microlens

executable brick-list-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  main-is:             ListDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       microlens >= 0.3.0.0,
                       vector

executable brick-list-vi-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  main-is:             ListViDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       microlens >= 0.3.0.0,
                       vector

executable brick-custom-event-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  main-is:             CustomEventDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       microlens >= 0.3.0.0,
                       microlens-th

executable brick-fill-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  main-is:             FillDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       microlens

executable brick-hello-world-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  main-is:             HelloWorldDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       microlens

executable brick-edit-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-language:    Haskell2010
  main-is:             EditDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       vector,
                       microlens >= 0.3.0.0,
                       microlens-th

executable brick-border-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-extensions:  CPP
  default-language:    Haskell2010
  main-is:             BorderDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       microlens

executable brick-dynamic-border-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-extensions:  CPP
  default-language:    Haskell2010
  main-is:             DynamicBorderDemo.hs
  build-depends:       base <= 5,
                       brick,
                       vty,
                       text,
                       microlens

executable brick-progressbar-demo
  if !flag(demos)
    Buildable: False
  hs-source-dirs:      programs
  ghc-options:         -threaded -Wall -Wcompat -O2
  default-extensions:  CPP
  default-language:    Haskell2010
  main-is:             ProgressBarDemo.hs
  build-depends:       base,
                       brick,
                       vty,
                       text,
                       microlens

test-suite brick-tests
  type:                exitcode-stdio-1.0
  hs-source-dirs:      tests
  ghc-options:         -Wall -Wcompat -O2
  if impl(ghc >= 8)
    ghc-options:       -Wno-orphans
  default-language:    Haskell2010
  main-is:             Main.hs
  other-modules:       List
  build-depends:       base <=5,
                       brick,
                       containers,
                       microlens,
                       vector,
                       QuickCheck
  if impl(ghc < 8.0)
    build-depends:     semigroups
