Home

Awesome

ProgressLine

Latest Release

Track commands progress in a compact one-line format.

progressline output
📝 standard output

UsageFeaturesInstallation

Usage

Simply pipe your command output into progressline to start tracking:

long-running-command | progressline

If the command you are executing also writes data to stderr, then you should probably use "redirection" and send stderr messages to stdout so that they also go through the progressline:

long-running-command 2>&1 | progressline

Features

Change activity indicator styles

ProgressLine offers different styles to represent activity, they can be changed using -s, --activity-style option:

long-running-command | progressline --activity-style snake

Available styles:

dots (Default)snakekitt

Replace log output with custom text

If you don't need to see the log output during execution, even in a single line, you can replace it with your own text using the -t, --static-text option.

long-running-command | progressline --static-text "Updating sources..."

Highlight important lines

Log specific stdin lines above the progress line using the -m, --log-matches option:

long-running-command | progressline --log-matches "regex-1" --log-matches "regex-2"

Use progress line as an addition to standard output

Log all stdin data above the progress line using the -a, --log-all option:

long-running-command | progressline --log-all

Save original log

You have two options for saving the full original log:

  1. Using tee
long-running-command | tee original-log.txt | progressline
  1. Using -l, --original-log-path option:
long-running-command | progressline --original-log-path original-log.txt

Installation

Homebrew (macOS / Linux)

brew install progressline
<details> <summary>If you have macOS version older than Sonoma</summary>
brew install kattouf/progressline/progressline
</details>

Mint (macOS)

mint install kattouf/ProgressLine

Mise (macOS)

mise use -g spm:kattouf/ProgressLine

Manual Installation (macOS / Linux)

Download the binary for your platform from the releases page, and place it in your executable path.

Contributing

Feel free to open a pull request or a discussion.