-- Initial docvim.cabal generated by cabal init.  For further
-- documentation, see http://haskell.org/cabal/users-guide/

-- The name of the package.
name:                docvim

-- The package version.  See the Haskell package versioning policy (PVP)
-- for standards guiding when and how versions should be incremented.
-- http://www.haskell.org/haskellwiki/Package_versioning_policy
-- PVP summary:      +-+------- breaking API changes
--                   | | +----- non-breaking API additions
--                   | | | +--- code changes with no API change
version:             0.3.1.3

-- A short (one-line) description of the package.
synopsis:            Documentation generator for Vim plug-ins

-- A longer description of the package.
description:         Produces Vim help and HTML (via Markdown) documentation.

-- URL for the project homepage or repository.
homepage:            https://github.com/wincent/docvim

-- The license under which the package is released.
license:             MIT

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

-- The package author(s).
author:              Greg Hurrell

-- An email address to which users can send suggestions, bug reports, and
-- patches.
maintainer:          greg@hurrell.net

-- A copyright notice.
copyright:           2015-present Greg Hurrell

category:            Development

build-type:          Simple

extra-source-files:  README.md
                  -- Created with:
                  -- :read !find tests/fixtures -type f -and -name '*.vim' -or -name '*.golden'
                  ,  tests/fixtures/integration/command-t/golden/ast.golden
                  ,  tests/fixtures/integration/command-t/golden/markdown.golden
                  ,  tests/fixtures/integration/command-t/golden/plaintext.golden
                  ,  tests/fixtures/integration/command-t/input/autoload/commandt/isengard.vim
                  ,  tests/fixtures/integration/command-t/input/autoload/commandt/mirkwood.vim
                  ,  tests/fixtures/integration/command-t/input/autoload/commandt/private.vim
                  ,  tests/fixtures/integration/command-t/input/autoload/commandt.vim
                  ,  tests/fixtures/integration/command-t/input/plugin/command-t.vim
                  ,  tests/fixtures/integration/ferret/golden/ast.golden
                  ,  tests/fixtures/integration/ferret/golden/markdown.golden
                  ,  tests/fixtures/integration/ferret/golden/plaintext.golden
                  ,  tests/fixtures/integration/ferret/input/autoload/ferret/private/async.vim
                  ,  tests/fixtures/integration/ferret/input/autoload/ferret/private/dispatch.vim
                  ,  tests/fixtures/integration/ferret/input/autoload/ferret/private/vanilla.vim
                  ,  tests/fixtures/integration/ferret/input/autoload/ferret/private.vim
                  ,  tests/fixtures/integration/ferret/input/ftplugin/qf.vim
                  ,  tests/fixtures/integration/ferret/input/plugin/ferret.vim
                  ,  tests/fixtures/integration/loupe/golden/ast.golden
                  ,  tests/fixtures/integration/loupe/golden/markdown.golden
                  ,  tests/fixtures/integration/loupe/golden/plaintext.golden
                  ,  tests/fixtures/integration/loupe/input/autoload/loupe/private.vim
                  ,  tests/fixtures/integration/loupe/input/plugin/loupe.vim
                  ,  tests/fixtures/integration/pinnacle/golden/ast.golden
                  ,  tests/fixtures/integration/pinnacle/golden/markdown.golden
                  ,  tests/fixtures/integration/pinnacle/golden/plaintext.golden
                  ,  tests/fixtures/integration/pinnacle/input/autoload/pinnacle.vim
                  ,  tests/fixtures/integration/scalpel/golden/ast.golden
                  ,  tests/fixtures/integration/scalpel/golden/markdown.golden
                  ,  tests/fixtures/integration/scalpel/golden/plaintext.golden
                  ,  tests/fixtures/integration/scalpel/input/autoload/scalpel.vim
                  ,  tests/fixtures/integration/scalpel/input/plugin/scalpel.vim
                  ,  tests/fixtures/integration/terminus/golden/ast.golden
                  ,  tests/fixtures/integration/terminus/golden/markdown.golden
                  ,  tests/fixtures/integration/terminus/golden/plaintext.golden
                  ,  tests/fixtures/integration/terminus/input/autoload/terminus/private.vim
                  ,  tests/fixtures/integration/terminus/input/plugin/terminus.vim
                  ,  tests/fixtures/integration/vim-clipper/golden/ast.golden
                  ,  tests/fixtures/integration/vim-clipper/golden/markdown.golden
                  ,  tests/fixtures/integration/vim-clipper/golden/plaintext.golden
                  ,  tests/fixtures/integration/vim-clipper/input/autoload/clipper/private.vim
                  ,  tests/fixtures/integration/vim-clipper/input/plugin/clipper.vim
                  ,  tests/fixtures/integration/vim-docvim/golden/ast.golden
                  ,  tests/fixtures/integration/vim-docvim/golden/markdown.golden
                  ,  tests/fixtures/integration/vim-docvim/golden/plaintext.golden
                  ,  tests/fixtures/integration/vim-docvim/input/after/syntax/vim.vim
                  ,  tests/fixtures/integration/vim-docvim/input/ftplugin/vim.vim
                  ,  tests/fixtures/markdown/basic-paragraphs.golden
                  ,  tests/fixtures/markdown/basic-paragraphs.vim
                  ,  tests/fixtures/markdown/blockquotes.golden
                  ,  tests/fixtures/markdown/blockquotes.vim
                  ,  tests/fixtures/markdown/break-tags.golden
                  ,  tests/fixtures/markdown/break-tags.vim
                  ,  tests/fixtures/markdown/code.golden
                  ,  tests/fixtures/markdown/code.vim
                  ,  tests/fixtures/markdown/fenced.golden
                  ,  tests/fixtures/markdown/fenced.vim
                  ,  tests/fixtures/markdown/headings.golden
                  ,  tests/fixtures/markdown/headings.vim
                  ,  tests/fixtures/markdown/link-targets.golden
                  ,  tests/fixtures/markdown/link-targets.vim
                  ,  tests/fixtures/markdown/links.golden
                  ,  tests/fixtures/markdown/links.vim
                  ,  tests/fixtures/markdown/list-items.golden
                  ,  tests/fixtures/markdown/list-items.vim
                  ,  tests/fixtures/markdown/ordering-across-docblocks.golden
                  ,  tests/fixtures/markdown/ordering-across-docblocks.vim
                  ,  tests/fixtures/markdown/ordering-within-docblocks.golden
                  ,  tests/fixtures/markdown/ordering-within-docblocks.vim
                  ,  tests/fixtures/markdown/separator.golden
                  ,  tests/fixtures/markdown/separator.vim
                  ,  tests/fixtures/parser/backticks.golden
                  ,  tests/fixtures/parser/backticks.vim
                  ,  tests/fixtures/parser/blank-docblock-lines.golden
                  ,  tests/fixtures/parser/blank-docblock-lines.vim
                  ,  tests/fixtures/parser/blockquotes.golden
                  ,  tests/fixtures/parser/blockquotes.vim
                  ,  tests/fixtures/parser/br-tags.golden
                  ,  tests/fixtures/parser/br-tags.vim
                  ,  tests/fixtures/parser/command.golden
                  ,  tests/fixtures/parser/command.vim
                  ,  tests/fixtures/parser/commands.golden
                  ,  tests/fixtures/parser/commands.vim
                  ,  tests/fixtures/parser/comments.golden
                  ,  tests/fixtures/parser/comments.vim
                  ,  tests/fixtures/parser/empty-function.golden
                  ,  tests/fixtures/parser/empty-function.vim
                  ,  tests/fixtures/parser/empty.golden
                  ,  tests/fixtures/parser/empty.vim
                  ,  tests/fixtures/parser/endfunction.golden
                  ,  tests/fixtures/parser/endfunction.vim
                  ,  tests/fixtures/parser/fenced-code-blocks.golden
                  ,  tests/fixtures/parser/fenced-code-blocks.vim
                  ,  tests/fixtures/parser/function-autoloaded.golden
                  ,  tests/fixtures/parser/function-autoloaded.vim
                  ,  tests/fixtures/parser/function-bang.golden
                  ,  tests/fixtures/parser/function-bang.vim
                  ,  tests/fixtures/parser/function-command-variants.golden
                  ,  tests/fixtures/parser/function-command-variants.vim
                  ,  tests/fixtures/parser/function-script-local.golden
                  ,  tests/fixtures/parser/function-script-local.vim
                  ,  tests/fixtures/parser/function-varargs.golden
                  ,  tests/fixtures/parser/function-varargs.vim
                  ,  tests/fixtures/parser/function-with-nested-contents.golden
                  ,  tests/fixtures/parser/function-with-nested-contents.vim
                  ,  tests/fixtures/parser/functions-with-attributes.golden
                  ,  tests/fixtures/parser/functions-with-attributes.vim
                  ,  tests/fixtures/parser/functions.golden
                  ,  tests/fixtures/parser/functions.vim
                  ,  tests/fixtures/parser/headings.golden
                  ,  tests/fixtures/parser/headings.vim
                  ,  tests/fixtures/parser/just-whitespace.golden
                  ,  tests/fixtures/parser/just-whitespace.vim
                  ,  tests/fixtures/parser/let.golden
                  ,  tests/fixtures/parser/let.vim
                  ,  tests/fixtures/parser/lexpr.golden
                  ,  tests/fixtures/parser/lexpr.vim
                  ,  tests/fixtures/parser/link-targets.golden
                  ,  tests/fixtures/parser/link-targets.vim
                  ,  tests/fixtures/parser/links.golden
                  ,  tests/fixtures/parser/links.vim
                  ,  tests/fixtures/parser/list-items.golden
                  ,  tests/fixtures/parser/list-items.vim
                  ,  tests/fixtures/parser/lw.golden
                  ,  tests/fixtures/parser/lw.vim
                  ,  tests/fixtures/parser/mappings.golden
                  ,  tests/fixtures/parser/mappings.vim
                  ,  tests/fixtures/parser/minimal-annotation.golden
                  ,  tests/fixtures/parser/minimal-annotation.vim
                  ,  tests/fixtures/parser/options.golden
                  ,  tests/fixtures/parser/options.vim
                  ,  tests/fixtures/parser/phrasing-content.golden
                  ,  tests/fixtures/parser/phrasing-content.vim
                  ,  tests/fixtures/parser/plugin-annotation.golden
                  ,  tests/fixtures/parser/plugin-annotation.vim
                  ,  tests/fixtures/parser/simple-annotations.golden
                  ,  tests/fixtures/parser/simple-annotations.vim
                  ,  tests/fixtures/parser/trailing-comment.golden
                  ,  tests/fixtures/parser/trailing-comment.vim
                  ,  tests/fixtures/vim/basic-paragraphs.golden
                  ,  tests/fixtures/vim/blockquotes.golden
                  ,  tests/fixtures/vim/break-tags.golden
                  ,  tests/fixtures/vim/code.golden
                  ,  tests/fixtures/vim/fenced.golden
                  ,  tests/fixtures/vim/headings.golden
                  ,  tests/fixtures/vim/link-targets.golden
                  ,  tests/fixtures/vim/links.golden
                  ,  tests/fixtures/vim/list-items.golden
                  ,  tests/fixtures/vim/options.golden
                  ,  tests/fixtures/vim/options.vim
                  ,  tests/fixtures/vim/plugin.golden
                  ,  tests/fixtures/vim/plugin.vim

