Nigecat
149dec6953
Fix paging not happening when stdout is interactive but stdin is not
2023-05-22 05:42:01 +02:00
Constantin Nickel
57cc0d8435
Use the is-terminal
crate instead of atty
...
The crate is already used by `clap` and a similar trait is about to be
stabilized in `std`.
2023-04-05 19:26:52 +02:00
David Peter
1a142a82b4
Merge pull request #2513 from nickelc/deps/dirs
...
Replace `dirs-next` with the original `dirs` crate
2023-03-24 22:07:47 +01:00
Constantin Nickel
0e148e35dd
Replace dirs-next
with the original dirs
crate
...
The `dirs` crate was forked as `dirs-next` after the original repos were archived.
The fork hasn't released a new version since October 2020, while the original
has been taken off the shelf and has seen updates since then.
2023-03-24 19:10:38 +01:00
Constantin Nickel
da3aa4e2fd
Use nu-ansi-term
instead of ansi_term
...
The `nu-ansi-term` crate is a fork of `ansi_term` which is maintained by
the Nushell project.
2023-03-24 17:42:54 +01:00
David Peter
231ad86f04
Merge pull request #2502 from Enselic/clippy-1.68
...
Fix clippy warnings with Rust 1.68
2023-03-15 08:36:28 +01:00
einfachIrgendwer0815
8f99a78cf1
Print non-printable characters using caret notation ( #2443 )
...
When the new flag is set, non-printable characters are printed using caret notation.
2023-03-14 22:21:30 +01:00
Martin Nordholts
40a423905a
Fix clippy warnings with Rust 1.68
2023-03-14 21:19:14 +01:00
Miles Liu
e39178b101
Fix bat cache --clear
not clearing the --target
dir if specified
2022-11-19 18:00:37 +08:00
Aaron Kollasch
e773b48135
Fix cache subcommand and add tests
...
Treat the cache subcommand differently from --no-config:
For --no-config, insert args from selected environment variables
For cache, don't insert args
2022-11-02 16:48:51 -04:00
Aaron Kollasch
4bcea01e9d
Deduplicate lines in matches function
2022-11-02 16:48:51 -04:00
Aaron Kollasch
76aad7c74f
Improve correctness and add more tests
2022-11-02 16:48:50 -04:00
Aaron Kollasch
36ccc6a31e
Allow env vars to override config but not args
2022-11-02 16:48:50 -04:00
David Peter
a65b0828ee
Merge remote-tracking branch 'origin/master' into HEAD
2022-10-30 20:43:06 +01:00
David Peter
ccde13c9e8
Hide 'cache' subcommand, re-enable bold/underline styling, add note about cache subcommand
2022-10-30 20:26:06 +01:00
John Higgins
ff71303349
Update src/bin/bat/clap_app.rs for PR 2309
...
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2022-10-17 23:35:52 -07:00
John Higgins
236a2c5794
Fixed inverted logic on -S and --chop-long-lines
2022-10-13 23:52:15 -07:00
John Higgins
375b392478
Fixed reversed logic error for --chop-long-lines
2022-10-09 22:41:27 -07:00
Gábor Lipták
1e0b0f7c5c
Add github-actions to Dependabot
...
Signed-off-by: Gábor Lipták <gliptak@gmail.com>
2022-10-03 15:18:39 -05:00
John Higgins
a272d3df16
Added -S flag for truncating long lines
2022-09-09 17:04:09 -07:00
Martin Nordholts
2dd2994b2f
Merge remote-tracking branch 'origin/master' into feature/668/add-systemwide-config
2022-09-04 20:44:23 +02:00
David Peter
48541b8507
Fix clippy suggestions
...
Leads to a performance improvement for `bat -A`:
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|:---|---:|---:|---:|---:|
| `./bat-master --no-config -A ./bat-master` | 259.8 ± 1.1 | 258.4 | 261.7 | 1.15 ± 0.01 |
| `./bat-2301 --no-config -A ./bat-master` | 225.6 ± 1.8 | 224.0 | 229.5 | 1.00 |
2022-09-04 14:28:44 +02:00
Ed Page
08c91a116c
refactor: Parse, don't validate
2022-09-03 14:01:56 +02:00
Ed Page
3d398b35c3
refactor: Switch from is_present to actions
...
Because "diff" is conditionally present, we need to check for it to
avoid some of clap's stricter checks meant to prevent bugs.
2022-09-03 14:01:56 +02:00
Ed Page
6099f2c146
refactor: Move off of value_of
2022-09-03 14:01:56 +02:00
Ed Page
50bb924ee3
refactor: Replace multiple_occurrences
2022-09-03 14:01:56 +02:00
Ed Page
e8e1c1d6c9
refactor: Replace allow_invalid_utf8 with PathBuf
2022-09-03 14:01:56 +02:00
Ed Page
542b3d2317
refactor: Resolve basic clap deprecations
2022-09-03 14:01:56 +02:00
Ed Page
2323804f7e
refactor: Port to clap3
...
Ths does remove the specialization of version's description. The way
this is done (internally through `mut_arg`) doesn't play well with
subcommands. Clap tries to force this version of `version` into the
subcommand despite not being needed. Clap v4 dramatically changes how
version customization works.
clap also does more error checks now to prevent programmer mistake, so
we can't have a conflict with an argument that is conditionally there,
so I swapped the condition.
2022-09-03 14:01:56 +02:00
Marie Katrine Ekeberg
9c7ca33929
Make --no-paging
/-P
override --paging=...
if passed as a later arg ( #2201 )
...
* Make the no-paging option override earlier paging options
* Update CHANGELOG.md
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2022-08-14 21:09:13 +02:00
Anders Kaseorg
4583826a5b
Fix documentation typo: --pager=never → --paging=never
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2022-07-07 06:09:11 +02:00
Isaac Horvath
adea895026
Add a --style=default option ( #2119 )
...
* Add a --style=default option
* Added --style=default test and CHANGELOG entry
* Format CHANGELOG.md options with quotes
Co-authored-by: Martin Nordholts <enselic@gmail.com>
* Update help text for '--style'
* Make --style=default the default option
* Update style descriptions: "basic" -> "recommended"
* Add integration test for --style=default as default
* Update clap long help for --style
2022-05-04 21:31:32 +02:00
Martin Nordholts
acb1231e40
Run cargo clippy --fix --all-targets --all-features
with Rust 1.60
...
Clippy in the newly released Rust 1.60 found some new lints.
Conveniently, all of them were fixable with `--fix`.
By fixing these lints it becomes easier for us and others to see when
new lints are introduced.
2022-05-04 07:49:40 +02:00
Martin Nordholts
520081a92c
Print info about custom assets in --diagnostics
2022-04-02 21:46:41 +02:00
Patrick Pichler
5ed64444e3
Add systemwide config file support
...
There is now support for a systemwide config file. The location of the
system wide config file is `$(BAT_SYSTEM_CONFIG_PREFIX)/bat/config`.
`$(BAT_SYSTEM_CONFIG_PREFIX)` has to be provided at compile time as an
environment variable. If the environment variable is not set, a default
is used. This default is `C:\ProgramData` for windows and `/etc` for
every other os.
2022-03-10 20:55:11 +01:00
Martin Nordholts
9ab378b5dc
Include contents of custom assets metadata.yaml
in --diagnostics
2022-03-07 21:05:09 +01:00
Mahdi Dibaiee
312c8ef01f
Add new --style
called header-filesize
and display it by default ( #1988 )
...
Also rename `header` to `header-filename`.
Related to #1701
2022-02-07 20:48:57 +01:00
Martin Nordholts
5b37438f08
bat --help
: Put --ignored-suffix
directly after --map-syntax
...
It feels out of place to have between `--acknowledgements` and `--help`.
2022-01-08 17:01:20 +01:00
Martin Nordholts
68528983d7
Mark MappingTarget
as #[non_exhaustive]
for increased semver flexibility
...
This will allow us to add new enum variants in the future without breaking
semver compatibility. See
https://doc.rust-lang.org/reference/attributes/type_system.html#the-non_exhaustive-attribute
Since we already added an enum variant since v0.18.3, now is a good time to mark
it as `#[non_exhaustive]`.
2022-01-04 08:19:51 +01:00
Martin Nordholts
a3ea798246
Credit syntax definition and theme authors with new --acknowledgements
option ( #1971 )
...
The text that is printed is generated when building assets, by analyzing LICENSE
and NOTICE files that comes with syntaxes and themes.
We take this opportunity to also add a NOTICE file as defined by Apache License 2.0.
2021-12-11 14:00:45 +01:00
Martin Nordholts
e250da8aaa
Run cargo clippy --fix --all-targets --all-features
with Rust 1.57
...
Clippy in the newly released Rust 1.57 found some new lints. Conveniently, all
of them were fixable with `--fix`.
2021-12-08 08:45:04 +01:00
Martin Nordholts
5519f9c716
Use once_cell instead of lazy_static
...
once_cell can do what lazy_static does and more, so replace lazy_static with
once_cell.
See https://docs.rs/once_cell/1.8.0/once_cell/#general-purpose-lazy-evaluation
2021-11-22 22:03:03 +01:00
Martin Nordholts
d7671fa8e3
Remove the code related to minimal_syntaxes.bin
...
To get fast startup, syntect will instead start to lazy-load syntaxes. See
https://github.com/trishume/syntect/pull/393 and discussions in linked PRs.
2021-11-22 20:42:01 +01:00
Bojan Đurđević
d6ed5e6746
Support for ignored-suffix CLI arguments ( #1892 )
2021-11-19 17:05:23 +01:00
rhysd
d5f737f402
show skip message when asset cache is not found
2021-10-26 21:34:10 +02:00
cbolgiano
7fe4fdf33d
Introduce MapExtensionToUnknown MappingTarget ( #1889 )
...
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2021-10-25 17:59:12 +02:00
Martin Nordholts
4081ace4b9
Include git hash in bat -V
and bat --version
output if present
...
I had to use a `lazy_static` due to that the clap API that only accepts a
reference to a version string. And, in our code, only a 'static reference to a
version string.
Code could probably be refactored to accept a "normal" reference, but that would
be a major undertaking.
2021-10-24 11:36:55 +02:00
rhysd
ed3246c423
Make grep-cli optional dependency
2021-10-17 21:22:57 +02:00
Martin Nordholts
554374667e
Deny unsafe code in lib and bin
...
The deny also applies recursively to submodules.
2021-10-04 08:08:33 +02:00
Martin Nordholts
405a80f3ee
HighlightingAssets: Turn get_syntax_for_path() into public API
2021-09-28 07:26:20 +02:00