#diff #watch #terminal

app rwatch

A modern, cross-platform Rust alternative to 'watch', with color, diff, and more. Periodically runs a command and displays its output fullscreen, with diff, color, beep, and more.

2 releases

0.1.1 Jul 11, 2025
0.1.0 Jul 11, 2025

#881 in Debugging

24 downloads per month

MIT license

13KB
175 lines

rwatch

A modern, cross-platform Rust alternative to watch, with color, diff, and more.

Features

  • Periodically runs a command and displays its output fullscreen
  • Highlights differences between runs (with -d/--differences)
  • Optionally keeps all changes since first run (-d=permanent)
  • Supports ANSI color output (-c/--color)
  • Beeps on command failure (-b/--beep)
  • Exits on error, output change, or unchanged output for N cycles
  • Customizable interval (via -n, --interval, or WATCH_INTERVAL env)
  • No-title, no-wrap, and direct exec modes

Usage

rwatch [OPTIONS] -- command [args...]

Common Options

  • -n, --interval <seconds>: Set update interval (default: 2, or $WATCH_INTERVAL)
  • -d, --differences[=permanent]: Highlight output differences; keep all changes with =permanent
  • -c, --color: Show ANSI color sequences
  • -b, --beep: Beep if command exits non-zero
  • -e, --errexit: Freeze on error and exit after key press
  • -g, --chgexit: Exit when output changes
  • -q, --equexit <cycles>: Exit when output does not change for N cycles
  • -t, --no-title: Hide header
  • -w, --no-wrap: Disable line wrapping
  • -x, --exec: Pass command directly (no shell)

Examples

  • Watch a directory listing, highlighting changes:
    rwatch -d -- ls -l
    
  • Run a command every 5 seconds:
    rwatch -n 5 -- date
    
  • Watch a command, beep on error:
    rwatch -b -- make test
    
  • Use a custom interval from the environment:
    WATCH_INTERVAL=10 rwatch -- git status
    

Installation

Install from crates.io

If you have Rust and Cargo installed, you can install the latest published version directly:

cargo install rwatch

Build from source

Clone the repository and install using Cargo:

git clone https://github.com/davidhfrankelcodes/rwatch.git
cd rwatch
cargo install --path .

License

MIT

Dependencies

~6–17MB
~168K SLoC