Cabal-version: 2.4
Name:          stylish-haskell
Version:       0.14.5.0
Synopsis:      Haskell code prettifier
Homepage:      https://github.com/haskell/stylish-haskell
License:       BSD-3-Clause
License-file:  LICENSE
Author:        Jasper Van der Jeugt <m@jaspervdj.be>
Maintainer:    Jasper Van der Jeugt <m@jaspervdj.be>
Copyright:     2012 Jasper Van der Jeugt
Category:      Language
Build-type:    Simple

Description:
    A Haskell code prettifier. For more information, see:

    .

    <https://github.com/haskell/stylish-haskell/blob/master/README.markdown>

Extra-source-files:
  CHANGELOG,
  README.markdown,
  data/stylish-haskell.yaml

Flag ghc-lib
  Default: True
  Manual:  True
  Description:
    Force dependency on ghc-lib-parser even if GHC API in the ghc package is supported

Common depends
  Ghc-options:      -Wall
  Default-language: Haskell2010

  Build-depends:
    aeson             >= 0.6    && < 2.2,
    base              >= 4.8    && < 5,
    bytestring        >= 0.9    && < 0.12,
    Cabal             >= 3.4    && < 4.0,
    containers        >= 0.3    && < 0.7,
    directory         >= 1.2.3  && < 1.4,
    filepath          >= 1.1    && < 1.5,
    file-embed        >= 0.0.10 && < 0.1,
    mtl               >= 2.0    && < 2.4,
    regex-tdfa        >= 1.3    && < 1.4,
    syb               >= 0.3    && < 0.8,
    text              >= 1.2    && < 2.1,
    HsYAML-aeson      >=0.2.0   && < 0.3,
    HsYAML            >=0.2.0   && < 0.3,

  if impl(ghc < 8.0)
    Build-depends:
      semigroups >= 0.18 && < 0.20

  -- Use GHC if the ghc-lib flag is not set
  -- and we have a new enough GHC. Note that 
  -- this will only work if the user's 
  -- compiler is of the matching major version!
  if impl(ghc >= 9.4.1) && (!flag(ghc-lib))
    Build-depends:
      ghc >= 9.6 && < 9.7,
      ghc-boot,
      ghc-boot-th
  else
    Build-depends:
      ghc-lib-parser >= 9.6 && < 9.7

  Build-depends:
    ghc-lib-parser-ex >= 9.6 && < 9.7

Library
  Import:         depends
  Hs-source-dirs: lib

  Exposed-modules:
    Language.Haskell.Stylish
    Language.Haskell.Stylish.Config
    Language.Haskell.Stylish.GHC
    Language.Haskell.Stylish.Module
    Language.Haskell.Stylish.Parse
    Language.Haskell.Stylish.Printer
    Language.Haskell.Stylish.Step
    Language.Haskell.Stylish.Step.Data
    Language.Haskell.Stylish.Step.Imports
    Language.Haskell.Stylish.Step.LanguagePragmas
    Language.Haskell.Stylish.Step.ModuleHeader
    Language.Haskell.Stylish.Step.SimpleAlign
    Language.Haskell.Stylish.Step.Squash
    Language.Haskell.Stylish.Step.Tabs
    Language.Haskell.Stylish.Step.TrailingWhitespace
    Language.Haskell.Stylish.Step.UnicodeSyntax

  Other-modules:
    Language.Haskell.Stylish.Align
    Language.Haskell.Stylish.Block
    Language.Haskell.Stylish.Comments
    Language.Haskell.Stylish.Config.Cabal
    Language.Haskell.Stylish.Config.Internal
    Language.Haskell.Stylish.Editor
    Language.Haskell.Stylish.Ordering
    Language.Haskell.Stylish.Util
    Language.Haskell.Stylish.Verbose
    Paths_stylish_haskell

  Autogen-modules:
    Paths_stylish_haskell

Executable stylish-haskell
  Import:         depends
  Hs-source-dirs: src
  Main-is:        Main.hs

  Build-depends:
    stylish-haskell,
    strict               >= 0.3  && < 0.6,
    optparse-applicative >= 0.12 && < 0.19

Test-suite stylish-haskell-tests
  Import:         depends
  Hs-source-dirs: tests
  Main-is:        TestSuite.hs
  Type:           exitcode-stdio-1.0

  Other-modules:
    Language.Haskell.Stylish.Config.Tests
    Language.Haskell.Stylish.Parse.Tests
    Language.Haskell.Stylish.Regressions
    Language.Haskell.Stylish.Step.Data.Tests
    Language.Haskell.Stylish.Step.Imports.FelixTests
    Language.Haskell.Stylish.Step.Imports.Tests
    Language.Haskell.Stylish.Step.LanguagePragmas.Tests
    Language.Haskell.Stylish.Step.ModuleHeader.Tests
    Language.Haskell.Stylish.Step.SimpleAlign.Tests
    Language.Haskell.Stylish.Step.Squash.Tests
    Language.Haskell.Stylish.Step.Tabs.Tests
    Language.Haskell.Stylish.Step.TrailingWhitespace.Tests
    Language.Haskell.Stylish.Step.UnicodeSyntax.Tests
    Language.Haskell.Stylish.Tests
    Language.Haskell.Stylish.Tests.Util

  Build-depends:
    stylish-haskell,
    HUnit                >= 1.2   && < 1.7,
    random               >= 1.1,
    test-framework       >= 0.4   && < 0.9,
    test-framework-hunit >= 0.2   && < 0.4,

Source-repository head
  Type:     git
  Location: https://github.com/haskell/stylish-haskell