cabal-version:       2.4
name:                ghc-tags-plugin
version:             0.1.5.0
synopsis:            A compiler plugin which generates tags file from GHC syntax tree.
description:
  A compiler source plugin which takes parsed Haskell syntax tree and saves
  tags file to disk, leaving the parsed tree untouched.
license:             MPL-2.0
license-file:        LICENSE
author:              Marcin Szamotulski
maintainer:          profunctor@pm.me
copyright:           (c) 2020, Marcin Szamotulski
category:            Development
extra-source-files:  CHANGELOG.md
                     README.md
                     Makefile
homepage:            https://github.com/coot/ghc-tags-plugin#readme
bug-reports:         https://github.com/coot/ghc-tags-plugin/issues
tested-with:         GHC==8.6.3, GHC==8.8.3


source-repository head
  type:     git
  location: https://github.com/coot/ghc-tags-plugin


library
  hs-source-dirs:      src
  exposed-modules:     Plugin.GhcTags
  build-depends:       base          >=4.12.0.0 && <4.14,
                       bytestring   ^>=0.10,
                       directory    ^>=1.3,
                       filelock     ^>=0.1.1,
                       filepath     ^>=1.4,
                       ghc           >=8.4 && <8.9,
                       text         ^>=1.2,

                       ghc-tags-library

  default-language:    Haskell2010
  ghc-options:         -Wall


library ghc-tags-library
  hs-source-dirs:      lib
  exposed-modules:     Plugin.GhcTags.Generate
                       Plugin.GhcTags.Tag
                       Plugin.GhcTags.Vim
                       Plugin.GhcTags.Vim.Parser
                       Plugin.GhcTags.Vim.Formatter
                       Paths_ghc_tags_plugin
  autogen-modules:     Paths_ghc_tags_plugin
  build-depends:       attoparsec   ^>=0.13.0.0,
                       base          >=4.12.0.0 && <4.14,
                       bytestring   ^>=0.10,
                       directory    ^>=1.3,
                       ghc           >=8.4 && <8.9,
                       text         ^>=1.2

  default-language:    Haskell2010
  ghc-options:         -Wall


test-suite ghc-tags-tests
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Main.hs
  other-modules:       Test.Golden.Parser
                       Test.Tag
                       Test.Tag.Generators
                       Test.Vim
  default-language:    Haskell2010      
  build-depends:       attoparsec,
                       base,
                       bytestring,
                       lattices,
                       QuickCheck,
                       quickcheck-instances,
                       tasty,
                       tasty-golden,
                       tasty-quickcheck,
                       text,

                       ghc-tags-library
  ghc-options:         -Wall