cyqsimon
586c804b1e
Add test: builtin_mappings_are_lazily_evaluated
2023-12-11 10:21:06 +08:00
cyqsimon
e30161ac3c
Add test: builtin_mappings_matcher_only_compile_once
2023-12-11 10:21:06 +08:00
cyqsimon
3865908439
Add test: custom_mappings_precedence
2023-12-11 10:21:06 +08:00
cyqsimon
9474b4cf8b
Rename & sort syntax mapping tests
2023-12-11 10:21:06 +08:00
cyqsimon
b48bda21a3
Add test: all_fixed_builtin_mappings_can_compile
2023-12-11 10:21:06 +08:00
cyqsimon
36073a3d95
Document another rule ignore condition
2023-12-11 10:21:06 +08:00
cyqsimon
1f10d846a3
Fix tests
...
1. for override test, test for something in `common`
2. move git mappings to `common`
2023-12-11 10:21:05 +08:00
cyqsimon
22531eab90
Port all mappings to new system
2023-12-11 10:21:05 +08:00
cyqsimon
0c1b80faab
Impl per-target syntax mappings
2023-12-11 10:21:05 +08:00
cyqsimon
ad628c0471
Fix iterator lifetime incompatibility
2023-12-11 10:21:05 +08:00
cyqsimon
f483d2df42
Lazily compile GlobMatcher
s
2023-12-11 10:21:05 +08:00
cyqsimon
4ad3002543
s/Lazy<GlobMatcher>/Lazy<Option<GlobMatcher>>/
2023-12-11 10:21:05 +08:00
cyqsimon
cfd622d6e1
Migrate SyntaxMapping
impl to new system
...
Most existing builtins are removed but not yet ported, so the test
`user_can_override_builtin_mappings` should fail. It should pass once the old
rules have been ported.
2023-12-11 10:21:05 +08:00
cyqsimon
1c7c9a6b6d
Split syntax_mapping/builtin.rs
2023-12-11 10:21:05 +08:00
cyqsimon
de6d418d42
Remove BuiltinMatcher
enum
...
Explanation added as comments in code
Using plain `Lazy<Option<GlobMatcher>>` is just better
2023-12-11 10:21:04 +08:00
cyqsimon
7e1fbcfe95
Fix visibility for SyntaxMapping::get_syntax_for
...
This change was made in 31fb708
, but then was reverted (I assume incorrectly)
in 6246485
.
2023-12-11 10:21:04 +08:00
cyqsimon
0fea82cff9
Minor improvement of variable naming accuracy
2023-12-11 10:20:11 +08:00
cyqsimon
64840fbbae
join_segments
-> build_glob_string
...
- this is a more descriptive name
2023-12-11 10:20:11 +08:00
cyqsimon
827b3eca2f
Add unset *.conf
example
2023-12-11 10:20:11 +08:00
cyqsimon
9478d2dfe8
Isolate variables at compile time
2023-12-11 10:20:11 +08:00
cyqsimon
d24501ab5e
include!
generated mappings in source
2023-12-11 10:20:11 +08:00
cyqsimon
52f94b4623
Clarify syntax selection algorithm behaviour
2023-12-11 10:20:10 +08:00
cyqsimon
37fd050100
Describe filename ordering more accurately
2023-12-11 10:20:10 +08:00
cyqsimon
83286975ff
Add ordering prefix to git-config example
2023-12-11 10:20:10 +08:00
cyqsimon
f705fcb984
Add global git-config example
2023-12-11 10:20:10 +08:00
cyqsimon
9ca1f20f43
Add specification draft
2023-12-11 10:20:10 +08:00
Oliver looney
6ad800e43a
tidied commits
2023-12-10 17:24:49 +00:00
Oliver looney
069318b139
fixed formatting of terminal title
2023-12-10 17:20:42 +00:00
Oliver looney
b9b554248d
successfully setting the terminal title to bat's input's names
2023-12-10 17:17:19 +00:00
Oliver looney
4863d428dd
title is being reset on quit, so no need to restore terminal title
2023-12-10 16:44:47 +00:00
Oliver looney
2e103ee6b3
able to set terminal title to hardcoded value
2023-12-10 16:39:34 +00:00
Lena
28990bc451
fix: display color when NO_COLOR is an empty string ( #2767 )
2023-12-02 11:43:55 +00:00
einfachIrgendwer0815
3d87b25b19
Add unicode/caret replacements for all control characters ( #2712 )
2023-10-20 19:41:48 +02:00
rhysd
e5c81ed41e
Replace our own macros to write buffers with standard macros
2023-10-05 09:21:26 +02:00
skoriop
0937d575fd
fix: rewrite overflow test using usize::MAX
2023-10-05 09:20:09 +02:00
skoriop
d89df18de2
test: add test for overflow in LineRange::from
2023-10-05 09:20:09 +02:00
skoriop
9fcc57e496
fix: integer overflow in LineRange::parse_range
2023-10-05 09:20:09 +02:00
Linda_pp
9f795dd947
Associate *.sarif
files with json
syntax ( #2695 )
...
* Associate `*.sarif` files with `json` syntax
* Update changelog for #2695
2023-10-04 09:34:40 +02:00
Nicolas AMBRY
5a240f36b9
Case insensitive --map-syntax
( #2650 )
...
Co-authored-by: Nicolas AMBRY <nicolas.ambry@atos.net>
2023-09-14 16:04:43 +02:00
J-Kappes
e2bf85e749
Make -pp override --paging and vice versa when passed as a later argument. ( #2660 )
2023-09-14 05:45:46 +02:00
Anomalocaridid
433176ab54
require LESSOPEN to have exactly one %s
2023-09-08 06:25:20 +02:00
Anomalocaridid
b56021ffa9
make LESSOPEN support opt-in
2023-09-08 06:25:20 +02:00
Anomalocaridid
ac2953c070
pass --no-lessopen to less by default
2023-09-08 06:25:20 +02:00
Anomalocaridid
e32ad0b048
Add $LESSOPEN
and $LESSCLOSE
support ( #2444 )
2023-09-02 08:48:26 +02:00
David Peter
3abc0c0fc4
Merge pull request #2548 from utkarshgupta137/master
...
Replace `dirs` crate with `etcetera` crate
2023-09-01 21:41:24 +02:00
David Peter
b06f13f0c5
Merge pull request #2618 from Piturnah/feat/write-to-buffer
...
feat: Optionally write to a buffer instead of stdout
2023-09-01 21:18:04 +02:00
Utkarsh Gupta
a721cc31f3
Replace dirs
crate with etcetera
crate
2023-09-01 21:13:21 +02:00
David Peter
1e52785d35
Merge pull request #2626 from rhysd/encoding_rs
...
Replace unmaintained `encoding` dependency with `encoding_rs`
2023-09-01 21:12:07 +02:00
Orion Yeung
9ba3b6ed13
No duplicate keys test, fixes #2643 ( #2647 )
...
* moved unit tests to conditional compile
made module `tests` and conditionally compiled
* added test to check for duplicate keys in builtin
checks all pairs in GlobMatcher::mappings via `GlobMatcher::glob`s `Eq`
panics at first match
```rs
SyntaxMapping {
mappings: Vec<(
GlobMatcher {
glob: Glob, ...,
}, ...,
}, ...,
}
```
* output more info with test failure
* dont duplicatively add git config path
* use guard in match for adding builtin git config syntax mapping
---------
Co-authored-by: Orion Yeung <11580988+orionyeung001@users.noreply.github.com>
2023-09-01 21:11:41 +02:00
Peter Hebden
72e1a40bab
Remove leftover unwrap
2023-09-01 20:52:55 +02:00
Peter Hebden
b2c28cdddb
Clippy lints
2023-09-01 20:52:55 +02:00
Peter Hebden
906e774372
Handle todos
2023-09-01 20:52:55 +02:00
Peter Hebden
d929becefc
Fix signatures
2023-09-01 20:52:55 +02:00
Peter Hebden
103a2f0d9b
Add OutputHandle
enum to use instead of &mut dyn io::Write
2023-09-01 20:52:55 +02:00
rhysd
d33b2e158e
Replace unmaintained encoding
with encoding_rs
2023-09-01 20:41:55 +02:00
einfachIrgendwer0815
26111950b3
Add environment variable BAT_PAGING
2023-09-01 17:59:41 +02:00
Orion Yeung
f21d3502e1
Add *.ron
syntax mapping
...
Add a mapping to use `Rust` for rusty object notation, identified by `.ron` extension. See [#2427 ](https://github.com/sharkdp/bat/issues/2427 ).
2023-09-01 17:57:46 +02:00
WinterCore
d580445aef
fix: Add syntax mapping jsonl
=> json
2023-09-01 17:45:41 +02:00
mataha
82664e3c82
Bump MSRV to 1.70.0
...
The intention is to take advantage of `std::io::IsTerminal` that landed
in 1.70.0, both in `bat` and its dependencies (`clap`, `grep-cli`).
This will fix #2570 as well - `grep-cli` 0.1.9 has a patch for that.
Signed-off-by: mataha <mataha@users.noreply.github.com>
2023-09-01 05:42:45 +02:00
Ville Skyttä
1893405cbf
Add .dpkg-new and .dpkg-tmp to ignored suffixes
...
Refs https://www.debian.org/doc/manuals/debian-handbook/sect.package-meta-information.en.html#sect.conffiles
2023-08-28 17:50:29 +02:00
John Higgins
b1fbcc8a6e
fix for issue #2633
2023-08-02 00:04:55 -07:00
einfachIrgendwer0815
c46c53320b
Add Containerfile
syntax mapping
2023-07-02 13:50:37 +02:00
cyqsimon
f8c700027e
Add os-release
syntax mapping
2023-06-01 13:17:22 +08:00
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
Collin Styles
7929179a74
Make PrettyPrinter::header
an alias for header_filename
...
Fixes #2378
2023-03-24 22:33:43 +01: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
Martin Nordholts
ec6e9c29ac
Bump MSRV to 1.62 ( #2496 )
...
* Bump MSRV to 1.62
Mainly to be able to derive default enum variants.
* CHANGELOG.md: Update
2023-03-03 13:20:03 +01:00
BlackHoleFox
1004018941
Directly read preferences instead of using the defaults CLI
2023-02-05 16:53:28 +01:00
rhysd
4cc2a489d0
Remove unnecessary heap allocations in PrettyPrinter::print
for style components
2023-01-15 21:16:36 +09:00
rhysd
5e3abcad07
Fix code fence in doc comment
2023-01-13 08:16:38 +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
03216c9c18
Merge branch 'sharkdp:master' into master
2022-10-09 22:56:11 -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
Martin Nordholts
352309b056
Revert "Remove code that tries to handle ANSI escape inputs"
...
This reverts commit 8174e02279
. Turns out
it is needed for a common use case, see
https://github.com/sharkdp/bat/issues/2307 .
It is not a clean revert, because I adjust CHANGELOG.md and also add a
comment to the test. I also had to resolve a small `use` conflict.
2022-09-10 17:59:33 +02:00
John Higgins
a272d3df16
Added -S flag for truncating long lines
2022-09-09 17:04:09 -07:00
dag-h
08386daa3a
Strip BOM from output in interactive mode ( #1938 )
...
* Strip BOM from output in interactive mode
* Strip BOM when not loop_through, add regression tests
* Update CHANGELOG.md
* Only strip BOM from beginning of first line
* Fix integration test on macOS that relied on color scheme
* Fix integration test on Windows that relied on detected terminal width
* Fix syntax test that was failing due to a previously wrong (now fixed) highlighting
Co-authored-by: David Peter <mail@david-peter.de>
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2022-09-06 19:08:38 +02:00
rhysd
3d7817d662
Clear highlighted_lines
when calling PrettyPrinter::print
2022-09-05 21:17:08 +09:00
rhysd
abd69f2deb
Add bat::PrettyPrinter::clear_highlights
( fixes #1919 )
2022-09-05 17:35:32 +09:00
Kid
839e62cff8
Map fish_history
to YAML
2022-09-04 22:22:18 +02: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