packages feed

ansiform-1.0.0: ansiform.cabal

cabal-version:       3.0
name:                ansiform
version:             1.0.0
synopsis:            Display formatting for command line interfaces.
description:         Basic format DSL for building an ANSI command line interface
                     with colors, alignment, tables, paragraphs and more.
license:             MIT
license-file:        LICENSE
author:              Tunai Raiol
maintainer:          Tralen <dev@tralen.cc>
copyright:           2018-2026 Tunai Raiol
category:            User Interfaces
homepage:            https://github.com/Tralen/ansiform
bug-reports:         https://github.com/Tralen/ansiform/issues
tested-with:         GHC == 9.2.8 || == 9.14.1
extra-doc-files:     ChangeLog.md
                     README.md
                     docs/architecture.md
                     docs/content.md
                     docs/demo.md
                     docs/input.md
                     docs/naming.md
                     docs/number.md
                     docs/pages.md
                     docs/platforms.md
                     docs/printers.md
                     docs/releasing.md
                     docs/render.md
                     docs/roadmap.md
                     docs/sections.md
                     docs/settings.md
                     docs/style.md
                     docs/table-format.md
                     docs/theme.md
                     docs/tutorial.md

common shared
  default-language:    Haskell2010
  ghc-options:         -Wall
  build-depends:       base >= 4.10 && < 5

library
  import:              shared

  exposed-modules:     Ansiform
                     , Ansiform.Content
                     , Ansiform.Draw
                     , Ansiform.Input
                     , Ansiform.Line
                     , Ansiform.Number
                     , Ansiform.Page
                     , Ansiform.Printer
                     , Ansiform.Render
                     , Ansiform.Sample
                     , Ansiform.Section
                     , Ansiform.Settings
                     , Ansiform.Style
                     , Ansiform.Table
                     , Ansiform.Theme
                     , Ansiform.Width

  other-modules:       Ansiform.Internal
                     , Ansiform.Internal.Content
                     , Ansiform.Internal.Input
                     , Ansiform.Internal.Line
                     , Ansiform.Internal.Number
                     , Ansiform.Internal.Output
                     , Ansiform.Internal.Page
                     , Ansiform.Internal.Printer
                     , Ansiform.Internal.Render
                     , Ansiform.Internal.Sample
                     , Ansiform.Internal.Section
                     , Ansiform.Internal.Settings
                     , Ansiform.Internal.State
                     , Ansiform.Internal.Style
                     , Ansiform.Internal.Table
                     , Ansiform.Internal.Terminal
                     , Ansiform.Internal.Theme
                     , Ansiform.Internal.Utils
                     , Ansiform.Internal.Width

  build-depends:       ansi-terminal >= 0.8 && < 1.2
                     , directory >= 1.3 && < 1.4
                     , terminal-size >= 0.3 && < 0.4
                     , split >= 0.2 && < 0.3
                     , transformers >= 0.5 && < 0.7

  hs-source-dirs:      src

executable ansiform-demo
  import:              shared

  main-is:             Demo.hs
  hs-source-dirs:      examples
  build-depends:       ansiform
  if os(windows)
    ghc-options:       -with-rtsopts=--io-manager=winio

executable ansiform-tutorial
  import:              shared

  main-is:             Tutorial.hs
  hs-source-dirs:      examples
  build-depends:       ansiform
  if os(windows)
    ghc-options:       -with-rtsopts=--io-manager=winio

test-suite ansiform-test
  import:              shared

  type:                exitcode-stdio-1.0
  main-is:             Spec.hs
  hs-source-dirs:      test
  build-depends:       ansiform
                     , directory >= 1.3 && < 1.4

source-repository head
  type:                git
  location:            https://github.com/Tralen/ansiform.git