summaryrefslogtreecommitdiffstats
path: root/doc/long-help.txt
blob: 85d595b980c1b5e58d87d9301fc7f27438a0cfa0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
A cat(1) clone with syntax highlighting and Git integration.

Usage: bat [OPTIONS] [FILE]...
       bat <COMMAND>

Arguments:
  [FILE]...
          File(s) to print / concatenate. Use a dash ('-') or no argument at all to read from
          standard input.

Options:
  -A, --show-all
          Show non-printable characters like space, tab or newline. This option can also be used to
          print binary files. Use '--tabs' to control the width of the tab-placeholders.

      --nonprintable-notation <notation>
          Set notation for non-printable characters.
          
          Possible values:
            * unicode (␇, ␊, ␀, ..)
            * caret   (^G, ^J, ^@, ..)

      --binary <behavior>
          How to treat binary content. (default: no-printing)
          
          Possible values:
            * no-printing: do not print any binary content
            * as-text: treat binary content as normal text

  -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 bat from STDIN when bat
          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.

  -S, --chop-long-lines
          Truncate all lines longer than screen width. Alias for '--wrap=never'.

      --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 - colors are automatically disabled if the output goes to
          a pipe.
          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 bat 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_PAGING to 'never'. 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"'.

  -m, --map-syntax <glob:syntax>
          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.

      --ignored-suffix <ignored-suffix>
          Ignore extension. For example:
            'bat --ignored-suffix ".dev" my_file.json.dev' will use JSON syntax, and ignore '.dev'

      --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="...").
          
          Special values:
          
            * auto: Picks a dark or light theme depending on the terminal's colors (default).
                    Use '--theme-light' and '--theme-dark' to customize the selected theme.
              * auto:always: Detect the terminal's colors even when the output is redirected.
              * auto:system: Detect the color scheme from the system-wide preference (macOS only).
            * dark: Use the dark theme specified by '--theme-dark'.
            * light: Use the light theme specified by '--theme-light'.

      --theme-light <theme>
          Sets the theme name for syntax highlighting used when the terminal uses a light
          background. Use '--list-themes' to see all available themes. To set a default theme, add
          the '--theme-light="..." option to the configuration file or export the BAT_THEME_LIGHT
          environment variable (e.g. export BAT_THEME_LIGHT="...").

      --theme-dark <theme>
          Sets the theme name for syntax highlighting used when the terminal uses a dark background.
          Use '--list-themes' to see all available themes. To set a default theme, add the
          '--theme-dark="..." option to the configuration file or export the BAT_THEME_DARK
          environment variable (e.g. export BAT_THEME_DARK="...").

      --list-themes
          Display a list of supported themes for syntax highlighting.

  -s, --squeeze-blank
          Squeeze consecutive empty lines into a single empty line.

      --squeeze-limit <squeeze-limit>
          Set the maximum number of consecutive empty lines to be printed.

      --strip-ansi <when>
          Specify when to strip ANSI escape sequences from the input. The automatic mode will remove
          escape sequences unless the syntax highlighting language is plain text. Possible values:
          auto, always, *never*.

      --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="..").
          
          When styles are specified in multiple places, the "nearest" set of styles take precedence.
          The command-line arguments are the highest priority, followed by the BAT_STYLE environment
          variable, and then the configuration file. If any set of styles consists entirely of
          components prefixed with "+" or "-", it will modify the previous set of styles instead of
          replacing them.
          
          By default, the following components are enabled:
            changes, grid, header-filename, numbers, snip
          
          Possible values:
          
            * default: enables recommended style components (default).
            * full: enables all available components.
            * auto: same as 'default', unless the output is piped.
            * plain: disables all available components.
            * changes: show Git modification markers.
            * header: alias for 'header-filename'.
            * header-filename: show filenames before the content.
            * header-filesize: show file sizes before the content.
            * grid: vertical/horizontal lines to separate side bar
                    and the header from the content.
            * rule: horizontal lines to delimit files.
            * numbers: show line numbers in the side bar.
            * snip: draw separation lines between distinct line ranges.

  -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 40' only prints line 40
            '--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.

      --diagnostic
          Show diagnostic information for bug reports.

      --acknowledgements
          Show acknowledgements.

      --set-terminal-title
          Sets terminal title to filenames when using a pager.

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version