Provided by: bat_0.24.0-1build1_amd64 bug

NAME

       batcat - a cat(1) clone with syntax highlighting and Git integration.

USAGE

       batcat [OPTIONS] [FILE]...

       batcat cache [CACHE-OPTIONS] [--build|--clear]

DESCRIPTION

       batcat  prints  the  syntax-highlighted  content  of a collection of FILEs to the terminal. If no FILE is
       specified, or when FILE is '-', it reads from standard input.

       batcat supports a large number of programming and markup languages.  It also communicates with git(1)  to
       show  modifications with respect to the git index.  batcat automatically pipes its output through a pager
       (by default: less).

       Whenever the output of batcat goes to a non-interactive terminal, i.e. when  the  output  is  piped  into
       another  process  or  into  a  file, batcat will act as a drop-in replacement for cat(1) and fall back to
       printing the plain file contents.

OPTIONS

       General remarks: Command-line options like '-l'/'--language' that take values can be specified as  either
       '--language value', '--language=value', '-l value' or '-lvalue'.

       -A, --show-all

              Show non-printable characters like space, tab or newline. Use '--tabs' to control the width of the
              tab-placeholders.

       --nonprintable-notation <notation>

              Specify how to display non-printable characters when using --show-all.

              Possible values:

              caret  Use character sequences like ^G, ^J, ^@, .. to identify non-printable characters

              unicode
                     Use special Unicode code points to identify non-printable characters

       -p, --plain

              Only  show  plain  style,  no decorations. This is an alias for '--style=plain'. When '-p' is used
              twice ('-pp'), it also disables automatic paging (alias for '--style=plain --paging=never').

       -l, --language <language>

              Explicitly set the language for syntax highlighting. The language can be specified as a name (like
              'C++' or 'LaTeX') or possible file extension (like 'cpp', 'hpp' or 'md').  Use  '--list-languages'
              to show all supported language names and file extensions.

       -H, --highlight-line <N:M>...

              Highlight the specified line ranges with a different background color. For example:

              --highlight-line 40
                     highlights line 40

              --highlight-line 30:40
                     highlights lines 30 to 40

              --highlight-line :40
                     highlights lines 1 to 40

              --highlight-line 40:
                     highlights lines 40 to the end of the file

              --highlight-line 30:+10
                     highlights lines 30 to 40

       --file-name <name>...

              Specify  the  name to display for a file. Useful when piping data to batcat from STDIN when batcat
              does not otherwise know the filename. Note that the provided file name is  also  used  for  syntax
              detection.

       -d, --diff

              Only  show  lines  that  have  been  added/removed/modified  with  respect  to  the Git index. Use
              '--diff-context=N' to control how much context you want to see.

       --diff-context <N>...

              Include N lines of context around added/removed/modified lines when using '--diff'.

       --tabs <T>

              Set the tab width to T spaces. Use a width of 0 to pass tabs through directly

       --wrap <mode>

              Specify the text-wrapping mode (*auto*, never, character). The '--terminal-width'  option  can  be
              used in addition to control the output width.

       --terminal-width <width>

              Explicitly set the width of the terminal instead of determining it automatically. If prefixed with
              '+'  or  '-',  the  value  will  be  treated  as an offset to the actual terminal width. See also:
              '--wrap'.

       -n, --number

              Only show line numbers, no other decorations. This is an alias for '--style=numbers'

       --color <when>

              Specify when to use colored output. The automatic mode  only  enables  colors  if  an  interactive
              terminal is detected. Possible values: *auto*, never, always.

       --italic-text <when>

              Specify  when  to  use  ANSI  sequences  for  italic  text in the output. Possible values: always,
              *never*.

       --decorations <when>

              Specify when to use the decorations that have been specified via  '--style'.  The  automatic  mode
              only  enables  decorations if an interactive terminal is detected. Possible values: *auto*, never,
              always.

       -f, --force-colorization

              Alias for '--decorations=always --color=always'. This is useful if the output of batcat  is  piped
              to another program, but you want to keep the colorization/decorations.

       --paging <when>

              Specify  when  to  use  the pager. To disable the pager, use '--paging=never' or its alias, -P. To
              disable the pager permanently, set BAT_PAGER to an empty string. To control which pager  is  used,
              see the '--pager' option. Possible values: *auto*, never, always.

       --pager <command>

              Determine  which  pager  is  used.  This  option will override the PAGER and BAT_PAGER environment
              variables. The default pager is 'less'. To control when the pager  is  used,  see  the  '--paging'
              option. Example: '--pager "less -RF"'.

              Note: By default, if the pager is set to 'less' (and no command-line options are specified), 'bat'
              will   pass   the  following  command  line  options  to  the  pager:  '-R'/'--RAW-CONTROL-CHARS',
              '-F'/'--quit-if-one-screen' and '-X'/'--no-init'. The last option ('-X') is only used  for  'less'
              versions  older than 530. The '-R' option is needed to interpret ANSI colors correctly. The second
              option ('-F') instructs less to exit immediately if the output size is smaller than  the  vertical
              size  of  the terminal. This is convenient for small files because you do not have to press 'q' to
              quit the pager. The third option ('-X') is needed to fix a  bug  with  the  '--quit-if-one-screen'
              feature in old versions of 'less'. Unfortunately, it also breaks mouse-wheel support in 'less'. If
              you  want  to enable mouse-wheel scrolling on older versions of 'less', you can pass just '-R' (as
              in the example above, this will disable the quit-if-one-screen feature). For less 530 or newer, it
              should work out of the box.

       -m, --map-syntax <glob-pattern:syntax-name>...

              Map a glob pattern to an existing syntax name. The glob pattern is matched on the  full  path  and
              the   filename.  For  example,  to  highlight  *.build  files  with  the  Python  syntax,  use  -m
              '*.build:Python'. To highlight files  named  '.myignore'  with  the  Git  Ignore  syntax,  use  -m
              '.myignore:Git  Ignore'.   Note  that  the right-hand side is the *name* of the syntax, not a file
              extension.

       --theme <theme>

              Set the theme for syntax highlighting. Use '--list-themes' to see all available themes.  To set  a
              default  theme,  add  the '--theme="..."' option to the configuration file or export the BAT_THEME
              environment variable (e.g.: export BAT_THEME="...").

       --list-themes

              Display a list of supported themes for syntax highlighting.

       --style <style-components>

              Configure which elements (line numbers, file headers, grid  borders,  Git  modifications,  ..)  to
              display  in addition to the file contents. The argument is a comma-separated list of components to
              display (e.g. 'numbers,changes,grid') or a pre-defined style ('full').  To set  a  default  style,
              add  the  '--style=".."'  option  to  the  configuration  file or export the BAT_STYLE environment
              variable (e.g.: export BAT_STYLE=".."). Possible values: *default*, full,  auto,  plain,  changes,
              header, header-filename, header-filesize, grid, rule, numbers, snip.

       -r, --line-range <N:M>...

              Only print the specified range of lines for each file. For example:

              --line-range 30:40
                     prints lines 30 to 40

              --line-range :40
                     prints lines 1 to 40

              --line-range 40:
                     prints lines 40 to the end of the file

              --line-range 30:+10
                     prints lines 30 to 40

       -L, --list-languages

              Display a list of supported languages for syntax highlighting.

       -u, --unbuffered

              This  option  exists  for POSIX-compliance reasons ('u' is for 'unbuffered'). The output is always
              unbuffered - this option is simply ignored.

       -h, --help

              Print this help message.

       -V, --version

              Show version information.

