@sharkdp sharkdp released this Nov 11, 2018 · 19 commits to master since this release

Assets 14


  • A new -A/--show-all option has been added to show and highlight non-printable characters (in analogy to GNU cats option):

    see #395 and #381 for more details.

  • Added --pager option (to configure the pager from the configuration file), see #362 (@majecty)

  • Added BAT_CONFIG_PATH environment variable to set a non-default path for bats configuration file, see #375 (@deg4uss3r)

  • Allow for multiple occurences of --style to allow for the configuration
    of styles from the config file, see #367 (@sindreij)

  • Allow for multiple --line-range arguments, see #23

  • The --terminal-width option can now also accept offsets, see #376


  • Use of italics is now disabled by default (see #389 for details). They can be
    re-enabled by adding --italic-text=always to your configuration file.

  • The default tab-width has been set to 4.

  • Added new "Sublime Snazzy" theme.

  • Shell completions are currently not shipped anymore, see #372 for details.



  • bat is now available on openSUSE, see #405 (@dmarcoux)

  • Added section about the new configuration file in the README (@deg4uss3r)

  • Chinese translation of README (@chinanf-boy)

  • Re-written tests for --tabs (@choznerol)

  • Speed up integration tests, see #394

@sharkdp sharkdp released this Oct 17, 2018 · 84 commits to master since this release

Assets 14


  • Support for a configuration file with the following simple format:

    --theme="Sublime Snazzy"
    # A line-comment
    --map-syntax .ignore:.gitignore
    --map-syntax PKGBUILD:bash
    --map-syntax Podfile:ruby
    # Flags and options can also be on a single line:
    --wrap=never --paging=never

    The configuration file path can be accessed via bat --config-file. On Linux,
    it is stored in ~/.config/bat/config.

  • Support for the BAT_OPTS environment variable with the same format as specified
    above (in a single line). This takes precedence over the configuration file.

    See also #310.

  • Support for custom syntax mappings via the -m/--max-syntax option.

    This allows users to (re)map certain file extensions or file names to an existing syntax:

    bat --map-syntax .config:json ...

    The option can be use multiple times. Note that you can easily make these mappings permanent by using bats new configuration file.

    See #169

  • Support pager command-line arguments in PAGER and BAT_PAGER, see #352 (@Foxboron)

  • Add support for wildcards in Windows CMD, see #309 (@zxey)

  • First-line syntax detection for all input types, see #205

  • Encoding support for UTF-16LE and UTF-16BE, see #285

  • New syntaxes: Robot framework (@sanga)


  • Binary files are now detected and not displayed when the output goes to an interactive terminal, see #205


  • JavaDoc comments break syntax highlighting in .java files, see #81

  • Bat Panics on Haskell Source Code, see #314


@sharkdp sharkdp released this Sep 12, 2018 · 161 commits to master since this release

Assets 14


  • Tabs are now (optionally) expanded to spaces. This can be controlled with the new
    --tabs command-line option or the BAT_TABS environment variable. The
    new feature also closes two bugs #166 and #184. For more information, see #302 (@eth-p).

  • Added support for the BAT_STYLE environment variable, see #208 (@ms2300)

  • Added OneHalf theme for terminals with a light-gray background, see #256

  • Added new syntaxes for CSV, JSX in JavaScript and TypeScript, Cabal, Dart,
    F#, PureScript, Swift, Crystal, PowerShell (Many Thanks to @tobenna and @mimadrid)



  • Can read files named cache, see #275 (@BK1603)

  • A lot of bugfixes for Windows, see #252, #264

  • Detect less reliably and in a portable way, see #271 and #290 (@Aankhen)

  • last decoration line is not formatted properly with --wrap never, see #299 (@Rogach)

  • Do not show file header for directories, see #292


@sharkdp sharkdp released this Aug 28, 2018 · 250 commits to master since this release

Assets 10


  • The --list-themes option now shows a preview for each highlighting theme (@ms2300)
  • Added -p/--plain as an alias for --style=plain, see #212 (@ms2300)
  • Major refactorings, enabling some progress on #150. In non-interactive mode, bat will now copy input bytes 1:1.
  • New languages: Elm, Kotlin, Puppet, TypeScript, see #215 #216 #217 #218
  • New syntax highlighting theme: zenburn (@colindean)


  • New themes in $BAT_CONFIG_DIR/themes are now loaded in addition to
    the default themes (they may also override), see #172
  • The Default.tmTheme symlink is not necessary anymore.


  • Using bat cache --init leads to duplicated syntaxes, see #206


  • Extended and cleaned-up --help text.
  • Added initial version of a man page, see #52
  • New README sections: Development and Troubleshooting, see #220

@sharkdp sharkdp released this Aug 19, 2018 · 286 commits to master since this release

Assets 10


  • Added --line-range n:m option to print a range of lines, see #159 (@tskinn)
  • The syntax highlighting theme can now be controlled by the BAT_THEME environment variable, see README and #177 (@mandx)
  • The PAGER and BAT_PAGER environment variables can be used to control the pager that bat uses, see #158 and the new README section
  • Added syntax highlighting for Nix, see #180
  • Added syntax highlighting for AWK (Gert Hulselmans)


  • The customization of syntax sets and theme sets is now separated. Syntax definitions are now loaded in addition to the ones that are stored in the bat binary by default. Please refer to these new sections in the README: Adding new syntaxes, Adding new themes, also see #172
  • The color for the filename is now the default foreground color. The colors for the grid and the line numbers is now determined from the syntax highlighting theme, which now also works for light backgrounds, see #178.


  • Escape Sequences get partially stripped, see #182 (@eth-p)
  • Use separate Git repository for snapshot testing, see #165 and #161
  • Markdown breaking on JavaScript, see #183


@sharkdp sharkdp released this May 31, 2018 · 327 commits to master since this release

Assets 9


  • Support for line-wrapping, see #54 and #102 (@eth-p)

  • New and updated --style parameter, see #74 and README (@pitkley)

  • Added --theme and --list-themes options, see #89 (@rleungx)

  • Added syntax highlighting for: Julia (@iamed2), Dockerfiles, VimL, CMake, INI, Less

  • Added a few popular Sublime Text highlighting themes, see #133

  • Support for bold, italic and underline font styles, see #96

  • Support for 32bit systems is now available, see #84

  • Added -u and -n options, see #134

  • ANSI color support on Windows 10


  • The customization folder for own syntaxes has been renamed from syntax to syntaxes, see README.

  • Changed Markdown syntax to the default Sublime Text syntax, see #157

  • Sorted language listing (@rleungx)

  • Command line arguments like --theme or --color can now override themselves.

  • Improved --help text.



@sharkdp sharkdp released this May 8, 2018 · 423 commits to master since this release

Assets 7


  • Automatic paging by integrating with less, see #29 (@BrainMaestro)

  • Added support for reading from standard input, see #2

  • Added support for writing to non-interactive terminals (pipes, files, ..); new
    --color=auto/always/never option, see #26 (@BrainMaestro)

  • Added --list-languages option to print all available syntaxes, see #69 (@connorkuehl)

  • New option to specify the syntax via -l/--language, see #19 (@BrainMaestro)

  • New option to control the output style (--style), see #5 (@nakulcg)

  • Added syntax highlighting support for TOML files, see #37


  • The init-cache sub-command has been removed. The cache can now be controlled via
    bat cache. See bat cache -h for all available commands.

Bug fixes

  • Get git repository from file path instead of current directory, see #22 (@nakulcg)

  • Process substitution can now be used with bat (bat <(echo a) <(echo b)), see #80


I'd like to say a big THANK YOU to all contributors and everyone that has given us
some form of feedback.

Special thanks go to @BrainMaestro for his huge support with new features, bug reports
and code reviews!