A cat(1) clone with wings.
BAT_PAGING
, see #2629 (@einfachIrgendwer0815)--features lessopen
) support for LESSOPEN
and LESSCLOSE
. See #1597, #1739, #2444, #2602, and #2662 (@Anomalocaridid)more
not being found on Windows when provided via BAT_PAGER
, see #2570, #2580, and #2651 (@mataha)--map-syntax
to be case insensitive #2520serde_yaml
to 0.9
. See #2627 (@Raghav-Bell)LineRange::from
and LineRange::parse_range
, see #2674, #2698 (@skoriop)-pp
override --paging
and vice versa when passed as a later argument, see #2660 (@J-Kappes)is-terminal
crate instead of atty
, see #2530 (@nickelc)os-release
with bash
syntax, see #2587 (@cyqsimon)Containerfile
with Dockerfile
syntax, see #2606 (@einfachIrgendwer0815)ksh
files with bash
syntax, see #2633 (@johnmatthiggins)sarif
files with JSON
syntax, see #2695 (@rhysd)ron
files with rust
syntax, see #2427 (@YeungOnion).dpkg-new
and .dpkg-tmp
to ignored suffixe, see #2595 (@scop)*.jsonl
=> json
, see #2539 (@WinterCore)Julia
syntax, see #2553 (@dependabot)NSIS
support, see #2577 (@idleberg)ssh-config
, see #2697 (@mrmeszaros)bat
as a libraryController::run()
and Controller::run_with_error_handler()
, see #2618 (@Piturnah)-S
and --chop-long-lines
flags as aliases for --wrap=never
. See #2309 (@johnmatthiggins)--nonprintable-notation=caret
to support showing non-printable characters using caret notation. See #2429 (@einfachIrgendwer0815)bat cache --clear
not clearing the --target
dir if specified. See #2393 (@miles170)cache
subcommand, see #2399 (@cyqsimon)todo.txt
syntax, see #2375 (@BANOnotIT)requirements.txt
syntax, see #2361 (@Freed-Wu)pdm.lock
with TOML
syntax, see #2410Todo.txt
: Fix highlighting of contexts and projects at beginning of done.txt, see #2411cmd-help
: overhaul scope names (colors) to improve theme support; misc syntax improvements. See #2419 (@victor-gp)bat
use cases starts working again. See #2308 (@Enselic)PAGER=batcat
. See #2235 (@johnmatthiggins)--no-paging
/-P
override --paging=...
if passed as a later arg, see #2201 (@themkat)--map-syntax
and --ignored-suffix
now works together, see #2093 (@czzrr)fstab
dump and pass fields, see #2246 (@yuvalmo)Command Help
syntax, see #2255Julia
: Fix syntax highlighting for function name starting with struct
, see #2230LiveScript
, see #2291.mts
and .cts
files with the TypeScript
syntax. See #2236 (@kidonng)bat
as a librarybat::PrettyPrinter::syntaxes()
iterate over new bat::Syntax
struct instead of &syntect::parsing::SyntaxReference
. See #2222 (@Enselic)--show-all
, see #2038 (@Synthetica9)--style=default
option and make it the default. It is less verbose than full
, see #2061 (@IsaacHorvath)less
as pager, see #2162 (@nfisher1226)regex
dependency from 1.5.4 to 1.5.5 to fix CVE-2022-24713, see #2145, #2139 (@Enselic)bat
no longer crashes when encountering files that references missing syntaxes. See #915, #2181 (@Enselic)--diagnostics
if used. See #2107, #2144 (@Enselic)/var/spool/mail/*
and /var/mail/*
with the Email
syntax. See #2156 (@cyqsimon).inf
files with the INI
syntax. See #2190 (@Enselic)bat
as a libraryshow_nonprintable
with PrettyPrinter
, see #2142bat::error::Error
enum as #[non_exhaustive]
to allow adding new variants without future semver breakage. See #2181 (@Enselic)Error::SyntectError(syntect::LoadingError)
to Error::SyntectError(syntect::Error)
. See #2181 (@Enselic)Error::SyntectLoadingError(syntect::LoadingError)
enum variant. See #2181 (@Enselic)header-filesize
to show size of the displayed file in the header. See #1988 (@mdibaiee)GraphQL
: Add support for interfaces implementing interfaces and consider ampersand an operator. See #2000_vimrc
and _gvimrc
files with the VimL
syntax. See #2002poetry.lock
files with the TOML
syntax. See #2049.mesh
, .task
, .rgen
, .rint
, .rahit
, .rchit
, .rmiss
, and .rcall
with the GLSL
syntax. See #2050JQ
syntax, see #2072 (@clarfonthey)$XDG_CONFIG_HOME/git/
or $HOME/.config/git/
. See #2067 (@cyqsimon)bat
as a libraryget_syntax_set
and get_theme
methods on HighlightingAssets
. See #2030 (@dandavison)HeaderFilename
and HeaderFilesize
to StyleComponent
enum, and mark it #[non_exhaustive]
. See #1988 (@mdibaiee)bat
, see #1596 (@eth-p)--wrap=never
, see #1596 (@eth-p)x:-delta
(minus) syntax in line ranges (e.g. 20:-10
). See #1901 (@bojan88)--ignored-suffix
argument. See #1892 (@bojan88)$BAT_CONFIG_DIR
is now a recognized environment variable. It has precedence over $XDG_CONFIG_HOME
, see #1727 (@billrisher)x:+delta
syntax in line ranges (e.g. 20:+10
). See #1810 (@bojan88)--acknowledgements
option that gives credit to theme and syntax definition authors. See #1971 (@Enselic)bat -V
and bat --version
output if present. See #1921 (@Enselic)*.conf
extension. See #1703 (@cbolgiano)vimrc
and gvimrc
files, see #1763 (@SuperSandro2000)slim
syntax, see #1693 (@mfinelli)requirements.txt
syntax has been removed due to incompatible license requirements.bat
as a libraryHighlightingAssets::syntaxes()
and HighlightingAssets::syntax_for_file_name()
. Use HighlightingAssets::get_syntaxes()
and HighlightingAssets::get_syntax_for_path()
instead. They return a Result
which is needed for upcoming lazy-loading work to improve startup performance. They also return which SyntaxSet
the returned SyntaxReference
belongs to. See #1747, #1755, #1776, #1862 (@Enselic)HighlightingAssets::from_files
and HighlightingAssets::save_to_cache
. Instead of calling the former and then the latter you now make a single call to bat::assets::build
. See #1802, #1971 (@Enselic)error::Error(error::ErrorKind, _)
struct and enum with an error::Error
enum. Error(ErrorKind::UnknownSyntax, _)
becomes Error::UnknownSyntax
, etc. Also remove the error::ResultExt
trait. These changes stem from replacing error-chain
with thiserror
. See #1820 (@Enselic)MappingTarget
enum variant MapExtensionToUnknown
. Refer to its documentation for more information. Also mark MappingTarget
as #[non_exhaustive]
since more enum variants might be added in the future. See #1703 (@cbolgiano), #2012 (@Enselic)bat
would execute programs called less
/less.exe
from the current working directory (instead of the one from PATH
) with priority. An attacker might be able to use this by placing a malicious program in a shared directory where the user would execute bat
. bat
users on Windows are advised to upgrade to this version. See #1724 and #1472 (@Ry0taK).dash
syntax, see #1654 (@mohamed-abdelnour)XAML
syntax, see #1590 and #1655 (@mohamed-abdelnour)DotENV
syntax also for .env.default
and .env.defaults
files, see #1669less
versions with minor version number (581.2), see #1629 and #1639 (@aswild)Input::ordinary_file
and Input::with_name
now accept Path
rather than OsStr
see #1571 (@matklad)LESS
environment variable is now included in bat --diagnostic
, see #1589 (@Enselic)bat
; see #1574 (@keith-hall)