packages feed

Cabal revisions of brick-2.3.2

Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.

revision 1
-name:                brick-version:             2.3.2-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-2024-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.2.2-                      || == 8.4.4-                      || == 8.6.5-                      || == 8.8.4-                      || == 8.10.7-                      || == 9.0.2-                      || == 9.2.8-                      || == 9.4.8-                      || == 9.6.3-                      || == 9.8.1--extra-doc-files:     README.md,-                     docs/guide.rst,-                     docs/snake-demo.gif,-                     CHANGELOG.md,-                     programs/custom_keys.ini--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 -Wunused-packages-  default-extensions:  CPP-  hs-source-dirs:      src-  exposed-modules:-    Brick-    Brick.AttrMap-    Brick.BChan-    Brick.BorderMap-    Brick.Keybindings-    Brick.Keybindings.KeyConfig-    Brick.Keybindings.KeyEvents-    Brick.Keybindings.KeyDispatcher-    Brick.Keybindings.Parse-    Brick.Keybindings.Pretty-    Brick.Focus-    Brick.Forms-    Brick.Main-    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-    Brick.Widgets.Table-    Data.IMap-  other-modules:-    Brick.Types.Common-    Brick.Types.TH-    Brick.Types.EventM-    Brick.Types.Internal-    Brick.Widgets.Internal--  build-depends:       base >= 4.9.0.0 && < 4.21.0.0,-                       vty >= 6.0,-                       vty-crossplatform,-                       bimap >= 0.5 && < 0.6,-                       data-clist >= 0.1,-                       directory >= 1.2.5.0,-                       exceptions >= 0.10.0,-                       filepath,-                       containers >= 0.5.7,-                       microlens >= 0.3.0.0,-                       microlens-th,-                       microlens-mtl,-                       mtl,-                       config-ini,-                       vector,-                       stm >= 2.4.3,-                       text,-                       text-zipper >= 0.13,-                       template-haskell,-                       deepseq >= 1.3 && < 1.6,-                       unix-compat,-                       bytestring,-                       word-wrap >= 0.2--executable brick-custom-keybinding-demo-  if !flag(demos)-    Buildable: False-  hs-source-dirs:      programs-  ghc-options:         -threaded -Wall -Wcompat -O2-  default-language:    Haskell2010-  default-extensions:  CPP-  main-is:             CustomKeybindingDemo.hs-  build-depends:       base,-                       brick,-                       text,-                       vty,-                       containers,-                       microlens,-                       microlens-mtl,-                       microlens-th--executable brick-table-demo-  if !flag(demos)-    Buildable: False-  hs-source-dirs:      programs-  ghc-options:         -threaded -Wall -Wcompat -O2-  default-language:    Haskell2010-  default-extensions:  CPP-  main-is:             TableDemo.hs-  build-depends:       base,-                       brick,-                       text,-                       vty--executable brick-tail-demo-  if !flag(demos)-    Buildable: False-  hs-source-dirs:      programs-  ghc-options:         -threaded -Wall -Wcompat -O2-  default-language:    Haskell2010-  default-extensions:  CPP-  main-is:             TailDemo.hs-  build-depends:       base,-                       brick,-                       text,-                       vty,-                       vty-crossplatform,-                       random,-                       microlens-th,-                       microlens-mtl--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,-                       mtl--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-crossplatform,-                       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,-                       mtl--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,-                       microlens-mtl--executable brick-viewport-scrollbars-demo-  if !flag(demos)-    Buildable: False-  hs-source-dirs:      programs-  ghc-options:         -threaded -Wall -Wcompat -O2-  default-language:    Haskell2010-  default-extensions:  CPP-  main-is:             ViewportScrollbarsDemo.hs-  build-depends:       base,-                       brick,-                       vty,-                       vty-crossplatform,-                       text,-                       microlens,-                       microlens-mtl,-                       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,-                       microlens-mtl,-                       text-zipper,-                       mtl--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,-                       microlens-mtl--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-cropping-demo-  if !flag(demos)-    Buildable: False-  hs-source-dirs:      programs-  ghc-options:         -threaded -Wall -Wcompat -O2-  default-language:    Haskell2010-  main-is:             CroppingDemo.hs-  build-depends:       base,-                       brick,-                       vty,-                       text,-                       microlens--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,-                       mtl,-                       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-tabular-list-demo-  if !flag(demos)-    Buildable: False-  hs-source-dirs:      programs-  ghc-options:         -threaded -Wall -Wcompat -O2-  default-language:    Haskell2010-  main-is:             TabularListDemo.hs-  build-depends:       base,-                       brick,-                       vty,-                       text,-                       microlens >= 0.3.0.0,-                       microlens-mtl,-                       microlens-th,-                       mtl,-                       vector--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,-                       microlens-mtl,-                       mtl,-                       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,-                       microlens-mtl,-                       mtl,-                       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,-                       microlens-mtl--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-unix-suspend-demo-  hs-source-dirs:      programs-  ghc-options:         -threaded -Wall -Wcompat -O2-  default-language:    Haskell2010-  main-is:             UnixSuspendDemo.hs-  build-depends:       base,-                       brick,-                       vty,-                       text,-                       vector,-                       mtl,-                       microlens >= 0.3.0.0,-                       microlens-th,-                       microlens-mtl,-                       unix--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,-                       mtl,-                       microlens >= 0.3.0.0,-                       microlens-th,-                       microlens-mtl--executable brick-editor-line-numbers-demo-  if !flag(demos)-    Buildable: False-  hs-source-dirs:      programs-  ghc-options:         -threaded -Wall -Wcompat -O2-  default-language:    Haskell2010-  main-is:             EditorLineNumbersDemo.hs-  build-depends:       base,-                       brick,-                       vty,-                       text,-                       vector,-                       mtl,-                       microlens >= 0.3.0.0,-                       microlens-th,-                       microlens-mtl--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,-                       microlens-mtl,-                       microlens-th--test-suite brick-tests-  type:                exitcode-stdio-1.0-  hs-source-dirs:      tests-  ghc-options:         -Wall -Wcompat -Wno-orphans -O2-  default-language:    Haskell2010-  main-is:             Main.hs-  other-modules:       List Render-  build-depends:       base <=5,-                       brick,-                       containers,-                       microlens,-                       vector,-                       vty,-                       vty-crossplatform,-                       QuickCheck+name:                brick
+version:             2.3.2
+x-revision: 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-2024
+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.2.2
+                      || == 8.4.4
+                      || == 8.6.5
+                      || == 8.8.4
+                      || == 8.10.7
+                      || == 9.0.2
+                      || == 9.2.8
+                      || == 9.4.8
+                      || == 9.6.3
+                      || == 9.8.1
+
+extra-doc-files:     README.md,
+                     docs/guide.rst,
+                     docs/snake-demo.gif,
+                     CHANGELOG.md,
+                     programs/custom_keys.ini
+
+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 -Wunused-packages
+  default-extensions:  CPP
+  hs-source-dirs:      src
+  exposed-modules:
+    Brick
+    Brick.AttrMap
+    Brick.BChan
+    Brick.BorderMap
+    Brick.Keybindings
+    Brick.Keybindings.KeyConfig
+    Brick.Keybindings.KeyEvents
+    Brick.Keybindings.KeyDispatcher
+    Brick.Keybindings.Parse
+    Brick.Keybindings.Pretty
+    Brick.Focus
+    Brick.Forms
+    Brick.Main
+    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
+    Brick.Widgets.Table
+    Data.IMap
+  other-modules:
+    Brick.Types.Common
+    Brick.Types.TH
+    Brick.Types.EventM
+    Brick.Types.Internal
+    Brick.Widgets.Internal
+
+  build-depends:       base >= 4.9.0.0 && < 4.21.0.0,
+                       vty >= 6.0,
+                       vty-crossplatform,
+                       bimap >= 0.5 && < 0.6,
+                       data-clist >= 0.1,
+                       directory >= 1.2.5.0,
+                       exceptions >= 0.10.0,
+                       filepath,
+                       containers >= 0.5.7,
+                       microlens >= 0.3.0.0 && < 0.5,
+                       microlens-th,
+                       microlens-mtl,
+                       mtl,
+                       config-ini,
+                       vector,
+                       stm >= 2.4.3,
+                       text,
+                       text-zipper >= 0.13,
+                       template-haskell,
+                       deepseq >= 1.3 && < 1.6,
+                       unix-compat,
+                       bytestring,
+                       word-wrap >= 0.2
+
+executable brick-custom-keybinding-demo
+  if !flag(demos)
+    Buildable: False
+  hs-source-dirs:      programs
+  ghc-options:         -threaded -Wall -Wcompat -O2
+  default-language:    Haskell2010
+  default-extensions:  CPP
+  main-is:             CustomKeybindingDemo.hs
+  build-depends:       base,
+                       brick,
+                       text,
+                       vty,
+                       containers,
+                       microlens,
+                       microlens-mtl,
+                       microlens-th
+
+executable brick-table-demo
+  if !flag(demos)
+    Buildable: False
+  hs-source-dirs:      programs
+  ghc-options:         -threaded -Wall -Wcompat -O2
+  default-language:    Haskell2010
+  default-extensions:  CPP
+  main-is:             TableDemo.hs
+  build-depends:       base,
+                       brick,
+                       text,
+                       vty
+
+executable brick-tail-demo
+  if !flag(demos)
+    Buildable: False
+  hs-source-dirs:      programs
+  ghc-options:         -threaded -Wall -Wcompat -O2
+  default-language:    Haskell2010
+  default-extensions:  CPP
+  main-is:             TailDemo.hs
+  build-depends:       base,
+                       brick,
+                       text,
+                       vty,
+                       vty-crossplatform,
+                       random,
+                       microlens-th,
+                       microlens-mtl
+
+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,
+                       mtl
+
+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-crossplatform,
+                       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,
+                       mtl
+
+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,
+                       microlens-mtl
+
+executable brick-viewport-scrollbars-demo
+  if !flag(demos)
+    Buildable: False
+  hs-source-dirs:      programs
+  ghc-options:         -threaded -Wall -Wcompat -O2
+  default-language:    Haskell2010
+  default-extensions:  CPP
+  main-is:             ViewportScrollbarsDemo.hs
+  build-depends:       base,
+                       brick,
+                       vty,
+                       vty-crossplatform,
+                       text,
+                       microlens,
+                       microlens-mtl,
+                       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,
+                       microlens-mtl,
+                       text-zipper,
+                       mtl
+
+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,
+                       microlens-mtl
+
+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-cropping-demo
+  if !flag(demos)
+    Buildable: False
+  hs-source-dirs:      programs
+  ghc-options:         -threaded -Wall -Wcompat -O2
+  default-language:    Haskell2010
+  main-is:             CroppingDemo.hs
+  build-depends:       base,
+                       brick,
+                       vty,
+                       text,
+                       microlens
+
+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,
+                       mtl,
+                       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-tabular-list-demo
+  if !flag(demos)
+    Buildable: False
+  hs-source-dirs:      programs
+  ghc-options:         -threaded -Wall -Wcompat -O2
+  default-language:    Haskell2010
+  main-is:             TabularListDemo.hs
+  build-depends:       base,
+                       brick,
+                       vty,
+                       text,
+                       microlens >= 0.3.0.0,
+                       microlens-mtl,
+                       microlens-th,
+                       mtl,
+                       vector
+
+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,
+                       microlens-mtl,
+                       mtl,
+                       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,
+                       microlens-mtl,
+                       mtl,
+                       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,
+                       microlens-mtl
+
+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-unix-suspend-demo
+  hs-source-dirs:      programs
+  ghc-options:         -threaded -Wall -Wcompat -O2
+  default-language:    Haskell2010
+  main-is:             UnixSuspendDemo.hs
+  build-depends:       base,
+                       brick,
+                       vty,
+                       text,
+                       vector,
+                       mtl,
+                       microlens >= 0.3.0.0,
+                       microlens-th,
+                       microlens-mtl,
+                       unix
+
+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,
+                       mtl,
+                       microlens >= 0.3.0.0,
+                       microlens-th,
+                       microlens-mtl
+
+executable brick-editor-line-numbers-demo
+  if !flag(demos)
+    Buildable: False
+  hs-source-dirs:      programs
+  ghc-options:         -threaded -Wall -Wcompat -O2
+  default-language:    Haskell2010
+  main-is:             EditorLineNumbersDemo.hs
+  build-depends:       base,
+                       brick,
+                       vty,
+                       text,
+                       vector,
+                       mtl,
+                       microlens >= 0.3.0.0,
+                       microlens-th,
+                       microlens-mtl
+
+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,
+                       microlens-mtl,
+                       microlens-th
+
+test-suite brick-tests
+  type:                exitcode-stdio-1.0
+  hs-source-dirs:      tests
+  ghc-options:         -Wall -Wcompat -Wno-orphans -O2
+  default-language:    Haskell2010
+  main-is:             Main.hs
+  other-modules:       List Render
+  build-depends:       base <=5,
+                       brick,
+                       containers,
+                       microlens,
+                       vector,
+                       vty,
+                       vty-crossplatform,
+                       QuickCheck