cabal-version:      3.0
name:               horizontal-rule
version:            0.7.0.0
x-revision: 1
synopsis:           horizontal rule for the terminal
description:
  This package provides a utility for displaying a horizontal rule in a
  terminal.  Please see the README on GitHub at
  <https://github.com/ExtremaIS/hr-haskell#readme>.
homepage:           https://github.com/ExtremaIS/hr-haskell#readme
bug-reports:        https://github.com/ExtremaIS/hr-haskell/issues
license:            MIT
license-file:       LICENSE
author:             Travis Cardwell <travis.cardwell@extrema.is>
maintainer:         Travis Cardwell <travis.cardwell@extrema.is>
copyright:          Copyright (c) 2019-2024 Travis Cardwell
category:           Utils
build-type:         Simple

extra-doc-files:
  CHANGELOG.md
  README.md

tested-with:
  GHC ==8.8.4
   || ==8.10.7
   || ==9.0.2
   || ==9.2.8
   || ==9.4.8
   || ==9.6.6
   || ==9.8.4
   || ==9.10.1
   || ==9.12.1

source-repository head
  type: git
  location: https://github.com/ExtremaIS/hr-haskell.git

-- This flag is referenced in the Stack build-constraints.yaml configuration.
flag optparse-applicative_ge_0_18
  description: Use optparse-applicative 0.18 or newer
  default: False
  manual: False

library
  hs-source-dirs: src
  exposed-modules:
      HR
    , HR.Monad.Terminal
  other-modules:
      Paths_horizontal_rule
  autogen-modules:
      Paths_horizontal_rule
  build-depends:
      base >=4.13 && <4.22
    , terminal-size >=0.3.2.1 && <0.4
    , text >=1.2.4.0 && <2.2
  default-language: Haskell2010
  default-extensions:
      OverloadedStrings
  ghc-options: -Wall

executable hr
  hs-source-dirs: app
  main-is: Main.hs
  other-modules:
      LibOA
  build-depends:
      base
    , horizontal-rule
    , text
    , time >=1.9.3 && <1.15
  if flag(optparse-applicative_ge_0_18)
    build-depends:
        optparse-applicative >=0.18 && <0.19
      , prettyprinter >=1.7.1 && <1.8
  else
    build-depends:
        ansi-wl-pprint >=0.6.9 && <1.1
      , optparse-applicative >=0.15.1.0 && <0.18
  default-language: Haskell2010
  ghc-options: -Wall

test-suite horizontal-rule-test
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Spec.hs
  other-modules:
      HR.Mock
    , HR.Test
  other-modules:
      -- vendored explainable-preducates
      Test.Predicates
    , Test.Predicates.Internal.FlowMatcher
    , Test.Predicates.Internal.Util
  other-modules:
      -- vendored HMock
      Test.HMock
    , Test.HMock.ExpectContext
    , Test.HMock.Internal.ExpectSet
    , Test.HMock.Internal.Rule
    , Test.HMock.Internal.State
    , Test.HMock.Internal.Step
    , Test.HMock.Internal.TH
    , Test.HMock.Internal.Util
    , Test.HMock.MockMethod
    , Test.HMock.MockT
    , Test.HMock.Mockable
    , Test.HMock.Multiplicity
    , Test.HMock.Rule
    , Test.HMock.TH
  build-depends:
      base
    , horizontal-rule
    , tasty >=1.2.3 && <1.6
    , tasty-hunit >=0.10.0.3 && <0.11
  build-depends:
      -- vendored dependencies
      array >=0.5.4 && <0.6
    , constraints >=0.12 && <0.15
    , containers >=0.6.2.1 && <0.8
    , data-default >=0.7.1.1 && <0.9
    , exceptions >=0.10.4 && <0.11
    , extra >=1.7.9 && <1.9
    , monad-control >=1.0.2.3 && <1.1
    , mtl >=2.2.2 && <2.4
    , stm >=2.5 && <2.6
    , syb >=0.7.1 && <0.8
    , template-haskell >=2.15 && <2.24
    , transformers-base >=0.4.5.2 && <0.5
    , unliftio >=0.2.13.1 && <0.3
  default-language: Haskell2010
  ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N