rwatch

Crates.iorwatch
lib.rsrwatch
version0.1.1
created_at2025-07-11 01:51:34.322278+00
updated_at2025-07-11 15:56:47.768981+00
descriptionA 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.
homepage
repositoryhttps://github.com/davidhfrankelcodes/rwatch
max_upload_size
id1747291
size40,744
(davidhfrankelcodes)

documentation

https://docs.rs/rwatch

README

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

Commit count: 0

cargo fmt