1
0
mirror of https://github.com/sharkdp/bat.git synced 2025-09-08 22:32:26 +01:00
Commit Graph

211 Commits

Author SHA1 Message Date
Keith Hall
e42883bf2c Merge branch 'master' into read-from-tail 2025-04-15 20:27:26 +03:00
Keith Hall
44a6e29da7 Merge branch 'master' into fix/multibyte-chars 2025-04-12 11:20:48 +03:00
Haris Mohamedy
b5413cc015 Do not split into graphemes if not necessary 2025-04-03 00:49:14 -07:00
einfachIrgendwer0815
12a2a451b4 Add paging to --list-themes 2025-04-02 11:27:37 +02:00
Haris Mohamedy
18b71743c8 Fix for multibyte characters in file path 2025-03-31 17:29:18 -07:00
einfachIrgendwer0815
52252b15d6 Fix clippy::needless_lifetimes warnings 2025-02-02 15:08:15 +01:00
einfachIrgendwer0815
cbc9c3629d Fix clippy::manual_pattern_char_comparison warnings 2025-02-02 15:08:13 +01:00
einfachIrgendwer0815
3d0f0c0565 Fix clippy::unnecessary_map_or warnings 2025-02-02 15:08:12 +01:00
einfachIrgendwer0815
3d442cdf98 Fix clippy::needless_borrow warnings 2025-02-02 15:08:11 +01:00
einfachIrgendwer0815
0c3b22e0f0 Run syntax highlighting when --binary=as-text 2024-08-18 10:06:12 +02:00
einfachIrgendwer0815
7f089ead62 Add option --binary
`--binary` allows to specify how to deal with binary content. Current
options are not printing anything or treating the binary data as text.
2024-08-18 10:05:37 +02:00
Alex
571970f8ff Merge branch 'master' into read-from-tail 2024-08-10 11:34:45 +02:00
Alex Jesipow
569286055c Support relative negative line ranges 2024-08-10 10:37:19 +02:00
Ethan P.
9e8176b1c6 Add --strip-ansi=auto option
When using `auto`, escape sequences will be stripped unless printing
plain text.
2024-06-17 18:27:33 -07:00
Ethan P.
70ff93d238 Add --strip-ansi option 2024-06-16 16:49:07 -07:00
Hamir Mahal
07c26adc35 style: simplify equality check 2024-03-11 18:57:51 +01:00
Hamir Mahal
c290bfff1e refactor: remove reference that is unnecessary 2024-03-10 11:17:02 +01:00
Lena
4c85483486 Inline format! args wherever possible 2024-02-25 00:38:11 +01:00
einfachIrgendwer0815
6c2ce63101 Add squeeze functionality to SimplePrinter 2024-02-24 13:51:44 +01:00
Ethan P
0e4e10edb6 Add --squeeze-limit to specify max number of consecutive empty lines
Co-authored-by: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com>
2024-02-24 13:51:06 +01:00
Ethan P
c36ed32816 Add --squeeze/-s option
Co-authored-by: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com>
2024-02-24 13:51:00 +01:00
Ethan P.
25b5a41189 Skip syntax parsing when color output disabled 2024-02-11 22:49:49 -08:00
Ethan P.
c94cf4e14e Split syntax highlighting from print_line into fn
This simplifies the `print_line` function a little bit while also
providing a way for syntax highlighting to be skipped when it's
not being used (i.e. `--color=never`).
2024-02-11 22:27:35 -08:00
Ethan P
1023399c5e Remove hyperlink when wrapping lines 2024-02-09 22:09:39 -08:00
Ethan P
165c495e75 Replace AnsiCodeIterator in printer.rs
This uses the new EscapeSequenceIterator, saving us a preprocessing step
for each line.
2024-02-09 22:09:39 -08:00
Ethan P
054421268f Strip OSC sequences before printing
This commit strips OSC (Operating System Command) sequences before
printing lines. Eventually when time permits, I want to add back
support for printing OSC sequences (and improve it to treat hyperlinks
like an attribute).