POSITIONAL ARGUMENTS


       <FILE>...

              Files to print and concatenate. Use a dash ('-') or no argument  at  all  to  read  from  standard
              input.

SUBCOMMANDS


       cache - Modify the syntax-definition and theme cache.

FILES

       batcat  can  also  be customized with a configuration file. The location of the file is dependent on your
       operating system. To get the default path for your system, call:

       batcat --config-file

       Alternatively, you can use the BAT_CONFIG_PATH environment variable to  point  batcat  to  a  non-default
       location of the configuration file.

       To generate a default configuration file, call:

       batcat --generate-config-file

ADDING CUSTOM LANGUAGES

       batcat  supports  Sublime  Text  .sublime-syntax  language files, and can be customized to add additional
       languages to your local installation. To do this, add the .sublime-syntax  language  files  to  `$(batcat
       --config-dir)/syntaxes` and run `batcat cache --build`.

       Example:

            mkdir -p "$(batcat --config-dir)/syntaxes"
            cd "$(batcat --config-dir)/syntaxes"

            # Put new '.sublime-syntax' language definition files
            # in this folder (or its subdirectories), for example:
            git clone https://github.com/tellnobody1/sublime-purescript-syntax

            # And then build the cache.
            batcat cache --build

       Once the cache is built, the new language will be visible in `batcat --list-languages`.
       If you ever want to remove the custom languages, you can clear the cache with `batcat cache --clear`.

ADDING CUSTOM THEMES

       Similarly  to  custom languages, batcat supports Sublime Text .tmTheme themes.  These can be installed to
       `$(batcat --config-dir)/themes`, and are added to the cache with `batcat cache --build`.

INPUT PREPROCESSOR

       Much like less(1) does, batcat supports input preprocessors via the LESSOPEN  and  LESSCLOSE  environment
       variables.   In  addition, batcat attempts to be as compatible with less's preprocessor implementation as
       possible.

       To use the preprocessor, call:

       batcat --lessopen

       Alternatively, the preprocessor may be enabled by default  by  adding  the  '--lessopen'  option  to  the
       configuration file.

       To temporarily disable the preprocessor if it is enabled by default, call:

       batcat --no-lessopen

       For more information, see the "INPUT PREPROCESSOR" section of less(1).

MORE INFORMATION

       For more information and up-to-date documentation, visit the batcat repo:
       https://github.com/sharkdp/bat

                                                                                                       BATCAT(1)