You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
sharkdp 8a399c8d7d Disable paging-mode if we read from an interactive TTY 6 years ago
assets Use syntect newlines mode (instead of nonewlines) 6 years ago
ci Add CI scripts 6 years ago
src Disable paging-mode if we read from an interactive TTY 6 years ago
.gitignore Remove user specific change 6 years ago
.travis.yml Run 'cargo fmt' and enforce via Travis 6 years ago
Cargo.lock Bump version 6 years ago
Cargo.toml Bump version 6 years ago
LICENSE-APACHE Add license 6 years ago
LICENSE-MIT Add license 6 years ago
README.md Re-format README 6 years ago

README.md

bat

Build Status Version info

A cat(1) clone with syntax highlighting and Git integration.

Features

Syntax highlighting

bat supports syntax highlighting for a large number of programming and markup languages:

Syntax highlighting example

Git integration

bat communicates with git to show modifications with respect to the index (see left side bar):

Git integration example

Installation

From binaries

Check out the Release page for binary builds and Debian packages.

Arch Linux

On Arch Linux, you can install the AUR package via yaourt, or manually:

git clone https://aur.archlinux.org/bat.git
cd bat
makepkg -si

From source

If you want to build to compile bat from source, you need Rust 1.24 or higher. You can then use cargo to build everything:

cargo install bat

On macOS, you might have to install cmake (brew install cmake) in order for some dependencies to be built.

Customization

bat uses the excellent syntect library for syntax highlighting. syntect can read any Sublime Text .sublime-syntax file and theme.

To build your own language-set and theme, follow these steps:

Create a folder with a syntax highlighting theme:

mkdir -p ~/.config/bat/themes
cd ~/.config/bat/themes

# Download a theme, for example:
git clone https://github.com/jonschlinkert/sublime-monokai-extended

# Create a 'Default.tmTheme' link
ln -s "sublime-monokai-extended/Monokai Extended.tmTheme" Default.tmTheme

Create a folder with language definition files:

mkdir -p ~/.config/bat/syntax
cd ~/.config/bat/syntax

# Download some language definition files, for example:
git clone https://github.com/sublimehq/Packages/
rm -rf Packages/Markdown
git clone https://github.com/jonschlinkert/sublime-markdown-extended

Finally, use the following command to parse all these files into a binary cache:

bat init-cache