[Pkg-rust-maintainers] Bug#946546: RFP: watchexec -- Executes commands in response to file modifications
Antoine Beaupre
anarcat at debian.org
Tue Dec 10 17:47:56 GMT 2019
Package: wnpp
Severity: wishlist
* Package name : watchexec
Version : 1.12.0
Upstream Author : FĂ©lix Saparelli
* URL : https://github.com/watchexec/watchexec
* License : Apache-2
Programming Lang: Rust
Description : Executes commands in response to file modifications
watchexec is a simple, standalone tool that watches a path and runs a
command whenever it detects modifications.
Example use cases:
* Automatically run unit tests
* Run linters/syntax checkers
Features:
* Simple invocation and use
* Monitors current directory and all subdirectories for changes
* Coalesces multiple filesystem events into one, for editors that use
swap/backup files during saving
* By default, uses .gitignore to determine which files to ignore notifications for
* Support for watching files with a specific extension
* Support for filtering/ignoring events based on glob patterns
* Launches child processes in a new process group
* Optionally clears screen between executions
* Optionally restarts the command with every modification (good for servers)
* Does not require a language runtime
Anti-Features
* Not tied to any particular language or ecosystem
* Does not require a cryptic command line involving xargs
====
This package is one of *many* file monitoring tools. I have made an
inventory here:
https://anarc.at/blog/2019-11-20-file-monitoring-tools/
... yet they all suffer from significant complexity limitations and
cryptic commandline interfaces. Even watchman, a recent addition to
the frey, is difficult to use, see for example:
https://github.com/facebook/watchman/issues/769
https://github.com/facebook/watchman/issues/770
In comparison, watchexec seems much simpler to use and ticks all the
boxes. It also has unique features like the capacity to send signal to
processes and "wait for idle" which watchman also lacks support for.
I have no experience with Rust packaging and would love if someone
else could give a hand.
More information about the Pkg-rust-maintainers
mailing list