Martin Nordholts
47bb4a9c0f
Introduce bat_warning! helper macro
...
This macro is intended to be package-internal and is not to be
considered part of the public lib API.
Use it in three places to reduce code duplication. However, main reason
for this refactoring is to allow us to fix #1063 without duplicating the
code yet another time.
The macro can also be used for the "Binary content from {} will not be
printed to the terminal" message if that message starts to use eprintln!
instead (if ever).
To trigger/verify the changed code, the following commands can be used:
cargo run -- --theme=ansi-light tests/examples/single-line.txt
cargo run -- --theme=does-not-exist tests/examples/single-line.txt
cargo run -- --style=grid,rule tests/examples/single-line.txt
2020-12-28 09:27:40 +01:00
Martin Nordholts
6d1c7d5f57
Fix clippy::if_same_then_else warning in --paging=auto logic
2020-12-28 09:21:27 +01:00
Mitchell Kember
3099f51ba7
Add ansi theme to replace ansi-light and ansi-dark
...
This combines ansi-light and ansi-dark into a single theme that works
with both light and dark backgrounds. Instead of specifying white/black,
the ansi theme uses the terminal's default foreground/background color
by setting alpha=01, i.e. #00000001 . This is in addition to the alpha=00
encoding where red contains an ANSI color palette number.
Now, `--theme ansi-light` and `--theme ansi-dark` will print a
deprecation notice and use ansi instead (unless the user has a custom
theme named ansi-light or ansi-dark, which would take precedence).
2020-12-21 17:05:10 +01:00
Lovecraftian Horror
b349155f2f
Remove repeated contains
calls
2020-12-21 09:41:29 +01:00
Stefan Kunkel
bf96e6e642
make bat -L use plain style
2020-12-21 09:24:56 +01:00
Stefan Kunkel
cffacad306
make bat -L use pager
2020-12-21 09:24:56 +01:00
David Peter
73c16574e6
Merge branch 'master' into fix-1438-newline-can-be-added-even-if-style-plain
2020-12-21 08:22:01 +01:00
Martin Nordholts
68d525cd8b
Don't add artificial newline to last line if --style=plain
...
This fixes #1438 .
Note however, that using a pager such as less will add a newline itself.
So to actually not print a newline for such files, you need to either
disable paging:
bat --style=plain --paging=never no-newline-at-end-of-file.txt
or use a "pager" that does not add a newline:
bat --style=plain --pager=cat no-newline-at-end-of-file.txt
Note that we also update syntax tests file since a bunch of them had
missing newlines on the last lines.
2020-12-19 10:32:50 +01:00
Martin Nordholts
c3fc1b88fe
replace_nonprintable: Keep \n around
...
Since it has a functional role, we can not just replace it, we must keep
it around. This also allows us to simplify the code slightly.
We must fix this before we fix #1438 since otherwise the \n will be
missing with --style=plain, since we will stop adding it if it is
missing.
2020-12-19 10:27:06 +01:00
rsteube
84b0702399
only print themes hint in interactive mode
2020-12-17 10:41:07 +01:00
Martin Nordholts
986d0e9777
Ignore PAGER=most by default with a warning to stderr
...
closes #1063
2020-11-27 06:47:46 +01:00
Martin Nordholts
f4202361b4
Add Pager helper with info about where the value comes from
...
In preparation of fixing issue #1063 .
This is a pure refactoring with no intended functional side effects.
2020-11-27 06:42:58 +01:00
sharkdp
a6810e3353
Revert "Add io cycle detection with clircle"
...
This reverts commit aa2ae19dfd
.
2020-11-24 21:40:11 +01:00
sharkdp
1fbdef06aa
Use unreachable!(…)
2020-11-23 14:25:01 +01:00
MarcoIeni
f5531cc7fa
remove all matches
2020-11-23 14:25:01 +01:00
MarcoIeni
2ccff145ed
remove unuseful matches expression
2020-11-23 14:25:01 +01:00
MarcoIeni
43b2ee5e71
fix some clippy warnings
2020-11-23 14:25:01 +01:00
Niklas Mohrin
31793cfa62
Add io cycle detection with clircle
2020-11-23 14:06:54 +01:00
Ethan P
61f947a580
Merge pull request #1276 from tommilligan/style-rule
...
style: add component 'rule' for horizontal file delimiter
2020-10-31 23:14:00 -07:00
Nicholas L
8e8131590c
Use platform based path concatenation
2020-10-30 08:04:14 +01:00
Nicholas L
3acfe790b9
Add extra themes help to output
2020-10-30 08:04:14 +01:00
Adrian Rivera
9837948c3a
Throws an error when bat
is being user as pager.
...
As mentioned on #1334 `bat` should not be used as a value for `pager`,
this change checks both the balue of `bat` provided as a parameter or
as an environment variable.
2020-10-29 19:33:58 +01:00
Tom Milligan
3015ebfba1
disable rule when grid enabled, and print warning
2020-10-12 09:04:57 +01:00
Tom Milligan
aa4000cb0d
style: add component 'rule' for horizontal file delimiter
2020-10-12 09:04:27 +01:00
sharkdp
b3903175c8
Auto-format Rust code
2020-10-11 21:57:12 +02:00
gahag
6615eceb18
Code review: replace if let
with equals operator
2020-10-08 18:51:42 +02:00
gahag
53f5a37f01
Code review
...
- Replace bools with enums
- Replace short flag with long flag
2020-10-08 18:51:42 +02:00
gahag
bbef2f41ec
Add -S
flag to less when --wrap=never
( closes #1255 )
...
Prevent less from wrapping lines by setting the proper flag when `--wrap=never`.
If the user set a custom value for `--pager`, no additional flag is set.
2020-10-08 18:51:42 +02:00
henil
8ff890635f
add an after help NOTE
2020-10-04 06:33:11 +02:00
sharkdp
30993a8bfc
Simplify code
2020-10-01 21:06:37 +02:00
sharkdp
2258fb2713
Remove .unwrap() in insert call to prevent crashes
2020-10-01 21:06:37 +02:00
sharkdp
a46191b8bf
Remove .unwrap() to prevent crashes
2020-10-01 21:06:37 +02:00
sharkdp
9c4c3e965b
Remove non-working unit test
2020-10-01 21:06:37 +02:00
Ahmed El Gabri
31acbe20d3
Support XDG_CONFIG_HOME git config files
2020-10-01 21:06:37 +02:00
sharkdp
32d22f464d
Improve --style help text, closes #1146
2020-09-20 21:00:04 +02:00
sharkdp
71b2089384
Code formatting
2020-09-20 20:47:21 +02:00
sharkdp
57aa88a13a
Improve --file-name help text, closes #1109
2020-09-20 20:43:30 +02:00
sharkdp
f84aceec3d
Fix unwrap error
2020-09-20 19:54:05 +02:00
Kienyew
83c7750656
Use unwrap
2020-09-20 12:14:21 +02:00
Kienyew
c477e23fe9
Handle file extension conflicts in --list-languages
2020-09-20 12:14:21 +02:00
Kienyew
31fb7087f1
Revert to previous commit
2020-09-20 12:14:21 +02:00
Kienyew
52d6701f8f
Fix undesired behavior
2020-09-20 12:14:21 +02:00
Kienyew
f97634011e
Handle file extension conflicts in --list-languages ( #1076 )
2020-09-20 12:14:21 +02:00
sharkdp
5df449bcf3
Remove unnecessary parenthesis
2020-09-14 11:24:14 +02:00
Alexander Karlis
6017989c4c
removed printlns, updated Changelog, updated man
2020-09-14 11:24:14 +02:00
Alexander Karlis
d349974089
updated PR based on comments
2020-09-14 11:24:14 +02:00
Alexander Karlis
ccdea6a429
remove println
2020-09-14 11:24:14 +02:00
Alexander Karlis
fdf11326ef
added additional alias for color=always when always-decorations flag is triggered
2020-09-14 11:24:14 +02:00
Alexander Karlis
565a80305c
Added new alias for 'decoration=always'
2020-09-14 11:24:14 +02:00
Niklas Mohrin
ad18f070ae
Adds custom mapping for nginx and apache config files
2020-09-14 10:36:22 +02:00
Kienyew
cab5ddf6ae
Fix Typo
2020-08-12 06:45:24 +02:00
Mitchell Kember
f9d5e81f0e
Add new theme: base16-256
...
Bat already has a base16 theme. The new base16-256 theme is for users
of base16-shell, who configure their terminal with a 256-color variant
of a base16 theme. These variants put some of the base16 colors in
elsewhere in the 256-color table to avoid clobbering bright color slots
(ansi codes 8 to 15) with colors that don't respect the ordinary meaning
of that slot (e.g. bright green in ordinary base16 is not green).
For more details, see https://github.com/chriskempson/base16-shell
2020-08-03 11:39:49 +02:00
sharkdp
2b3457e8d6
Update --help text for --color
2020-07-25 22:32:34 +02:00
Dash Peters
99819087f1
Switch to "·" (U+00B7) Middle Dot from "•" (U+2022) Bullet
2020-07-09 08:15:04 +02:00
Attila Gonda
a0b89a68d9
Update generated config to reflect pager argument behaviour
2020-07-09 08:13:52 +02:00
Dash Peters
c264f74771
Hide alias in help, update man and completions
...
A long alias doesn't make sense, since `--paging=never` already exists
2020-07-02 00:07:37 -07:00
Dash Peters
f53ea60ed4
Merge remote-tracking branch 'sharkdp/master'
2020-07-02 00:04:55 -07:00
David Peter
3a62e3d188
Merge pull request #1066 from gsomix/feature/1061-show-all-redirected
...
Enable non-printable characters for redirected output
2020-07-02 08:21:50 +02:00
Evgeniy Andreev (gsomix)
3c5ce9f86c
Enable non-printable chars for redirected output ( #1061 )
2020-07-02 09:36:58 +04:00
Dash Peters
5fdeeabb44
Change to name no-paging, add long flag and alias
2020-07-01 21:35:45 -07:00
Dash Peters
2575aae945
Add short flag for --paging=never
2020-06-30 12:19:22 -07:00
Caio Alonso
fc121f0c87
Defaults *.fs to F#
2020-06-26 21:42:05 -03:00
Guido Cella
44deddbbfe
Highlight pacman hooks as ini
2020-06-21 10:58:32 +02:00
Guido Cella
aa8a2b1769
Highlight systemd files as ini
2020-06-21 10:58:32 +02:00
sharkdp
19aa878a08
Remove explicit type annotation
2020-06-03 19:44:41 +02:00
sharkdp
9f52012443
Prevent allocation of additional Strings
2020-06-03 19:44:41 +02:00
sharkdp
e57e9b6dbb
Use 'or_insert_with'
2020-06-03 19:44:41 +02:00
sharkdp
74e8373e34
Return mappings as a slice
2020-06-03 19:44:41 +02:00
sharkdp
ec2722d465
Use 'if let' instead of 'match'
2020-06-03 19:44:41 +02:00
Alex Novak
9e2ea5fdd4
Incorporating feedback
2020-06-03 19:44:41 +02:00
Alex Novak
48b4a6a906
Adds a little logic to main to get other mappings from config
2020-06-03 19:44:41 +02:00
Roy Ivy III
99226b745f
Revert 9ed8db22c ('windows' pager process execution fix) based on PR feedback/owner request
2020-06-03 09:13:47 +02:00
Roy Ivy III
a2c09b41bc
Fix pager process execution under 'windows'
...
## [why]
For 'windows' platforms, directly spawning a process (eg, called PATHNAME) bypasses the
usual windows shell machinery for determining which process to execute. Specifically,
the extensions in PATHEXT will not be used to determine the final executable. So,
`PATHNAME.bat`, `PATHNAME.cmd`, ... will *not* be executed even if on they exist on the
PATH; and this is counter to the usual expectation of a Windows user. Additionally,
built-in commands, such as `echo` and `dir`, will never be accessible as they do not
have a PATH to execute and, so, will never be found.
To use the usual machinery, giving access to PATHNAME.bat and `echo`, execute the PATHNAME
using the windows shell, eg `cmd /d/c PATHNAME`. Note this may expose the constructed
command line to the windows shell quoting vagaries (sadly, that may be part of the price).
Following Windows standards, the ComSpec environment variable is used to determine which
shell to use, with a fallback to the "modern", built-in `cmd` shell.
2020-06-03 09:13:47 +02:00
Roy Ivy III
9cc8e52512
Fix compiler warning for 'windows' tests (dead_code)
2020-06-03 09:13:47 +02:00
Ethan P
342cae2dc6
Change use of 'BatInput' to 'input::Input'
2020-05-29 22:13:10 +02:00
Ethan P
d2b26a5f1f
Remove unnecessary '-> ()'s
2020-05-29 22:13:10 +02:00
Ethan P
9d08c0102e
Replace Input::stdin_as_file with bat-application functions
2020-05-29 22:13:10 +02:00
Ethan P
a3357547ea
Remove unused with_name for theme preview file
2020-05-29 22:13:10 +02:00
Ethan P
7a9decad70
Remove Input.as_file and add Input::stdin_as_file
2020-05-29 22:13:10 +02:00
Ethan P
a8d7141c4c
Improve documentation for Input API
2020-05-29 22:13:10 +02:00
Ethan P
0f06d3b90d
Reexport bat::pretty_printer::Input as bat::Input
2020-05-29 22:13:10 +02:00
Ethan P
589c94aa93
Fix regression with --list-themes and --language
2020-05-29 22:13:10 +02:00
Ethan P
798b742617
Refactor InputDescription API into Input API
2020-05-29 22:13:10 +02:00
Ethan P
11a72ab765
Fix a typo
2020-05-29 22:13:10 +02:00
Ethan P
0319149b4d
[breaking] Remove special handling for theme previews
2020-05-29 22:13:10 +02:00
Ethan P
2f823d59b0
Add PrettyPrinter::input function
2020-05-29 22:13:10 +02:00
Ethan P
981352992b
Add InputDescription API
2020-05-29 22:13:10 +02:00
Ethan P
384ea38bd9
Add documentation to InputDescription
2020-05-29 22:13:10 +02:00
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