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
change: "tests/**"
ignore: "tests/integration/**"
# Command templates for custom scripts
- name: run linters
run:
change:
- name: Starwars
run: telnet towel.blinkenlights.nl
change: ".watch.yaml"
- name: say hello
run: echo "hello on init"
change: ".watch.yaml"
run_on_init: true
Motivation
Create a lightweight watcher to run my tests every time 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
From source
Make sure you have installed the follow dependencies:
- Rust
Clone this repo and do:
Running
Initializing with boilerplate:
Change the YAML as you want. Then run:
Filtering task by target:
Run with some arbitrary command and stdin
|
Templates for composing commands
|
See more on examples or in the integration specs
Automated tests
Running unit tests:
or simple make tests
Running integration tests:
make integration
Code Style
We use clippy for lintting the funzzy's source code. Make sure you had validated 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.