-- Constraint on the version of Cabal needed to build this package.
cabal-version:       >=1.10

source-repository head
  type:     git
  location: https://github.com/wincent/docvim.git

source-repository this
  type:     git
  location: https://github.com/wincent/docvim.git
  tag:      0.3.1.3

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

  -- Modules included in this executable, other than Main.
  -- other-modules:

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

  -- Other library packages from which modules are imported.
  build-depends:       base >=4.6 && <5
               ,       docvim

  ghc-options:         -W -Wall

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

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

library
  build-depends:    base
               ,    containers
               ,    directory
               ,    filepath

                    -- Third party
               ,    dlist
               ,    lens
               ,    mtl
               ,    optparse-applicative
               ,    parsec
               ,    pretty-show
               ,    split
  default-language:    Haskell2010
  exposed-modules:  Text.Docvim.AST
                 ,  Text.Docvim.CLI
                 ,  Text.Docvim.Compile
                 ,  Text.Docvim.Optimize
                 ,  Text.Docvim.Options
                 ,  Text.Docvim.Parse
                 ,  Text.Docvim.Printer.Markdown
                 ,  Text.Docvim.Printer.Vim
                 ,  Text.Docvim.ReadDir
                 ,  Text.Docvim.Util
                 ,  Text.Docvim.Visitor
                 ,  Text.Docvim.Visitor.Command
                 ,  Text.Docvim.Visitor.Commands
                 ,  Text.Docvim.Visitor.Footer
                 ,  Text.Docvim.Visitor.Function
                 ,  Text.Docvim.Visitor.Functions
                 ,  Text.Docvim.Visitor.Heading
                 ,  Text.Docvim.Visitor.Mapping
                 ,  Text.Docvim.Visitor.Mappings
                 ,  Text.Docvim.Visitor.Option
                 ,  Text.Docvim.Visitor.Options
                 ,  Text.Docvim.Visitor.Plugin
                 ,  Text.Docvim.Visitor.Section
                 ,  Text.Docvim.Visitor.Symbol
  other-modules:    Paths_docvim
  ghc-options:      -W -Wall
  hs-source-dirs:   lib

