packages feed

fast-tags-1.2: fast-tags.cabal

name: fast-tags
version: 1.2
cabal-version: >= 1.8
build-type: Simple
synopsis: Fast incremental vi and emacs tags.
description:
    Yet another tags program.  Like hasktags, it uses its own parser rather
    than haskell-src or haskell-src-exts, so it's fast.  It understands
    hsc and literate haskell.
    .
    In addition, it will load an existing tags file and merge generated tags.
    .
    The intent is to bind it to vim's BufWrite autocommand to automatically
    keep the tags file up to date.  This only works for files changed by the
    editor of course, so you may want to bind 'rm tags' to a 'pull' posthook.
    .
    Limitations:
    .
    - Not using a real haskell parser means there is likely to be dark
    corners that don't parse right.
    .
    - Code has to be indented \"properly\", so brace and semicolon style with
    strange dedents will probably confuse it.

category: Haskell, Development
license: BSD3
license-file: LICENSE
author: Evan Laforge
maintainer: Evan Laforge <qdunkan@gmail.com>
stability: stable
tested-with: GHC>=7.0.3
data-files: README
extra-source-files:
    changelog.md
    src/*.hs

homepage: https://github.com/elaforge/fast-tags
source-repository head
    type: git
    location: git://github.com/elaforge/fast-tags.git

flag fast
    description:
        Spend more time optimizing a program (may yield up to 25% speedup)
    default: False

library
    build-depends:
        base >= 3 && < 5, mtl >=2.1, containers, cpphs >1.18, filepath, directory,
        -- text 0.11.1.12 has a bug.
        text (> 0.11.1.12 || < 0.11.1.12),
        async,
        bytestring,
        deepseq,
        array,
        utf8-string
    exposed-modules: Control.Monad.EitherK
                     FastTags
                     Lexer
                     LexerTypes
                     Token
    hs-source-dirs: src
    ghc-options: -Wall -fno-warn-name-shadowing
    ghc-prof-options: -Wall -fno-warn-name-shadowing -auto-all
    if flag(fast)
        ghc-options:
            -funfolding-creation-threshold=10000
            -funfolding-use-threshold=2500

executable fast-tags
    main-is: src/Main.hs
    other-modules: Paths_fast_tags
    build-depends:
        base >= 3 && < 5, containers, filepath, directory,
        -- text 0.11.1.12 has a bug.
        text (> 0.11.1.12 || < 0.11.1.12),
        async,
        bytestring,
        fast-tags
    ghc-options: -Wall -fno-warn-name-shadowing -threaded
    ghc-prof-options: -Wall -fno-warn-name-shadowing -auto-all -threaded
    if flag(fast)
        ghc-options:
            -funfolding-creation-threshold=10000
            -funfolding-use-threshold=2500

test-suite test-fast-tags
    type: exitcode-stdio-1.0
    main-is: MainTest.hs
    hs-source-dirs: tests
    ghc-options: -Wall -fno-warn-name-shadowing -fno-warn-type-defaults -main-is MainTest
    ghc-prof-options: -main-is MainTest
    build-depends:
        base >= 3 && < 5, containers, filepath, directory,
        -- text 0.11.1.12 has a bug.
        text (> 0.11.1.12 || < 0.11.1.12),
        async,
        bytestring,
        tasty, tasty-hunit,
        fast-tags