Skip to content

@sharkdp sharkdp released this Mar 22, 2020

bat as a library

Beginning with this release, bat can be used as a library (#423).

This was a huge effort and I want to thank all people who made this possible: @DrSensor, @mitsuhiko, @mre, @eth-p!

I want to stress that this is the very first release of the library. Things are very likely to change. A lot of things are still missing (including the documentation).

That being said, you can start using it! See the example programs in examples/.

You can see the API documentation here:


  • (Breaking change) Glob-based syntax mapping, see #877 and #592. With this change,
    users need to update their bat config files (bat --config-file), if they have any --map-syntax settings

    The option now works like this:

    --map-syntax <glob-pattern>:<syntax-name>

    For more information, see the --help text, the man page or the README.

    This new feature allows us to properly highlight files like:

    • /etc/profile
    • ~/.ssh/config
  • --highlight-line now accepts line ranges, see #809 (@lkalir)

  • Proper wrapping support for output with wide Unicode characters, see #811 #787 and #815 (@Kogia-sima)

  • A lot of updates to existing syntaxes via #644 (@benwaffle, @keith-hall)

  • BAT_CACHE_PATH can be used to place cached bat assets in a non-standard path, see #829 (@neuronull)

  • Support combination of multiple styles at the same time, see #857 (@aslpavel)



New syntaxes

New themes


  • bat is now in the official Ubuntu and Debian repositories, see #323 and #705 (@MarcoFalke)
  • bat can now be installed via MacPorts, see #675 (@bn3t)
  • Install fish completions into 'vendor_completions.d', see #651 (@sharkdp)


  • To @eth-p for joining me as a maintainer! I'm very grateful for all the work you put into
    managing and responding to issues, improving our deployment, adding PR/issue templates (#837) as
    well as fixing bugs and implementing new features.
Assets 14
You can’t perform that action at this time.