mirror of
https://github.com/jtdaugherty/brick.git
synced 2024-11-24 16:54:11 +03:00
580 lines
17 KiB
Plaintext
580 lines
17 KiB
Plaintext
name: brick
|
|
version: 2.1.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-2023
|
|
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, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2, GHC == 9.2.4, GHC == 9.4.2
|
|
|
|
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-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
|