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
davideGiovannini
0d71968615
Generate shell completions with clap during build ( #327 )
...
* Generate shell completions with clap during build
* Updated ci release script, added SHELL_COMPLETIONS_DIR override to build.rs and fixed dependency version
2018-10-03 09:39:30 +02:00
sharkdp
80da0dc619
run cargo fmt
2018-09-26 19:16:03 +02:00
sharkdp
64903bb858
Typo
2018-09-26 19:13:32 +02:00
Michal Nazarewicz
79b960e17e
Use ansi_colours package for better true-colour approximation
2018-09-23 10:19:19 +02:00
sharkdp
20b02e72b3
Disable wrapping when --style
is plain
...
closes #289
2018-09-18 21:31:56 +02:00
sharkdp
e098eb43a2
Do not show file header for directories
...
This also adds a better error message.
closes #292
2018-09-12 21:53:41 +02:00
sharkdp
63d32bc818
Merge remote-tracking branch 'upstream/master' into bat_style
2018-09-12 21:40:41 +02:00
sharkdp
dccf8d8221
Use a more streamlined version of style-component collection
2018-09-12 21:35:23 +02:00
eth-p
d404139ff7
Added validation for --tabs.
...
Also added a comment to explain what 0 represents.
2018-09-12 10:08:58 -07:00
eth-p
1807f9653c
Merge remote-tracking branch 'upstream/master' into feature-tabs
...
# Conflicts:
# src/printer.rs
2018-09-11 14:03:47 -07:00
eth-p
1e74f0e2a9
Ran cargo fmt
.
2018-09-11 13:47:35 -07:00
eth-p
d90797f8e9
Fixed tab expansion not working in --wrap=never mode.
2018-09-11 13:45:49 -07:00
eth-p
b4096e5627
Moved tab expansion to happen after syntax highlighting.
2018-09-11 13:02:22 -07:00
shik Chen
4e3ab4d399
Query git diff only when needed
...
In large git repo like chromium, it takes too long time to query git
diff.
2018-09-11 21:09:38 +02:00
ms2300
7897260bf0
BAT_STYLE accounts for multiple styles (ie numbers,header)
2018-09-10 21:58:19 -06:00
eth-p
eb6e43b9a9
Disabled tab expansion when decorations and pager are not used.
2018-09-10 20:12:13 -07:00
eth-p
b23ff24ebc
Added tab expansion preprocessing step.
2018-09-10 18:11:59 -07:00
Rogach
e1ecc17f69
print additional newline if last line in input file was not terminated with a newline ( fixes #299 )
2018-09-10 22:18:16 +02:00
ms2300
cf24986edb
Run formatting for bat_style changes
2018-09-10 00:07:46 -06:00
ms2300
b9c556a0b6
Updated long help to reflect BAT_STYLE changes
2018-09-09 18:35:40 -06:00
ms2300
9d6bde48fa
Added BAT_STYLE env variable functionality
2018-09-09 18:28:04 -06:00
sharkdp
8b4abb03db
Run 'cargo fmt'
2018-09-08 09:52:21 +02:00
eth-p
375cf76e15
Formatted for newest rustfmt.
2018-09-08 09:52:21 +02:00
eth-p
1a4acc435e
Typo
2018-09-08 09:52:21 +02:00
eth-p
d8030626f8
Automatically disable wrapping when style is plain.
2018-09-08 09:52:21 +02:00
eth-p
fb61aa4f60
Wrapping disabled when --plain is used. ( #289 )
2018-09-08 09:52:21 +02:00
Aankhen
76df41fa97
src/output.rs: Handle less
in a portable way.
2018-09-07 21:47:31 +02:00
Shreyansh Chouhan
53d0c1deca
Can read files named "cache" now, cache subcommand working too ( #275 )
...
Now if a cache file exists in the current directory, and the user passes
no arguments to the cache command, the cache file would be displayed.
If however the user uses cache command with arguments, the cache command
would be executed as normal regardless of whether the file cache exists
in the current directory or not.
Though now there won't be an error message displayed if the user uses the cache sub command without arguments in any directory that contains a file named cache.
2018-09-05 23:22:12 +02:00
sharkdp
1d9e7ac4c2
Support "(/usr)/bin/less" as PAGER too
...
closes #271
2018-09-05 21:10:11 +02:00
sharkdp
7b803a50af
Ignore enable_ansi_support errors
...
- Call `enable_ansi_support` only once.
- Ignore errors that appear when trying to enable ANSI support. This
will hopefully fix #252 and #264
2018-09-03 22:15:38 +02:00
sharkdp
026273a05c
Enable ANSI support on Windows
2018-09-01 00:23:15 +02:00
sharkdp
8903b64830
Fix for Rust 1.26
2018-08-31 23:57:27 +02:00
sharkdp
194155f062
Fix relative-path computation for Windows
2018-08-31 23:57:27 +02:00
sharkdp
8a52bcf92d
Add hidden --terminal-width option
2018-08-31 23:57:27 +02:00
sharkdp
e3c990f11e
Respect color settings for list-themes and list-languages
2018-08-31 21:57:18 +02:00
sharkdp
90c7d0c365
Use stdout locks
2018-08-31 21:48:26 +02:00
mchlrhw
56002267d2
Fix panic when running bat --list-languages | head
...
Fixes: https://github.com/sharkdp/bat/issues/232
2018-08-31 21:43:49 +02:00
sharkdp
acdea97e71
Add --plain
2018-08-28 23:37:49 +02:00
sharkdp
c7afcdebf8
Move theme_preview file to constant
2018-08-28 22:16:42 +02:00
sharkdp
8cacd9b432
Include theme_preview file in binary
2018-08-28 20:24:13 +02:00
sharkdp
6f67444c99
Run cargo fmt
2018-08-28 20:24:13 +02:00
sharkdp
fd2b376ea0
Small style changes to --list-themes
2018-08-28 20:24:13 +02:00
sharkdp
cda54e4f61
Fix build for Rust 1.26
2018-08-28 20:24:13 +02:00
ms2300
3b90ada735
Mutation done correctly
2018-08-28 20:24:13 +02:00
ms2300
1837d364fe
Added bold to theme titles
2018-08-28 20:24:13 +02:00
ms2300
4ea3e6bbb7
Changed preview code
2018-08-28 20:24:13 +02:00
ms2300
38544ed735
Changed to plain style
2018-08-28 20:24:13 +02:00
ms2300
5444b0dfed
Fixes mut issue
2018-08-28 20:24:13 +02:00
ms2300
f3dde0185d
Modifying changing config for efficiency
2018-08-28 20:24:13 +02:00
ms2300
2e3784aa30
#213 : output hello world for each theme when --list-theme is flagged
2018-08-28 20:24:13 +02:00
ms2300
81771432fb
#212 : added -p as an alias for --style=plain
2018-08-27 17:56:50 +02:00
sharkdp
627181bcb6
Always call the syntax highlighter
2018-08-23 23:35:57 +02:00
sharkdp
226d9a573a
Add simple loop-through mode
...
Use a loop-through mode that simply copies input to output if a
non-interactive terminal is detected.
see #150
2018-08-23 23:13:24 +02:00
sharkdp
246cf79dbd
Split into Controller and Printer
2018-08-23 22:37:27 +02:00
sharkdp
ea955c734d
Refactoring, introduce Printer trait
2018-08-23 19:44:14 +02:00
sharkdp
6223ad6d52
Document Config struct
2018-08-22 22:36:59 +02:00
sharkdp
31a9335bd5
Document Config struct
2018-08-22 22:36:37 +02:00
sharkdp
9316f2a758
Major refactoring and cleanup
2018-08-22 22:29:12 +02:00
sharkdp
c884c3cc12
Re-order options in help texts
2018-08-22 19:34:30 +02:00
sharkdp
08850f0474
Update the --help
text
2018-08-22 19:27:11 +02:00
Tim Sampson
8e6c5bc562
doc: mention BAT_THEME in help output
2018-08-22 18:14:01 +02:00
sharkdp
052425b12f
Load customized themes in addition to defaults
...
- New themes in `$BAT_CONFIG_DIR/themes` are now loaded *in addition* to
the default themes (they may also override).
- The `Default.tmTheme` symlink is not necessary anymore.
This relates to #172
2018-08-20 21:39:21 +02:00
sharkdp
2df3305b94
Add new '--blank' option for 'bat cache --init'
...
closes #206
2018-08-20 21:34:08 +02:00
sharkdp
6882fc1512
Clean up help messages
2018-08-20 21:34:08 +02:00
sharkdp
2508323264
Extract grid and line-number color from theme
...
This changes the output color of the grid and the line numbers to use
the "gutter" foreground color defined in the Sublime `.tmTheme` files.
Sublime Text does the same.
Note: we could go one step further and also extract the "GitGutter"
colors from the themes. These could be used instead of red/green/yellow
to signify Git modifications. The problem is that they are quite a bit
harder to extract from the syntect `Theme` object.
closes #178
2018-08-19 12:32:35 +02:00
sharkdp
1dddce3aa1
Separate syntax set and theme set
...
This commit separates the handling of syntax sets and theme sets. It
also changes the way how new syntax definitions are loaded from `bat`'s
configuration folder. New syntax definitions are now loaded *in
addition* to the ones that are stored in the `bat` binary by default.
This fixes #172
2018-08-19 11:08:23 +02:00
sharkdp
b191691767
Revert "replace trait object BufRead by generic"
...
This reverts commit 037861e588
.
2018-08-18 21:25:58 +02:00
Michal Nazarewicz
5c95b8803b
Avoid floating point arithmetic in RGB→8-bit ANSI approximation
2018-08-18 20:58:03 +02:00
sharkdp
5b421b455d
Update dependencies
2018-08-18 20:44:25 +02:00
sharkdp
d179693d1d
Use BAT_PAGER and PAGER environment variables, closes #158
2018-08-18 18:48:22 +02:00
sharkdp
268577c6f9
Run 'cargo fmt'
2018-08-18 17:54:26 +02:00
TA Thanh Dinh
037861e588
replace trait object BufRead by generic
2018-08-18 17:54:26 +02:00
sharkdp
28397b8f78
Always show a warning when theme is unknown
2018-07-23 21:51:49 +02:00
sharkdp
c899849101
Use map instead of and_then(..Some(..))
2018-07-23 21:51:49 +02:00
sharkdp
bf53b64125
Small style fix
2018-07-23 21:51:49 +02:00
Armando Perez
c68aa0f424
Allow specifying the theme via the BAT_THEME
environment variable
...
The `--theme` command line option stills takes precedence and this
change preserves how errors are handled when it's used: If a theme name
that doesn't exist is specified using the argument, this error is fatal.
However, if a theme that doesn't exist is specified using the environment
variable, the error is logged to `stderr` and the "Default" theme is
loaded as a fallback.
2018-07-23 21:51:49 +02:00
sharkdp
6b57f4eebc
Style changes
2018-07-18 00:06:24 +02:00
eth-p
0ddd388a29
Improve logic for SGR sequence passthrough
2018-07-18 00:06:24 +02:00
eth-p
34811b8161
Fix #182
2018-07-18 00:06:24 +02:00
Stéphane Campinas
8c6a74a6c5
typo
2018-07-06 19:09:53 +02:00
sharkdp
65e6970907
Change help text for --line-range
2018-06-12 08:18:44 +02:00
sharkdp
90cc019482
Run 'cargo fmt'
2018-06-12 08:18:44 +02:00
Taylor
eaf0b99d25
update
2018-06-12 08:18:44 +02:00
Taylor Skinner
3b1dcca5d0
use map()
2018-06-12 08:18:44 +02:00
Taylor Skinner
26dbdf4fa0
update line-ranges
2018-06-12 08:18:44 +02:00
Taylor Skinner
6691786d82
add line-range
2018-06-12 08:18:44 +02:00
sharkdp
e27bdfc7d6
Fix clippy warnings
2018-05-31 15:27:55 +02:00
sharkdp
a348a9f68e
Handle syntax-set loading errors
2018-05-25 22:42:06 +02:00
TA Thanh Dinh
a13eb60df3
Using slice notation instead of as_ref
2018-05-25 17:38:54 +02:00
sharkdp
9342d0bb24
Explicitly specify which args override themselves
2018-05-24 22:53:23 +02:00
sharkdp
36d7250af2
Allow arguments to override themselves
2018-05-24 22:53:23 +02:00
Ezinwa Okpoechi
a452467e06
Remove unnecessary space if there are no decorations
2018-05-24 19:10:24 +02:00
Ezinwa Okpoechi
2ea3758c4b
Justify header when there are decorations but no grid
2018-05-24 19:10:24 +02:00
Gert Hulselmans
65bb4c7ee6
Print themes directory in error message if no themes could be loaded from it.
...
Before this patch:
$ bat cache --init
[bat error]: Could not load themes from '{}'
After:
$ bat cache --init
[bat error]: Could not load themes from '/home/user/.config/bat/themes'
2018-05-24 09:09:23 +02:00
Gert Hulselmans
33bbf25468
Fix launching of pager so text is interpreted as UTF-8 by default.
...
This fixes issue https://github.com/sharkdp/bat/issues/98
2018-05-22 22:41:58 +02:00
Ezinwa Okpoechi
2712d63a4b
Move asset clearing to assets module
2018-05-21 23:20:45 +02:00
Ezinwa Okpoechi
b21fb6bca8
Extract features to separate module
2018-05-21 23:20:45 +02:00
Ezinwa Okpoechi
ee43377a9c
Move colors to printer module
2018-05-21 19:24:02 +02:00
Ezinwa Okpoechi
120b33a9db
Move output to separate module
2018-05-21 19:24:02 +02:00
sharkdp
be0a2d6048
Extended help texts for '--help'
2018-05-19 17:54:05 +02:00
sharkdp
d1a1943998
Add -u and -n options, see #134
2018-05-19 16:58:45 +02:00
sharkdp
2a9f5a24ed
Permissive error handling, closes #17
2018-05-19 12:50:41 +02:00
sharkdp
a0ae089c4a
Reset line number to 0 for new files
2018-05-19 12:25:07 +02:00
sharkdp
96cc391f2d
Skip '--quit-if-one-screen' for --paging=always
...
closes #97
2018-05-19 10:54:54 +02:00
sharkdp
5e3b17e6f7
Fix code formatting
2018-05-18 17:44:43 +02:00
eth-p
486e6a19cd
Fixed #124
2018-05-18 17:44:43 +02:00
Ezinwa Okpoechi
247dfbee83
Extract syntax finding to assets module
2018-05-18 16:45:59 +02:00
Ezinwa Okpoechi
12cb438aa4
Handle line with invalid UTF-8
2018-05-18 16:44:34 +02:00
sharkdp
c826c2a438
Better error handling
2018-05-16 22:55:37 +02:00
sharkdp
145b99f01c
Include syntaxes and themes in repository
...
This changes a few things:
- All syntaxes and themes are now stored (as submodules) under
assets/syntaxes and assets/themes
- The default directories for syntaxes and themes are "syntaxes"
and "themes" (used to be "syntax" and "themes")
- The "bat cache" command can now take a `--source <dir>` and
`--target <dir>` option.
- The cached files have been renamed to "themes.bin" and "syntaxes.bin"
2018-05-16 22:04:12 +02:00
David Peter
2eee68599d
Merge pull request #102 from eth-p/master
...
Added text wrapping. (Fixes #54 )
2018-05-16 08:41:49 +02:00