Git Product home page Git Product logo

hwatch's Introduction

hwatch

hwatch - alternative watch command.

Description

hwatch is a alternative watch command. That records the result of command execution and can display it history and diffs.

Features

  • Can keep the history when the difference, occurs and check it later.
  • Can check the difference in the history. The display method can be changed in real time.
  • Can output the execution result as log (json format).
  • Support ANSI color code.
  • Execution result can be scroll.

Install

macOS (brew)

brew install hwatch

macOS (MacPorts)

sudo port install hwatch

Cargo Install

cargo install hwatch

Usage

hwatch 0.3.7
blacknon <[email protected]>
A modern alternative to the watch command, records the differences in execution results and can
check this differences at after.

USAGE:
    hwatch [OPTIONS] <command>...

ARGS:
    <command>...

OPTIONS:
    -c, --color                    interpret ANSI color and style sequences
    -d, --differences              highlight changes between updates
    -N, --line-number              show line number
    -x, --exec                     Run the command directly, not through the shell. Much like the
                                   `-x` option of the watch command.
    -l, --logfile <logfile>        logging file
    -s, --shell <shell_command>    shell to use at runtime. can  also insert the command to the
                                   location specified by {COMMAND}. [default: "sh -c"]
    -n, --interval <interval>      seconds to wait between updates [default: 2]
    -h, --help                     Print help information
    -V, --version                  Print version information

watch window keybind

  • โ†‘, โ†“ ... move selected screen(history/watch).
  • H ... show help window.
  • C ... toggle color.
  • D ... switch diff mode.
  • N ... switch line number display.
  • Q ... exit hwatch.
  • 0 ... disable diff.
  • 1 ... switch watch type diff.
  • 2 ... switch line type diff.
  • 3 ... switch word type diff.
  • F1 ... only stdout print.
  • F2 ... only stderr print.
  • F3 ... print output.
  • Tab ... toggle select screen(history/watch).
  • / ... filter history by string.
  • * ... filter history by regex.
  • Esc ... unfiltering.

Example

interval 10 second

Use the -n option to specify the command execution interval.

hwatch -n 3 command...

logging output

The command execution result can be output as a log in json format.

hwatch -n 3 -l hwatch_log.json command...

When you check the json log, you can easily check it by using this script.

Use shell function

If you want the shell function to be executed periodically, you can specify the shell command to be executed with -s as follows.

# bash
hwatch -n 3 -s 'bash -c "source ~/.bashrc"; {COMMAND}' command...

# zsh
hwatch -n 3 -s 'zsh -c "source ~/.zshrc"; {COMMAND}' command...

ANSI Color code

If you want to see output colored with ANSI color code, enable color mode.

To enable color mode, run hwatch with the -c option. Alternatively, you can enable / disable the color mode with the C key during execution.

hwatch -n 3 -c command...

diff view

To enable color mode, run hwatch with the -d option.

There are several "diff modes" available. Switching can be done with the D key.

hwatch -n 3 -d command...

watch diff

line diff

word diff

history filtering

You can filter history as a string with / key and as a regular expression with * key.

hwatch's People

Contributors

blacknon avatar naofumiuesugi avatar budimanjojo avatar hamburger1984 avatar greymd avatar equal-l2 avatar kamischi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.