Until then, this should help prevent garbled output :)
2024-02-09 22:09:39 -08:00
Filip Razek
e586751208 Attempt to fix integration test 2024-01-21 19:48:26 +01:00
Filip Razek
5c1f47359e Run cargo fmt 2024-01-21 19:48:26 +01:00
Filip Razek
45ee2dc4c7 fix: Wrap file name in header 2024-01-21 19:48:26 +01:00
rhysd
e5c81ed41e Replace our own macros to write buffers with standard macros 2023-10-05 09:21:26 +02:00
David Peter
b06f13f0c5 Merge pull request #2618 from Piturnah/feat/write-to-buffer
feat: Optionally write to a buffer instead of stdout
2023-09-01 21:18:04 +02:00
Peter Hebden
b2c28cdddb Clippy lints 2023-09-01 20:52:55 +02:00
Peter Hebden
906e774372 Handle todos 2023-09-01 20:52:55 +02:00
Peter Hebden
d929becefc Fix signatures 2023-09-01 20:52:55 +02:00
Peter Hebden
103a2f0d9b Add OutputHandle enum to use instead of &mut dyn io::Write 2023-09-01 20:52:55 +02:00
rhysd
d33b2e158e Replace unmaintained encoding with encoding_rs 2023-09-01 20:41:55 +02:00
Constantin Nickel
da3aa4e2fd Use nu-ansi-term instead of ansi_term
The `nu-ansi-term` crate is a fork of `ansi_term` which is maintained by
the Nushell project.
2023-03-24 17:42:54 +01:00
David Peter
231ad86f04 Merge pull request #2502 from Enselic/clippy-1.68
Fix clippy warnings with Rust 1.68
2023-03-15 08:36:28 +01:00
einfachIrgendwer0815
8f99a78cf1 Print non-printable characters using caret notation (#2443)
When the new flag is set, non-printable characters are printed using caret notation.
2023-03-14 22:21:30 +01:00
Martin Nordholts
40a423905a Fix clippy warnings with Rust 1.68 2023-03-14 21:19:14 +01:00
Martin Nordholts
352309b056 Revert "Remove code that tries to handle ANSI escape inputs"
This reverts commit 8174e02279. Turns out
it is needed for a common use case, see
https://github.com/sharkdp/bat/issues/2307.

It is not a clean revert, because I adjust CHANGELOG.md and also add a
comment to the test. I also had to resolve a small `use` conflict.
2022-09-10 17:59:33 +02:00
dag-h
08386daa3a Strip BOM from output in interactive mode (#1938)
* Strip BOM from output in interactive mode

* Strip BOM when not loop_through, add regression tests

* Update CHANGELOG.md

* Only strip BOM from beginning of first line

* Fix integration test on macOS that relied on color scheme

* Fix integration test on Windows that relied on detected terminal width

* Fix syntax test that was failing due to a previously wrong (now fixed) highlighting

Co-authored-by: David Peter <mail@david-peter.de>
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2022-09-06 19:08:38 +02:00
Martin Nordholts
899fdbb347 Remove code that tries to handle ANSI escape inputs (#2189)
Syntax highlighting is broken when input contains ANSI escape characters
anyway, so there is not much point in trying to handle ANSI escapes in
input.
2022-08-29 18:49:29 +02:00
Martin Nordholts
7334ab4542 Bump to syntect 5.0.0 to e.g. start lazy-loading syntaxes (#2181)
* Bump to syntect 5.0.0 to e.g. start lazy-loading themes

Closes #915
Closes #951
Closes #1846
Closes #1854

* Typo fix formated -> formatted

* Update CHANGELOG.md
2022-05-07 13:43:11 +02:00
Martin Nordholts
0851bbbb28 printer.rs: De-duplicate code to highlight long lines
We do this to only have one invocation of `highlighter.highlight(...)`
so we don't need to change to `highlighter.highlight_line(...)` in two
places in #2181.
2022-05-05 17:21:49 +02:00
Keith Hall
b5294f1cb2 Skip syntax highlighting for long lines (#2165)
* Skip highlighting for long lines

* Run cargo fmt, update changelog
2022-05-04 07:59:24 +02:00
Mahdi Dibaiee
d21f1e8f17 Underline highlighted lines in ANSI theme (#1985)
* Underline highlighted lines in ANSI theme

* add test for ansi highlight underline, fix underscore in plain
2022-02-14 19:02:14 +01:00
Mahdi Dibaiee
312c8ef01f Add new --style called header-filesize and display it by default (#1988)
Also rename `header` to `header-filename`.

Related to #1701
2022-02-07 20:48:57 +01:00
Ethan P
63ad53817d Improved ANSI passthrough (#1596)
Improve handling of ANSI passthrough. Fix ANSI passthrough for --wrap=never. Add test for ANSI passthrough.
2021-12-08 16:06:42 +01:00
Martin Nordholts
aefc8fd824 src/printer.rs: Simplify Plain Text fallback code
By forwarding the task to find the `Plain Text` syntax to `assets`. Not only does
the code become simpler; we also get rid of a call to `self.get_syntax_set()`
which is beneficial to the long term goal of replacing `syntaxes.bin` with
`minimal_syntaxes.bin`.

Note that the use of `.expect()` is not a regression in error handling. It was
previously hidden in `.find_syntax_plain_text()`.
2021-09-29 17:54:45 +02:00