100 Commits
Author SHA1 Message Date
Ethan P. 8453bc93cc Update README steps for using bat as MANPAGER 2025-01-03 08:53:16 +02:00
Ethan P. 2616296183 Merge pull request #2929 from eth-p/add-remove-styles
Merge `--style`s from different places using `+`/`-`
2024-07-30 21:30:19 -07:00
Ethan P. 39684b85ad Update changelog 2024-07-30 21:22:05 -07:00
Ethan P. aa3ec109b7 First StyleComponentList should remove from 'auto' style.
This happens when there are no `--style` arguments other than the one
passed in as a command line argument.

Prior to this change, removing a style component (e.g. `--style=-numbers`)
would remove the component from an empty style component set, resulting
in no styles at all. That behaviour was less intuitive than the new
behaviour, which starts out with the default components and
removes the line numbers.
2024-07-30 21:22:02 -07:00
Ethan P. 180a77ee99 Add integration tests for merging styles
A huge thanks to @einfachIrgendwer0815 for helping me make sure
these tests work under the MSRV CI job.
2024-07-30 21:22:00 -07:00
Ethan P. 93b25d75a0 Join env var options with "=" instead of " "
Joining them with a space was causing certain styles (e.g. `-grid`) to
be misinterpreted as a separate option.
2024-07-30 21:21:58 -07:00
Ethan P. 6e91ba83b7 Update clap/docs for merging --style arguments 2024-07-30 21:21:55 -07:00
Ethan P. b74c125c43 Support merging --style arguments
The `overrides_with` clap builder option was removed
because it interfered with the matcher's ability to
retain all occurrences of `--style`.

