packages feed

brick-tabular-list-0.2.0.0: brick-tabular-list.cabal

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

synopsis: Tabular list widgets for brick.

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

    * Grid tabular list
    * Mixed tabular list

    == To get started

    * Read "Brick.Widgets.TabularList.Grid" or "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, I encourage using @OverloadedLabels@ extension with generic-lens or optics-core.

    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

common all
    build-depends:
        base >=4.15.1.0 && <5
      , brick >=1.5 && <1.7
      , containers ^>=0.6.4
      , microlens ^>=0.4.13
      , optics-core ^>=0.4.1
      , vty ^>=5.38
    default-language: Haskell2010

common exec
    import: all
    build-depends: brick-tabular-list
    if !flag(demos)
      buildable: False
    hs-source-dirs: demos
    ghc-options: -threaded

library
    import: all
    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:
        generic-lens ^>=2.2.1
    hs-source-dirs: src

common mixed-tabular-list
    import: exec
    other-modules: Internal.MixedTabularList

executable mixed-tabular-list
    import: mixed-tabular-list
    main-is:          MixedTabularList.hs

executable mixed-tabular-list-vi
    import: mixed-tabular-list
    main-is:          MixedTabularListVi.hs

common grid-tabular-list
    import: exec
    other-modules: Internal.GridTabularList

executable grid-tabular-list
    import: grid-tabular-list
    main-is: GridTabularList.hs

executable grid-tabular-list-vi
    import: grid-tabular-list
    main-is: GridTabularListVi.hs