packages feed

markup-parse-0.1.1: markup-parse.cabal

cabal-version: 3.0
name: markup-parse
version: 0.1.1
license: BSD-3-Clause
license-file: LICENSE
copyright: Copyright, Tony Day, 2023-
category: project
author: Tony Day
maintainer: tonyday567@gmail.com
homepage: https://github.com/tonyday567/markup-parse#readme
bug-reports: https://github.com/tonyday567/markup-parse/issues
synopsis: A markup parser.
description:
    A markup parser and printer, from and to strict bytestrings, optimised for speed.
build-type: Simple
tested-with: GHC == 9.6.2
extra-doc-files:
    ChangeLog.md
    other/*.html
    other/*.svg
    readme.org

source-repository head
    type: git
    location: https://github.com/tonyday567/markup-parse

common ghc-options-exe-stanza
    ghc-options:
        -fforce-recomp
        -funbox-strict-fields
        -rtsopts
        -threaded

common ghc-options-stanza
    ghc-options:
        -Wall
        -Wcompat
        -Wincomplete-record-updates
        -Wincomplete-uni-patterns
        -Wredundant-constraints

common ghc2021-stanza
    if impl ( ghc >= 9.2 )
        default-language: GHC2021

    if impl ( ghc < 9.2 )
        default-language: Haskell2010
        default-extensions:
            BangPatterns
            BinaryLiterals
            ConstrainedClassMethods
            ConstraintKinds
            DeriveDataTypeable
            DeriveFoldable
            DeriveFunctor
            DeriveGeneric
            DeriveLift
            DeriveTraversable
            DoAndIfThenElse
            EmptyCase
            EmptyDataDecls
            EmptyDataDeriving
            ExistentialQuantification
            ExplicitForAll
            FlexibleContexts
            FlexibleInstances
            ForeignFunctionInterface
            GADTSyntax
            GeneralisedNewtypeDeriving
            HexFloatLiterals
            ImplicitPrelude
            InstanceSigs
            KindSignatures
            MonomorphismRestriction
            MultiParamTypeClasses
            NamedFieldPuns
            NamedWildCards
            NumericUnderscores
            PatternGuards
            PolyKinds
            PostfixOperators
            RankNTypes
            RelaxedPolyRec
            ScopedTypeVariables
            StandaloneDeriving
            StarIsType
            TraditionalRecordSyntax
            TupleSections
            TypeApplications
            TypeOperators
            TypeSynonymInstances

    if impl ( ghc < 9.2 ) && impl ( ghc >= 8.10 )
        default-extensions:
            ImportQualifiedPost
            StandaloneKindSignatures

library
    import: ghc-options-stanza
    import: ghc2021-stanza
    hs-source-dirs: src
    build-depends:
        , base               >=4.7 && <5
        , bytestring         >=0.11.3 && <0.13
        , containers         >=0.6 && <0.7
        , deepseq            >=1.4.4 && <1.6
        , flatparse          >=0.3.5 && <0.6
        , string-interpolate >=0.3 && <0.4
        , tasty              >=1.2 && <1.6
        , tasty-golden       >=2.3.1.1 && <2.4
        , these              >=1.1 && <1.3
        , tree-diff          >=0.3 && <0.4
    exposed-modules:
        MarkupParse
        MarkupParse.FlatParse
        MarkupParse.Patch

test-suite markup-parse-diff
    import: ghc-options-exe-stanza
    import: ghc-options-stanza
    import: ghc2021-stanza
    main-is: diff.hs
    hs-source-dirs: app
    build-depends:
        , base               >=4.7 && <5
        , bytestring         >=0.11.3 && <0.13
        , markup-parse
        , string-interpolate >=0.3 && <0.4
        , tasty              >=1.2 && <1.5
        , tasty-golden       >=2.3.1.1 && <2.4
        , tree-diff          >=0.3 && <0.4
    type: exitcode-stdio-1.0

benchmark markup-parse-speed
    import: ghc-options-exe-stanza
    import: ghc-options-stanza
    import: ghc2021-stanza
    main-is: speed.hs
    hs-source-dirs: app
    build-depends:
        , base                 >=4.7 && <5
        , bytestring           >=0.11.3 && <0.13
        , flatparse            >=0.3.5 && <0.6
        , html-parse           >=0.2 && <0.3
        , markup-parse
        , optparse-applicative >=0.17 && <0.19
        , perf                 >=0.12 && <0.13
        , text                 >=1.2 && <2.2
    ghc-options: -O2
    type: exitcode-stdio-1.0