- reference: https://ocaml.org/p/ocamlformat/latest/doc/editor_setup.html#format-on-save-using-entr
Alternatively, you may want to see your files reformatted on save. If you are running on Linux or macOS, you may enable this workflow easily regardless of your editor by using entr:
# `apt install entr` or `brew install entr`
find ./bin ./test -name "*.ml*" | entr -p ocamlformat --inplace /_
tldr entr
entr
Run arbitrary commands when files change.
More information: .
- Rebuild with `make` if any file in any subdirectory changes:
ag --files-with-matches | entr make
- Rebuild and test with `make` if any `.c` source files in the current directory change:
ls *.c | entr 'make && make test'
- Send a `SIGTERM` to any previously spawned ruby subprocesses before executing `ruby main.rb`:
ls *.rb | entr -r ruby main.rb
- Run a command with the changed file (`/_`) as an argument:
ls *.sql | entr psql -f /_
- [c]lear the screen and run a query after the SQL script is updated:
echo my.sql | entr -cp psql -f /_
- Rebuild the project if source files change, limiting output to the first few lines:
find src/ | entr -s 'make | sed 10q'
- Launch and auto-[r]eload a Node.js server:
ls *.js | entr -r node app.js