Do not reparse script when its deleted
When using the -e flag, a Tempfile is created. This tempfile will be deleted once ruby GCs (as no reference to the tempfile is held anywhere), which will cause a :deleted event.
Once that happens, watchr will try to reparse the script, going into an endless loop because of a retry call in script.rb, receiving no further events.
This is only a possible solution to it; another option is to store the tempfile in a global variable (to avoid it ever getting GCd, and thus it will be never deleted). Doing it this way won’t guard against the file getting deleted by some other means, however.
Another way would be to finish the noted todo in script.rb, but I don’t know the complications so I decided not to try that :)