Commit Graph

754 Commits

Author SHA1 Message Date
Ethan P
8b481dd41f Add support for NO_COLOR env var (#1021) 2020-05-28 21:49:10 +02:00
sharkdp
9cb43ef64d Update tests 2020-05-27 10:09:57 +02:00
sharkdp
bd17fd571f Switch from path-absolutize to path_abs
closes #1022
2020-05-26 08:11:26 +02:00
sharkdp
8f1babf346 Mark 'vcs_modification_markers' as deprecated 2020-05-25 11:51:10 +02:00
sharkdp
fa25695b74 Make 'vcs_modification_markers' change non-breaking 2020-05-25 11:51:10 +02:00
sharkdp
943b1f82b6 Fix syntax detection for symlinks
closes #1001
2020-05-24 17:32:43 +02:00
sharkdp
c4031ad65c Fix syntax detection for files called 'rails'
closes #1008
2020-05-24 11:27:42 +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
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
b8687bc969
Merge branch 'master' of github.com:sharkdp/bat into string-input 2020-05-15 13:22:24 -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
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
Prat T
b3373398e8 Remove padding if the header style is not enabled 2020-05-12 16:37:29 +02:00
Prat T
0040fef215 Add padding above headers when no grid 2020-05-12 16:37:29 +02:00
Ethan P
f39487fca9
Make syntax detection more consistent for Reader and File inputs 2020-05-11 19:44:09 -07:00
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
sharkdp
2e71146801 Fix another instance of the 'bat cache' bug, closes #584 2019-08-31 14:13:36 +02:00
sharkdp
ec908d5937 Run 'cargo fmt' 2019-08-31 13:46:48 +02:00
sharkdp
63d652dab5 Add 'dyn' keyword for trait references 2019-08-31 13:46:48 +02:00
Ethan P
7f2e61d579 Add new style component to separate multiple '--line-range's 2019-08-31 13:46:48 +02:00
sharkdp
e289a2c698 Add short '-L' option as an alias for --list-languages 2019-08-31 13:22:16 +02:00
Wild Kat
28266ee441 use explicit dyn with Write to appease compiler 2019-08-02 18:50:55 +02:00
Ethan P
772ce2e4fe Print a horizontal header line when 'grid' style without 'header' style 2019-07-26 06:51:33 +02:00
sharkdp
76c615a304 Allow leading minus in '--terminal-width <value>'
closes #611
2019-07-24 21:44:25 +02:00
Fernando Mendes
c9d7e3652b Enforce the creation of the full cache dir path
Fixes #576
2019-05-30 22:28:52 +02:00
sharkdp
9b1b3dda14 Only print the header for empty files
Instead of printing
```
───────┬─────────────────────────────────────────────────────────
       │ File: some-file
───────┼─────────────────────────────────────────────────────────
───────┴─────────────────────────────────────────────────────────
```
for empty files, bat will now print
```
───────┬─────────────────────────────────────────────────────────
       │ File: some-file   <EMPTY>
───────┴─────────────────────────────────────────────────────────
```
2019-05-15 22:37:03 +02:00
sharkdp
5b2b594919 Revert "Run 'cargo fmt'" (outdated rustfmt)
This reverts commit dd40f7545d.
2019-05-15 08:07:08 +02:00
sharkdp
9d53ce6be6 Fix warning 2019-05-14 23:42:23 +02:00
sharkdp
dd40f7545d Run 'cargo fmt' 2019-05-14 23:40:07 +02:00
sharkdp
c709bf2103 Print a warning message instead of just '<BINARY>' 2019-05-14 23:35:22 +02:00
Maksim Panfilov
f37dbb80a8 Added printing of "<BINARY>" for binary files in the interactive mode if header decorations are turned off 2019-05-14 23:35:22 +02:00
sharkdp
0a1e08da96 Extend help text for --terminal-width and --wrap, closes #535 2019-05-14 23:24:13 +02:00
Ethan P
493a4e719e Added non-interactive mode for --list-languages
This makes scripting it a lot easier and less hacky.
2019-05-14 22:50:42 +02:00
sharkdp
72152296c7 Fix accidental printing of files named 'cache'
This also adds two regression tests, so this will hopefully not pop up
again.

closes #557
2019-05-10 17:55:46 -05:00
Ethan P
2b9d25df05 Replace iterator with string starts_with and ends_with 2019-05-10 17:52:35 -05:00
Ethan P
cc8186103b Reformatted with cargo fmt. 2019-05-10 17:52:35 -05:00
Ethan P
0ad09df7ab Improved logic when encountering ANSI in character wrap mode
Fixes #551
2019-05-10 17:52:35 -05:00
Ethan P
7ef0fe091d Cleaned up terminal-width validation even more 2019-05-10 17:50:58 -05:00
Ethan P
89fcbb2b15 Cleaned up terminal-width validation slightly 2019-05-10 17:50:58 -05:00
Ethan P
a7e2bb86cb Add validation for --terminal-width option 2019-05-10 17:50:58 -05:00
sharkdp
1ce0bc8e0d Slightly modified help text 2019-05-10 11:04:46 -05:00
Ethan P
fde00eec98 Add -pp for plain styling and no pager 2019-05-10 11:01:02 -05:00
Mitchell Kember
bb6594e691 Add 3 new themes: ansi-light, ansi-dark, base16
Also, interpret transparent colors (#RRGGBB00) as specifying a terminal
color palette number with RR. The three new themes use this.
2019-05-08 07:35:43 -05:00
Daniele Esposti
f259ff2920 Formatted code 2019-03-09 07:43:41 +01:00
Daniele Esposti
82f14121bd Applied linter fixes 2019-03-09 07:43:41 +01:00
Daniele Esposti
a21ae614e6 Migrated to Rust 2018 2019-03-09 07:43:41 +01:00
sharkdp
f0771d6532 Do not replace arguments to pager when --pager is used, closes #509 2019-02-18 20:28:44 +01:00
Reid Wagner
76b7418e35 Only print contents if file wasn't empty, or EOF wasn't first thing received from stdin. 2019-02-11 20:33:16 +01:00
Reid Wagner
10c5f79640 Revert "Check result of read_until, and return Error if 0, which indicates EOF was found before delimeter."
This reverts commit 61e888de7f.
2019-02-11 20:33:16 +01:00
sharkdp
9e11d66979 Handle UTF-16 encoding errors with replacement characters 2019-02-10 10:18:07 +01:00
sharkdp
e09499b3df Move config-dir and cache-dir from 'bat cache' to 'bat' 2019-02-07 23:27:53 +01:00
sharkdp
cff01d81fa Rename 'bat cache --init' to 'bat cache --build' 2019-02-07 23:27:53 +01:00
sharkdp
6e8fca5bb2 Replace less command line arguments only for PAGER 2019-02-07 22:37:33 +01:00
Park Juhyung
63c77383ce Ignore flags from PAGER env var if the program is 'less' 2019-02-07 22:37:33 +01:00
sharkdp
4df22e617f Update documentation 2019-02-07 22:19:32 +01:00
sharkdp
6473e8c1be Remove import 2019-02-07 22:19:32 +01:00
sharkdp
972a764a74 Simplify Optional handling 2019-02-07 22:19:32 +01:00
sharkdp
54143d1403 Add --cache-dir option 2019-02-07 22:19:32 +01:00
sharkdp
6523bbf62f Replace 'is_absolute_path' with map and filter 2019-02-07 22:19:32 +01:00
Lavi
05e2c2c66b removed compile errors and warnings on non-macs 2019-02-07 22:19:32 +01:00
Lavi
69227222b5 config and cache now check XDG env vars first
`XDG_CACHE_HOME` and `XDG_CONFIG_HOME` are checked first and fall-back
to `~/.cache/` and `~/.config/`.
2019-02-07 22:19:32 +01:00
Lavi
49af3e854b Set cache_dir on MacOS to ~/.cache/bat/ 2019-02-07 22:19:32 +01:00
Lavi
6a8e4757b7 Updated bat config dir for MacOs
Removed directories crate and using dirs_rs
Changed bat config file and cache dir on MacOs:
config: ~/.config/bat/config
cache: ~/.config/bat/cache/
2019-02-07 22:19:32 +01:00
Reid Wagner
61e888de7f Check result of read_until, and return Error if 0, which indicates EOF was found before delimeter. 2019-02-07 07:32:28 +01:00
sharkdp
bd68684537 Fix the number of values to one 2018-12-16 22:35:22 +01:00
sharkdp
c2847f6a9f Short options for line-range and highlight-line 2018-12-16 22:17:39 +01:00
sharkdp
cf7ed042c1 Colorize the whole line 2018-12-16 21:53:15 +01:00
sharkdp
6b92814ea0 Allow for multiple highlighted lines 2018-12-16 21:00:18 +01:00
sharkdp
a236a9b195 Merge branch 'master' of https://github.com/tskinn/bat into tskinn-master 2018-12-16 20:43:36 +01:00
sharkdp
fee57d71d9 Print ANSI-reset code before newline
fixes #379
2018-12-14 23:34:13 +01:00
sharkdp
397def1320 Omit launching of pager if NO file exists
closes #387
2018-12-14 22:53:31 +01:00
ufuji1984
4ff360669f add quotes around filename
and make it more concise by using map_err
2018-12-11 22:24:52 +01:00
ufuji1984
549e5d7355 Report filename if File::open return Err
From issue #441
2018-12-11 22:24:52 +01:00
Ole Martin Ruud
348c9f3562 Enhance SyntaxMapping with impl Trait 2018-11-27 20:36:23 +01:00
Ole Martin Ruud
6b6a8f8e16 Fix doc comment typo 2018-11-27 20:34:32 +01:00
Arnav Borborah
532af6556d Use Rust inclusive range (stable in 1.26) 2018-11-11 14:42:22 +01:00
sharkdp
f98a96c1ed Update help text 2018-11-11 12:26:39 +01:00
sharkdp
7cac07d845 issue #383: Handle cases like PAGER=/usr/bin/bat 2018-11-06 19:53:32 +01:00
Rodrigo Orem
148caa1381 Fix code style 2018-11-06 19:35:41 +01:00
Rodrigo Orem
ab27cac0cc Remove args when change from bat to less 2018-11-06 19:35:41 +01:00
Rodrigo Orem
01fcbf2183 Better placement of bat detection 2018-11-06 19:35:41 +01:00
Rodrigo Orem
8a0c30b385 Avoid endless bat executions with PAGER="bat"
From issue #383
2018-11-06 19:35:41 +01:00
Nisheet Sinvhal
18d1a3b973 Changed italics to use-italic-text in config
Better placing of italics in help and also added long_help for it
2018-11-04 19:40:05 +01:00
Nisheet Sinvhal
dc10246bd2 Linting 2018-11-04 19:40:05 +01:00
Nisheet Sinvhal
44bdae0212 Linting 2018-11-04 19:40:05 +01:00
Nisheet Sinvhal
1ece38a4c4 Changed flag name 2018-11-04 19:40:05 +01:00
Nisheet Sinvhal
e90308e1f8 italics enable|disable working 2018-11-04 19:40:05 +01:00
Nisheet Sinvhal
d702d6740c Added args 2018-11-04 19:40:05 +01:00
Ricky
558134f6c8 Changed to unwrap methods, added integration tests 2018-11-04 11:19:49 +01:00
Ricky
1dd57e6d7e Ran rust fmt 2018-11-04 11:19:49 +01:00
Ricky
20ba84d1fa Added in environment variable and the result is a file check in config.rs 2018-11-04 11:19:49 +01:00
sharkdp
e81f9b23e6 Fix --show-all for UTF-16 encoding 2018-11-01 22:00:47 +01:00
sharkdp
50dc4a79b0 Display line-feed as instead of 2018-11-01 22:00:47 +01:00
sharkdp
8fa8f44706 Use character if tab-width == 1. 2018-11-01 22:00:47 +01:00
sharkdp
ecd862d9ff Feature: Highlight non-printable characters
Adds a new `-A`/`--show-all` option (in analogy to GNU Linux `cat`s option) that
highlights non-printable characters like space, tab or newline.

This works in two steps:
- **Preprocessing**: replace space by `•`, replace tab by `├──┤`, replace
newline by `␤`, etc.
- **Highlighting**: Use a newly written Sublime syntax to highlight
these special symbols.

Note: This feature is not technically a drop-in replacement for GNU `cat`s
`--show-all` but it has the same purpose.
2018-11-01 22:00:47 +01:00
sharkdp
4492d99556 Change default tab width to 4 2018-11-01 15:30:58 +01:00
sharkdp
dda27b253b Allow offset values in --terminal-width
Allows the `width` argument to `--terminal-width` to be an offset
instead of an absolute number. Examples:

    --terminal-width=80   # Set output width to 80 characters
    --terminal-width=-2   # Set output width to actual_width - 2

closes #376
2018-10-31 22:21:22 +01:00
David Peter
abcd09f869 Remove commented-out code 2018-10-21 22:52:26 +02:00
Sindre Johansen
41a5ff039b Only use the last argument of {style,plain,number} 2018-10-21 22:52:26 +02:00
Sindre Johansen
155bad3862 Rustfmt 2018-10-21 22:52:26 +02:00
Sindre Johansen
7c98a1c901 When specifying style multiple times the last occurence wins
Closes: #367
2018-10-21 22:52:26 +02:00
David Peter
c1246fcd53 Update help text 2018-10-21 22:42:11 +02:00
David Peter
9f401ea122 Update docstring 2018-10-21 22:42:11 +02:00
Park Juhyung
9c782fb692 Fix format error 2018-10-21 22:42:11 +02:00
Park Juhyung
154186a58d Add --pager option 2018-10-21 22:42:11 +02:00
sharkdp
496e0bc046 Allow for multiple line ranges
See #23
2018-10-20 10:44:13 +02:00
sharkdp
30b742e984 --map-syntax takes just one value 2018-10-17 23:27:44 +02:00
sharkdp
671deeef8c Update help text 2018-10-17 23:17:28 +02:00
sharkdp
8dc7e2efa3 Add --config-file option 2018-10-17 23:08:37 +02:00
sharkdp
10965a6122 Implement syntax mapping
This adds a `-m`/`--map-syntax` option that allows users to (re)map
certain file extensions or file names to an existing syntax.

For example:
```
bat --map-syntax .config:json
```

The option can be use multiple times. Note that you can easily make
these mappings permanent by using `bat`s new configuration file.

closes #169
2018-10-17 23:08:19 +02:00
sharkdp
e43d97dc15 Small cleanup 2018-10-17 21:12:23 +02:00
sharkdp
bb1f5aa841 Add proper handling of empty PAGER variables 2018-10-17 21:08:32 +02:00
sharkdp
2109a7830b Add error handling for parsing errors 2018-10-17 21:08:32 +02:00
sharkdp
ec27c78a8a Remove duplicate 'extern crate' 2018-10-17 21:08:32 +02:00
Morten Linderud
67fe833bc8 Add arguments from PAGER/BAT_PAGER
Solves #352

Signed-off-by: Morten Linderud <morten@linderud.pw>
2018-10-17 21:08:32 +02:00
sharkdp
25a6a55437 Revert "Fix for older version of Rust"
This reverts commit c530fadc44.
2018-10-16 22:09:15 +02:00
sharkdp
5bff4548be Add BAT_OPTS environment variable 2018-10-16 22:09:15 +02:00
sharkdp
866b9e16a8 Add error handling 2018-10-16 22:09:15 +02:00
sharkdp
5af176c94f Move transpose to util module 2018-10-16 22:09:15 +02:00
sharkdp
9e7da05459 Fix for older version of Rust 2018-10-16 22:09:15 +02:00
sharkdp
1ae02c65fb Fix include 2018-10-16 22:09:15 +02:00
sharkdp
495e7fd3b1 Add --no-config option 2018-10-16 22:09:15 +02:00
sharkdp
b48f0fe389 Fix tests 2018-10-16 22:09:15 +02:00
sharkdp
c19c704a43 Add more tests 2018-10-16 22:09:15 +02:00
sharkdp
693bd5929d Add possibility for spaces on a single line 2018-10-16 22:09:15 +02:00
sharkdp
8275b0436d Add simple configuration file
This allows users to create simple configuration file
(`~/.config/bat/config` on Linux) that has the following format:

    ```bash
    --flag1
    --flag2
    --option1=value1
    # lines beginning with '#' are ignored
    --option2=value2
    # empty lines and trailing whitespace are also ignored

    --option3=value3
    ```
2018-10-16 22:09:15 +02:00
sharkdp
278bde5cee Continue with output after "is directory"-error 2018-10-11 21:54:19 +02:00
Taylor
cea05e9f22 be consistent 2018-10-10 22:19:40 -06:00
sharkdp
2a7851530d Fix formatting 2018-10-10 20:45:10 +02:00
Taylor
1a6709c2cb add line highlight 2018-10-09 22:25:33 -06:00
sharkdp
5842d58c01 Updates for syntect 3.0 2018-10-09 22:04:51 +02:00
sharkdp
fc8fd1e63f cargo fmt 2018-10-07 17:49:38 +02:00
sharkdp
25d96da4a2 Add support for UTF-16LE and UTF-16BE 2018-10-07 17:49:38 +02:00
sharkdp
e97095b724 Use first-line detection for STDIN 2018-10-07 15:34:37 +02:00
sharkdp
ce96df00b6 Do not display binary files in interactive mode
closes #248
2018-10-07 15:34:37 +02:00
sharkdp
f98fc5f06a Simplify access to first line 2018-10-07 15:34:37 +02:00
sharkdp
0502a3bd4a Add first-line detection for all input types
closes #205
2018-10-07 15:34:37 +02:00
sharkdp
869cf6368c Add possibility to get first line 2018-10-07 15:34:37 +02:00
sharkdp
078228deac Add unit test for InputFileReader 2018-10-07 15:34:37 +02:00
sharkdp
6d1cc8c2c8 Move read_line functionality to inputfile module 2018-10-07 15:34:37 +02:00
sharkdp
87f021078e Use dyn Trait for trait objects 2018-10-07 15:34:37 +02:00
sharkdp
d5b0502419 Move get_reader into inputfile module 2018-10-07 15:34:37 +02:00
sharkdp
860f3e9006 Move InputFile to separate module 2018-10-07 15:34:37 +02:00
sharkdp
f9fd5e4851 Simplify -h help text 2018-10-07 10:43:39 +02:00
sharkdp
da09f3877b Remove unnecessary scope 2018-10-07 10:09:10 +02:00
Richard Hozák
b39e28d2c8 Add support for wildcards in Windows CMD (#329)
Windows does not support wildcard expansion in cmd, this adds 'wild' crate (as discussed in #309) that handles everything transparently, so wildcards work everywhere.

Fixes #309
2018-10-03 22:59:11 +02:00