packages feed

prettyprinter-ansi-terminal-1.1.4: prettyprinter-ansi-terminal.cabal

name:                prettyprinter-ansi-terminal
version:             1.1.4
cabal-version:       >= 1.10
category:            User Interfaces, Text
synopsis:            ANSI terminal backend for the »prettyprinter« package.
description:         See README.md
license:             BSD2
license-file:        LICENSE.md
extra-source-files:  README.md
                   , misc/version-compatibility-macros.h
                   , CHANGELOG.md
author:              David Luposchainsky
maintainer:          Simon Jakobi <simon.jakobi@gmail.com>, David Luposchainsky <dluposchainsky at google>
bug-reports:         http://github.com/quchen/prettyprinter/issues
homepage:            http://github.com/quchen/prettyprinter
build-type:          Simple
tested-with:         GHC==9.14.1, GHC==9.12.2, GHC==9.10.3, GHC==9.8.4, GHC==9.6.7, GHC==9.4.8, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2

source-repository head
  type: git
  location: https://github.com/quchen/prettyprinter

flag text
  description: While it's a core value of @prettyprinter@ packages to use @Text@, there are rare
               circumstances (mostly when @prettyprinter@ arises as a dependency of
               test suites of packages like @bytestring@ or @text@ themselves) when
               this is inconvenient. In this case one can disable this flag, so that
               @prettyprinter-ansi-terminal@ fallbacks to @String@.
  default:     True
  manual:      True

library
    exposed-modules:  Data.Text.Prettyprint.Doc.Render.Terminal
                    , Data.Text.Prettyprint.Doc.Render.Terminal.Internal
                    , Prettyprinter.Render.Terminal
                    , Prettyprinter.Render.Terminal.Internal
    ghc-options:      -Wall -O2 -Wcompat
    hs-source-dirs:   src
    include-dirs:     misc
    default-language: Haskell2010
    other-extensions:
          CPP
        , OverloadedStrings


    build-depends:
          base          >= 4.9 && < 5
        , ansi-terminal >= 0.4.0
        , prettyprinter >= 1.7.0
    if flag(text)
        build-depends: text >= 1.2
    else
        -- A fake text package, emulating the same API, but backed by String
        hs-source-dirs: src-text
        other-modules:
              Data.Text
            , Data.Text.IO
            , Data.Text.Lazy
            , Data.Text.Lazy.Builder

test-suite doctest
    type: exitcode-stdio-1.0
    hs-source-dirs: test/Doctest
    main-is: Main.hs
    build-depends:
          base    >= 4.9 && < 5
        , doctest >= 0.9
    ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
    default-language: Haskell2010

benchmark large-output
    build-depends:
          base >= 4.9 && < 5
        , base-compat >=0.9.3 && <0.15
        , containers
        , deepseq
        , tasty-bench >= 0.2
        , prettyprinter
        , prettyprinter-ansi-terminal
        , QuickCheck >= 2.8
        , text

    hs-source-dirs:      bench
    main-is:             LargeOutput.hs
    ghc-options:         -O2 -rtsopts -Wall
    default-language:    Haskell2010
    type:                exitcode-stdio-1.0