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
sharkdp
5f6e310152
Only enable --mouse when running from tmux, see #904
2020-04-21 16:15:02 +02:00
sharkdp
82e20bfe14
Fix bug for file with invalid-utf8 filenames
2020-04-21 14:09:18 +02:00
sharkdp
c386cb35fb
Pass '--mouse' to less versions >= 551
...
When using `less` version 551 or newer, `bat` will now pass the `--mouse` argument, allowing
for (better) mouse scrolling support in some terminals.
closes #904
2020-04-21 10:00:32 +02:00
sharkdp
a6d9d1551f
Improve error message
2020-04-21 08:57:15 +02:00
sharkdp
34619a2e89
Small refactoring, handle invalid UTF-8 filenames
2020-04-21 08:57:15 +02:00
Kyle Criddle
83d408bab3
Extract common syntax functionality to helper fns
2020-04-21 08:57:15 +02:00
sharkdp
8067fd9eda
Fix build on 1.37
2020-04-21 08:57:15 +02:00
sharkdp
98ba9e0101
Use to_string_lossy
2020-04-21 08:57:15 +02:00
sharkdp
1b8ce60054
Pass stdin as a generic BufRead, fix stdin tests
2020-04-21 08:57:15 +02:00
sharkdp
d5a31dc2ec
Remove commented-out code
2020-04-21 08:57:15 +02:00
sharkdp
051dd4ba87
Make filename method private
2020-04-21 08:57:15 +02:00
sharkdp
2ad1848859
Do not take optional as argument
2020-04-21 08:57:15 +02:00
sharkdp
90e7d2fe33
Rename field name, new constructors
2020-04-21 08:57:15 +02:00
Kyle Criddle
04fa84aea7
Moved user_provided_filename to be contained within OrdinaryFile struct
2020-04-21 08:57:15 +02:00
Kyle Criddle
a3f8140fbe
Use --file-name to detect syntax highlighting
...
Closes #891
2020-04-21 08:57:15 +02:00
sharkdp
495fab24a5
cargo fmt
2020-04-11 19:40:04 +02:00
David Tolnay
42e3825daf
Updates for review of PR 899
2020-03-31 09:27:56 +02:00
David Tolnay
014d754588
Move paging support behind a feature
2020-03-31 09:27:56 +02:00
David Tolnay
4e11abdf9b
Move git changes support behind a feature
2020-03-31 09:27:56 +02:00
David Tolnay
570805bc98
Strip dependencies of bat-as-a-library
2020-03-31 09:27:56 +02:00
sharkdp
3e8d444c78
Fix for Rust 1.37
2020-03-26 10:01:02 +01:00
David Peter
37b3b8730d
Merge pull request #871 from neuronull/fix_654_stdin_filename
...
Implement --file-name<name> option
2020-03-26 09:35:01 +01:00
Josh Mickley
40a827ebcb
Graceful handling of error conditions
2020-03-26 09:14:40 +01:00
Josh Mickley
376c556862
Add option to generate a default config file, fixes #870
2020-03-26 09:14:40 +01:00
Kyle Criddle
83772bd2cf
Minor --file-name code hygeine
2020-03-25 18:58:05 -06:00
Kyle Criddle
131d113ff5
Merge branch 'fix_654_stdin_filename' of github.com:neuronull/bat into fix_654_stdin_filename
2020-03-24 19:14:07 -06:00
Kyle Criddle
38178fedf4
Merge branch 'master' into fix_654_stdin_filename
2020-03-24 19:08:43 -06:00
Kyle Criddle
59f2e2d58d
Implemented --file-name for multiple files + tests
2020-03-24 18:26:00 -06:00
Kyle Criddle
fb3c775c8b
--file-name for normal files. integration tests.
2020-03-22 11:10:27 +01:00
Kyle Criddle
8adce9fae8
Implement --file-name<name> option
...
- can specify filename to be displayed when printing.
- useful for when piping data from STDIN
Closes #654
2020-03-22 11:10:27 +01:00
sharkdp
eb2f3ddb7c
Rename test methods
2020-03-22 11:02:51 +01:00
sharkdp
dfd3ef022e
Add more default mappings, reverse traversal
2020-03-22 11:02:51 +01:00
sharkdp
978def2d40
Update documentation
2020-03-22 11:02:51 +01:00
sharkdp
57aed07814
Use absolute path for lookup in database
2020-03-22 11:02:51 +01:00
sharkdp
bd8a13dbc9
Initial implementation of glob-based syntax mapping
2020-03-22 11:02:51 +01:00
sharkdp
32346612b7
Move syntaxes, fixes #874
2020-03-21 23:53:53 +01:00
sharkdp
dfe5eb3e98
Add an even simple example
2020-03-21 22:21:23 +01:00
sharkdp
2c2861db6a
Further simplify module structure
2020-03-21 22:21:23 +01:00
sharkdp
bb0a3d586e
Simplify public API module structure
2020-03-21 22:21:23 +01:00
sharkdp
90397a8aac
Hide SyntaxMapping::replace
2020-03-21 22:21:23 +01:00
sharkdp
84ba323b1c
Rename output component to 'style compinent', move wrap to separate module
2020-03-21 22:21:23 +01:00
sharkdp
a8851e1307
Hide methods from line_range
2020-03-21 22:21:23 +01:00
sharkdp
d4a39f99d2
Hide API of InputFileReader
2020-03-21 22:21:23 +01:00
sharkdp
8c500a7e40
Hide get_syntax, move tests to module
2020-03-21 22:21:23 +01:00
sharkdp
acf51bd7b3
Rename methods and parameters
2020-03-21 22:21:23 +01:00
sharkdp
83dc13a86d
Add fallback theme, remove BAT_THEME_DEFAULT
2020-03-21 22:21:23 +01:00
sharkdp
094c526a0e
Hide some methods from HighlightingAssets
2020-03-21 22:21:23 +01:00
sharkdp
62f2d0c100
Do not export syntax_set and theme_set
2020-03-21 22:21:23 +01:00
sharkdp
fc1ca0875a
Move error handling to a callback
2020-03-21 22:21:23 +01:00
sharkdp
a7338e2ea2
Run cargo fmt
2020-03-21 22:21:23 +01:00
sharkdp
9b8ddb24d1
move Config struct to separate file
2020-03-21 22:21:23 +01:00
sharkdp
7e0115641d
Move error module to separate file
2020-03-21 22:21:23 +01:00
sharkdp
fedd32173e
Restructure and fix bug in line range module
2020-03-21 19:19:15 +01:00
sharkdp
4855a47105
Rename enum field
2020-03-21 19:19:15 +01:00
sharkdp
06b7be7ee9
Major restructuring of theme/syntax handling
2020-03-21 19:19:15 +01:00
Kyle Criddle
cfa2cb6ec7
--file-name for normal files. integration tests.
2020-03-19 20:46:19 -06:00
Kyle Criddle
b1b8addf7e
remove unnecessary Some()
2020-03-18 17:03:03 +01:00
Kyle Criddle
4be5adc6f5
remove absolute path restraint from BAT_CACHE_PATH
2020-03-18 17:03:03 +01:00
Kyle Criddle
a9a31dca7f
Specify cache dir with BAT_CACHE_DIR
...
- if set, BAT_CACHE_DIR is used. otherwise use OS default.
2020-03-18 17:03:03 +01:00
Kyle Criddle
517be5c7bc
Implement --file-name<name> option
...
- can specify filename to be displayed when printing.
- useful for when piping data from STDIN
Closes #654
2020-03-17 20:29:01 -06:00
Pavel Aslanov
4021cf8128
Support combination of multiple styles at the same time
...
Old version of the code did not allowed for `bold italic` or `bold underline` styles
2020-03-04 23:28:53 +01:00
sharkdp
ca066bf7cd
Run 'cargo fmt'
2020-02-28 10:27:06 +01:00
Kogia-sima
25640a8a81
Fix bug where max_width is not initialized after line break
2020-02-28 09:06:51 +01:00
Kogia-sima
944866affd
Fix wrapping method to support unicode text
...
Related issues:
- #787
- #811
2020-02-28 09:06:51 +01:00
Ethan P
1225e65299
Fix #798
2020-02-28 07:56:24 +01:00
sharkdp
7779d9f622
Allow for non-unicode filenames, closes #225
2020-02-13 08:25:04 +01:00
Liam Kalir
5ef1c6cce2
Grammar touch-ups, more descriptive error message for invalid line
...
ranges
2020-01-27 06:54:00 +01:00
Liam Kalir
93881d9a64
Adds range syntax for line highlights
2020-01-27 06:54:00 +01:00
sharkdp
8d0b8a227b
Add test for less 529
2019-12-23 13:01:14 +01:00
sharkdp
e400ebd1bd
Also pass '--no-init' if version could not be retrieved
2019-12-23 12:45:23 +01:00
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
2019-12-23 12:45:23 +01:00
sharkdp
20ba984c6d
Update help text, closes #713
2019-12-22 16:05:00 +01:00
fusillicode
6311ca22f9
Add check for terminal-width in output_wrap config value in not interactive case
...
Co-authored-by: allevo <tomallevi@gmail.com>
Co-authored-by: gildo <gildo.fiorito@gmail.com>
2019-12-22 15:20:34 +01:00
sharkdp
40e5befdc7
Minor change
2019-12-15 20:55:48 +01:00
Franco Victorio
f94ff93953
Accept "default" as a theme
2019-12-15 20:55:48 +01:00
Mohamad Barbar
3523f60299
Leave blank lines blank terminal output.
...
Would add some ANSI colour codes previously.
2019-12-15 20:32:02 +01:00
sharkdp
850677f121
Remove 'advanced' example
2019-10-30 19:47:51 +01:00
sharkdp
c132e19e74
Make a few modules private
2019-10-30 19:47:51 +01:00
sharkdp
3334f74b72
Remove custom 'transpose' function
2019-10-30 19:47:51 +01:00
sharkdp
b9ce3c248c
Simplify 'using_controller' example
2019-10-30 19:47:51 +01:00
Helder M
3b5fcf4619
Update options sort order in --help and manpage file
...
This commit updates the sort order of --help options in order to improve
usability/importance putting most useful/used commands on top. In
addition to that, similar options were grouped together.
2019-10-29 19:54:25 +01:00
Fahmi Akbar Wildana
e287594654
Fix compile-error on Rust v1.35.0
2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana
2253d07341
Derive fmt::Debug whenever possible
2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana
7208a63a49
Implement trait Default for struct Config
2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana
0273848f54
Run cargo fmt
2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana
e542621125
Move back printer.rs and others into lib
...
others:
bin/bat/{controller,decorations,output,printer}.rs
2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana
26439b41d2
Move Config,PagingMode from app.rs into lib.rs
2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana
a2ee753b25
Move config.rs into src/bin/bat/
2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana
837d0998da
Remove unused macros in bin/bat
2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana
23d80f9e84
Fix all compile errors in bin/bat ➕
...
* Change `mod errors` in lib.rs to public
* Add `fn handle_error` in lib.rs errors module
2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana
e981bd88c1
Move src/bin/* into src/bin/bat/
...
This will limit [[bin]] to *bat* only which will make:
- `cargo run` works without specifying --bin
- prevent `cargo build --bins` to produce multiple binaries (app,clap_app,...)
2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana
710a1df4ff
Fix all compile warnings in lib.rs
2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana
cfd33168af
Fix all compile errors in lib.rs 🚚
...
* Move {controller,output,printer,decorations}.rs into src/bin/
* Add `mod errors` from main.rs
2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana
eefdb186b8
Add lib.rs
2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana
fc0ad4db2e
Move {main,app,clap_app}.rs into src/bin/
2019-10-20 21:43:51 +02:00
sharkdp
f5d359927a
Fix 'bat cache other-arg', closes #666
2019-09-21 09:10:12 +02:00
sharkdp
26f9125ebb
Re-formulate help text
2019-08-31 20:56:53 +02:00
sharkdp
9814eab13f
Suppress warning in -A mode
2019-08-31 20:56:53 +02:00
sharkdp
82ca8804a2
Handle non-unicode characters in the preprocessor
2019-08-31 20:56:53 +02:00
pjsier
b48b9fcf3b
Display binary file content for bat -A
2019-08-31 20:56:53 +02:00