vcs-ignore-0.0.1.0: Library for handling files ignored by VCS systems.
Copyright(c) 2020-2021 Vaclav Svejcar
LicenseBSD-3-Clause
Maintainervaclav.svejcar@gmail.com
Stabilityexperimental
PortabilityPOSIX
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.VCS.Ignore.Core

Description

This module contains core operations you can perform over the scanned Repo.

Synopsis

Documentation

findRepo Source #

Arguments

:: (MonadIO m, Repo r) 
=> FilePath

path where to start scanning

-> m (Maybe r)

scanned Repo (if found)

Attempts to find (and scan via scanRepo) repository at given path. If given path doesn't contain valid repository, it recursively tries in every parent directory until the root directory (e.g. C: or /) is reached.

listRepo Source #

Arguments

:: (MonadIO m, Repo r) 
=> r

repository to list

-> m [FilePath]

list of non-ignored paths within the repository

Resursively lists all non-ignored paths withing the given repository (both files and directories).

walkRepo Source #

Arguments

:: (MonadIO m, Repo r) 
=> r

repository to walk

-> (FilePath -> m a)

action to perform on every non-excluded filepath

-> m [a]

list of paths transformed by the action function

Similar to listRepo, but allows to perform any action on every non-ignored path within the repository.