Commit Graph

484 Commits

Author SHA1 Message Date
Mitchell Kember
f59d00d4c7 Fix base16, and combine 00 and 0f alpha encodings
This changes the base16 theme back from #RRGGBB0f to #RRGGBB00,
reverting part of #934. That PR used the 0f encoding to produce ANSI
escape sequences 30-37 and 40-47 rather than 38;5 and 48;5 which require
256-color support. Unfortunately, it resulted in base16 using the wrong
colors becuase ansi_term does not support the bright variants (90-97 and
100-107) so it simply mapped them to the non-bright colors.

This PR makes combines the 00 and 0f alpha encodings into 00, and makes
them use the Color enum for the first 8 colors and Fixed otherwise. This
means the ansi-light and ansi-dark themes will work on terminals without
256-color support, and base16 will render bright colors correctly.
2020-05-11 19:29:19 +02:00
sharkdp
48a7ce3bf2 Write error messages to pager, if attached
closes #946
2020-04-25 13:08:00 +02:00
sharkdp
5fe8a8342b Add annotations again 2020-04-24 16:51:11 +02:00
sharkdp
989109145a Add '-d' for '--diff' 2020-04-24 16:12:38 +02:00
sharkdp
23afc8e90c Skip non-file inputs when using --diff 2020-04-24 16:12:38 +02:00
sharkdp
8e18786556 Run 'cargo fmt' 2020-04-24 16:11:05 +02:00
sharkdp
81488adf8b Use unreachable!(…) 2020-04-24 16:11:05 +02:00
Lzu Tao
e37e9c1214 Fix some clippy lints
Some might actually improve perf
2020-04-24 16:11:05 +02:00
sharkdp
82e7786e74 Implementation of 'bat --diff'
This adds a new `--diff` option that can be used to only show lines
close to Git changes (added/removed/modified lines). The amount of
additional context can be controlled with `--diff-context=N`.

closes #23
2020-04-24 09:57:57 +02:00
sharkdp
0064321323 cargo fmt 2020-04-23 00:56:35 +02:00
sharkdp
793af6b911 Add a syntax mapping for bats own config file 2020-04-22 23:58:41 +02:00
sharkdp
5d71056209 Fix import in app 2020-04-22 23:55:28 +02:00
sharkdp
eb7d4d002a Update documentation 2020-04-22 23:55:28 +02:00
sharkdp
62b32bd848 Make module private 2020-04-22 23:55:28 +02:00
sharkdp
8961f7aef8 Move PagingMode to separate module 2020-04-22 23:55:28 +02:00
sharkdp
17f3a3b95d Simpler highlight method 2020-04-22 23:55:28 +02:00
sharkdp
261a7ea154 Add *_with_name methods 2020-04-22 23:55:28 +02:00
sharkdp
53a973e9dd Add syntaxes and themes method 2020-04-22 23:55:28 +02:00
sharkdp
cba9df746e Add paging to advanced example 2020-04-22 23:55:28 +02:00
sharkdp
12eee0c590 Fix warnings for --no-default-features mode 2020-04-22 23:55:28 +02:00
sharkdp
702cb198da Rename error module 2020-04-22 23:55:28 +02:00
sharkdp
13f671b499 Update examples 2020-04-22 23:55:28 +02:00
sharkdp
49f4322054 Fix example 2020-04-22 23:55:28 +02:00
sharkdp
6a124591df Easier configuration of style components 2020-04-22 23:55:28 +02:00
sharkdp
7a87315b94 Fix #937 2020-04-22 23:55:28 +02:00
sharkdp
0cde4e9121 Numbers => LineNumbers 2020-04-22 23:55:28 +02:00
sharkdp
36dde9275a Simplify style_components 2020-04-22 23:55:28 +02:00
sharkdp
a8f759c080 Rename wrap => wrapping 2020-04-22 23:55:28 +02:00
sharkdp
f034be71e7 rename run => print 2020-04-22 23:55:28 +02:00
sharkdp
eee35e54e9 Update documentation 2020-04-22 23:55:28 +02:00
sharkdp
ec0ce05455 Better API for highlighting lines 2020-04-22 23:55:28 +02:00
sharkdp
13e6b3fac7 Reduce public API 2020-04-22 23:55:28 +02:00
sharkdp
26c951fec4 Fix warnings, sort imports, input from string 2020-04-22 23:55:28 +02:00
sharkdp
590960f7f5 Completely refactor 'input' module 2020-04-22 23:55:28 +02:00
sharkdp
b4d54106fe Fix comment 2020-04-22 23:55:28 +02:00
sharkdp
f3b90ddb38 Add InputDescription 2020-04-22 23:55:28 +02:00
sharkdp
3bacfc5184 Allow fluent style 2020-04-22 23:55:28 +02:00
sharkdp
f8d0956893 Rename InputFile => Input 2020-04-22 23:55:28 +02:00
sharkdp
1dc328ad49 Separate inputs from config 2020-04-22 23:55:28 +02:00
sharkdp
5e5cb89da6 Add all builder options 2020-04-22 23:55:28 +02:00
sharkdp
057e4eced1 Large refactoring towards a better builder structure 2020-04-22 23:55:28 +02:00
sharkdp
27974616bf Initial verison of PrettyPrinter builder 2020-04-22 23:55:28 +02:00
sharkdp
319ab779ee Use 4-bit ANSI codes for base16 theme
closes #865
2020-04-22 10:22:11 +02:00
sharkdp
864656bd11 Pass --no-init on Windows if less version < 559
We used to call `less` with
``` bash
less --RAW-CONTROL-CHARS --quit-if-one-screen --no-init
```
We only passed `--no-init` because there was a bug with previous versions
of `less` which required the use of `--no-init` in combination with
`--quit-if-one-screen` to prevent this "no output" issue from happening.

Since bat 0.13, [we omit the `--no-init` option](0ecc94956b/src/output.rs (L85-L97))
if we can detect that the version of `less` is higher than or equal to 530. We
did that because `--no-init` breaks mouse support and because [less 530 fixed
the above-mentioned bug](http://www.greenwoodsoftware.com/less/news.530.html).
However, it seems that this bug was *not* fixed on Windows!

According to @gwsw, the issue should be fixed with less 559 on Windows.

closes #887
2020-04-21 18:18:03 +02:00
sharkdp
2e9cf63a5f Fix compilation of library 2020-04-21 18:14:31 +02:00
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
2020-04-21 18:14:31 +02:00
sharkdp
c8273369cc Make get_cache_dir private 2020-04-21 18:14:31 +02:00
sharkdp
859ff50766 Update default config file, add comment about tmux mouse scrolling support 2020-04-21 17:45:14 +02:00
sharkdp
ce583eb9bf Revert "Pass '--mouse' to less versions >= 551"
This reverts commit cb21b74ecd.
2020-04-21 17:29:01 +02:00
sharkdp
3a195be14e Revert "Only enable --mouse when running from tmux, see #904"
This reverts commit 5f6e310152.
2020-04-21 17:28:37 +02:00