delta: A library for detecting file changes
Delta is a library for detecting file changes in any given directory. The package is written using the sodium FRP library but it also provides a callback based API.
File changes on OS X are based on the
FSEvents API that is also
used by TimeMachine. On other operating systems the library
currently uses recursive descents in directories. I will include
inotify for Linux. If someone would like to have a non-polling
based API for windows or BSD, I would really like it if anyone
The project also contains an executable, delta-run, which allows you to run arbitrary shell commands when a file in a directory (recursively) changes.
$> delta-run --help Usage: delta-run [-i|--interval INTERVAL] [-v|--verbose] FILE CMD Available options: -h,--help Show this help text -i,--interval INTERVAL Run at most every n seconds -v,--verbose Print extra output FILE The directory that is watched CMD The command to run
For example you could use
delta-run to rebuild your project
everytime the source changes like this:
delta-run ./src "cabal build"
|Versions||0.1.0.0, 0.1.0.1, 0.1.2.0, 0.2.0.0, 0.2.1.0, 0.2.1.1, 0.2.1.2|
|Dependencies||base (>=4.6 && <4.9), containers (>=0.5), delta, directory (>=1.2), filepath (>=1.3), hfsevents (>=0.1.5), optparse-applicative (>=0.10), process (>=1.2), sodium (>=0.11), time (>=1.5) [details]|
|Revised||Revision 2 made by muzzle at Thu Jul 23 21:07:40 UTC 2015|
|Source repo||head: git clone https://github.com/kryoxide/delta.git|
|Uploaded||by muzzle at Thu Jul 23 17:23:29 UTC 2015|
|Downloads||2309 total (4 in the last 30 days)|
|Rating||(no votes yet) [estimated by rule of succession]|
|Status||Docs available [build log]
Last success reported on 2015-07-23 [all 1 reports]
Hackage Matrix CI
Build in FSEvents support (OS X)
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
For package maintainers and hackage trustees