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.