cabal-version: 2.2
name:          hls-plugin-api
version:       0.7.1.0
synopsis:      Haskell Language Server API for plugin communication
description:
  Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
homepage:      https://github.com/haskell/haskell-language-server/hls-plugin-api
bug-reports:   https://github.com/haskell/haskell-language-server/issues
license:       Apache-2.0
license-file:  LICENSE
author:        The Haskell IDE Team
maintainer:    alan.zimm@gmail.com
copyright:     The Haskell IDE Team
category:      Development
build-type:    Simple

flag pedantic
  description: Enable -Werror
  default:     False
  manual:      True

source-repository head
  type:     git
  location: https://github.com/haskell/haskell-language-server

library
  exposed-modules:
    Ide.Logger
    Ide.Plugin.Config
    Ide.PluginUtils
    Ide.Types

  hs-source-dirs:   src
  build-depends:
    , aeson
    , base                  >=4.12    && <5
    , containers
    , data-default
    , Diff
    , lsp                   ^>=1.1.0
    , hashable
    , hslogger
    , lens
    , process
    , regex-tdfa            >=1.3.1.0
    , shake                 >=0.17.5
    , text
    , unordered-containers
    , dependent-map
    , dependent-sum
    , dlist
    , opentelemetry

  if os(windows)
      build-depends:
        Win32
  else
      build-depends:
        unix

  ghc-options:      -Wall -Wredundant-constraints -Wno-name-shadowing -Wno-unticked-promoted-constructors

  if flag(pedantic)
    ghc-options: -Werror

  default-language: Haskell2010
  default-extensions: DataKinds, KindSignatures, TypeOperators