Yet another fancy watcher. (Inspired by antr / entr)
Configure execution of different commands using semantic yaml.
# .watch.yaml # list here all the events and the commands that it should execute # TIP: include '.watch.yaml' in your .git/info/exclude to ignore it. - name: run my tests run: make test change: 'tests/**' ignore: 'tests/integration/**' - name: fast compile sass run: compass compile src/static/some.scss change: ['src/static/**', 'src/assets/*'] - name: Starwars run: telnet towel.blinkenlights.nl change: '.watch.yaml' - name: say hello run: say hello change: '.watch.yaml' run_on_init: true
Create a lightweight watcher to run my tests everytime something in my project change. So I won't forget to keep my tests passing. Funzzy was made with Rust that is why it consumes almost nothing to run.
brew tap cristianoliveira/tap brew update brew install funzzy
curl -s https://raw.githubusercontent.com/cristianoliveira/funzzy/master/linux-install.sh | sh
- With Cargo
cargo install funzzy
*Make sure you have
$HOME/.cargo/bin in your PATH
Make sure you have installed the follow dependecies:
Clone this repo and do:
Initializing with boilerplate:
Change the yaml as you want. Then run:
Run with some arbitrary command and stdin
find . -R '**.rs' | funzzy 'cargo build'
Run some arbitrary command in an interval of seconds
funzzy run 'cargo build' 10
It does not work between vm and host machine
If you wanna try without installing it in your machine, try the playground vagrant.
cd funzzy vagrant up # Testing vagrant ssh -c "cd /vagrant && funzzy watch" # Another shell vagrant ssh -c "touch /vagrant/.watch.yaml"
It will take some time to be prepared.
We use clippy for lintting the funzzy's source code. Make sure you had validate it before commit.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request
Pull Requests are really welcome! Others support also.
Pull Request should have unit tests
This project was made under MIT License.