cabal-version:       2.4

-- Initial package description 'lambda-options.cabal' generated by 'cabal
-- init'.  For further documentation, see
-- http://haskell.org/cabal/users-guide/

-- The name of the package.
name:                lambda-options

-- The package version.  See the Haskell package versioning policy (PVP)
-- for standards guiding when and how versions should be incremented.
-- https://pvp.haskell.org
-- PVP summary:      +-+------- breaking API changes
--                   | | +----- non-breaking API additions
--                   | | | +--- code changes with no API change
version:             1.0.2.0

-- A short (one-line) description of the package.
synopsis:            Declarative command-line parser using type-driven pattern matching.

-- A longer description of the package.
description:         This is a declarative command-line parser that uses type-driven pattern matching.

-- URL for the project homepage or repository.
homepage:            https://github.com/thomaseding/lambda-options

-- A URL where users can report bugs.
bug-reports:         https://github.com/thomaseding/lambda-options/issues

-- The license under which the package is released.
license:             BSD-3-Clause

-- The file containing the license text.
license-file:        LICENSE

-- The package author(s).
author:              Thomas Eding

-- An email address to which users can send suggestions, bug reports, and patches.
maintainer:          Thomas Eding

-- A copyright notice.
-- copyright:

category:            Text

-- Extra files to be distributed with the package, such as examples or a README.
extra-source-files:  README.md


library
  -- Modules exported by the library.
  exposed-modules:
        Text.LambdaOptions,
        Text.LambdaOptions.Bool,
        Text.LambdaOptions.Core,
        Text.LambdaOptions.Example.Example_1_BasicUsage,
        Text.LambdaOptions.Example.Example_2_Booly,
        Text.LambdaOptions.Example.Example_3_Repl,
        Text.LambdaOptions.Formatter,
        Text.LambdaOptions.Keyword,
        Text.LambdaOptions.List,
        Text.LambdaOptions.Parseable

  -- Modules included in this library but not exported.
  other-modules:
        Text.LambdaOptions.Internal.Opaque,
        Text.LambdaOptions.Internal.OpaqueParser,
        Text.LambdaOptions.Internal.Wrap

  -- LANGUAGE extensions used by modules in this package.
  other-extensions:
        AllowAmbiguousTypes,
        ConstraintKinds,
        DataKinds,
        DeriveDataTypeable,
        FlexibleContexts,
        FlexibleInstances,
        GADTs,
        InstanceSigs,
        KindSignatures,
        LambdaCase,
        MultiParamTypeClasses,
        Safe,
        ScopedTypeVariables,
        TypeApplications,
        TypeFamilies,
        TypeSynonymInstances

  -- Other library packages from which modules are imported.
  build-depends:
        base ^>=4.12.0.0,
        containers ^>=0.6.0.1,
        funspection ^>=1.0.0.0,
        mtl ^>=2.2.2,
        read-bounded ^>=0.1.1.2

  -- Directories containing source files.
  hs-source-dirs:      src

  -- Base language which the package is written in.
  default-language:    Haskell2010

