Commit Graph

192 Commits

Author SHA1 Message Date
Martin Nordholts
b040efff79 Support a hidden arg --no-custom-assets that skips loading assets from the cache 2021-07-29 08:27:02 +02:00
Martin Nordholts
a81009607a HighlightingAssets: Make .syntaxes() and syntax_for_file_name() failable
Or rather, introduce new versions of these methods and deprecate the old ones.

This is preparation to enable robust and user-friendly support for lazy-loading.
With lazy-loading, we don't know if the SyntaxSet is valid until after we try to
use it, so wherever we try to use it, we need to return a Result. See discussion
about panics in #1747.
2021-07-29 08:26:18 +02:00
Martin Nordholts
6ef2bb3283 De-duplicate some themes.bin and syntaxes.bin related code 2021-07-15 16:22:35 +02:00
David Peter
3fa09dbe2e Use resolved path for --diagnostic as well 2021-07-12 23:17:30 +02:00
Martin Nordholts
e04fbd1992 Include LESS in --diagnostic
So issues like #1586 are easier to troubleshoot.
2021-03-17 21:10:16 +01:00
Aleksey Kladov
35347c2310 Improve readability
Using `Path`s for paths expresses intent more clearly.
2021-03-07 14:59:10 +01:00
David Peter
ca60937c2e Do not ignore non-existent BAT_CONFIG_PATH
Do not ignore `BAT_CONFIG_PATH` if it doesn't exist. Both when
generating a new config file with `--generate-config-file` and
when attempting to read the config.

Also, provide a better error message in case the file can not
be created.

closes #1550
2021-02-28 10:08:24 +01:00
David Peter
9ad401be87 Fix clippy suggestion 2021-02-16 09:13:22 +01:00
Ethan P
f874c8e4db Use less binary specified in bat config for --diagnostic 2021-02-16 09:11:27 +01:00
Caden Haustein
573f34d757
Update dependencies; replace unmaintained (#1522)
* Update dependencies; replace unmaintained

* Fix errors

* Revert dependency changes

* Revert git2 to 0.13.15

Co-authored-by: David Peter <mail@david-peter.de>
2021-02-16 08:50:41 +01:00
sharkdp
1ae16fca90 Improve --map-syntax documentation, see #1386 2021-01-10 22:24:32 +01:00
sharkdp
c5c28eb05b --diagnostic: add MANPAGER environment variable 2021-01-09 21:56:17 +01:00
sharkdp
cd7be018fe Fix clippy suggestion: .or_else(|| Some(…)) => .or(Some(…)) 2021-01-09 19:43:39 +01:00
mark chaitin
83c9cb7907 fix bug where long lines were truncated in plain mode without wrap=never not being set 2021-01-09 15:21:26 +01:00
Csaba Henk
fed30b1b36 Fix theme dir hint in --list-themes output 2021-01-08 20:10:45 +01:00
sharkdp
26136be903 Add --diagnostics alias 2021-01-06 22:53:51 +01:00
sharkdp
6a52f69b58 Update to bugreport 0.3.0 2021-01-06 22:53:51 +01:00
sharkdp
60406c7c2d Exhaustive list of relevant environment variables 2021-01-06 22:53:51 +01:00
sharkdp
dec94b4111 Add config file, compile time info and less version 2021-01-06 22:53:51 +01:00
sharkdp
ebb97e94a9 Add --diagnostic option to bat 2021-01-06 22:53:51 +01:00
Martin Nordholts
9c16571347 bat --list-languages: remove unnecessary format!() call
To trigger/verify the changed code, run

    bat --list-languages   # or -L

This is the last clippy warning in the code that you get if you run

    cargo clippy --all-targets --all-features -- --allow clippy::style

so by fixing it it becomes easier to spot when a new warning is
introduced (that does not belong to the clippy category clippy::style).
And by making it easy to spot new warnings, we increase chance of such
regressions not ending up in the code base.
2020-12-28 20:28:24 +01:00
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
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
rsteube
84b0702399 only print themes hint in interactive mode 2020-12-17 10:41:07 +01:00
sharkdp
1fbdef06aa Use unreachable!(…) 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
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
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
henil
8ff890635f add an after help NOTE 2020-10-04 06:33:11 +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
sharkdp
2b3457e8d6 Update --help text for --color 2020-07-25 22:32:34 +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
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
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
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
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
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
0319149b4d [breaking] Remove special handling for theme previews 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
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
sharkdp
48a7ce3bf2 Write error messages to pager, if attached
closes #946
2020-04-25 13:08:00 +02:00
sharkdp
989109145a Add '-d' for '--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
5d71056209 Fix import in app 2020-04-22 23:55:28 +02:00
sharkdp
8961f7aef8 Move PagingMode to separate module 2020-04-22 23:55:28 +02:00
sharkdp
261a7ea154 Add *_with_name methods 2020-04-22 23:55:28 +02:00
sharkdp
702cb198da Rename error module 2020-04-22 23:55:28 +02:00
sharkdp
6a124591df Easier configuration of style components 2020-04-22 23:55:28 +02:00
sharkdp
0cde4e9121 Numbers => LineNumbers 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
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
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
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
82e20bfe14 Fix bug for file with invalid-utf8 filenames 2020-04-21 14:09:18 +02:00
sharkdp
34619a2e89 Small refactoring, handle invalid UTF-8 filenames 2020-04-21 08:57:15 +02:00
sharkdp
8067fd9eda Fix build on 1.37 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