packages feed

brick-tabular-list-0.1.0.0: brick-tabular-list.cabal

cabal-version:      3.0
name:               brick-tabular-list
version:            0.1.0.0

synopsis: Tabular list widgets for brick.

description:
  This package contains two tabular list widgets for brick.

  == Grid tabular list

  ![ ](grid-tabular-list-01.png) ![ ](grid-tabular-list-02.png) ![ ](grid-tabular-list-03.png)

  == Mixed tabular list

  ![ ](mixed-tabular-list.png)

  == To get started

  * Read "Brick.Widgets.TabularList.Grid" and "Brick.Widgets.TabularList.Mixed".
  * Run demo programs in demos/ directory. To learn more quickly, modify and run demo programs.

  == Lens support

  If you want to use lens, you should use `OverloadedLabels` extension with generic-lens or optics-core.
  If you import any tabular list widget, "Data.Generics.Labels" from generic-lens comes for free.

  You can use generic-lens with lens, microlens, or any other lens package with van Laarhoven lens interface.

  For zoom, you have to use van Laarhoven lens because brick supports zoom through microlens.

homepage: https://codeberg.org/amano.kenji/brick-tabular-list
bug-reports: https://codeberg.org/amano.kenji/brick-tabular-list/issues

author: amano.kenji
maintainer: amano.kenji@proton.me
license: 0BSD
license-file: LICENSE

category: User Interface
extra-source-files:
    CHANGELOG.md

extra-doc-files: *.png

source-repository head
    type: git
    location: https://codeberg.org/amano.kenji/brick-tabular-list.git

Flag demos
    Description: Build demonstration programs
    Default: False

library
    exposed-modules:
        Brick.Widgets.TabularList
      , Brick.Widgets.TabularList.Grid
      , Brick.Widgets.TabularList.Mixed
      , Brick.Widgets.TabularList.Types
    other-modules:
        Brick.Widgets.TabularList.Internal.Common
      , Brick.Widgets.TabularList.Internal.Lens
    build-depends:
        base ^>=4.15.1.0
      , brick >=1.5 && <1.7
      , containers ^>=0.6.4
      , generic-lens ^>=2.2.1
      , microlens ^>=0.4.13
      , optics-core ^>=0.4.1
      , vty ^>=5.38
    default-language: Haskell2010
    hs-source-dirs: src

executable mixed-tabular-list
    if !flag(demos)
      buildable: False
    main-is:          MixedTabularList.hs
    other-modules:
        Internal.MixedTabularList
    build-depends:
        base ^>=4.15.1.0
      , brick >=1.5 && <1.7
      , brick-tabular-list
      , containers ^>=0.6.4
      , microlens ^>=0.4.13
      , optics-core ^>=0.4.1
      , vty ^>=5.38
    hs-source-dirs:   demos
    default-language: Haskell2010
    ghc-options:      -threaded

executable mixed-tabular-list-vi
    if !flag(demos)
      buildable: False
    main-is:          MixedTabularListVi.hs
    other-modules:
        Internal.MixedTabularList
    build-depends:
        base ^>=4.15.1.0
      , brick >=1.5 && <1.7
      , brick-tabular-list
      , containers ^>=0.6.4
      , microlens ^>=0.4.13
      , optics-core ^>=0.4.1
      , vty ^>=5.38
    hs-source-dirs:   demos
    default-language: Haskell2010
    ghc-options:      -threaded

executable grid-tabular-list
    if !flag(demos)
      buildable: False
    main-is: GridTabularList.hs
    other-modules:
        Internal.GridTabularList
    build-depends:
        base ^>=4.15.1.0
      , brick >=1.5 && <1.7
      , brick-tabular-list
      , containers ^>=0.6.4
      , microlens ^>=0.4.13
      , optics-core ^>=0.4.1
      , vty ^>=5.38
    hs-source-dirs: demos
    default-language: Haskell2010
    ghc-options: -threaded

executable grid-tabular-list-vi
    if !flag(demos)
      buildable: False
    main-is: GridTabularListVi.hs
    other-modules:
        Internal.GridTabularList
    build-depends:
        base ^>=4.15.1.0
      , brick >=1.5 && <1.7
      , brick-tabular-list
      , containers ^>=0.6.4
      , microlens ^>=0.4.13
      , optics-core ^>=0.4.1
      , vty ^>=5.38
    hs-source-dirs: demos
    default-language: Haskell2010
    ghc-options: -threaded