--style parameter more flexible
		
			
			The `--style` parameter now accepts a comma-separated list of strings,
where every element defines either a single output component (`changes`,
`grid`, `header`, `numbers`) or a predefined style (`full`,
`line-numbers`, `plain`).
If available, bat picks the first predefined style in the user-supplied
style-list and ignores everything else. If no predefined style was
requested, the other parameters that are simple output components will
be used.
Examples:
    --style changes,full,numbers
  Will internally be reduced to only the predefined style `full`.
    --style plain,full
  Will internally be reduced to only the predefined style `plain`.
    --style changes,numbers
  Will not be reduced, because the list does not contain any predefined
  styles.
(Note: if `grid` is requested but no other parameters, bat still creates
the left-most column with a width of `PANEL_WIDTH`. I didn't want to
introduce further logic in this PR that drops or adapts the width of the
left column.)
		
	
bat
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:
Git integration
bat communicates with git to show modifications with respect to the index
(see left side bar):
Automatic paging
bat can pipe its own output to less if the output is too large for one screen.
File concatenation
Oh.. you can also use it to concatenate files 😉. Whenever
bat detects a non-interactive terminal, it will fall back to printing
the plain file contents.
Usage
Display a single file on the terminal
> bat README.md
Display multiple files at once
> bat src/*.rs
Explicitly specify the language
> yaml2json .travis.yml | json_pp | bat -l json
> curl -s https://raw.githubusercontent.com/sharkdp/bat/master/src/main.rs | bat -l rs
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:
BAT_CONFIG_DIR="$(bat cache --config-dir)"
mkdir -p "$BAT_CONFIG_DIR/themes"
cd "$BAT_CONFIG_DIR/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 "$BAT_CONFIG_DIR/syntax"
cd "$BAT_CONFIG_DIR/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 cache --init
If you ever want to go back to the default settings, call:
bat cache --clear

