ignore: Handle ignore files of different VCSes

[ bsd3, library, program, system ] [ Propose Tags ]
Dependencies base (==4.*), directory (>=, Glob (>=0.7), ignore, mtl (>=, path (>=0.5.1), pcre‑heavy (>=0.2), text (>= [details]
License BSD-3-Clause
Copyright (c) 2015 Alexander Thiemann
Author Alexander Thiemann <mail@athiemann.net>
Maintainer Alexander Thiemann <mail@athiemann.net>
Category System
Home page http://github.com/agrafix/ignore
Source repo head: git clone https://github.com/agrafix/ignore
Uploaded by AlexanderThiemann at Sun Aug 23 19:01:38 UTC 2015
Distributions LTSHaskell:, NixOS:, openSUSE:
Executables ignore
Downloads 909 total (10 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2015-08-23 [all 1 reports]
Hackage Matrix CI

Library and tiny tool for working with ignore files of different version control systems

[Skip to Readme]





Disable pcre support. If you enable this flag, version control ignore files that rely on pcre will not work correctly


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for ignore-

[back to package description]


Build Status Hackage


Hackage: ignore Stackage: ignore

Handle ignore files of different VCSes

Cli Usage: ignore

$ ignore --help
The ignore tool
(c) 2015 Alexander Thiemann

Tiny tool to check if a file in a repo is ignored by a VCS

Usage: ignore [--help|-h] file1 file2 file3 ... fileN

Library Usage Example

module Main where

import Ignore

import Path
import System.Environment
import System.Directory

main :: IO ()
main =
    do dir <- getCurrentDirectory >>= parseAbsDir
       ignoreFiles <- findIgnoreFiles [VCSGit, VCSMercurial, VCSDarcs] dir
       checker <- buildChecker ignoreFiles
       case checker of
           Left err -> error err
           Right (FileIgnoredChecker isFileIgnored) ->
                  putStrLn $
                    "Main.hs is "
                    ++ (if isFileIgnored "Main.hs"
                        then "ignored" else "not ignored")


  • Using cabal: cabal install ignore
  • Using Stack: stack install ignore
  • From Source (cabal): git clone https://github.com/agrafix/ignore.git && cd ignore && cabal install
  • From Source (stack): git clone https://github.com/agrafix/ignore.git && cd ignore && stack build


Supported GHC Versions


Released under the BSD3 license. (c) 2015 Alexander Thiemann