holman / spark

▁▂▃▅▂▇ in your shell.
http://zachholman.com/spark/
MIT License
6.01k stars 290 forks source link

spark

sparklines for your shell

See? Here's a graph of your productivity gains after using spark: ▁▂▃▅▇

install

spark is a shell script, so drop it somewhere and make sure it's added to your $PATH. It's helpful if you have a super-neat collection of dotfiles, like mine. Or you can use the following one-liner:

sudo sh -c "curl https://raw.githubusercontent.com/holman/spark/master/spark -o /usr/local/bin/spark && chmod +x /usr/local/bin/spark"

If you're on OS X, spark is also on Homebrew:

brew install spark

Depending on the fonts you have in your system and you use in the terminal, you might end up with irregular blocks. This is due to some fonts providing only part of the blocks, while the others are taken from a different, fallback font.

usage

Just run spark and pass it a list of numbers (comma-delimited, spaces, whatever you'd like). It's designed to be used in conjunction with other scripts that can output in that format.

spark 0 30 55 80 33 150
▁▂▃▅▂▇

Invoke help with spark -h.

cooler usage

There's a lot of stuff you can do.

Number of commits to the github/github Git repository, by author:

› git shortlog -s |
      cut -f1 |
      spark
  ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▁▁▁▁▁▁▁▁▂▁▁▅▁▂▁▁▁▂▁▁▁▁▁▁▁▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁

Magnitude of earthquakes worldwide 2.5 and above in the last 24 hours:

› curl -s https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_day.csv |
  sed '1d' |
  cut -d, -f5 |
  spark
▃█▅▅█▅▃▃▅█▃▃▁▅▅▃▃▅▁▁▃▃▃▃▃▅▃█▅▁▃▅▃█▃▁

Code visualization. The number of characters of spark itself, by line, ignoring empty lines:

› awk '{ print length($0) }' spark |
  grep -Ev 0 |
  spark
  ▁▁▁▁▅▁▇▁▁▅▁▁▁▁▁▂▂▁▃▃▁▁▃▁▃▁▂▁▁▂▂▅▂▃▂▃▃▁▆▃▃▃▁▇▁▁▂▂▂▇▅▁▂▂▁▇▁▃▁▇▁▂▁▇▁▁▆▂▁▇▁▂▁▁▂▅▁▂▁▆▇▇▂▁▂▁▁▁▂▂▁▅▁▂▁▁▃▁▃▁▁▁▃▂▂▂▁▁▅▂▁▁▁▁▂▂▁▁▁▂▂

Since it's just a shell script, you could pop it in your prompt, too:

ruby-1.8.7-p334 in spark/ on master with history: ▂▅▇▂
›

wicked cool usage

Sounds like a wiki is a great place to collect all of your wicked cool usage for spark.

contributing

Contributions welcome! Like seriously, I think contributions are real nifty.

Make your changes and be sure the tests all pass:

./test

That also means you should probably be adding your own tests as well as changing the code. Wouldn't want to lose all your good work down the line, after all!

Once everything looks good, open a pull request.

▇▁ ⟦⟧ ▇▁

This is a @holman joint.