Commit Graph

57 Commits (master)

Author SHA1 Message Date
Anomalocaridid e32ad0b048
Add `$LESSOPEN` and `$LESSCLOSE` support (#2444) 9 months ago
einfachIrgendwer0815 8f99a78cf1
Print non-printable characters using caret notation (#2443)
When the new flag is set, non-printable characters are printed using caret notation.
1 year ago
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.
2 years ago
Martin Nordholts 49875d6ce7
Make `bat::PrettyPrinter::syntaxes()` iterate over new `bat::Syntax` struct (#2222)
We can't keep `syntect::parsing::SyntaxReference` as part of the public
API, because that might prevent us from bumping to syntect 6.0.0 without
also bumping bat to v2.0.0, once we reach v1.0.0.

So introduce a new stripped down struct `Syntax` and return that
instead. Let it be fully owned to make the API simple. It is not going
to be in a hot code path anyway.

I have looked at all code of our 27 dependents but I can't find a single
instance of this method being used, so this change should be safe for
v1.0.0.
2 years ago
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.
2 years ago
Ethan P 63ad53817d
Improved ANSI passthrough (#1596)
Improve handling of ANSI passthrough. Fix ANSI passthrough for --wrap=never. Add test for ANSI passthrough.
3 years ago
Martin Nordholts 554374667e Deny unsafe code in lib and bin
The deny also applies recursively to submodules.
3 years ago
Martin Nordholts e84b702309
Extract some private submodules from 'bat::assets' (#1850) 3 years ago
Martin Nordholts f1c0fd7343
Don't take a HighlightingAssets detour to build assets (#1802)
Move code to build assets to its own file. That results in better modularity and flexibility.

It also allows us to simplify HighlightingAssets a lot, since it will now always
be initialized with a SerializedSyntaxSet.
3 years ago
Martin Nordholts 25fa577cd0 Make 'build-assets' an optional capability for application
Also structure features a bit more clever to avoid duplication of
feature dependency declarations.
3 years ago
Martin Nordholts 47d955a2ab Add code for analyzing dependencies between syntaxes
And also to generate independent SyntaxSets. This will later be used
to improve bat startup time.
3 years ago
Martin Nordholts cc0f8ca813 Merge remote-tracking branch 'origin/master' into fix-1063 3 years ago
Martin Nordholts 47bb4a9c0f Introduce bat_warning! helper macro
This macro is intended to be package-internal and is not to be
considered part of the public lib API.

Use it in three places to reduce code duplication. However, main reason
for this refactoring is to allow us to fix #1063 without duplicating the
code yet another time.

The macro can also be used for the "Binary content from {} will not be
printed to the terminal" message if that message starts to use eprintln!
instead (if ever).

To trigger/verify the changed code, the following commands can be used:

    cargo run -- --theme=ansi-light tests/examples/single-line.txt
    cargo run -- --theme=does-not-exist tests/examples/single-line.txt
    cargo run -- --style=grid,rule tests/examples/single-line.txt
3 years ago
Martin Nordholts f4202361b4 Add Pager helper with info about where the value comes from
In preparation of fixing issue #1063.
This is a pure refactoring with no intended functional side effects.
4 years ago
Ethan P 0f06d3b90d Reexport bat::pretty_printer::Input as bat::Input 4 years ago
sharkdp eb7d4d002a Update documentation 4 years ago
sharkdp 62b32bd848 Make module private 4 years ago
sharkdp 8961f7aef8 Move PagingMode to separate module 4 years ago
sharkdp 17f3a3b95d Simpler highlight method 4 years ago
sharkdp cba9df746e Add paging to advanced example 4 years ago
sharkdp 702cb198da Rename error module 4 years ago
sharkdp 49f4322054 Fix example 4 years ago
sharkdp 6a124591df Easier configuration of style components 4 years ago
sharkdp a8f759c080 Rename wrap => wrapping 4 years ago
sharkdp f034be71e7 rename run => print 4 years ago
sharkdp eee35e54e9 Update documentation 4 years ago
sharkdp ec0ce05455 Better API for highlighting lines 4 years ago
sharkdp 13e6b3fac7 Reduce public API 4 years ago
sharkdp 26c951fec4 Fix warnings, sort imports, input from string 4 years ago
sharkdp 590960f7f5 Completely refactor 'input' module 4 years ago
sharkdp f8d0956893 Rename InputFile => Input 4 years ago
sharkdp 057e4eced1 Large refactoring towards a better builder structure 4 years ago
sharkdp 27974616bf Initial verison of PrettyPrinter builder 4 years ago
sharkdp 72618db179 Add metadata information to cached assets
When saving/reading user-provided syntaxes or themes, `bat` will now maintain a
`metadata.yaml` file which includes information about the `bat` version which was
used to create the cached files. When loading cached files, we now print an error
if they have been created with an incompatible version

closes #882
4 years ago
David Tolnay 570805bc98 Strip dependencies of bat-as-a-library 4 years ago
sharkdp 2c2861db6a Further simplify module structure 4 years ago
sharkdp bb0a3d586e Simplify public API module structure 4 years ago
sharkdp 84ba323b1c Rename output component to 'style compinent', move wrap to separate module 4 years ago
sharkdp 9b8ddb24d1 move Config struct to separate file 4 years ago
sharkdp 7e0115641d Move error module to separate file 4 years ago
sharkdp fedd32173e Restructure and fix bug in line range module 4 years ago
sharkdp 06b7be7ee9 Major restructuring of theme/syntax handling 4 years ago
Liam Kalir 93881d9a64 Adds range syntax for line highlights 4 years ago
sharkdp 67fe804256 Do not pass '--no-init' on newer less versions
With this change, we do not pass the `--no-init` option in newer
versions of less (530 or higher).

This fixes #749
5 years ago
sharkdp 850677f121 Remove 'advanced' example 5 years ago
sharkdp c132e19e74 Make a few modules private 5 years ago
sharkdp 3334f74b72 Remove custom 'transpose' function 5 years ago
Fahmi Akbar Wildana e287594654 Fix compile-error on Rust v1.35.0 5 years ago
Fahmi Akbar Wildana 2253d07341 Derive fmt::Debug whenever possible 5 years ago
Fahmi Akbar Wildana 7208a63a49 Implement trait Default for struct Config 5 years ago