test-suite hlint
  build-depends:    base
               ,    hlint
  default-language: Haskell2010
  ghc-options:      -W -Wall
  hs-source-dirs:   tests
  main-is:          HLint.hs
  type:             exitcode-stdio-1.0

test-suite tasty
  build-depends:    base >= 4 && < 5
               ,    bytestring
               ,    containers
               ,    deepseq
               ,    directory
               ,    dlist
               ,    docvim
               ,    filepath
               ,    lens
               ,    mtl
               ,    parsec
               ,    pretty-show
               ,    process
               ,    split
               ,    tasty
               ,    tasty-golden
               ,    tasty-hunit
               ,    temporary
  other-modules:     Text.Docvim.AST
               ,     Text.Docvim.Compile
               ,     Text.Docvim.Optimize
               ,     Text.Docvim.Parse
               ,     Text.Docvim.Printer.Markdown
               ,     Text.Docvim.Printer.Vim
               ,     Text.Docvim.Util
               ,     Text.Docvim.Visitor
               ,     Text.Docvim.Visitor.Command
               ,     Text.Docvim.Visitor.Commands
               ,     Text.Docvim.Visitor.Footer
               ,     Text.Docvim.Visitor.Function
               ,     Text.Docvim.Visitor.Functions
               ,     Text.Docvim.Visitor.Heading
               ,     Text.Docvim.Visitor.Mapping
               ,     Text.Docvim.Visitor.Mappings
               ,     Text.Docvim.Visitor.Option
               ,     Text.Docvim.Visitor.Options
               ,     Text.Docvim.Visitor.Plugin
               ,     Text.Docvim.Visitor.Section
               ,     Text.Docvim.Visitor.Symbol
  default-language: Haskell2010
  ghc-options:      -W -Wall
  hs-source-dirs:   tests
                ,   lib
  main-is:          Tasty.hs
  type:             exitcode-stdio-1.0