cabal-version:   1.18
name:            hspec-megaparsec
version:         2.2.0
license:         BSD3
license-file:    LICENSE.md
maintainer:      Mark Karpov <markkarpov92@gmail.com>
author:          Mark Karpov <markkarpov92@gmail.com>
tested-with:     ghc ==8.6.5 ghc ==8.8.4 ghc ==8.10.1
homepage:        https://github.com/mrkkrp/hspec-megaparsec
bug-reports:     https://github.com/mrkkrp/hspec-megaparsec/issues
synopsis:        Utility functions for testing Megaparsec parsers with Hspec
description:
    Utility functions for testing Megaparsec parsers with Hspec.

category:        Testing, Parsing
build-type:      Simple
extra-doc-files:
    CHANGELOG.md
    README.md

source-repository head
    type:     git
    location: https://github.com/mrkkrp/hspec-megaparsec.git

flag dev
    description: Turn on development settings.
    default:     False
    manual:      True

library
    exposed-modules:  Test.Hspec.Megaparsec
    default-language: Haskell2010
    build-depends:
        base >=4.12 && <5.0,
        containers >=0.5 && <0.7,
        hspec-expectations >=0.8 && <0.9,
        megaparsec >=9.0 && <10.0

    if flag(dev)
        ghc-options: -Wall -Werror

    else
        ghc-options: -Wall

    if flag(dev)
        ghc-options:
            -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns
            -Wnoncanonical-monad-instances

test-suite tests
    type:             exitcode-stdio-1.0
    main-is:          Main.hs
    hs-source-dirs:   tests
    default-language: Haskell2010
    build-depends:
        base >=4.12 && <5.0,
        hspec >=2.0 && <3.0,
        hspec-expectations >=0.8 && <0.9,
        hspec-megaparsec -any,
        megaparsec >=9.0 && <10.0

    if flag(dev)
        ghc-options: -Wall -Werror

    else
        ghc-options: -Wall
