funzzy
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
when:
change: 'tests/**'
ignore: 'tests/integration/**'
- name: fast compile sass
run: compass compile src/static/some.scss
when:
change:
- name: Starwars
run: telnet towel.blinkenlights.nl
when:
change: '.watch.yaml'
Motivation
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.
Installing
- OSX:
- Linux:
|
- With Cargo
*Make sure you have $HOME/.cargo/bin
in your PATH
export $PATH:$HOME/.cargo/bin
Building
Make sure you have installed the follow dependecies:
- Rust
From source
Clone this repo and do:
Running
Initializing with boilerplate:
Change the yaml as you want. Then run:
or with some arbitrary command
Playground
It does not work between vm and host machine
If you wanna try without installing it in your machine, try the playground vagrant.
# Testing
# Another shell
It will take some time to be prepared.
Tests
Running tests:
or simple make tests
Code Style
We use clippy for lintting the funzzy's source code. Make sure you had validate it before commit.
Contributing
- 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
License
This project was made under MIT License.