No, this post isn't about .bat files.

Continuing on this little series of tooling improvements, the next stop is Bat, an improvement to the good old cat utility, used for displaying files.

cat is really light and efficient and just takes either a file or stdin, and writes that to the screen.

Bat is a bit smarter. For one, if I try print a binary file, it doesn't do that by default, which always risks stuffing up my terminal.

It also has syntax highlighting for some file formats, and can integrate with git to show you changes.

Bat invoked twice. The first time to print a .snk file (a .NET cryptographic strong-naming key) which just shows <BINARY>, and the second time to print a JSON file which has both syntax highlighting as well as line numbers and a line indicator to show pending changes in Git.
Bat in action

Bat is one of those tools that I am trying to add to my muscle memory instead of cat in most cases. It is available for most (if not all) desktop platforms.