Skip to content

grego/caretaker

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

caretaker

Build status Crates.io status Docs

A simple tool that loads a list of paths to watch from a TOML file.

[[watch]]
name = "print hello"
path = "src"
command = "echo $EVENT_PATH"

[[watch]]
name = "compile sass"
path = "sass/*.sass"
command = "sassc -t compressed sass/style.scss static/style.css"

On a change in the path, it executes the command. Directories are watched recursively. Paths can also be specified with globs. Any shell command can be used, along with pipes and so on. By default, the shell specified in the $SHELL environment variable is used to parse and execute the command. Otherwise, on Unix system, it invokes the default Bourne shell (sh command), on windows cmd.exe. Additionally, each command gets the $EVENT_PATH environment variable, containing the path that changed.

Using notify crate, which provides efficient event handling support for the most operating systems (apart from BSD).

Installing

Currently, Caretaker is available on AUR. You can install it with some AUR helper, like yay -S caretaker-bin.

If you have Rust toolchain installed, you can install it with Cargo:

cargo install caretaker

Running

Initialising with a dummy .watch.toml file:

caretaker init

Watching:

caretaker

You can also pass another file to load the config from via the -w option.

License

MIT

About

A simple, configurable filesystem watcher

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Languages