cabal-version:      3.4
-- The cabal-version field refers to the version of the .cabal specification,
-- and can be different from the cabal-install (the tool) version and the
-- Cabal (the library) version you are using. As such, the Cabal (the library)
-- version used must be equal or greater than the version stated in this field.
-- Starting from the specification version 2.2, the cabal-version field must be
-- the first thing in the cabal file.

-- Initial package description 'anissue' generated by
-- 'cabal init'. For further documentation, see:
--   http://haskell.org/cabal/users-guide/
--
-- The name of the package.
name:               anissue

-- 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:            0.1.0.0

-- A short (one-line) description of the package.
-- synopsis:

-- A longer description of the package.
-- description:

-- URL for the project homepage or repository.
homepage:           https://github.com/kirchner/anissue

-- The license under which the package is released.
license:            GPL-3.0-or-later

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

-- The package author(s).
author:             Alexander Foremny, Fabian Kirchner

-- An email address to which users can send suggestions, bug reports, and patches.
maintainer:         kirchner@posteo.de

-- A copyright notice.
-- copyright:
category:           Development
build-type:         Simple

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

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

common warnings
    ghc-options: -Wall -threaded

executable anissue
    -- Import common warning flags.
    import:           warnings

    -- .hs or .lhs file containing the Main module.
    main-is:          Main.hs

    -- Modules included in this executable, other than Main.
    other-modules:
      Debug
      Die
      Exception
      Git
      History
      History.Cache
      History.CommitHash
      History.CommitInfo
      History.IssueEvent
      History.PartialCommitInfo
      Issue
      Issue.Filter
      Issue.GroupBy
      Issue.Provenance
      Issue.Sort
      Issue.Tag
      Issue.Text
      Issue.TypedValue
      Parallel
      Process
      Settings
      TreeGrepper.FileType
      TreeGrepper.Match
      TreeGrepper.Result

    -- LANGUAGE extensions used by modules in this package.
    -- other-extensions:

    -- Other library packages from which modules are imported.
    build-depends:    base ^>=4.16.4.0,
                      aeson,
                      attoparsec,
                      binary,
                      bytestring,
                      containers,
                      directory,
                      filepath,
                      optparse-applicative,
                      parallel-io,
                      prettyprinter,
                      prettyprinter-ansi-terminal,
                      temporary,
                      terminal-size,
                      text,
                      time,
                      typed-process,
                      xdg-basedir,
                      yaml

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

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

    default-extensions:
      BlockArguments
      DataKinds
      DeriveAnyClass
      DisambiguateRecordFields
      DuplicateRecordFields
      ForeignFunctionInterface
      GADTs
      LambdaCase
      OverloadedRecordDot
      OverloadedStrings
      PartialTypeSignatures
      RecordWildCards
      TypeFamilies
      ViewPatterns