The behavior it covered is expressed within the new
`forced_style_components` function.
2024-07-30 21:21:53 -07:00
Ethan P a7a9727c11 Merge pull request #2999 from eth-p/strip-ansi-from-input-option
Add option to remove ANSI escape sequences from bat's input.
2024-06-17 18:37:22 -07:00
Ethan P. 90dfa7f18d Update README.md to mention --strip-ansi 2024-06-17 18:27:39 -07:00
Ethan P. 3f8d62e7d6 Update CHANGELOG.md 2024-06-17 18:27:39 -07:00
Ethan P. 3f22311ec8 Add ANSI stripping to bat-as-a-library 2024-06-17 18:27:39 -07: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
Ethan P 10a1b24191 Merge pull request #2998 from eth-p/improve-preprocessor
Update bat's tab expansion preprocessor to use bat's ANSI escape sequence iterator.
2024-06-15 16:28:05 -07:00
Ethan P. 243819ecdc Update CHANGELOG.md 2024-06-15 16:18:29 -07:00
Ethan P. 9c76b72825 Update expand_tabs to use bat's ANSI iterator 2024-06-10 20:07:54 -07:00
Ethan P. b4fe182960 Make EscapeSequenceOffsetsIterator pub, add fns to get indices 2024-06-10 20:04:17 -07:00
Ethan P 9bb0271e7d Update CHANGELOG.md (PR #1441) 2024-02-24 13:51:40 +01:00
Ethan PandeinfachIrgendwer0815 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 0c7e5299bf Add squeeze_empty_lines to PrettyPrinter 2024-02-24 13:51:05 +01:00
Ethan PandeinfachIrgendwer0815 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. 84d80eebd0 Test for correct categorization of SGR sequences
This adds a regression test for the fix in the previous commit.
2024-02-11 19:40:29 -08:00
Ethan P. 915dd9fbf8 Fix incorrect categorization of SGR sequences
Specifically, prevent other attributes from leaking into the
bold/dim/italic/underline attributes, and ensure that bright backgrounds
are put into the background attribute instead of the foreground
attribute.
2024-02-11 19:35:54 -08:00
Ethan P. 9d77c1373c Fix off-by-one error in line number continuation 2024-02-11 16:49:06 -08:00
Ethan P 5a2a20af42 Merge pull request #2544 from eth-p/fix-2541
Treat OSC ANSI Sequences as Invisible Text & Add OSC 8 Support
2024-02-09 22:20:30 -08:00
Ethan P 61029c8bd2 Update changelog for fix of ANSI OSC sequences 2024-02-09 22:09:40 -08:00
Ethan P 1023399c5e Remove hyperlink when wrapping lines 2024-02-09 22:09:39 -08:00
Ethan P 6549e26f5d Re-emit hyperlinks 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 6b9b085be3 Add EscapeSequenceIterator
This is an iterator for escape sequences, using
EscapeSequenceOffsetsIterator for the underlying parsing of individual
escape sequences.
2024-02-09 22:09:39 -08:00
Ethan P 2d46d54ae3 Add tests for re-emitting SGR sequences on wrap 2024-02-09 22:09:39 -08:00
Ethan P 3d04699710 Add regression test for #2541
More specifically, the test ensures that OSC sequences don't end up
wrapping the 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
Ethan P 414403b062 Add EscapeSequenceOffsetsIterator
This can be used to extract a subset of ANSI escape sequences from a
string of text. I have big plans for this eventually, but for now, it'll
be used to strip OSC before printing.
2024-02-09 22:09:35 -08:00
Ethan P c29bf2ff28 Update git2 dependency 2024-02-09 22:05:30 -08:00
Ethan P. adfaef19da Clarify when/how default args are added to less 2024-02-07 21:22:08 -08: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
Ethan P aa09a9dc04 Update changelog for #1589 2021-04-06 15:33:34 -07:00
Ethan P f874c8e4db Use less binary specified in bat config for --diagnostic 2021-02-16 09:11:27 +01:00
Ethan P 025c5c061b Make less version check accept a path to the less binary 2021-02-16 09:11:27 +01:00
Ethan P 3ed0081f1f Improve benchmark script to support cargo/config target-dir 2020-12-29 15:07:22 -08:00
Ethan P 894d3f1722 Replace SCSS example with unlicensed one 2020-10-06 06:51:51 +02:00
Ethan P 83d96e2bbb Rename SASS tests to SCSS, since they're using SCSS syntax 2020-10-06 06:51:51 +02:00
Ethan P e26ec31463 Add option to specify exact binary in run-benchmarks.sh 2020-10-05 15:47:28 -07:00
Ethan P e3bc41dbe6 Add option to specify bat target in run-benchmarks.sh 2020-10-05 15:47:22 -07:00
Ethan P 96151c44aa Add a batgrep as Bash script syntax tests 2020-10-04 11:00:57 +02:00
Ethan P 02dcb01120 Add a simple Bash script for syntax tests 2020-10-04 11:00:57 +02:00
Ethan P 51d25e5859 Fix syntax highlighting test update.sh to work on Mac OS 2020-10-04 11:00:57 +02:00
Ethan P fd52c01e78 Add custom languages/themes sections to manpage 2020-10-01 20:57:18 +02:00
Ethan P 9957da6b93 Remove <font> tag from CHANGELOG.md 2020-05-29 22:13:10 +02:00
Ethan P 342cae2dc6 Change use of 'BatInput' to 'input::Input' 2020-05-29 22:13:10 +02:00
Ethan P d2b26a5f1f Remove unnecessary '-> ()'s 2020-05-29 22:13:10 +02:00
Ethan P 9d08c0102e Replace Input::stdin_as_file with bat-application functions 2020-05-29 22:13:10 +02:00
Ethan P a3357547ea Remove unused with_name for theme preview file 2020-05-29 22:13:10 +02:00
Ethan P 7a9decad70 Remove Input.as_file and add Input::stdin_as_file 2020-05-29 22:13:10 +02:00
Ethan P c4d0d068e4 Update input API example 2020-05-29 22:13:10 +02:00
Ethan P c03a027240 Move PR changes in README to unreleased section 2020-05-29 22:13:10 +02:00
Ethan P a8d7141c4c Improve documentation for Input API 2020-05-29 22:13:10 +02:00
Ethan P 3eb704e016 Update examples 2020-05-29 22:13:10 +02:00
Ethan P 0f06d3b90d Reexport bat::pretty_printer::Input as bat::Input 2020-05-29 22:13:10 +02:00
Ethan P 589c94aa93 Fix regression with --list-themes and --language 2020-05-29 22:13:10 +02:00
Ethan P 798b742617 Refactor InputDescription API into Input API 2020-05-29 22:13:10 +02:00
Ethan P 11a72ab765 Fix a typo 2020-05-29 22:13:10 +02:00
Ethan P 0319149b4d [breaking] Remove special handling for theme previews 2020-05-29 22:13:10 +02:00
Ethan P 2f823d59b0 Add PrettyPrinter::input function 2020-05-29 22:13:10 +02:00
Ethan P 981352992b Add InputDescription API 2020-05-29 22:13:10 +02:00
Ethan P 384ea38bd9 Add documentation to InputDescription 2020-05-29 22:13:10 +02:00
Ethan P 8b481dd41f Add support for NO_COLOR env var (#1021) 2020-05-28 21:49:10 +02:00
Ethan P 35b6067496 Print error message when invalid syntax is specified 2020-05-16 13:44:26 +02:00
Ethan P 5aa20c090b Refactor HighlightingAssets::get_syntax to return Result type 2020-05-16 13:44:26 +02:00
Ethan P f03ab11623 Update CHANGELOG.md 2020-05-15 14:03:04 -07:00
Ethan P 887e61a99d Allow application to be built without git support
Caveats:
The help descriptions aren't changed with you remove the "git" feature.
2020-05-15 13:58:48 -07:00
Ethan P 0aca8cab0b Remove vcs_modification_markers from PrettyPrinter 'git' feature disabled 2020-05-15 13:58:48 -07:00
Ethan P 403ab6e443 Update CHANGELOG.md 2020-05-15 13:23:24 -07:00
Ethan P b8687bc969 Merge branch 'master' of github.com:sharkdp/bat into string-input 2020-05-15 13:22:24 -07:00
Ethan P 9166c9dd35 Remove unnecessary clone in integration tests 2020-05-15 12:29:01 -07:00
Ethan P cc52f79e42 Add helper fn for checking if opened input is theme preview file 2020-05-15 12:20:20 -07:00
Ethan P 59140b458c Consolidate syntax detection behavior for all InputKind types 2020-05-13 02:53:30 -07:00
Ethan P 82981c9663 Add regression test for detected syntax differing for stdin and files 2020-05-13 02:53:19 -07:00
Ethan P 157b8dd848 Rename test for checking if inputkinds are consistent 2020-05-13 00:47:18 -07:00
Ethan P 1fb669ae1a Test that OrdinaryFile consistent with CustomReader 2020-05-13 00:38:56 -07:00
Ethan P 7d07aa395a Change assets.rs tests to use InputKind::CustomReader
This should avoid errors in filesystems that don't
support UTF-8 or invalid UTF-8.
2020-05-13 00:38:41 -07:00
Ethan P 1a6e8d297f Update README to mention batcat for Debian/Ubuntu 2020-05-12 11:08:21 +02:00
Ethan P f39487fca9 Make syntax detection more consistent for Reader and File inputs 2020-05-11 19:44:09 -07:00
Ethan P dcfdbf82dd Do not warn if both 'bat' and 'batcat' are available in info.sh 2020-05-02 10:39:58 +02:00
Ethan P 0cb884d501 Prevent batcat warning from being in output of info.sh 2020-05-02 10:39:58 +02:00
Ethan P 7bc4020a92 Check for 'batcat' in info.sh 2020-05-02 10:39:58 +02:00
Ethan P 116d76a00f Reformat info.sh 2020-04-09 09:20:03 +02:00
Ethan P dd336e6fb2 Fix wrapper detection failing on non-English LANG in info.sh 2020-04-09 09:20:03 +02:00
Ethan P c33af3581a Fix missing shell '-i' option when checking for wrapper in info.sh 2020-04-09 09:20:03 +02:00
Ethan P 2f4ecf8fc5 Add zsh wrapper detection to info.sh 2020-04-09 09:20:03 +02:00
Ethan P e037afeaca Add custom theme/syntax detection to info.sh 2020-04-09 09:02:23 +02:00
Ethan P b63f31e15d Fix broken link in issue template. 2020-03-03 13:09:31 -08:00
Ethan P 993b76654d Change bug_report template to accomodate info.sh output 2020-02-28 08:03:13 +01:00
Ethan P 2b2743b120 Change output format of info.sh to markdown 2020-02-28 08:03:13 +01:00
Ethan P f01263bcff Fix typo causing missing command warning in info.sh 2020-02-28 08:03:13 +01:00
Ethan P 8648b86a73 Add detection of a wrapper function to info.sh 2020-02-28 08:03:13 +01:00