name:                replace-megaparsec
version:             1.1.0.0
cabal-version:       1.18
synopsis:            Stream editing with parsers
homepage:            https://github.com/jamesdbrock/replace-megaparsec
bug-reports:         https://github.com/jamesdbrock/replace-megaparsec/issues
license:             BSD3
license-file:        LICENSE
author:              James Brock
maintainer:          jamesbrock@gmail.com
build-type:          Simple
category:            Parsing
description:

  Stream editing and find-and-replace with Megaparsec monadic parser
  combinators.

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

source-repository head
  type:               git
  location:           https://github.com/jamesdbrock/replace-megaparsec.git

library
  hs-source-dirs:      src
  build-depends:       base >= 4.0 && < 5.0
                     , megaparsec
  default-language:    Haskell2010
  exposed-modules:     Replace.Megaparsec
  ghc-options:         -O2 -Wall

test-suite test-string
  type:                detailed-0.9
  test-module:         TestString
  hs-source-dirs:      tests
  default-language:    Haskell2010
  build-depends:       base >= 4.0 && < 5.0
                     , replace-megaparsec
                     , megaparsec
                     , Cabal
  ghc-options:         -Wall

test-suite test-text
  type:                detailed-0.9
  test-module:         TestText
  hs-source-dirs:      tests
  default-language:    Haskell2010
  build-depends:       base >= 4.0 && < 5.0
                     , replace-megaparsec
                     , megaparsec
                     , Cabal
                     , text
  ghc-options:         -Wall

test-suite test-bytestring
  type:                detailed-0.9
  test-module:         TestByteString
  hs-source-dirs:      tests
  default-language:    Haskell2010
  build-depends:       base >= 4.0 && < 5.0
                     , replace-megaparsec
                     , megaparsec
                     , Cabal
                     , bytestring
  ghc-options:         -Wall


-- Disable these executables for now, they clutter up
-- the dependency list and `cabal v2-build`.
--
-- executable bench-string
--   main-is:             BenchString.hs
--   hs-source-dirs:      bench
--   default-language:    Haskell2010
--   build-depends:       base >= 4.0 && < 5.0
--                      , megaparsec
--                      , replace-megaparsec
--   ghc-options:         -O2 -Wall
--
-- executable bench-text
--   main-is:             BenchText.hs
--   hs-source-dirs:      bench
--   default-language:    Haskell2010
--   build-depends:       base >= 4.0 && < 5.0
--                      , megaparsec
--                      , replace-megaparsec
--                      , text
--   ghc-options:         -O2 -Wall
--
-- executable bench-bytestring
--   main-is:             BenchByteString.hs
--   hs-source-dirs:      bench
--   default-language:    Haskell2010
--   build-depends:       base >= 4.0 && < 5.0
--                      , megaparsec
--                      , replace-megaparsec
--                      , bytestring
--   ghc-options:         -O2 -Wall

benchmark bench-unit
  main-is:             BenchUnit.hs
  hs-source-dirs:      bench
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010
  build-depends:       base >= 4.0 && < 5.0
                     , megaparsec
                     , replace-megaparsec
                     , text
                     , bytestring
                     , criterion
  ghc-options:         -O2 -Wall