cabal-version:      3.0
name:               hls-refactor-plugin
version:            1.0.0.0
synopsis:           Exactprint refactorings for Haskell Language Server
description:
  Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>

license:            Apache-2.0
license-file:       LICENSE
author:             The Haskell IDE Team
copyright:          The Haskell IDE Team
maintainer:         zubin.duggal@gmail.com
category:           Development
build-type:         Simple
extra-source-files:
  LICENSE
  test/data/**/*.hs
  test/data/**/*.yaml

library
  if impl(ghc >= 9.3)
    buildable: False
  else
    buildable: True
  exposed-modules:  Development.IDE.GHC.ExactPrint
                    Development.IDE.GHC.Compat.ExactPrint
                    Development.IDE.Plugin.CodeAction
                    Development.IDE.Plugin.CodeAction.Util
                    Development.IDE.GHC.Dump
  other-modules:    Development.IDE.Plugin.CodeAction.Args
                    Development.IDE.Plugin.CodeAction.ExactPrint
                    Development.IDE.Plugin.CodeAction.PositionIndexed
  default-extensions:
    BangPatterns
    CPP
    DataKinds
    DeriveGeneric
    DerivingStrategies
    DerivingVia
    DuplicateRecordFields
    ExplicitNamespaces
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GeneralizedNewtypeDeriving
    LambdaCase
    NamedFieldPuns
    OverloadedStrings
    PatternSynonyms
    RankNTypes
    RecordWildCards
    ScopedTypeVariables
    TupleSections
    TypeApplications
    TypeOperators
    ViewPatterns
  hs-source-dirs:   src
  build-depends:
    , aeson
    , base                  >=4.12 && <5
    , ghc
    , bytestring
    , ghc-boot
    , regex-tdfa
    , text-rope
    , ghcide                ^>=1.8
    , hls-plugin-api        ^>=1.3 || ^>=1.4 || ^>= 1.5
    , lsp
    , text
    , transformers
    , unordered-containers
    , containers
    , ghc-exactprint < 1 || >= 1.4
    , extra
    , retrie
    , syb
    , hls-graph
    , dlist
    , deepseq
    , mtl
    , lens
    , data-default
    , time
  ghc-options: -Wall -Wno-name-shadowing
  default-language: Haskell2010

test-suite tests
  if impl(ghc >= 9.3)
    buildable: False
  else
    buildable: True
  type:             exitcode-stdio-1.0
  default-language: Haskell2010
  hs-source-dirs:   test
  main-is:          Main.hs
  ghc-options:      -O0 -threaded -rtsopts -with-rtsopts=-N -Wunused-imports
  build-depends:
    , base
    , filepath
    , hls-refactor-plugin
    , hls-test-utils      ^>=1.4
    , lens
    , lsp-types
    , text
    , aeson
    , hls-plugin-api
    , parser-combinators
    , data-default
    , extra
    , text-rope
    , containers
    , ghcide
    , ghcide-test-utils
    , shake
    , hls-plugin-api
    , lsp-test
    , network-uri
    , directory
    , async
    , regex-tdfa
    , tasty-rerun
    , tasty-hunit
    , tasty-expected-failure
    , tasty