You may have to fiddle with your call to this tool to make it work right for your project, which requires some shell knowledge. But it does what it says on the tin. I’ve enjoyed using it, if briefly. Hot reloading is a game changer; it’s not just for web devs.
I discovered entr a few months (2?) ago, I wish I had found it earlier. It’s such a great tool!
entr has been transformative to my use of ledger. When I import transactions from my bank, uncategorized things are marked as “Equity:Unknown”. I use something like echo 2020.ledger | entr -acpr ledger -f /_ reg Equity:Unknown and it shows me a list of transactions that I’ve not yet categorized manually.
echo 2020.ledger | entr -acpr ledger -f /_ reg Equity:Unknown
There’s a similar tool called watchexec that I’ve used for a little while. watchexec works on macOS, Windows, and Linux, whereas I think entr only works on Linux (as far as I can tell).
entr works on BSD, mac OSX, and Linux. watchexec looks cool too, though.
I saw a comment from the watchexec author comparing watchevec with entr: https://news.ycombinator.com/item?id=23701078
It seems you can build from source on various platforms, and for macOS I also see a homebrew formula, but I haven’t tried it yet.
A search reveals the project has been featured here many times over the years, in case someone wants further reading.
I’ve been using a bash while loop around inotifywait, which was always cumbersome. This is nice.
Certainly agree that reducing time between “save” and “test ok/not-ok” is massively important.
If you use k8s, consider to use Tilt for a similar experience.
Does any one know how to connect entr with either make or redo correctly?
Essentially, I want to describe the relationships between targets using Make, but want the builds to happen automatically. A brute force approach is to simply connect all dependencies with make but that seems inelegant.
git ls-files is a nice trick that I did not know of
I have a technical question about entr, why does it wait to run a command when I’m scrolled back in a tmux pane?
I have to go back to the current output of the tmux pane to run the command again.
Is this something to do with the part of the manpage that says try prevent interactive utilities from waiting for keyboard input if output does not fit on the screen ?
try prevent interactive utilities from waiting for keyboard input if output does not fit on the screen
I have been using entr with a pattern like fd | entr -sc "cargo check" for years and it’s always served me well.
fd | entr -sc "cargo check"
For anyone interested in automating workflows - modd is nice as well.