cabal-version:      2.2
name:               text-manipulate
version:            0.3.1.0
synopsis:           Case conversion, word boundary manipulation, and textual subjugation.
homepage:           https://github.com/brendanhay/text-manipulate
license:            MPL-2.0
license-file:       LICENSE
author:             Brendan Hay
maintainer:         Brendan Hay <brendan.g.hay@gmail.com>
copyright:          Copyright (c) 2014-2022 Brendan Hay
category:           Data, Text
build-type:         Simple
extra-source-files: README.md
description:
  Manipulate identifiers and structurally non-complex pieces
  of text by delimiting word boundaries via a combination of whitespace,
  control-characters, and case-sensitivity.
  .
  Has support for common idioms like casing of programmatic variable names,
  taking, dropping, and splitting by word, and modifying the first character
  of a piece of text.

source-repository head
  type:     git
  location: git://github.com/brendanhay/text-manipulate.git

common base
  default-language: Haskell2010
  ghc-options:
    -Wall -funbox-strict-fields -fwarn-incomplete-uni-patterns
    -fwarn-incomplete-record-updates

  build-depends:    base >=4.6 && <5

library
  import:          base
  hs-source-dirs:  lib
  exposed-modules:
    Data.Text.Lazy.Manipulate
    Data.Text.Manipulate

  other-modules:
    Data.Text.Manipulate.Internal.Fusion
    Data.Text.Manipulate.Internal.Types

  build-depends:   text >=1.1

benchmark bench
  import:         base
  type:           exitcode-stdio-1.0
  main-is:        Main.hs
  hs-source-dirs: bench
  ghc-options:    -O2 -threaded -with-rtsopts=-T
  build-depends:
    , criterion        >=1.0.0.2
    , text
    , text-manipulate

test-suite tests
  import:         base
  type:           exitcode-stdio-1.0
  hs-source-dirs: test
  main-is:        Main.hs
  ghc-options:    -threaded
  build-depends:
    , tasty            >=0.8
    , tasty-hunit      >=0.8
    , text
    , text-manipulate