1
0
mirror of https://github.com/sharkdp/bat.git synced 2025-04-14 06:40:39 +01:00

Compare commits

...

1005 Commits

Author SHA1 Message Date
dependabot[bot]
ba49ba0acd
Bump assets/themes/zenburn from 86d4ee7 to 9c588eb (#3251)
Bumps [assets/themes/zenburn](https://github.com/colinta/zenburn) from `86d4ee7` to `9c588eb`.
- [Commits](86d4ee7a1f...9c588ebc11)

---
updated-dependencies:
- dependency-name: assets/themes/zenburn
  dependency-version: 9c588ebc11c3e6487b081bd54528af08baa8a09a
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-13 10:36:54 +00:00
dependabot[bot]
5d75632c8e
Bump assets/syntaxes/02_Extra/PowerShell from c0372a1 to a08b55b (#3252)
Bumps [assets/syntaxes/02_Extra/PowerShell](https://github.com/PowerShell/EditorSyntax) from `c0372a1` to `a08b55b`.
- [Commits](c0372a1d2d...a08b55bf11)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/PowerShell
  dependency-version: a08b55bf1146c210f58e844be53c2aa78fd5e610
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-13 10:14:09 +00:00
dependabot[bot]
e202a33ea1
Bump assets/syntaxes/02_Extra/Apache from 163bc03 to cf6cefc (#3253)
Bumps [assets/syntaxes/02_Extra/Apache](https://github.com/colinta/ApacheConf.tmLanguage) from `163bc03` to `cf6cefc`.
- [Commits](163bc03ae8...cf6cefc51e)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/Apache
  dependency-version: cf6cefc51ebb46b1b54906433edbae0fe9c71cad
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-13 09:50:51 +00:00
Keith Hall
93be82ebc9
Merge pull request #3236 from chetanjangir0/add-gdscript-support
Add GDScript Syntax Support (#3233)
2025-04-13 12:31:26 +03:00
Chetan Jangir
0bf4753ff1
Update CHANGELOG.md
Co-authored-by: Keith Hall <keith-hall@users.noreply.github.com>
2025-04-13 14:51:53 +05:30
Chetan Jangir
fbb07a1494
Merge branch 'master' into add-gdscript-support 2025-04-13 10:00:58 +05:30
Keith Hall
debb66f8b0
Merge pull request #3262 from AdamGaskins/bash-zsh
Fix syntax highlighting for bash/zsh
2025-04-12 18:21:01 +03:00
Adam Gaskins
45185b36fb
Merge branch 'master' into bash-zsh 2025-04-12 11:09:33 -04:00
Adam Gaskins
e761d79512
Update CHANGELOG.md
Co-authored-by: Keith Hall <keith-hall@users.noreply.github.com>
2025-04-12 11:08:57 -04:00
chetanjangir0
14064dd987 regenerated the highlighted file 2025-04-12 19:14:15 +05:30
chetanjangir0
3eef8590f4 genereated highlighted syntax test file 2025-04-12 18:00:43 +05:30
chetanjangir0
3e7ad18fe3 fixed merge conflicts 2025-04-12 17:22:18 +05:30
Keith Hall
80a38590b8
Merge pull request #3245 from HSM95/fix/multibyte-chars
Fix for multibyte characters in file path
2025-04-12 11:30:28 +03:00
Keith Hall
44a6e29da7
Merge branch 'master' into fix/multibyte-chars 2025-04-12 11:20:48 +03:00
Martin Nordholts
2f70906665 Cargo.toml: Document that MSRV can be bumped if there is a reason for it
To the best of my knowledge our current MSRV rule is that we can bump
MSRV whenever there is a reason for it. Let's document it.
2025-04-08 05:00:00 +02:00
Adam Gaskins
c4c919aa31 Update CHANGELOG.md 2025-04-07 17:43:56 -04:00
Adam Gaskins
51491c3c08 Fix syntax highlighting for bash/zsh 2025-04-07 17:43:56 -04:00
Martin Nordholts
ea17f6ad28 Make mention (@ in front of name) in CHANGELOG entry optional 2025-04-07 17:31:12 +02:00
Martin Nordholts
3691c9945a CICD: Stop building for x86_64-pc-windows-gnu which fails
Let's not build for platforms that are broken. If someone fixes the
build we can of course add it back.
2025-04-07 17:31:12 +02:00
Keith Hall
57629bcaca
Merge pull request #3239 from einfachIrgendwer0815/feature/page_list_themes
Add paging to `--list-themes`
2025-04-05 09:08:35 +03:00
HSM95
b38ee77628
Merge branch 'master' into fix/multibyte-chars 2025-04-03 00:49:55 -07:00
Haris Mohamedy
b5413cc015 Do not split into graphemes if not necessary 2025-04-03 00:49:14 -07:00
einfachIrgendwer0815
5edaa96164 Update CHANGELOG 2025-04-02 11:27:37 +02:00
einfachIrgendwer0815
12a2a451b4 Add paging to --list-themes 2025-04-02 11:27:37 +02:00
Keith Hall
fc7dff50b0
Merge pull request #3255 from dan-hipschman/fix-syntax-test-compare-script
Make highlight tests fail when new syntaxes don't have fixtures
2025-04-02 05:21:30 +03:00
Dan Hipschman
9272e09058 Make highlight tests fail when new syntaxes don't have fixtures 2025-04-01 13:08:19 -07:00
dependabot[bot]
b13c4d5f8d
Bump indexmap from 2.7.0 to 2.8.0 (#3248)
Bumps [indexmap](https://github.com/indexmap-rs/indexmap) from 2.7.0 to 2.8.0.
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md)
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.7.0...2.8.0)

---
updated-dependencies:
- dependency-name: indexmap
  dependency-version: 2.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 03:39:30 +00:00
dependabot[bot]
d7b10b4352
Bump etcetera from 0.8.0 to 0.10.0 (#3247)
Bumps [etcetera](https://github.com/lunacookies/etcetera) from 0.8.0 to 0.10.0.
- [Release notes](https://github.com/lunacookies/etcetera/releases)
- [Commits](https://github.com/lunacookies/etcetera/compare/v0.8.0...v0.10.0)

---
updated-dependencies:
- dependency-name: etcetera
  dependency-version: 0.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 03:11:49 +00:00
dependabot[bot]
05cddff72d
Bump anyhow from 1.0.95 to 1.0.97 (#3246)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.95 to 1.0.97.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.95...1.0.97)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-version: 1.0.97
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 02:44:03 +00:00
Haris Mohamedy
a55d23aaa4 Add PR to CHANGELOG 2025-03-31 17:50:23 -07:00
Haris Mohamedy
18b71743c8 Fix for multibyte characters in file path 2025-03-31 17:29:18 -07:00
dependabot[bot]
f761ff6824
Bump assets/syntaxes/02_Extra/Org_mode from 4976d8f to bb6e5d8 (#3221)
Bumps [assets/syntaxes/02_Extra/Org_mode](https://github.com/jezcope/Org.tmbundle) from `4976d8f` to `bb6e5d8`.
- [Release notes](https://github.com/jezcope/Org.tmbundle/releases)
- [Commits](4976d8f84e...bb6e5d8481)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/Org_mode
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-29 06:55:24 +00:00
dependabot[bot]
8e2d233445
Bump assets/syntaxes/02_Extra/Zig from 1a4a384 to 8a4a3fe (#3220)
Bumps [assets/syntaxes/02_Extra/Zig](https://github.com/ziglang/sublime-zig-language) from `1a4a384` to `8a4a3fe`.
- [Release notes](https://github.com/ziglang/sublime-zig-language/releases)
- [Commits](1a4a38445f...8a4a3fe4a0)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/Zig
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-29 06:41:10 +00:00
Keith Hall
59b1f362f6
Merge pull request #3241 from chetanjangir0/add-odin-syntax
Add Odin Language Syntax Support
2025-03-29 08:23:52 +02:00
Chetan Jangir
a73c641a0f
Update CHANGELOG.md
Co-authored-by: Keith Hall <keith-hall@users.noreply.github.com>
2025-03-29 11:43:36 +05:30
Chetan Jangir
3d4c72da0b
Merge branch 'master' into add-gdscript-support 2025-03-29 09:44:48 +05:30
Chetan Jangir
71547b3fb3
Merge branch 'master' into add-odin-syntax 2025-03-29 09:44:11 +05:30
Keith Hall
ad8da94d2a
Merge pull request #3243 from simono/patch-2
Use built-in detection for OS theme in Readme
2025-03-29 05:27:11 +02:00
Simon Olofsson
5ea762a46c Use built-in detection for OS theme in Readme 2025-03-29 05:15:38 +02:00
Keith Hall
bbb5829ad9
Merge pull request #3242 from simono/patch-1
Add abbreviations for fish to Readme
2025-03-29 05:13:14 +02:00
Simon Olofsson
c00b382f13
Add abbreviations for fish to Readme 2025-03-28 22:01:23 +01:00
Chetan
964e2bdac3 updated changelog for pr number 2025-03-28 12:23:34 +00:00
Chetan
2e7ab99099 Add Odin submodule and syntax test file 2025-03-28 12:17:45 +00:00
Chetan
4175f28979 Update changelog entry for GDScript support (#3233) 2025-03-23 13:53:32 +00:00
Chetan
207f90f01b Add GDScript submodule and syntax test file for GDScript support, see #XXX (@chetanjangir0) 2025-03-23 13:24:30 +00:00
dependabot[bot]
5c43ddb56c
Bump assets/syntaxes/02_Extra/cmd-help from 209559b to 68e727b (#3222)
Bumps [assets/syntaxes/02_Extra/cmd-help](https://github.com/victor-gp/cmd-help-sublime-syntax) from `209559b` to `68e727b`.
- [Commits](209559b72f...68e727bad4)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/cmd-help
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-18 17:23:30 +00:00
dependabot[bot]
3838766dd4
Bump assets/syntaxes/02_Extra/Docker from 0f6b7bc to c001fb2 (#3024)
Bumps [assets/syntaxes/02_Extra/Docker](https://github.com/asbjornenge/Docker.tmbundle) from `0f6b7bc` to `c001fb2`.
- [Release notes](https://github.com/asbjornenge/Docker.tmbundle/releases)
- [Commits](0f6b7bc87a...c001fb2805)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/Docker
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-18 16:13:59 +00:00
David Peter
a006457a72 Update Warp link 2025-03-09 19:20:02 +01:00
David Peter
0449107230 Update sponsors 2025-03-04 19:30:20 +01:00
dependabot[bot]
75313d886b
Bump assets/syntaxes/02_Extra/Nix from 9032bd6 to 48c497c (#3219)
Bumps [assets/syntaxes/02_Extra/Nix](https://github.com/wmertens/sublime-nix) from `9032bd6` to `48c497c`.
- [Release notes](https://github.com/wmertens/sublime-nix/releases)
- [Commits](9032bd6137...48c497c709)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/Nix
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-01 03:25:07 +00:00
Keith Hall
4998f58847
Merge pull request #3215 from sharkdp/debsources
Add debsources syntax
2025-02-25 22:28:09 +02:00
Keith Hall
ffc094bd91 Add debsources syntax 2025-02-25 22:17:00 +02:00
Keith Hall
343326eacf
Merge pull request #3213 from sharkdp/csproj_xml_mapping
Map various .NET file extensions to XML syntax
2025-02-25 05:09:12 +02:00
Keith Hall
d31bc4347a Map various .NET file extensions to XML syntax 2025-02-23 20:20:52 +02:00
Keith Hall
adfb951e51
Merge pull request #3209 from sharkdp/ndjson
Add mapping for ndjson file extension to JSON syntax
2025-02-15 12:16:52 +02:00
Keith Hall
2843a2c0e8 Add mapping for ndjson file extension to JSON syntax 2025-02-15 08:46:22 +02:00
Keith Hall
94d3dc254e
Merge pull request #3205 from sharkdp/syslog_error_highlighting_fix
Syslog error highlighting fix
2025-02-10 20:46:54 +02:00
Keith Hall
915eb55779
Merge branch 'master' into syslog_error_highlighting_fix 2025-02-09 22:20:14 +02:00
Keith Hall
547bc38118
Merge pull request #3186 from sharkdp/csv_1977
Correctly handle CSV files with a single separator throughout
2025-02-09 20:49:14 +02:00
Keith Hall
93fd013aa1 Update changelog 2025-02-09 20:37:53 +02:00
Keith Hall
512bfde7ce Correctly handle CSV files with a single separator throughout
better auto-detection of CSV delimiter
- files with a tsv extension are automatically detected as tab delimited
- other files parsed as CSV go through the following steps:
  - if the first line contains at least 3 of the same separator, it uses that separator as a delimiter
  - if the first line contains only one supported separator character, it uses that separator as a delimiter
  - otherwise it falls back to treating all supported delimiters as the delimiter

 supported delimiters, in precedence order:
 - comma `,`
 - semi-colon `;`
 - tab `\t`
 - pipe `|`
2025-02-09 20:37:53 +02:00
Keith Hall
27ba45ded7 patch Monokai Extended theme for better Syslog error highlighting 2025-02-09 20:32:48 +02:00
Keith Hall
c0898dedb1 fix meta scope ordering to come before constant.numeric scope for times 2025-02-09 20:31:31 +02:00
Keith Hall
b82b920420 attempt to fix syslog error highlighting 2025-02-09 20:31:31 +02:00
Keith Hall
ac40f7cfd8
Merge pull request #3201 from victor-gp/fix-submodules-for-dependabot
Rename submodule paths to fix Dependabot submodule updates
2025-02-04 05:15:14 +02:00
Víctor González Prieto
330c51de9f Add Changelog entry 2025-02-04 00:15:45 +01:00
Víctor González Prieto
0ed527f0d1 Replace spaces in git submodule paths
To mitigate a bug in the GitHub API that broke the Dependabot action
that updates submodules. See sharkdp/bat#3198.
2025-02-03 22:01:33 +01:00
Keith Hall
7df1dec65c
Merge pull request #3196 from odilf/master
Add syntax mapping for `nix`s `flake.lock`
2025-02-02 21:20:33 +02:00
odilf
61d42ee87b Add syntax mapping for nixs flake.lock 2025-02-02 21:10:03 +02:00
Keith Hall
a95e65eea1
Merge pull request #3197 from einfachIrgendwer0815/style/fix_lints
Fix clippy lint warnings
2025-02-02 21:05:43 +02:00
einfachIrgendwer0815
71dce0e7f3
Fix clippy::duplicated_attributes warnings 2025-02-02 15:08:16 +01:00
einfachIrgendwer0815
53af1dc32d
Fix clippy::unnecessary_filter_map warnings 2025-02-02 15:08:15 +01:00
einfachIrgendwer0815
52252b15d6
Fix clippy::needless_lifetimes warnings 2025-02-02 15:08:15 +01:00
einfachIrgendwer0815
bc24ce9ad4
Fix clippy::needless_update warnings 2025-02-02 15:08:15 +01:00
einfachIrgendwer0815
625e986552
Fix clippy::manual_ignore_case_cmp warnings 2025-02-02 15:08:14 +01:00
einfachIrgendwer0815
095442191c
Fix clippy::ptr_arg warnings 2025-02-02 15:08:14 +01:00
einfachIrgendwer0815
cc46282866
Fix clippy::into_iter_on_ref warnings 2025-02-02 15:08:13 +01:00
einfachIrgendwer0815
cbc9c3629d
Fix clippy::manual_pattern_char_comparison warnings 2025-02-02 15:08:13 +01:00
einfachIrgendwer0815
2c49d905e4
Fix clippy::legacy_numeric_constants warnings 2025-02-02 15:08:12 +01:00
einfachIrgendwer0815
f0e2f642e0
Fix clippy::redundant_closure warnings 2025-02-02 15:08:12 +01:00
einfachIrgendwer0815
3d0f0c0565
Fix clippy::unnecessary_map_or warnings 2025-02-02 15:08:12 +01:00
einfachIrgendwer0815
3d442cdf98
Fix clippy::needless_borrow warnings 2025-02-02 15:08:11 +01:00
einfachIrgendwer0815
b009fee5ea
Fix clippy::needless_return warnings 2025-02-02 15:08:11 +01:00
einfachIrgendwer0815
6cf747678c
Fix clippy::needless_borrows_for_generic_args warnings 2025-02-02 15:08:11 +01:00
dependabot[bot]
db812e1179
Bump thiserror from 1.0.69 to 2.0.11 (#3195)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.69 to 2.0.11.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.69...2.0.11)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-01 04:35:19 +00:00
dependabot[bot]
995f23b58f
Bump tempfile from 3.15.0 to 3.16.0 (#3192)
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.15.0 to 3.16.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.15.0...v3.16.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-01 04:18:58 +00:00
dependabot[bot]
ef3830234d
Bump itertools from 0.13.0 to 0.14.0 (#3193)
Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.13.0 to 0.14.0.
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: itertools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-01 03:53:27 +00:00
dependabot[bot]
4fc55cfcec
Bump semver from 1.0.24 to 1.0.25 (#3191)
Bumps [semver](https://github.com/dtolnay/semver) from 1.0.24 to 1.0.25.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.24...1.0.25)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-01 03:24:58 +00:00
Keith Hall
487ac3bc48
Merge pull request #3150 from buzden/add-idris-syntax
[ new ] Add support for Idris 2 programming language
2025-01-27 23:00:05 +02:00
Denis Buzdalov
d6cb3ba747 [ new ] Add support for Idris 2 programming language 2025-01-27 23:47:20 +03:00
Keith Hall
a9a2dceb72
Merge pull request #3146 from buzden/fix-readme-translation
Correct and update one readme's translation according to the main english one
2025-01-27 22:35:23 +02:00
Keith Hall
bee08e48ae
Merge branch 'master' into fix-readme-translation 2025-01-27 22:20:35 +02:00
Keith Hall
b14fb9db24
Merge pull request #3189 from einfachIrgendwer0815/fix/list_themes_2
Fix: Don't output default theme info to piped stdout
2025-01-27 21:59:18 +02:00
Keith Hall
91acb0d16f update changelog to mention --list-themes bugfix when stdout is piped 2025-01-27 21:43:57 +02:00
einfachIrgendwer0815
4f161705a3
Fix: Don't output default theme info to piped stdout 2025-01-27 17:11:26 +01:00
Keith Hall
f8c6e90647
Merge pull request #3182 from cyqsimon/paru
Add syntax mapping for paru configuration files
2025-01-24 23:21:29 +02:00
cyqsimon
dd9dc4f76b Write changelog 2025-01-24 23:02:57 +02:00
cyqsimon
94f49fd99b Add syntax mapping for paru configuration 2025-01-24 23:02:57 +02:00
Keith Hall
498df11a50
Merge pull request #3179 from dtolnay-contrib/vendorbug
Work around `cargo vendor` losing syntax_mapping builtins directory
2025-01-18 09:31:35 +02:00
David Tolnay
db7da314e7
Work around cargo vendor losing syntax_mapping builtins directory 2025-01-17 21:30:37 -08:00
David Peter
33aabc696a Move section slightly further down 2025-01-15 08:34:52 +01:00
oliviajohnsto
648bedf290 Add Warp Pack sponsorship 2025-01-15 08:34:52 +01:00
Keith Hall
dd3d1b8cdb
Merge pull request #3174 from philipp-tailor/patch-1
Fix tiny accidental repetition in README.md
2025-01-10 19:31:42 +02:00
Philipp Schneider
b39a156d57
Update README.md
Fixes copy and paste error, where same option was listed twice, instead of the 2 distinct options of `--theme` for different system appearances.
2025-01-10 17:45:26 +01:00
Keith Hall
b6158c09b4
Merge pull request #3168 from bash/fix-env-var-names
Fix name of BAT_THEME_{DARK,LIGHT} env vars
2025-01-09 18:50:02 +02:00
Tau Gärtli
8a11a46f66
Add integration tests 2025-01-09 08:20:36 +01:00
Tau Gärtli
4d73c1e511
Add changelog entry 2025-01-09 08:20:36 +01:00
Tau Gärtli
280f3eeb4e
Fix name of BAT_THEME_{DARK,LIGHT} env vars 2025-01-09 08:20:36 +01:00
Keith Hall
1321160203
Merge pull request #3169 from branchvincent/git2
Bump git2 to 0.20
2025-01-08 06:52:03 +02:00
Branch Vincent
01680e444b
Bump git2 to 0.20 2025-01-07 20:30:27 -08:00
Keith Hall
2435453c33
Merge pull request #3167 from sharkdp/keith-hall-patch-1
Post release steps
2025-01-07 21:51:03 +02:00
Keith Hall
6e466e5ab4
Post release steps
Add new unreleased section at top of change log
2025-01-07 21:30:39 +02:00
Keith Hall
25f4f96ea3
Release bat v0.25.0
Merge pull request #3166 from sharkdp/release_0_25
2025-01-07 21:05:49 +02:00
Keith Hall
5cfd22ee8b Bump version to 0.25.0 2025-01-07 20:44:21 +02:00
Keith Hall
ae07586fef
Merge pull request #2805 from Anomalocaridid/refactor-lessopen
Rework `lessopen` implementation to use `execute` crate instead of `run_script`
2025-01-06 06:21:46 +02:00
Anomalocaridid
96e4882b5c tests: remove serial attribute on and un-ignore applicable lessopen tests 2025-01-05 21:36:33 +00:00
Anomalocaridid
a0a090c307 tests: disable lessopen for help tests 2025-01-05 21:36:33 +00:00
Anomalocaridid
bc61d84408 update CHANGELOG.md 2025-01-05 21:36:33 +00:00
Anomalocaridid
de8bb79a6f refactor lessopen implementation 2025-01-05 21:36:33 +00:00
Anomalocaridid
7bf459f0ff replace run_script with execute 2025-01-05 21:36:33 +00:00
Keith Hall
18ed69aff4
Merge pull request #3113 from niklasmohrin/bump-clircle
Bump clircle to 0.6.1
2025-01-05 22:10:45 +02:00
Niklas Mohrin
c9431933e5
Deactivate clircle default features and require 0.6.1
This release removes the dependency on `winapi`.
2025-01-05 16:50:45 +01:00
Keith Hall
2d3581e8c4
Merge pull request #2858 from eth-p/update-docs-for-manpager
Update README steps for using bat as MANPAGER
2025-01-03 09:07:57 +02:00
Ethan P.
8453bc93cc Update README steps for using bat as MANPAGER 2025-01-03 08:53:16 +02:00
Keith Hall
d1418a9ab0
Merge pull request #2994 from sharkdp/two_dark_manpage
Patch themes for better manpage syntax highlighting
2025-01-03 08:44:14 +02:00
Keith Hall
09bdcde6c5 Update changelog to mention theme improvements for Manpage 2025-01-03 08:31:05 +02:00
Keith Hall
0d2afe79af Improve base16 themes for better Man page syntax highlighting 2025-01-03 08:31:05 +02:00
Keith Hall
5a12f187fa Patch 1337 theme for better Man page syntax highlighting 2025-01-03 08:31:05 +02:00
Keith Hall
753bfaff49 Improve Ansi theme for better Man page syntax highlighting 2025-01-03 08:31:05 +02:00
Keith Hall
9744971b19 Patch OneHalfDark theme for better Man page syntax highlighting 2025-01-03 08:31:05 +02:00
Keith Hall
c8f7787281 Patch TwoDark theme for better Man page syntax highlighting 2025-01-03 08:31:05 +02:00
Keith Hall
26f19703d3
Merge pull request #3157 from sharkdp/man_gs
Manpage: Fix for OPTIONS consisting of a plain dash
2025-01-03 08:30:44 +02:00
Keith Hall
b7b05a3553 Fix for OPTIONS consisting of a plain dash 2025-01-03 08:20:40 +02:00
dependabot[bot]
caba54efc9
Bump clircle from 0.6.0 to 0.6.1 (#3161)
Bumps [clircle](https://github.com/niklasmohrin/clircle) from 0.6.0 to 0.6.1.
- [Release notes](https://github.com/niklasmohrin/clircle/releases)
- [Commits](https://github.com/niklasmohrin/clircle/compare/v0.6.0...v0.6.1)

---
updated-dependencies:
- dependency-name: clircle
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-01 04:43:24 +00:00
dependabot[bot]
e2528dff6d
Bump serde_with from 3.8.1 to 3.12.0 (#3162)
Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.8.1 to 3.12.0.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.8.1...v3.12.0)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-01 04:30:15 +00:00
dependabot[bot]
ad11fb815f
Bump predicates from 3.1.0 to 3.1.3 (#3158)
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 3.1.0 to 3.1.3.
- [Changelog](https://github.com/assert-rs/predicates-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/predicates-rs/compare/v3.1.0...v3.1.3)

---
updated-dependencies:
- dependency-name: predicates
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-01 04:15:10 +00:00
dependabot[bot]
305e8a4d84
Bump serde from 1.0.209 to 1.0.217 (#3160)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.209 to 1.0.217.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.209...v1.0.217)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-01 03:57:42 +00:00
dependabot[bot]
7e804b27a0
Bump console from 0.15.8 to 0.15.10 (#3159)
Bumps [console](https://github.com/console-rs/console) from 0.15.8 to 0.15.10.
- [Release notes](https://github.com/console-rs/console/releases)
- [Changelog](https://github.com/console-rs/console/blob/main/CHANGELOG.md)
- [Commits](https://github.com/console-rs/console/compare/0.15.8...0.15.10)

---
updated-dependencies:
- dependency-name: console
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-01 03:34:32 +00:00
Keith Hall
18d963f423
Merge pull request #3152 from liliwilson/markdown-puppet-syntax-highlighting
Added patch for puppet syntax highlighting in Markdown code snippets
2024-12-30 21:40:15 +02:00
Lili Wilson
9d91d22e29 changelog entry 2024-12-30 21:27:28 +02:00
Lili Wilson
3fa9044029 added patch for puppet syntax highlighting in markdown 2024-12-30 21:27:28 +02:00
Keith Hall
8a9821fa9a
Merge pull request #3154 from sharkdp/fix_cargo_audit_ci
[CI] fix cargo audit failing to run successfully
2024-12-30 21:26:22 +02:00
Keith Hall
75fadb8d1c ignore warning for idna also 2024-12-30 21:12:48 +02:00
Keith Hall
63560c4733 add cargo audit config file
ignore yaml-rust advisory for now
2024-12-30 20:53:31 +02:00
Keith Hall
d660cca8a9 Bump MSRV to 1.74
released over a year ago
2024-12-26 21:30:16 +02:00
Keith Hall
be62a4cea4 Upgrade clap to fix cargo audit failure on anstream 0.6.4
which is provided by clap 4.4.12
2024-12-26 21:19:02 +02:00
Keith Hall
874448c112 [CI] fix cargo audit failing to run 2024-12-26 21:13:14 +02:00
Denis Buzdalov
004d2d5122 [ readme ] Correct and update one readme's translation 2024-12-17 13:49:23 +03:00
Keith Hall
3e07483f7a
Merge pull request #3133 from sharkdp/keith-hall-patch-1
Build with MacOS 13 instead of 12
2024-12-07 12:08:41 +02:00
Keith Hall
9859077306 Build with MacOS 13 instead of 12
MacOS 12 is deprecated in GitHub Actions and no longer usable
2024-12-07 11:04:53 +02:00
Keith Hall
0cde7167d6
Merge pull request #3126 from einfachIrgendwer0815/feature/included_completions
Add `--completion <SHELL>` to provide shell completions
2024-12-01 19:16:05 +02:00
einfachIrgendwer0815
7eff8b687c Update changelog 2024-12-01 09:39:17 +01:00
einfachIrgendwer0815
04c7d15084 Mention --completion in the README 2024-12-01 09:39:17 +01:00
einfachIrgendwer0815
dbe25ba5e6 Include shell completions in the executable 2024-12-01 09:39:17 +01:00
dependabot[bot]
f81d4dc321
Bump terminal-colorsaurus from 0.4.4 to 0.4.7 (#3140)
Bumps [terminal-colorsaurus](https://github.com/bash/terminal-colorsaurus) from 0.4.4 to 0.4.7.
- [Release notes](https://github.com/bash/terminal-colorsaurus/releases)
- [Changelog](https://github.com/bash/terminal-colorsaurus/blob/main/changelog.md)
- [Commits](https://github.com/bash/terminal-colorsaurus/compare/0.4.4...0.4.7)

---
updated-dependencies:
- dependency-name: terminal-colorsaurus
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 05:00:43 +00:00
dependabot[bot]
f1c5c02713
Bump once_cell from 1.20.1 to 1.20.2 (#3139)
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.20.1 to 1.20.2.
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.20.1...v1.20.2)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 04:47:55 +00:00
dependabot[bot]
6c25c693a8
Bump regex from 1.10.2 to 1.10.6 (#3137)
Bumps [regex](https://github.com/rust-lang/regex) from 1.10.2 to 1.10.6.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.10.2...1.10.6)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 04:30:40 +00:00
dependabot[bot]
4be55ead4d
Bump flate2 from 1.0.34 to 1.0.35 (#3136)
Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.0.34 to 1.0.35.
- [Release notes](https://github.com/rust-lang/flate2-rs/releases)
- [Changelog](https://github.com/rust-lang/flate2-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.0.34...1.0.35)

---
updated-dependencies:
- dependency-name: flate2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 04:05:04 +00:00
Keith Hall
8df326aeed
Merge pull request #3135 from leo9800/master
Update syntax mapping for Apache Conf
2024-12-01 05:40:59 +02:00
Leo
f87157d009 Update syntax mapping for apache conf 2024-12-01 11:15:17 +08:00
Keith Hall
0b4fe03ec3
Merge pull request #3132 from fepegar/3130-use-toml-for-uv-lock
Use TOML syntax highlighting for uv.lock
2024-11-25 20:49:37 +02:00
Fernando Pérez-García
1063264d88 Replace issue number with pull request number 2024-11-24 08:14:24 +00:00
Fernando Pérez-García
4bee858c78 Update CHANGELOG 2024-11-22 22:50:53 +00:00
Fernando Pérez-García
d832367d95 Use TOML syntax highlighting for uv.lock 2024-11-22 22:39:35 +00:00
Keith Hall
d89a20f8b4
Merge pull request #3016 from CosmicHorrorDev/update-sublime-snazzy-theme
Bump themes/sublime-snazzy from `7034320` `48f43a7`
2024-11-21 21:13:27 +02:00
Keith Hall
41ef01f25d
Merge branch 'master' into update-sublime-snazzy-theme 2024-11-21 20:30:53 +02:00
Keith Hall
7b797fd830
Merge pull request #3131 from binchengqu/master
chore: remove redundant word in comment
2024-11-21 06:09:50 +02:00
binchengqu
d27064cea5 chore: remove redundant word in comment
Signed-off-by: binchengqu <bincheng@before.tech>
2024-11-21 11:55:43 +08:00
Keith Hall
c9aa8d59ef
Merge pull request #3015 from CosmicHorrorDev/update-nord-theme
Bump themes/Nord-submlime from `0d655b2` `bf92a9e`
2024-11-21 05:29:12 +02:00
Cosmic Horror
57a8b10883 Bump themes/Nord-submlime from 0d655b2 bf92a9e 2024-11-21 05:19:56 +02:00
Keith Hall
e608b33142
Merge pull request #3070 from kojix2/print
Add print_with_writer to PrettyPrint
2024-11-16 21:52:51 +02:00
kojix2
6598442d41
Merge branch 'master' into print 2024-11-14 10:08:21 +09:00
Keith Hall
822eff6028
Merge pull request #3063 from volklord/master
bat.zsh.in: Remove duplicate word
2024-11-13 22:19:09 +02:00
Keith Hall
da4defad07
Merge branch 'master' into master 2024-11-13 21:59:48 +02:00
Keith Hall
9bed8adb16
Merge pull request #3095 from mhelsley/mhelsley-fix-lessopen
Fix lessopen feature
2024-11-13 21:58:02 +02:00
Keith Hall
2e836e9822
Merge branch 'master' into mhelsley-fix-lessopen 2024-11-13 21:42:36 +02:00
Keith Hall
07554b0c1d
Merge pull request #3098 from adamperkowski/bat_config_dir_docs
📔 docs: mention `BAT_CONFIG_DIR` in the README
2024-11-13 21:37:40 +02:00
Keith Hall
022574314f
Merge branch 'master' into bat_config_dir_docs 2024-11-13 21:25:59 +02:00
Keith Hall
8a4701f93f
Merge pull request #2896 from bash/dark-light
Choose Theme Based on The Terminal's Color Scheme
2024-11-13 21:10:50 +02:00
Keith Hall
08047a6a2e
Merge branch 'master' into dark-light 2024-11-13 20:54:57 +02:00
Adam Perkowski
2caeaef14b 📔 docs: mention BAT_CONFIG_DIR in the README 2024-11-13 20:53:45 +02:00
Keith Hall
d00e05643f
Merge pull request #3103 from Ugzuzg/citation-mapping
Add syntax mapping for CITATION.cff
2024-11-13 20:41:44 +02:00
Keith Hall
60693db73f
Merge branch 'master' into dark-light 2024-11-13 20:33:37 +02:00
volklord
15f2553a3d bat.zsh.in: Remove duplicate word
Remove the duplicate word `disable disable`
2024-11-13 20:30:04 +02:00
Keith Hall
dbe352d8b8
Merge branch 'master' into citation-mapping 2024-11-13 20:25:26 +02:00
Keith Hall
517ddd8e00
Merge pull request #3115 from pratik-m/add-pipe-delimter-to-csv-syntax
Adding pipe delimeter support for csv files
2024-11-13 20:24:20 +02:00
Pratik Munot
558b487c91
Merge branch 'master' into add-pipe-delimter-to-csv-syntax 2024-11-11 20:41:52 -08:00
David Peter
f8f12a7db5 Update sponsorship information 2024-11-10 20:02:58 +01:00
Pratik Munot
d725443116
Merge branch 'master' into add-pipe-delimter-to-csv-syntax 2024-11-02 22:41:52 -07:00
dependabot[bot]
dbaa0a6d9e
Bump grep-cli from 0.1.10 to 0.1.11 (#3120)
Bumps [grep-cli](https://github.com/BurntSushi/ripgrep) from 0.1.10 to 0.1.11.
- [Release notes](https://github.com/BurntSushi/ripgrep/releases)
- [Changelog](https://github.com/BurntSushi/ripgrep/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BurntSushi/ripgrep/compare/grep-cli-0.1.10...0.1.11)

---
updated-dependencies:
- dependency-name: grep-cli
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-01 05:02:22 +00:00
dependabot[bot]
6b2c5645d2
Bump toml from 0.8.9 to 0.8.19 (#3121)
Bumps [toml](https://github.com/toml-rs/toml) from 0.8.9 to 0.8.19.
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.9...toml-v0.8.19)

---
updated-dependencies:
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-01 04:46:28 +00:00
dependabot[bot]
e7bef716c9
Bump encoding_rs from 0.8.34 to 0.8.35 (#3119)
Bumps [encoding_rs](https://github.com/hsivonen/encoding_rs) from 0.8.34 to 0.8.35.
- [Commits](https://github.com/hsivonen/encoding_rs/compare/v0.8.34...v0.8.35)

---
updated-dependencies:
- dependency-name: encoding_rs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-01 04:23:23 +00:00
dependabot[bot]
c627526f8c
Bump clircle from 0.5.0 to 0.6.0 (#3117)
Bumps [clircle](https://github.com/niklasmohrin/clircle) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/niklasmohrin/clircle/releases)
- [Commits](https://github.com/niklasmohrin/clircle/compare/v0.5.0...v0.6.0)

---
updated-dependencies:
- dependency-name: clircle
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-01 03:57:52 +00:00
Keith Hall
95cb705ac0
Merge pull request #2947 from jacg/debdiff
Make .debdiff imply .diff using syntax_mapping toml
2024-10-31 08:13:35 +02:00
kojix2
ca43c7a8f8
Merge branch 'master' into print 2024-10-31 15:04:14 +09:00
Jacek Generowicz
0a8bfc52a6 Move from unix-family to common 2024-10-31 08:03:45 +02:00
Jacek Generowicz
d0ae2e6826 Add CHANGELOG entry for .debdiff => diff 2024-10-31 08:03:45 +02:00
Jacek Generowicz
9090fb75e0 Make .debdiff imply .diff using syntax_mapping toml
Closes #2940
2024-10-31 08:03:45 +02:00
Keith Hall
50fa25db60
Merge pull request #2961 from cyqsimon/pacman-conf
Add syntax mapping for `/etc/pacman.conf`
2024-10-31 05:20:09 +02:00
Keith Hall
bd3c49d234 Merge remote-tracking branch 'origin/master' into pacman-conf 2024-10-31 05:08:46 +02:00
Keith Hall
ce7a3d9f7d
Merge pull request #3108 from einfachIrgendwer0815/fix/2731_plain_override
Fix override of --plain and --paging
2024-10-31 05:07:23 +02:00
einfachIrgendwer0815
3b71837174
Merge branch 'master' into fix/2731_plain_override 2024-10-30 13:06:13 +01:00
Keith Hall
2be3a14a7e
Merge pull request #2976 from einfachIrgendwer0815/feature/binary_as_text
Allow printing binary content by treating it the same as text
2024-10-30 13:55:21 +02:00
einfachIrgendwer0815
8d82402d74
Merge branch 'master' into feature/binary_as_text 2024-10-30 12:46:11 +01:00
Pratik Munot
1942d40863 changelog updates 2024-10-29 22:36:43 -07:00
Pratik Munot
5042844342 Adding pipe delimeter support for csv files 2024-10-29 21:34:47 -07:00
Fabio Valentini
649fb05c58 Bump nix from 0.26.4 to 0.29 2024-10-25 09:16:21 +02:00
kojix2
c533a4aa14 Update CHANGELOG.md 2024-10-23 21:42:02 +09:00
kojix2
b93a41a9a3 Add print_with_writer to PrettyPrint 2024-10-23 21:21:15 +09:00
Keith Hall
937c59fca9
Merge pull request #3049 from cyqsimon/kubernetes
Add syntax mapping for kubernetes config files
2024-10-21 23:10:22 +03:00
Keith Hall
a80d5ea9f7 Merge branch 'master' into pacman-conf 2024-10-21 23:02:56 +03:00
Keith Hall
c11a7d9e41 Merge branch 'master' into kubernetes 2024-10-21 23:01:30 +03:00
einfachIrgendwer0815
ac082ab64b
Update changelog 2024-10-18 12:44:53 +02:00
einfachIrgendwer0815
c9fd0f3cf0
Add partial override of -pp and --paging 2024-10-18 12:13:41 +02:00
einfachIrgendwer0815
e667415def
Add tests against issue #2731 2024-10-18 12:13:41 +02:00
einfachIrgendwer0815
fd6c7637e4
Partially revert "Make -pp override --paging and vice versa when passed as a later argument. (#2660)"
This partially reverts commit e2bf85e749d87459e3fced697af5cd9cc96eeb8c.
2024-10-18 11:46:51 +02:00
Jarasłaŭ Viktorčyk
9a816c9c68
Add syntax mapping for CITATION.cff 2024-10-13 11:47:31 +02:00
Matt Helsley
431344ba67
Merge branch 'master' into mhelsley-fix-lessopen 2024-10-06 21:52:34 -07:00
Keith Hall
eca6b8a376
Merge pull request #3075 from einfachIrgendwer0815/fix/3073_list_themes
Don't output default theme info to piped stdout
2024-10-06 22:27:18 +03:00
Keith Hall
b01ed8d773
Merge branch 'master' into fix/3073_list_themes 2024-10-06 22:08:00 +03:00
Matt Helsley
3e5f4266ce Fix lessopen feature
RawOsString API changed in os_str_bytes 7.0.0 and bat no longer builds
with the lessopen feature because:

- ::from_string() is deprecated and says to use new().
  The documentation says that new(), like from_string() no longer
  needs to copy the string.

- ::assert_from_raw_vec() is no longer merely deprecated and now
  requires selecting the "conversions" feature of os_str_bytes.

Replaces PR#2938
2024-10-03 16:32:23 -07:00
dependabot[bot]
61c9f312c9
Bump flate2 from 1.0.30 to 1.0.34 (#3093)
Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.0.30 to 1.0.34.
- [Release notes](https://github.com/rust-lang/flate2-rs/releases)
- [Changelog](https://github.com/rust-lang/flate2-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.0.30...1.0.34)

---
updated-dependencies:
- dependency-name: flate2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-01 03:36:57 +00:00
dependabot[bot]
c59dad0cae
Bump git2 from 0.18.3 to 0.19.0 (#3092)
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.18.3 to 0.19.0.
- [Changelog](https://github.com/rust-lang/git2-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/git2-rs/compare/git2-0.18.3...git2-0.19.0)

---
updated-dependencies:
- dependency-name: git2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-01 03:19:34 +00:00
dependabot[bot]
16a79d38c2
Bump once_cell from 1.19.0 to 1.20.1 (#3091)
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.19.0 to 1.20.1.
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.19.0...v1.20.1)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-01 03:02:02 +00:00
dependabot[bot]
9d635627dc
Bump globset from 0.4.14 to 0.4.15 (#3090)
Bumps [globset](https://github.com/BurntSushi/ripgrep) from 0.4.14 to 0.4.15.
- [Release notes](https://github.com/BurntSushi/ripgrep/releases)
- [Changelog](https://github.com/BurntSushi/ripgrep/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BurntSushi/ripgrep/compare/globset-0.4.14...ignore-0.4.15)

---
updated-dependencies:
- dependency-name: globset
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-01 02:40:45 +00:00
einfachIrgendwer0815
bc69ffb0f0
Map *.mkd files to Markdown syntax (#3061) 2024-09-26 21:06:07 +02:00
flytam
a0226f5670 Update Chinese version translation of README.md 2024-09-20 06:28:20 +02:00
Mikael Vaaltola
ed7789d9b7 Associate GeoJSON .geojson files with json syntax (fixes #3083) 2024-09-20 06:14:26 +02:00
Tau Gärtli
b747184788
Accept impl Into<String> to avoid cloning strings 2024-09-08 17:11:11 +02:00
Tau Gärtli
02ae6ef348
Remove redundant guard 2024-09-07 22:59:27 +02:00
Tau Gärtli
0ebb9cbfe2
Add Display impl 2024-09-07 21:57:27 +02:00
Tau Gärtli
f6cbee9e27
Update docs 2024-09-07 21:36:03 +02:00
Tau Gärtli
10e823c4b7
Rename internal function 2024-09-07 21:36:03 +02:00
Tau Gärtli
60e4027332
Expose theme env vars 2024-09-07 21:36:02 +02:00
Tau Gärtli
e075fee5bf
Add infallible constructor 2024-09-07 21:36:02 +02:00
Tau Gärtli
16d9b99f6c
Flatten preference enum 2024-09-04 21:18:29 +02:00
dependabot[bot]
ffa74a7f49
Bump serde from 1.0.199 to 1.0.209 (#3077)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.199 to 1.0.209.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.199...v1.0.209)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-01 03:05:26 +00:00
dependabot[bot]
c1772b7793
Bump plist from 1.6.0 to 1.7.0 (#3076)
Bumps [plist](https://github.com/ebarnard/rust-plist) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/ebarnard/rust-plist/releases)
- [Commits](https://github.com/ebarnard/rust-plist/compare/v1.6.0...v1.7.0)

---
updated-dependencies:
- dependency-name: plist
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-01 02:45:53 +00:00
einfachIrgendwer0815
5be9d19500
Reinforce tests for --list-themes 2024-08-25 11:10:25 +02:00
einfachIrgendwer0815
0603f0b844
Don't output default theme info to piped stdout 2024-08-25 10:54:46 +02:00
Tau Gärtli
50958472e5
Return theme alongside detected color scheme 2024-08-23 18:03:07 +02:00
Tau Gärtli
89ce060183
Update help, man page and completions 2024-08-18 20:32:59 +02:00
Tau Gärtli
bc42149a72
Merge color scheme options into theme / BAT_THEME 2024-08-18 14:59:14 +02:00
einfachIrgendwer0815
0c3b22e0f0
Run syntax highlighting when --binary=as-text 2024-08-18 10:06:12 +02:00
einfachIrgendwer0815
a769a3d813
Update CHANGELOG 2024-08-18 10:06:09 +02:00
einfachIrgendwer0815
7cc231b82b
Test --binary=as-text 2024-08-18 10:05:43 +02:00
einfachIrgendwer0815
7f089ead62
Add option --binary
`--binary` allows to specify how to deal with binary content. Current
options are not printing anything or treating the binary data as text.
2024-08-18 10:05:37 +02:00
Tau Gärtli
b9b981f657
Generalize --detect-color-scheme to --color-scheme 2024-08-16 14:14:30 +02:00
Tau Gärtli
abf9dada04
Remove HighlightingAssets::default_theme() 2024-08-16 14:13:58 +02:00
Tau Gärtli
5c6974703e
Respect --detect-color-scheme flag when listing themes 2024-08-16 14:13:58 +02:00
Tau Gärtli
1b0a6da4be
Use new default_theme fn for --list-themes 2024-08-16 14:13:58 +02:00
Tau Gärtli
06b645435a
Add changelog entry 2024-08-16 14:13:57 +02:00
Tau Gärtli
c3b190d45b
Disable color detection in test 2024-08-16 14:13:18 +02:00
Tau Gärtli
594b1417f1
Update readme 2024-08-16 14:13:18 +02:00
Tau Gärtli
e8ca6ec7c3
Remove cargo feature 2024-08-16 14:13:18 +02:00
Tau Gärtli
6498615f5f
Improve upon the documentation 2024-08-16 14:13:18 +02:00
Tau Gärtli
30b0143ccf
Make default_theme pub 2024-08-16 14:13:17 +02:00
Tau Gärtli
ff81cfd584
Move actual detection into library 2024-08-16 14:13:16 +02:00
Tau Gärtli
14ce668a1d
Add generated powershell completion to ignore list 2024-08-16 14:12:23 +02:00
Tau Gärtli
9a1bfe946d
Update completions and man page 2024-08-16 14:12:23 +02:00
Tau Gärtli
cea45e05f3
Expose new theme selection in CLI 2024-08-16 14:12:22 +02:00
Tau Gärtli
cda363a3f7
Use default_theme() function from theme module 2024-08-16 14:09:38 +02:00
Tau Gärtli
de796392cf
Deprecate old default_theme function 2024-08-16 14:09:38 +02:00
Tau Gärtli
1423dd9440
Choose theme based on the terminal's color scheme 2024-08-16 14:09:35 +02:00
dependabot[bot]
b662fec214
Bump ansi_colours from 1.2.2 to 1.2.3 (#3058)
Bumps [ansi_colours](https://github.com/mina86/ansi_colours) from 1.2.2 to 1.2.3.
- [Commits](https://github.com/mina86/ansi_colours/commits)

---
updated-dependencies:
- dependency-name: ansi_colours
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-01 03:28:12 +00:00
dependabot[bot]
d8d0b77568
Bump indexmap from 2.2.6 to 2.3.0 (#3057)
Bumps [indexmap](https://github.com/indexmap-rs/indexmap) from 2.2.6 to 2.3.0.
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/master/RELEASES.md)
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.2.6...2.3.0)

---
updated-dependencies:
- dependency-name: indexmap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-01 03:14:26 +00:00
dependabot[bot]
13317b0a3b
Bump expect-test from 1.4.1 to 1.5.0 (#3055)
Bumps [expect-test](https://github.com/rust-analyzer/expect-test) from 1.4.1 to 1.5.0.
- [Changelog](https://github.com/rust-analyzer/expect-test/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-analyzer/expect-test/compare/v1.4.1...v1.5.0)

---
updated-dependencies:
- dependency-name: expect-test
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-01 02:47:46 +00:00
Ethan P.
2616296183
Merge pull request #2929 from eth-p/add-remove-styles
Merge `--style`s from different places using `+`/`-`
2024-07-30 21:30:19 -07:00
Ethan P.
39684b85ad
Update changelog 2024-07-30 21:22:05 -07:00
Ethan P.
aa3ec109b7
First StyleComponentList should remove from 'auto' style.
This happens when there are no `--style` arguments other than the one
passed in as a command line argument.

Prior to this change, removing a style component (e.g. `--style=-numbers`)
would remove the component from an empty style component set, resulting
in no styles at all. That behaviour was less intuitive than the new
behaviour, which starts out with the default components and
removes the line numbers.
2024-07-30 21:22:02 -07:00
Ethan P.
180a77ee99
Add integration tests for merging styles
A huge thanks to @einfachIrgendwer0815 for helping me make sure
these tests work under the MSRV CI job.
2024-07-30 21:22:00 -07:00
Ethan P.
93b25d75a0
Join env var options with "=" instead of " "
Joining them with a space was causing certain styles (e.g. `-grid`) to
be misinterpreted as a separate option.
2024-07-30 21:21:58 -07:00
Ethan P.
6e91ba83b7
Update clap/docs for merging --style arguments 2024-07-30 21:21:55 -07:00
Ethan P.
b74c125c43
Support merging --style arguments
The `overrides_with` clap builder option was removed
because it interfered with the matcher's ability to
retain all occurrences of `--style`.

The behavior it covered is expressed within the new
`forced_style_components` function.
2024-07-30 21:21:53 -07:00
Keith Hall
fd1e0d5876
Merge pull request #2995 from akinomyoga/update-man
Update the man page of bat (`assets/manual/bat.1.in`)
2024-07-29 07:14:31 +03:00
Koichi Murase
9a650e8279 Update CHANGELOG 2024-07-29 12:18:40 +09:00
Koichi Murase
d5aa9d8e05 Add options generated by completions to the man page 2024-07-29 12:18:40 +09:00
Koichi Murase
b1cdc06430 Add --no-* options to Bash/Zsh completions 2024-07-29 12:18:40 +09:00
Koichi Murase
83a15ac05f Add --cache-dir to Fish completion 2024-07-29 12:18:40 +09:00
Koichi Murase
43a77a42f8 Add options present in --help to Bash completion 2024-07-29 12:18:40 +09:00
Koichi Murase
44ca1e7df1 Add options present in --help to the man page 2024-07-29 12:18:40 +09:00
Michael Vorburger
23fd200482 Associate JSON-LD .jsonld files with json syntax (fixes #3036)
Use PR instead of Issue # number in CHANGELOG.

Clean up (unify) CHANGELOG.
2024-07-27 15:48:02 +02:00
Keith Hall
9f1c62b013
Merge pull request #3031 from brenton-at-pieces/add-cfml
add CFML syntax
2024-07-26 19:45:44 +03:00
cyqsimon
319b8868fc
Write changelog 2024-07-26 23:39:27 +08:00
cyqsimon
7bd6cdbebc
Add syntax mapping for kubernetes config files 2024-07-26 23:23:58 +08:00
Brenton Bostick
1488a4a006
Merge branch 'master' into add-cfml 2024-07-26 09:09:30 -04:00
Keith Hall
56d2823b0e
Merge pull request #3045 from cyqsimon/time
Bump time to 0.3.36 (fixes #3043)
2024-07-26 12:12:57 +03:00
cyqsimon
1a11ba11e3
Write changelog 2024-07-26 16:18:16 +08:00
cyqsimon
c34bdb5e66
Bump time to 0.3.36 (fixes #3043) 2024-07-26 16:10:17 +08:00
Brenton Bostick
10456e1d51
Merge branch 'master' into add-cfml 2024-07-25 15:54:50 -04:00
Keith Hall
bbdadc7e38
Merge pull request #3038 from vorburger/bump-textproto
Update the Protobuf sobmodule in order to add `.textproto` support
2024-07-23 23:02:35 +03:00
Michael Vorburger
ff71e32c0f Update the Protobuf sobmodule (fixes #2542) 2024-07-21 23:14:12 +02:00
Brenton Bostick
50b01ea8da update CHANGELOG 2024-07-17 16:17:41 -04:00
Brenton Bostick
de697f7717 add CFML syntax 2024-07-17 15:46:38 -04:00
Cosmic Horror
575457c944 Bump themes/sublime-snazzy from 7034320 48f43a7 2024-06-30 23:43:32 -06:00
dependabot[bot]
6fc58821a5
Bump anyhow from 1.0.78 to 1.0.86 (#3021)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.78 to 1.0.86.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.78...1.0.86)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 03:34:46 +00:00
dependabot[bot]
7873b473e8
Bump unicode-width from 0.1.11 to 0.1.13 (#3019)
Bumps [unicode-width](https://github.com/unicode-rs/unicode-width) from 0.1.11 to 0.1.13.
- [Commits](https://github.com/unicode-rs/unicode-width/compare/v0.1.11...v0.1.13)

---
updated-dependencies:
- dependency-name: unicode-width
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 03:16:35 +00:00
dependabot[bot]
609005a225
Bump encoding_rs from 0.8.33 to 0.8.34 (#3020)
Bumps [encoding_rs](https://github.com/hsivonen/encoding_rs) from 0.8.33 to 0.8.34.
- [Commits](https://github.com/hsivonen/encoding_rs/compare/v0.8.33...v0.8.34)

---
updated-dependencies:
- dependency-name: encoding_rs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 02:51:38 +00:00
dependabot[bot]
b9c74ab859
Bump walkdir from 2.4.0 to 2.5.0 (#3018)
Bumps [walkdir](https://github.com/BurntSushi/walkdir) from 2.4.0 to 2.5.0.
- [Commits](https://github.com/BurntSushi/walkdir/compare/2.4.0...2.5.0)

---
updated-dependencies:
- dependency-name: walkdir
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 02:29:47 +00:00
Driss Boumlik
cee5584daf Fix cmder link 2024-06-29 14:57:40 +02:00
Bryan Honof
b265b20721 Add flox install 2024-06-23 13:52:52 +02:00
Ethan P
a7a9727c11
Merge pull request #2999 from eth-p/strip-ansi-from-input-option
Add option to remove ANSI escape sequences from bat's input.
2024-06-17 18:37:22 -07:00
Ethan P.
90dfa7f18d
Update README.md to mention --strip-ansi 2024-06-17 18:27:39 -07:00
Ethan P.
3f8d62e7d6
Update CHANGELOG.md 2024-06-17 18:27:39 -07:00
Ethan P.
3f22311ec8
Add ANSI stripping to bat-as-a-library 2024-06-17 18:27:39 -07:00
Ethan P.
9e8176b1c6
Add --strip-ansi=auto option
When using `auto`, escape sequences will be stripped unless printing
plain text.
2024-06-17 18:27:33 -07:00
Ethan P.
70ff93d238
Add --strip-ansi option 2024-06-16 16:49:07 -07:00
Tong Zhaoqi
c264ecd26b
ci: support aarch64 statically-linked binary (#2992) 2024-06-16 20:16:11 +02:00
Ethan P
10a1b24191
Merge pull request #2998 from eth-p/improve-preprocessor
Update bat's tab expansion preprocessor to use bat's ANSI escape sequence iterator.
2024-06-15 16:28:05 -07:00
Ethan P.
243819ecdc
Update CHANGELOG.md 2024-06-15 16:18:29 -07:00
Ethan P.
9c76b72825
Update expand_tabs to use bat's ANSI iterator 2024-06-10 20:07:54 -07:00
Ethan P.
b4fe182960
Make EscapeSequenceOffsetsIterator pub, add fns to get indices 2024-06-10 20:04:17 -07:00
dependabot[bot]
b7e44c76dc
Bump semver from 1.0.21 to 1.0.23 (#2981)
Bumps [semver](https://github.com/dtolnay/semver) from 1.0.21 to 1.0.23.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.21...1.0.23)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-01 03:31:50 +00:00
dependabot[bot]
f3cc69733f
Bump thiserror from 1.0.53 to 1.0.61 (#2979)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.53 to 1.0.61.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.53...1.0.61)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-01 03:18:21 +00:00
dependabot[bot]
3625f0ea1c
Bump itertools from 0.12.1 to 0.13.0 (#2978)
Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.12.1 to 0.13.0.
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0)

---
updated-dependencies:
- dependency-name: itertools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-01 03:04:56 +00:00
dependabot[bot]
e6e2d4c65d
Bump flate2 from 1.0.28 to 1.0.30 (#2980)
Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.0.28 to 1.0.30.
- [Release notes](https://github.com/rust-lang/flate2-rs/releases)
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.0.28...1.0.30)

---
updated-dependencies:
- dependency-name: flate2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-01 02:48:23 +00:00
dependabot[bot]
340e873eff
Bump git2 from 0.18.2 to 0.18.3 (#2977)
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.18.2 to 0.18.3.
- [Changelog](https://github.com/rust-lang/git2-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/git2-rs/compare/git2-0.18.2...git2-0.18.3)

---
updated-dependencies:
- dependency-name: git2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-01 02:24:10 +00:00
Keith Hall
3407bf4bf6
Merge pull request #2970 from ccqpein/master
Patch the lisp syntax
2024-05-31 23:30:08 +03:00
ccQpein
25cd4991d2 update lisp test 2024-05-31 12:39:19 -04:00
ccQpein
503b2c5126 fix the prefix 2024-05-27 16:22:07 -04:00
ccQpein
026bc05d70 changelog 2024-05-27 15:58:04 -04:00
ccQpein
61005f19fa patch the lisp syntax 2024-05-27 15:52:26 -04:00
someposer
8f8c953ab6
Add support for Apple Silicon (#2967) 2024-05-27 06:14:11 +02:00
cyqsimon
f82487daf8
Write changelog 2024-05-15 14:35:47 +08:00
cyqsimon
3a9d574770
Add syntax mapping for /etc/pacman.conf 2024-05-15 14:31:25 +08:00
dependabot[bot]
b4e3a84e1a
Bump serde from 1.0.197 to 1.0.199 (#2953)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.197 to 1.0.199.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.197...v1.0.199)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 03:23:25 +00:00
dependabot[bot]
f7c39e8353
Bump os_str_bytes from 6.6.1 to 7.0.0 (#2952)
Bumps [os_str_bytes](https://github.com/dylni/os_str_bytes) from 6.6.1 to 7.0.0.
- [Release notes](https://github.com/dylni/os_str_bytes/releases)
- [Commits](https://github.com/dylni/os_str_bytes/compare/6.6.1...7.0.0)

---
updated-dependencies:
- dependency-name: os_str_bytes
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 03:10:09 +00:00
dependabot[bot]
37d9f0533c
Bump indexmap from 2.2.2 to 2.2.6 (#2950)
Bumps [indexmap](https://github.com/indexmap-rs/indexmap) from 2.2.2 to 2.2.6.
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/master/RELEASES.md)
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.2.2...2.2.6)

---
updated-dependencies:
- dependency-name: indexmap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 02:47:11 +00:00
dependabot[bot]
d560f2a515
Bump serde_with from 3.7.0 to 3.8.1 (#2949)
Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.7.0 to 3.8.1.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.7.0...v3.8.1)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 02:27:04 +00:00
Stéphane Blondon
bb4d1cbd2e refactor: factorize constants by inverting loop and condition order 2024-04-19 11:44:47 +02:00
Stéphane Blondon
23ec433167 display which theme is the default one in basic output 2024-04-19 11:44:47 +02:00
Sharun
9eaed3e3f0
[JavaScript] Support bun in shebang for syntax highlighting (#2913)
* [JavaScript] Support bun in shebang for syntax highlighting

---------

Co-authored-by: Keith Hall <keith-hall@users.noreply.github.com>
2024-04-15 06:17:41 +00:00
sblondon
d5bd4aa93f
display which theme is the default one in colored output (#2838) 2024-04-14 15:54:52 +02:00
Keith Hall
66b70dd8ed
Merge pull request #2933 from vorburger/patch-1
Fix minor typo in GitHub Syntax Request Issue Template
2024-04-09 21:35:45 +03:00
Michael Vorburger
01731478a6
Fix minor typo in GitHub Syntax Request Issue Template 2024-04-09 19:54:46 +02:00
Rivera Calzadillas
f8c5429a6c Print $TERM with --diagnostic 2024-04-07 14:24:16 +02:00
Rivera Calzadillas
f71226adbb Sort env vars printed by --diagnostic 2024-04-07 14:24:16 +02:00
一个不知名の睡觉高手
e8d777b73a fix: some typos 2024-04-04 06:01:37 +02:00
dependabot[bot]
3cff44b652
Bump console from 0.15.7 to 0.15.8 (#2925)
Bumps [console](https://github.com/console-rs/console) from 0.15.7 to 0.15.8.
- [Changelog](https://github.com/console-rs/console/blob/master/CHANGELOG.md)
- [Commits](https://github.com/console-rs/console/compare/0.15.7...0.15.8)

---
updated-dependencies:
- dependency-name: console
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 04:11:21 +00:00
dependabot[bot]
26302a8b08
Bump serde from 1.0.193 to 1.0.197 (#2926)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.193 to 1.0.197.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.193...v1.0.197)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 03:58:57 +00:00
dependabot[bot]
adc5bd0402
Bump serde_with from 3.6.1 to 3.7.0 (#2923)
Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.6.1 to 3.7.0.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.6.1...v3.7.0)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 03:44:58 +00:00
dependabot[bot]
e3c3be950a
Bump predicates from 3.0.4 to 3.1.0 (#2924)
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 3.0.4 to 3.1.0.
- [Changelog](https://github.com/assert-rs/predicates-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/predicates-rs/compare/v3.0.4...v3.1.0)

---
updated-dependencies:
- dependency-name: predicates
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 03:30:00 +00:00
dependabot[bot]
8d92dc2083
Bump wild from 2.2.0 to 2.2.1 (#2922)
Bumps [wild](https://gitlab.com/kornelski/wild) from 2.2.0 to 2.2.1.
- [Commits](https://gitlab.com/kornelski/wild/compare/v2.2.0...v2.2.1)

---
updated-dependencies:
- dependency-name: wild
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 03:11:04 +00:00
dependabot[bot]
a1f85b9e06
Bump assets/syntaxes/02_Extra/Julia from 98233f9 to 3366b10 (#2918)
Bumps [assets/syntaxes/02_Extra/Julia](https://github.com/JuliaEditorSupport/Julia-sublime) from `98233f9` to `3366b10`.
- [Release notes](https://github.com/JuliaEditorSupport/Julia-sublime/releases)
- [Commits](98233f96d4...3366b10be9)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/Julia
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 02:47:26 +00:00
dependabot[bot]
424c02dfa7
Bump softprops/action-gh-release from 1 to 2 (#2917)
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 1 to 2.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/v1...v2)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 02:29:01 +00:00
David Peter
018a482621 Update Warp logo 2024-03-23 21:15:25 +01:00
guoguangwu
4790def1ef fix: typo
Signed-off-by: guoguangwu <guoguangwug@gmail.com>
2024-03-17 15:40:48 +01:00
Hamir Mahal
07c26adc35 style: simplify equality check 2024-03-11 18:57:51 +01:00
David Peter
f29f9387b5
Merge pull request #2868 from cyqsimon/builtin-offload-v2
Faster startup by offloading glob matcher building to a worker thread
2024-03-10 20:08:43 +01:00
Hamir Mahal
c290bfff1e refactor: remove reference that is unnecessary 2024-03-10 11:17:02 +01:00
dependabot[bot]
42153f2b99
Bump nu-ansi-term from 0.49.0 to 0.50.0 (#2879)
Bumps [nu-ansi-term](https://github.com/nushell/nu-ansi-term) from 0.49.0 to 0.50.0.
- [Release notes](https://github.com/nushell/nu-ansi-term/releases)
- [Changelog](https://github.com/nushell/nu-ansi-term/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nushell/nu-ansi-term/compare/v0.49.0...v0.50.0)

---
updated-dependencies:
- dependency-name: nu-ansi-term
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-01 04:45:43 +00:00
dependabot[bot]
6d7537d3ec
Bump itertools from 0.11.0 to 0.12.1 (#2880)
Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.11.0 to 0.12.1.
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.11.0...v0.12.1)

---
updated-dependencies:
- dependency-name: itertools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-01 04:29:33 +00:00
dependabot[bot]
b30ec9f975
Bump git2 from 0.18.1 to 0.18.2 (#2877)
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.18.1 to 0.18.2.
- [Changelog](https://github.com/rust-lang/git2-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/git2-rs/compare/git2-0.18.1...git2-0.18.2)

---
updated-dependencies:
- dependency-name: git2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-01 04:10:37 +00:00
dependabot[bot]
a7074f10d4
Bump plist from 1.5.1 to 1.6.0 (#2875)
Bumps [plist](https://github.com/ebarnard/rust-plist) from 1.5.1 to 1.6.0.
- [Release notes](https://github.com/ebarnard/rust-plist/releases)
- [Commits](https://github.com/ebarnard/rust-plist/compare/v1.5.1...v1.6.0)

---
updated-dependencies:
- dependency-name: plist
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-01 03:44:56 +00:00
David Peter
d185f0973b
Merge pull request #2874 from cyqsimon/wg
Add syntax mapping for Wireguard config
2024-02-29 11:09:31 +01:00
cyqsimon
071874ea8f
Write changelog 2024-02-29 14:34:00 +08:00
cyqsimon
46a2c004a2
Add syntax mapping for Wireguard config 2024-02-29 14:25:20 +08:00
cyqsimon
26ac179548
Add note on thread synchronization 2024-02-26 11:31:30 +08:00
Lena
4c85483486 Inline format! args wherever possible 2024-02-25 00:38:11 +01:00
einfachIrgendwer0815
487bed2d95
Change CONTRIBUTING.md according to new changelog requirements (#2839)
* Mention changelog requirements in CONTRIBUTING

* Refer to CONTRIBUTING in changelog workflow

* Clarify when changelog entries are necessary

---------

Co-authored-by: Martin Nordholts <martin.nordholts@codetale.se>
2024-02-24 23:58:20 +01:00
David Peter
6f69682552
Merge pull request #2665 from einfachIrgendwer0815/feature_squeeze
Add `-s`/`--squeeze` and `--squeeze-limit` (based on #1441).
2024-02-24 20:36:17 +01:00
David Peter
bc5beaec5d
Update CHANGELOG.md 2024-02-24 20:36:08 +01:00
einfachIrgendwer0815
83b00bc653
Rename --squeeze to --squeeze-blank 2024-02-24 14:02:27 +01:00
einfachIrgendwer0815
f041ff8c5f
Hide --squeeze-limit from short help 2024-02-24 13:57:44 +01:00
einfachIrgendwer0815
1fbdbfc4b2
Update CHANGELOG 2024-02-24 13:52:40 +01:00
einfachIrgendwer0815
2323aa0def
Add tests for --squeeze 2024-02-24 13:51:44 +01:00
einfachIrgendwer0815
6c2ce63101
Add squeeze functionality to SimplePrinter 2024-02-24 13:51:44 +01:00
einfachIrgendwer0815
13204c46e2
Update short-help/long-help 2024-02-24 13:51:43 +01:00
Ethan P
9bb0271e7d
Update CHANGELOG.md (PR #1441) 2024-02-24 13:51:40 +01:00
Ethan P
0e4e10edb6
Add --squeeze-limit to specify max number of consecutive empty lines
Co-authored-by: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com>
2024-02-24 13:51:06 +01:00
Ethan P
0c7e5299bf
Add squeeze_empty_lines to PrettyPrinter 2024-02-24 13:51:05 +01:00
Ethan P
c36ed32816
Add --squeeze/-s option
Co-authored-by: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com>
2024-02-24 13:51:00 +01:00
David Peter
e1a3fc5529
Merge pull request #2857 from eth-p/skip-highlighting-when-no-color
Skip syntax parsing when color is not being output.
2024-02-23 21:59:45 +01:00
David Peter
1ae9e843ed
Merge branch 'master' into skip-highlighting-when-no-color 2024-02-23 21:59:32 +01:00
David Peter
dbe4cfb763
Merge pull request #2866 from cyqsimon/quadlet
Add syntax mapping for podman quadlets
2024-02-23 21:54:44 +01:00
David Peter
4549f83689
Merge branch 'master' into quadlet 2024-02-23 21:54:36 +01:00
David Peter
e6e8f847be
Merge pull request #2865 from cyqsimon/syntax-mapping-fix
Relax syntax mapping rule restrictions to allow brace expansion
2024-02-23 21:52:55 +01:00
David Peter
b9e249f782
Merge branch 'master' into syntax-mapping-fix 2024-02-23 21:52:46 +01:00
David Peter
3ffa3648cf
Merge pull request #2853 from einfachIrgendwer0815/document_default_style_components
Document default style components
2024-02-23 21:51:55 +01:00
David Peter
5c2cc53882
Merge pull request #2867 from cyqsimon/containers-conf
Map containers `.conf` files to TOML syntax
2024-02-23 21:50:55 +01:00
David Peter
a6f01af8de
Merge branch 'master' into containers-conf 2024-02-23 21:50:35 +01:00
David Peter
85a549e293
Merge pull request #2840 from anki-code/master
Added xonsh shell support
2024-02-23 21:48:58 +01:00
David Peter
b718889ba2
Merge branch 'master' into master 2024-02-23 21:48:44 +01:00
David Peter
708c74f6af
Merge pull request #2795 from mxaddict/master
Added JSONC and aws credentials to the syntax mappings
2024-02-23 21:48:20 +01:00
David Peter
74d666f5c0
Merge branch 'master' into skip-highlighting-when-no-color 2024-02-23 21:45:38 +01:00
David Peter
7604fe5567
Merge pull request #2807 from Oliver-Looney/2783-setting-terminal-title
2783 setting terminal title
2024-02-23 21:37:28 +01:00
David Peter
0080b043c4
Merge branch 'master' into master 2024-02-23 21:35:21 +01:00
cyqsimon
c7bce46622
Write changelog 2024-02-21 15:24:36 +08:00
cyqsimon
2b4339663c
Builtin glob matchers build offload, v2 2024-02-21 14:56:37 +08:00
cyqsimon
6a6b02117b
Apply clippy fixes (#2864)
* Apply clippy fixes

* Write changelog
2024-02-20 19:39:22 +01:00
cyqsimon
511cd30105
Write changelog 2024-02-21 00:26:23 +08:00
cyqsimon
92915e22e7
Map containers .conf files to TOML syntax 2024-02-21 00:25:06 +08:00
cyqsimon
d499191b0a
Write changelog 2024-02-20 14:54:43 +08:00
cyqsimon
152d69fe98
Add syntax mapping for podman quadlets 2024-02-20 14:49:12 +08:00
cyqsimon
81aa24310c
Write changelog 2024-02-20 14:33:02 +08:00
cyqsimon
75cdabaf13
Relax syntax mapping rule restrictions to allow brace expansion 2024-02-20 14:24:51 +08:00
Oliver Looney
1f628203e5
Merge branch 'master' into 2783-setting-terminal-title 2024-02-12 09:34:01 +00:00
David Peter
1b9fc1d5af
Merge pull request #2856 from eth-p/fix-2185
Fix incorrect categorization of ANSI SGR sequences.
2024-02-12 08:32:47 +01:00
David Peter
bc1ca1a346
Merge branch 'master' into fix-2185 2024-02-12 08:19:56 +01:00
David Peter
f735120978
Merge pull request #2854 from eth-p/fix-line-number-wrap-off-by-one
Fix off-by-one error in line number continuation
2024-02-12 08:19:34 +01:00
Ethan P.
25b5a41189
Skip syntax parsing when color output disabled 2024-02-11 22:49:49 -08:00
Ethan P.
c94cf4e14e
Split syntax highlighting from print_line into fn
This simplifies the `print_line` function a little bit while also
providing a way for syntax highlighting to be skipped when it's
not being used (i.e. `--color=never`).
2024-02-11 22:27:35 -08:00
Ethan P.
84d80eebd0
Test for correct categorization of SGR sequences
This adds a regression test for the fix in the previous commit.
2024-02-11 19:40:29 -08:00
Ethan P.
915dd9fbf8
Fix incorrect categorization of SGR sequences
Specifically, prevent other attributes from leaking into the
bold/dim/italic/underline attributes, and ensure that bright backgrounds
are put into the background attribute instead of the foreground
attribute.
2024-02-11 19:35:54 -08:00
Ethan P.
9d77c1373c
Fix off-by-one error in line number continuation 2024-02-11 16:49:06 -08:00
Oliver Looney
c3f2ddf509
Merge branch 'master' into 2783-setting-terminal-title 2024-02-11 22:53:48 +00:00
Oliver looney
8a51172b11
simplified basic_set_terminal_title 2024-02-11 22:43:07 +00:00
einfachIrgendwer0815
875046e4cd
Mention which style components are the default 2024-02-11 10:06:01 +01:00
mxaddict
a5bd9f51be Added JSONC and aws credentials to the syntax mappings 2024-02-11 04:57:42 +08:00
Ethan P
5a2a20af42
Merge pull request #2544 from eth-p/fix-2541
Treat OSC ANSI Sequences as Invisible Text & Add OSC 8 Support
2024-02-09 22:20:30 -08:00
Ethan P
61029c8bd2
Update changelog for fix of ANSI OSC sequences 2024-02-09 22:09:40 -08:00
Ethan P
1023399c5e
Remove hyperlink when wrapping lines 2024-02-09 22:09:39 -08:00
Ethan P
6549e26f5d
Re-emit hyperlinks when wrapping lines 2024-02-09 22:09:39 -08:00
Ethan P
165c495e75
Replace AnsiCodeIterator in printer.rs
This uses the new EscapeSequenceIterator, saving us a preprocessing step
for each line.
2024-02-09 22:09:39 -08:00
Ethan P
6b9b085be3
Add EscapeSequenceIterator
This is an iterator for escape sequences, using
EscapeSequenceOffsetsIterator for the underlying parsing of individual
escape sequences.
2024-02-09 22:09:39 -08:00
Ethan P
2d46d54ae3
Add tests for re-emitting SGR sequences on wrap 2024-02-09 22:09:39 -08:00
Ethan P
3d04699710
Add regression test for #2541
More specifically, the test ensures that OSC sequences don't end up
wrapping the line.
2024-02-09 22:09:39 -08:00
Ethan P
054421268f
Strip OSC sequences before printing
This commit strips OSC (Operating System Command) sequences before
printing lines. Eventually when time permits, I want to add back
support for printing OSC sequences (and improve it to treat hyperlinks
like an attribute).

Until then, this should help prevent garbled output :)
2024-02-09 22:09:39 -08:00
Ethan P
414403b062
Add EscapeSequenceOffsetsIterator
This can be used to extract a subset of ANSI escape sequences from a
string of text. I have big plans for this eventually, but for now, it'll
be used to strip OSC before printing.
2024-02-09 22:09:35 -08:00
Ethan P
c29bf2ff28 Update git2 dependency 2024-02-09 22:05:30 -08:00
David Peter
ab4e5ed52e
Merge pull request #2815 from dtolnay-contrib/derive
Eliminate dependency on serde's "derive" feature
2024-02-09 08:21:21 +01:00
David Tolnay
1a54c9bf6d
Eliminate dependency on serde's "derive" feature 2024-02-08 15:55:30 -08:00
Oliver looney
02077db53e
undid unnecessary api visibility changes 2024-02-08 21:41:20 +00:00
Oliver looney
7ce010d9ed
Using hypens instead of underscores for set-terminal-title command 2024-02-08 21:33:03 +00:00
dependabot[bot]
95993cf37e
Bump assets/syntaxes/02_Extra/cmd-help from b150d84 to 209559b (#2841)
Bumps [assets/syntaxes/02_Extra/cmd-help](https://github.com/victor-gp/cmd-help-sublime-syntax) from `b150d84` to `209559b`.
- [Commits](b150d84534...209559b72f)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/cmd-help
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-08 07:54:17 +00:00
David Peter
3761df9112
Merge pull request #2849 from eth-p/readme-less-options-explained
Clarify when/how default args are added to less.
2024-02-08 08:29:20 +01:00
Ethan P.
adfaef19da
Clarify when/how default args are added to less 2024-02-07 21:22:08 -08:00
dependabot[bot]
f7bea6de5b
Bump clircle from 0.4.0 to 0.5.0 (#2845)
Bumps [clircle](https://github.com/niklasmohrin/clircle) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/niklasmohrin/clircle/releases)
- [Commits](https://github.com/niklasmohrin/clircle/compare/v0.4.0...v0.5.0)

---
updated-dependencies:
- dependency-name: clircle
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 05:00:25 +00:00
dependabot[bot]
65aae5d0a1
Bump toml from 0.8.6 to 0.8.9 (#2844)
Bumps [toml](https://github.com/toml-rs/toml) from 0.8.6 to 0.8.9.
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.6...toml-v0.8.9)

---
updated-dependencies:
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 04:43:10 +00:00
dependabot[bot]
e3866b1f7e
Bump indexmap from 2.1.0 to 2.2.2 (#2847)
Bumps [indexmap](https://github.com/indexmap-rs/indexmap) from 2.1.0 to 2.2.2.
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/master/RELEASES.md)
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.1.0...2.2.2)

---
updated-dependencies:
- dependency-name: indexmap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 04:25:19 +00:00
dependabot[bot]
23de8e093b
Bump semver from 1.0.20 to 1.0.21 (#2843)
Bumps [semver](https://github.com/dtolnay/semver) from 1.0.20 to 1.0.21.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.20...1.0.21)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 04:05:59 +00:00
dependabot[bot]
196a4cb18f
Bump assets/themes/zenburn from e627f1c to 86d4ee7 (#2842)
Bumps [assets/themes/zenburn](https://github.com/colinta/zenburn) from `e627f1c` to `86d4ee7`.
- [Commits](e627f1cb22...86d4ee7a1f)

---
updated-dependencies:
- dependency-name: assets/themes/zenburn
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 03:15:26 +00:00
Andy Kipp
695cf1f387
Update CHANGELOG.md 2024-01-31 14:12:00 +01:00
Andy Kipp
0af1df5258
Create xonsh.toml 2024-01-31 14:07:56 +01:00
Oliver looney
a8d07333e9
updated integration_tests.rs 2024-01-30 19:29:28 +00:00
Oliver looney
7f12989127
added set_terminal_title arg to clap_app.rs to fix ci errors 2024-01-29 09:47:41 +00:00
Oliver looney
60e32cf823
removed set_terminal_title arg from clap_app.rs since other boolean args aren't in clap_app.rs 2024-01-27 14:46:13 +00:00
Oliver looney
e9a6aaa30f
cargo fmt 2024-01-27 14:44:54 +00:00
Oliver looney
9be2a36a01
fixed system wide config tests failing 2024-01-27 14:38:09 +00:00
Oliver looney
22254936a2
ran cargo fmt 2024-01-27 14:32:34 +00:00
Oliver looney
f6d76e0104
added integration test for setting terminal title 2024-01-27 14:31:28 +00:00
Oliver looney
c911829771
fixed failing tests 2024-01-27 14:23:24 +00:00
Oliver looney
b33e33fe26
terminal title is only set if user opts in with --set_terminal_title flag 2024-01-27 14:17:25 +00:00
Oliver looney
9239b125b1
added a flag to config for setting terminal title 2024-01-27 14:14:40 +00:00
David Peter
2086cd2668
Merge pull request #2835 from FilipRazek/fix-long-file-names
fix: Wrap file name in header
2024-01-21 20:17:34 +01:00
Filip Razek
1b88267320 Ensure test succeeds by adding flag 2024-01-21 19:48:26 +01:00
Filip Razek
e586751208 Attempt to fix integration test 2024-01-21 19:48:26 +01:00
Filip Razek
e7256a624b Refer to PR instead of issue in CHANGELOG 2024-01-21 19:48:26 +01:00
Filip Razek
5c1f47359e Run cargo fmt 2024-01-21 19:48:26 +01:00
Filip Razek
45ee2dc4c7 fix: Wrap file name in header 2024-01-21 19:48:26 +01:00
David Peter
db66e4459b
Merge pull request #2755 from cyqsimon/syntax-mapping-refactor
More extensible syntax mapping mechanism
2024-01-21 19:43:24 +01:00
cyqsimon
55e02e101d
Apply review suggestions to benchmark script 2024-01-22 00:25:23 +08:00
cyqsimon
230abfd2bc
Merge branch 'master' into syntax-mapping-refactor 2024-01-19 15:18:48 +08:00
cyqsimon
c0f2d6f934
Add note on subdirectory's irrelevance to ordering 2024-01-18 23:26:00 +08:00
cyqsimon
9f36a7a284
Minor codestyle improvements 2024-01-18 23:07:11 +08:00
cyqsimon
e4d637a3d8
Reverse precedence of syntax mappings specified on CLI 2024-01-18 22:41:57 +08:00
rhysd
98a2b6bc17 Update changelog 2024-01-17 22:00:29 +01:00
rhysd
8e66bc8722 Make the error handler FnMut 2024-01-17 22:00:29 +01:00
dependabot[bot]
cd81c7fa6b
Bump assets/syntaxes/02_Extra/SublimeJQ from 6870582 to b7e53e5 (#2820)
* Bump assets/syntaxes/02_Extra/SublimeJQ from `6870582` to `b7e53e5`

Bumps [assets/syntaxes/02_Extra/SublimeJQ](https://github.com/zogwarg/SublimeJQ) from `6870582` to `b7e53e5`.
- [Commits](687058289c...b7e53e5d86)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/SublimeJQ
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* update highlighted version of sample.jq

* update changelog

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Keith Hall <kingkeith+github@gmail.com>
2024-01-03 14:16:33 +00:00
Oliver Looney
b4fdb5dc36
Merge branch 'master' into 2783-setting-terminal-title 2024-01-01 09:45:53 +00:00
dependabot[bot]
c76ed99db2
Bump once_cell from 1.18.0 to 1.19.0 (#2826)
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.18.0 to 1.19.0.
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.18.0...v1.19.0)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-01 04:50:36 +00:00
dependabot[bot]
06aef22943
Bump home from 0.5.5 to 0.5.9 (#2823)
Bumps [home](https://github.com/rust-lang/cargo) from 0.5.5 to 0.5.9.
- [Changelog](https://github.com/rust-lang/cargo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/cargo/commits)

---
updated-dependencies:
- dependency-name: home
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-01 04:37:23 +00:00
dependabot[bot]
128b0d6dd3
Bump thiserror from 1.0.50 to 1.0.53 (#2825)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.50 to 1.0.53.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.50...1.0.53)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-01 04:24:27 +00:00
dependabot[bot]
15dc20109f
Bump clap from 4.4.10 to 4.4.12 (#2824)
Bumps [clap](https://github.com/clap-rs/clap) from 4.4.10 to 4.4.12.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v4.4.10...v4.4.12)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-01 04:10:40 +00:00
dependabot[bot]
5c4bcd6611
Bump anyhow from 1.0.75 to 1.0.78 (#2822)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.75 to 1.0.78.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.75...1.0.78)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-01 03:52:33 +00:00
Keith Hall
ecf4029dc7
Merge pull request #2819 from victor-gp/bump-cmd-help-syntax-b150d84
Bump cmd-help syntax to `b150d84`
2024-01-01 05:22:23 +02:00
Oliver looney
c261b41578
trying to fix failing system_wide_config.rs tests 2023-12-31 22:44:17 +00:00
Oliver Looney
6f1cc80d68
Merge branch 'master' into 2783-setting-terminal-title 2023-12-31 22:25:25 +00:00
Oliver looney
3b0ade9cb8
slightly changed set terminal command to match docs & broke print line into multiple variables 2023-12-31 22:24:44 +00:00
Oliver looney
57016f4e04
small refactoring of set terminal title function 2023-12-31 22:15:00 +00:00
Víctor González Prieto
497342fabb Bump cmd-help syntax to latest
Manual update (as opposed to Dependabot's) because the highlighting for
the test help message has changed. It's all good because it's as
intended, an improvement.

See victor-gp/cmd-help-sublime-syntax#23
2023-12-29 18:15:55 +01:00
David Tolnay
bf56cd90f0 Eliminate dependency on syn v1 by updating git-version 2023-12-29 08:37:11 +01:00
David Tolnay
0acb979e9e Pull in fix for unsafe-libyaml security advisory 2023-12-28 23:01:55 +01:00
Oliver Looney
d7503bfc09
Merge branch 'master' into 2783-setting-terminal-title 2023-12-27 16:14:04 +00:00
Martin Nordholts
b89dc15be1 Use proper Architecture for Debian packages built for musl
New values taken from

    dpkg-architecture -L
2023-12-27 17:03:40 +01:00
cyqsimon
15ab4478c9
Reduce unnecessary build deps 2023-12-22 19:55:49 +08:00
Oliver looney
5b4ce684a1
ran cargo fmt 2023-12-18 17:47:09 +00:00
Oliver looney
0027055a83
fixed system_wide_config.rs tests 2023-12-18 17:44:52 +00:00
Oliver looney
321b3ec81b
updated CHANGELOG.md 2023-12-18 17:38:11 +00:00
Oliver looney
1679460f42
updated CHANGELOG.md 2023-12-18 17:32:08 +00:00
Oliver looney
907af9e35f
updated tests since terminal title is set conditionally 2023-12-18 17:27:51 +00:00
Oliver looney
12b74dfb4e
terminal title is only set when pager is being used 2023-12-18 16:59:12 +00:00
Oliver looney
fd84e4f49f
fixed all but two failing tests. Last two tests are erroring because of IO circle detected error 2023-12-11 19:09:48 +00:00
cyqsimon
f0a6fe216d
Benchmark prototype 2023-12-11 10:38:59 +08:00
cyqsimon
d792dc5804
Move rusty-fork to dev-dependencies 2023-12-11 10:21:07 +08:00
cyqsimon
8a08025091
Disable builtin_mappings_are_lazily_evaluated for ARM builds 2023-12-11 10:21:06 +08:00
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
daf33709a0
Additional sanity check for matcher parser 2023-12-11 10:21:06 +08:00
cyqsimon
36073a3d95
Document another rule ignore condition 2023-12-11 10:21:06 +08:00
cyqsimon
12fa2cb1eb
- is not a legal character in variable name 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
2c9bf229e1
Add doc comment for BUILTIN_MAPPINGS 2023-12-11 10:21:05 +08:00
cyqsimon
822e81bb24
Suppress clippy warning for MappingTarget in build script 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 GlobMatchers 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
0c93ca80f4
Guard against duplicate matchers in build script 2023-12-11 10:21:04 +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
c016b462c0
STATIC_RULES => BUILTIN_MAPPINGS 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
4815b6155e
Write changelog 2023-12-11 10:21:03 +08:00
cyqsimon
075b5b288a
Matcher parser errors when empty 2023-12-11 10:20:12 +08:00
cyqsimon
7cfd1e0d78
Rerun build script only when necessary 2023-12-11 10:20:12 +08:00
cyqsimon
9f7d70f642
Use regex for matcher parsing
- Somewhat better maintainability I think
2023-12-11 10:20:12 +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
9f4259721a
Fix codegen type declaration 2023-12-11 10:20:11 +08:00
cyqsimon
77e491161c
Ensure lexicographical ordering 2023-12-11 10:20:10 +08:00
cyqsimon
97780f987e
MappingDefModel::into_mapping_list returns MappingList 2023-12-11 10:20:10 +08:00
cyqsimon
d1bc0ef0d4
Build script codegen initial impl 2023-12-11 10:20:10 +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
cyqsimon
748e2a681f Add columns=3 to repology badge 2023-12-01 21:39:25 +01:00
Broono Lu
bfa0b5241f
Update Arch Linux package URL in README files (#2779) 2023-12-01 21:26:35 +01:00
Oliver looney
4af4bfc0f1 fixed syntax typo in russian readme 2023-12-01 20:59:52 +01:00
cyqsimon
51203ff750
Use GitHub API to get correct PR submitter (#2791) 2023-12-01 11:18:10 +00:00
dependabot[bot]
96cef9a24e
Bump assets/themes/zenburn from 43dc527 to e627f1c (#2790)
Bumps [assets/themes/zenburn](https://github.com/colinta/zenburn) from `43dc527` to `e627f1c`.
- [Commits](43dc527731...e627f1cb22)

---
updated-dependencies:
- dependency-name: assets/themes/zenburn
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 10:38:36 +00:00
Oliver Kiddle
b43d31b75a Improvements and fixes to zsh completion
* Use correct return status so that approximate completion isn't broken
* Follow zsh conventions on description forms
* Some options can be used multiple times, e.g. -H, -r, --file-name
* Set completion context correctly for the cache subcommand
* Better completion for --map-syntax argument
* Add --nonprintable-notation option
* Correct some of the mutual exclusion lists for options
2023-12-01 11:11:44 +01:00
dependabot[bot]
ad3ff26960
Bump serde from 1.0.190 to 1.0.193 (#2788)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.190 to 1.0.193.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.190...v1.0.193)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 04:15:35 +00:00
dependabot[bot]
86b40993c3
Bump grep-cli from 0.1.9 to 0.1.10 (#2789)
Bumps [grep-cli](https://github.com/BurntSushi/ripgrep) from 0.1.9 to 0.1.10.
- [Release notes](https://github.com/BurntSushi/ripgrep/releases)
- [Changelog](https://github.com/BurntSushi/ripgrep/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BurntSushi/ripgrep/compare/grep-cli-0.1.9...0.1.10)

---
updated-dependencies:
- dependency-name: grep-cli
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 04:01:10 +00:00
dependabot[bot]
31bed250ba
Bump clap from 4.4.6 to 4.4.10 (#2786)
Bumps [clap](https://github.com/clap-rs/clap) from 4.4.6 to 4.4.10.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v4.4.6...v4.4.10)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 03:44:01 +00:00
Cosmic Horror
7658334645 Consider adding ?exclude_unsupported=1 to repology badge 2023-11-10 09:00:28 +01:00
cyqsimon
491ae70aa9 Write changelog 2023-11-06 06:02:59 +01:00
cyqsimon
d64c568196 Allow overriding {WARMUP,RUN}_COUNT using env 2023-11-06 06:02:59 +01:00
cyqsimon
b5982a6174 Allow setting number of runs in run-benchmarks.sh 2023-11-06 06:02:59 +01:00
Maria José Solano
04e7d2a313 fix(completions): add missing fish completions 2023-11-04 08:51:13 +01:00
cyqsimon
bcc2de86b4
CI: add changelog check (#2766)
* Added changelog item check

Fetch the base branch and diff correctly

- See: https://github.com/actions/checkout/issues/160

Improve organisation

Add some echo for easier debugging

Fix bad variable syntax

Clarify the double-print in the success case

* Write to changelog

* Don't block dependabot PRs
2023-11-03 08:53:29 +01:00
cyqsimon
1296aea836 Write changelog for #2756
- I always forget to write changelog.
2023-11-03 06:25:18 +01:00
cyqsimon
5498c24c33 Rerun build script only when necessary 2023-11-02 17:54:57 +01:00
cyqsimon
79a03b4299 Reorganise build script into modules 2023-11-02 17:54:57 +01:00
cyqsimon
f3a5e9a73c Use implicit format string capture syntax 2023-11-02 17:54:57 +01:00
cyqsimon
2710a19ecb Immutably construct variables map 2023-11-02 17:54:57 +01:00
cyqsimon
6d0ef259f6 Read env in build script at runtime 2023-11-02 17:54:57 +01:00
cyqsimon
b1577cc083 Reorganise functions in build script 2023-11-02 17:54:57 +01:00
cyqsimon
28d947fd8b Use anyhow in build script 2023-11-02 17:54:57 +01:00
cyqsimon
b000db8f32 Remove old completion generation code 2023-11-02 17:54:57 +01:00
dependabot[bot]
116a6cc9a8
Bump thiserror from 1.0.49 to 1.0.50 (#2758)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.49 to 1.0.50.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.49...1.0.50)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 04:58:49 +00:00
dependabot[bot]
c8291a36b7
Bump serde from 1.0.189 to 1.0.190 (#2760)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.189 to 1.0.190.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.189...v1.0.190)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 04:39:45 +00:00
dependabot[bot]
8180c76890
Bump plist from 1.5.0 to 1.5.1 (#2759)
Bumps [plist](https://github.com/ebarnard/rust-plist) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/ebarnard/rust-plist/releases)
- [Commits](https://github.com/ebarnard/rust-plist/compare/v1.5.0...v1.5.1)

---
updated-dependencies:
- dependency-name: plist
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 04:20:25 +00:00
dependabot[bot]
a0f33b1cdc
Bump globset from 0.4.10 to 0.4.13 (#2761)
Bumps [globset](https://github.com/BurntSushi/ripgrep) from 0.4.10 to 0.4.13.
- [Release notes](https://github.com/BurntSushi/ripgrep/releases)
- [Changelog](https://github.com/BurntSushi/ripgrep/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BurntSushi/ripgrep/compare/globset-0.4.10...globset-0.4.13)

---
updated-dependencies:
- dependency-name: globset
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 03:53:53 +00:00
dependabot[bot]
8b60dae81c
Bump tempfile from 3.8.0 to 3.8.1 (#2757)
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.8.0 to 3.8.1.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/commits)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 03:26:48 +00:00
cyqsimon
4b33093f9e
Bump edition to 2021 (#2748) 2023-10-31 04:54:06 +01:00
einfachIrgendwer0815
3d87b25b19
Add unicode/caret replacements for all control characters (#2712) 2023-10-20 19:41:48 +02:00
dependabot[bot]
f2f6902279
Bump syntect from 5.0.0 to 5.1.0 (#2742)
Bumps [syntect](https://github.com/trishume/syntect) from 5.0.0 to 5.1.0.
- [Release notes](https://github.com/trishume/syntect/releases)
- [Changelog](https://github.com/trishume/syntect/blob/master/CHANGELOG.md)
- [Commits](https://github.com/trishume/syntect/compare/v5.0.0...v5.1.0)

---
updated-dependencies:
- dependency-name: syntect
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 06:43:09 +00:00
dependabot[bot]
c0b17e73e1
Bump assert_cmd from 2.0.10 to 2.0.12 (#2741)
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 2.0.10 to 2.0.12.
- [Changelog](https://github.com/assert-rs/assert_cmd/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/assert_cmd/compare/v2.0.10...v2.0.12)

---
updated-dependencies:
- dependency-name: assert_cmd
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 06:21:55 +00:00
dependabot[bot]
94544d963b
Bump console from 0.15.5 to 0.15.7 (#2743)
Bumps [console](https://github.com/console-rs/console) from 0.15.5 to 0.15.7.
- [Changelog](https://github.com/console-rs/console/blob/master/CHANGELOG.md)
- [Commits](https://github.com/console-rs/console/compare/0.15.5...0.15.7)

---
updated-dependencies:
- dependency-name: console
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 05:54:24 +00:00
dependabot[bot]
72abbd22de
Bump regex from 1.9.4 to 1.10.2 (#2740)
Bumps [regex](https://github.com/rust-lang/regex) from 1.9.4 to 1.10.2.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.9.4...1.10.2)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 05:26:40 +00:00
dependabot[bot]
64e10ffb21
Bump semver from 1.0.17 to 1.0.20 (#2739)
Bumps [semver](https://github.com/dtolnay/semver) from 1.0.17 to 1.0.20.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.17...1.0.20)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 05:01:07 +00:00
Martin Nordholts
35d8146bba Revert "Temporarily change dependabot to daily"
This reverts commit 86ac48d68efbc63ad4f1abe769e88ef55a96a42a.
2023-10-19 06:33:48 +02:00
Martin Nordholts
a5a7ede698 release-checklist.md: Adapt to new auto-merge workflow 2023-10-18 21:33:44 +02:00
dependabot[bot]
b551049706
Bump nix from 0.26.2 to 0.26.4 (#2736)
Bumps [nix](https://github.com/nix-rust/nix) from 0.26.2 to 0.26.4.
- [Changelog](https://github.com/nix-rust/nix/blob/v0.26.4/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.26.2...v0.26.4)

---
updated-dependencies:
- dependency-name: nix
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-18 16:48:05 +00:00
dependabot[bot]
99cfc13eab
Bump serde from 1.0.163 to 1.0.189 (#2735)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.163 to 1.0.189.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.163...v1.0.189)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-18 16:28:33 +00:00
dependabot[bot]
4b0b5afa13
Bump wild from 2.1.0 to 2.2.0 (#2734)
Bumps [wild](https://gitlab.com/kornelski/wild) from 2.1.0 to 2.2.0.
- [Commits](https://gitlab.com/kornelski/wild/compare/v2.1.0...v2.2.0)

---
updated-dependencies:
- dependency-name: wild
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-18 16:06:35 +00:00
dependabot[bot]
d343428441
Bump run_script from 0.10.0 to 0.10.1 (#2737)
Bumps [run_script](https://github.com/sagiegurari/run_script) from 0.10.0 to 0.10.1.
- [Release notes](https://github.com/sagiegurari/run_script/releases)
- [Changelog](https://github.com/sagiegurari/run_script/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sagiegurari/run_script/compare/0.10.0...0.10.1)

---
updated-dependencies:
- dependency-name: run_script
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-18 15:43:17 +00:00
dependabot[bot]
16e409ec87
Bump walkdir from 2.3.3 to 2.4.0 (#2733)
Bumps [walkdir](https://github.com/BurntSushi/walkdir) from 2.3.3 to 2.4.0.
- [Commits](https://github.com/BurntSushi/walkdir/compare/2.3.3...2.4.0)

---
updated-dependencies:
- dependency-name: walkdir
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-18 15:11:17 +00:00
dependabot[bot]
94d059f258
Bump ansi_colours from 1.2.1 to 1.2.2 (#2729)
Bumps [ansi_colours](https://github.com/mina86/ansi_colours) from 1.2.1 to 1.2.2.
- [Commits](https://github.com/mina86/ansi_colours/compare/v1.2.1...v1.2.2)

---
updated-dependencies:
- dependency-name: ansi_colours
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 16:07:49 +00:00
dependabot[bot]
c8b9de889d
Bump thiserror from 1.0.40 to 1.0.49 (#2730)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.40 to 1.0.49.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.40...1.0.49)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 15:42:03 +00:00
dependabot[bot]
75340d54f9
Bump flate2 from 1.0.27 to 1.0.28 (#2727)
Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.0.27 to 1.0.28.
- [Release notes](https://github.com/rust-lang/flate2-rs/releases)
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.0.27...1.0.28)

---
updated-dependencies:
- dependency-name: flate2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 15:17:31 +00:00
dependabot[bot]
b28383e0fa
Bump regex from 1.8.3 to 1.9.4 (#2726)
Bumps [regex](https://github.com/rust-lang/regex) from 1.8.3 to 1.9.4.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.8.3...1.9.4)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 14:50:40 +00:00
dependabot[bot]
8e866db281
Bump actions/checkout from 3 to 4 (#2719)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 14:13:22 +00:00
dependabot[bot]
0eb157e090
Bump unicode-width from 0.1.10 to 0.1.11 (#2716)
Bumps [unicode-width](https://github.com/unicode-rs/unicode-width) from 0.1.10 to 0.1.11.
- [Commits](https://github.com/unicode-rs/unicode-width/compare/v0.1.10...v0.1.11)

---
updated-dependencies:
- dependency-name: unicode-width
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 06:48:32 +00:00
dependabot[bot]
85636c28bc
Bump predicates from 3.0.3 to 3.0.4 (#2717)
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 3.0.3 to 3.0.4.
- [Changelog](https://github.com/assert-rs/predicates-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/predicates-rs/compare/v3.0.3...v3.0.4)

---
updated-dependencies:
- dependency-name: predicates
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 06:31:56 +00:00
dependabot[bot]
a70e5c6c65
Bump os_str_bytes from 6.4.1 to 6.6.1 (#2720)
Bumps [os_str_bytes](https://github.com/dylni/os_str_bytes) from 6.4.1 to 6.6.1.
- [Release notes](https://github.com/dylni/os_str_bytes/releases)
- [Commits](https://github.com/dylni/os_str_bytes/compare/6.4.1...6.6.1)

---
updated-dependencies:
- dependency-name: os_str_bytes
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 06:12:48 +00:00
dependabot[bot]
32e01f740b
Bump plist from 1.4.3 to 1.5.0 (#2718)
Bumps [plist](https://github.com/ebarnard/rust-plist) from 1.4.3 to 1.5.0.
- [Release notes](https://github.com/ebarnard/rust-plist/releases)
- [Commits](https://github.com/ebarnard/rust-plist/compare/v1.4.3...v1.5.0)

---
updated-dependencies:
- dependency-name: plist
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 05:50:47 +00:00
dependabot[bot]
7b20f8fc7b
Bump git2 from 0.18.0 to 0.18.1 (#2715)
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.18.0 to 0.18.1.
- [Changelog](https://github.com/rust-lang/git2-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/git2-rs/compare/git2-0.18.0...git2-0.18.1)

---
updated-dependencies:
- dependency-name: git2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 05:00:01 +00:00
Martin Nordholts
86ac48d68e Temporarily change dependabot to daily
So we can more easily test that auto-merge works as it should. Once we
have confirmed it does, we revert this commit.
2023-10-17 06:36:36 +02:00
Martin Nordholts
c42fc810ea Setup auto-merge of dependabot PRs that pass CI 2023-10-17 06:18:51 +02:00
Martin Nordholts
6baebd79fa Add test for what jobs 'all-jobs' references 2023-10-13 05:24:25 +02:00
Martin Nordholts
c6cae09f99 CHANGELOG.md: Add new unreleased section 2023-10-11 20:43:52 +02:00
Martin Nordholts
fc9546854f Bump version to v0.24.0
We need to bump 0.x.0 because the library API changed in incompatible
ways:

    $ cargo public-api diff
    Resolved `diff` to `diff 0.23.0`
    Removed items from the public API
    =================================
    (none)

    Changed items in the public API
    ===============================
    -pub fn bat::controller::Controller<'b>::run(&self, inputs: alloc::vec::Vec<bat::input::Input<'_>>) -> bat::error::Result<bool>
    +pub fn bat::controller::Controller<'b>::run(&self, inputs: alloc::vec::Vec<bat::input::Input<'_>>, output_buffer: core::option::Option<&mut dyn core::fmt::Write>) -> bat::error::Result<bool>
    -pub fn bat::controller::Controller<'b>::run_with_error_handler(&self, inputs: alloc::vec::Vec<bat::input::Input<'_>>, handle_error: impl core::ops::function::Fn(&bat::error::Error, &mut dyn std::io::Write)) -> bat::error::Result<bool>
    +pub fn bat::controller::Controller<'b>::run_with_error_handler(&self, inputs: alloc::vec::Vec<bat::input::Input<'_>>, output_buffer: core::option::Option<&mut dyn core::fmt::Write>, handle_error: impl core::ops::function::Fn(&bat::error::Error, &mut dyn std::io::Write)) -> bat::error::Result<bool>

    Added items to the public API
    =============================
    [...]
2023-10-11 19:14:12 +02:00
Martin Nordholts
32da58e723 Update CHANGELOG.md for v0.24.0 2023-10-10 16:50:20 +02:00
Mészáros Máté Róbert
63aaa03013
Update the ssh-config submodule (#2697)
* Update the ssh-config submodule

Pull in the fix for the syntax.
Fixes #2359

* Extend the ssh_config syntax test
2023-10-10 06:16:41 +02:00
David Peter
fbe9b6f15f
New warp text/subtext 2023-10-06 09:14:08 +02:00
David Peter
c946ddb012 Replace warp logo 2023-10-06 09:11:06 +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
4382be5e7c docs: update CHANGELOG.md 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
Raghav-Bell
8e35a56712 Updated version of serde_yaml to 0.9 2023-10-04 12:42:01 +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
dependabot[bot]
721f956c1c Bump once_cell from 1.17.0 to 1.18.0
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.17.0 to 1.18.0.
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.17.0...v1.18.0)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-04 09:29:33 +02:00
dependabot[bot]
db4cdc1cb8 Bump clap from 4.4.2 to 4.4.6
Bumps [clap](https://github.com/clap-rs/clap) from 4.4.2 to 4.4.6.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.4.2...v4.4.6)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-04 09:29:26 +02:00
dependabot[bot]
e455f93a1e Bump encoding_rs from 0.8.32 to 0.8.33
Bumps [encoding_rs](https://github.com/hsivonen/encoding_rs) from 0.8.32 to 0.8.33.
- [Commits](https://github.com/hsivonen/encoding_rs/compare/v0.8.32...v0.8.33)

---
updated-dependencies:
- dependency-name: encoding_rs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-04 09:29:16 +02:00
rhysd
d756d6f1ed Fix syntax tests failure on macOS during the daytime 2023-10-04 09:28:34 +02:00
rhysd
6568fb775d Explain how to convert .tmLanguage.json and .tmLanguage.yml files in doc/assets.md 2023-10-04 09:09:54 +02:00
rhysd
d376a4b631 Add support for WGSL 2023-10-04 09:09:54 +02:00
dependabot[bot]
6e5fd36882 Bump flate2 from 1.0.26 to 1.0.27
Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.0.26 to 1.0.27.
- [Release notes](https://github.com/rust-lang/flate2-rs/releases)
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.0.26...1.0.27)

---
updated-dependencies:
- dependency-name: flate2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-04 09:04:23 +02:00
dependabot[bot]
c7cc4b5c59 Bump bytesize from 1.2.0 to 1.3.0
Bumps [bytesize](https://github.com/hyunsik/bytesize) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/hyunsik/bytesize/releases)
- [Commits](https://github.com/hyunsik/bytesize/compare/v1.2.0...v1.3.0)

---
updated-dependencies:
- dependency-name: bytesize
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-04 09:04:09 +02:00
dependabot[bot]
db76091a53 Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-04 08:59:52 +02:00
David Peter
506fe65474 Add Warp as a sponsor 2023-10-03 20:04:26 +02:00
Connor Sullivan
69c326fd41 Prefer shorter winget install 2023-09-30 00:14:59 +02:00
Connor Sullivan
466b275e87 [docs] Remove duplicate winget
Removes duplicate winget instructions for Windows install.
2023-09-30 00:14:59 +02:00
Dan Gohman
319c675f3e Fix a double-close in the no_args_doesnt_break test.
Fix the `no_args_doesnt_break` test to avoid calling `from_raw_fd` twice
on the same raw file descriptor, as that cause the file descriptor to be
closed twice, which means it could accidentally close some unrelated newly
created file descriptor.
2023-09-29 18:27:27 +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
fe73010a5e ignore failing test 2023-09-08 06:25:20 +02:00
Anomalocaridid
150c04acb6 update CHANGELOG.md 2023-09-08 06:25:20 +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
Boy van Duuren
d6e11b59e7
#2592: Fixes unit tests dependent on echo on windows (#2602)
Co-authored-by: Boy van Duuren <boy.van.duuren@rabobank.nl>
2023-09-08 06:18:25 +02:00
Martin Nordholts
f49278cfaa Do not enable lessopen feature by default 2023-09-05 16:37:14 +02:00
pseudometa
9b73eda957 docs: add global --help alias limitations 2023-09-02 14:54:55 +02:00
pseudometa
ed99a3a104 docs: Add better snippet for colorizing help pages 2023-09-02 14:54:55 +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
33a89410d4 Add example to show new feature 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
David Peter
d295b3a394
Merge pull request #2613 from sharkdp/dependabot/cargo/expect-test-1.4.1
Bump expect-test from 1.4.0 to 1.4.1
2023-09-01 20:09:30 +02:00
David Peter
81a217b1f3
Merge pull request #2519 from sitiom/winget-releaser
Add Winget Releaser workflow
2023-09-01 20:01:02 +02:00
dependabot[bot]
bb17f74757 Bump assets/syntaxes/02_Extra/Docker from 9e9a518 to 0f6b7bc
Bumps [assets/syntaxes/02_Extra/Docker](https://github.com/asbjornenge/Docker.tmbundle) from `9e9a518` to `0f6b7bc`.
- [Release notes](https://github.com/asbjornenge/Docker.tmbundle/releases)
- [Commits](9e9a518aed...0f6b7bc87a)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/Docker
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-01 19:34:48 +02:00
dependabot[bot]
75928d20f8 Bump nu-ansi-term from 0.47.0 to 0.49.0
Bumps [nu-ansi-term](https://github.com/nushell/nu-ansi-term) from 0.47.0 to 0.49.0.
- [Release notes](https://github.com/nushell/nu-ansi-term/releases)
- [Changelog](https://github.com/nushell/nu-ansi-term/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nushell/nu-ansi-term/compare/v0.47.0...v0.49.0)

---
updated-dependencies:
- dependency-name: nu-ansi-term
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-01 19:32:30 +02:00
dependabot[bot]
2cc45eea1a Bump clap from 4.3.0 to 4.4.2
Bumps [clap](https://github.com/clap-rs/clap) from 4.3.0 to 4.4.2.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.3.0...v4.4.2)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-01 19:32:16 +02:00
dependabot[bot]
7dbc6e3da4 Bump tempfile from 3.5.0 to 3.8.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.5.0 to 3.8.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.5.0...v3.8.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-01 19:31:59 +02:00
dependabot[bot]
f34b852aa8 Bump git2 from 0.16.1 to 0.18.0
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.16.1 to 0.18.0.
- [Changelog](https://github.com/rust-lang/git2-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/git2-rs/compare/0.16.1...git2-0.18.0)

---
updated-dependencies:
- dependency-name: git2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-01 18:01:55 +02:00
einfachIrgendwer0815
4b04f901fe Add test for BAT_PAGING 2023-09-01 17:59:41 +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
Maros Kukan
5687af8bc7 feat: describe WinGet method for Windows install 2023-09-01 17:53:26 +02:00
nazar
0f5f51f9ba Fixed RU readme typos 2023-09-01 17:51:30 +02:00
Jan T. Sott
32c0e1fb45 update highlighted test file 2023-09-01 17:50:30 +02:00
Jan T. Sott
34440f1b0c update highlighted test file 2023-09-01 17:50:30 +02:00
Jan T. Sott
f1d6cc7a64 add test files for NSIS syntax 2023-09-01 17:50:30 +02:00
Jan T. Sott
628ba5d31f add NSIS support 2023-09-01 17:50:30 +02:00
dependabot[bot]
e24150ca3f Bump assets/syntaxes/02_Extra/Julia from 4fde0fd to 98233f9
Bumps [assets/syntaxes/02_Extra/Julia](https://github.com/JuliaEditorSupport/Julia-sublime) from `4fde0fd` to `98233f9`.
- [Release notes](https://github.com/JuliaEditorSupport/Julia-sublime/releases)
- [Commits](4fde0fdedd...98233f96d4)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/Julia
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-01 17:48:06 +02:00
WinterCore
d580445aef fix: Add syntax mapping jsonl => json 2023-09-01 17:45:41 +02:00
Martin Nordholts
48dc2b0d90 CICD: Add all-jobs job
This opens up future possibilities:
* GitHub's auto-merge feature that merges a PR once CI passes
* Auto-merge of dependabot PRs that pass CI

But before we do any of that we need to have this new job active for a
while to see that it works.
2023-09-01 17:42:14 +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
Keith Hall
00b7e3b864
Merge pull request #2639 from johnmatthiggins/doc_fix
fix for issue #2095
2023-08-09 17:38:15 +03:00
John Higgins
7826e506f8
Merge branch 'master' into doc_fix 2023-08-02 09:00:29 -07:00
David Peter
6dd8b28b0d
Merge pull request #2638 from johnmatthiggins/master
fix for issue #2633
2023-08-02 15:24:02 +02:00
John Higgins
b720af8a06
fix for issue #2095 2023-08-02 00:28:26 -07:00
John Higgins
b1fbcc8a6e
fix for issue #2633 2023-08-02 00:04:55 -07:00
Martin Nordholts
9bf74d687f Cargo.lock: Bump proc-macro2 to fix build with Rust nightly
Without fix:

    $ cargo +nightly build
       Compiling proc-macro2 v1.0.54
    error[E0635]: unknown feature `proc_macro_span_shrink`
      --> /home/martin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.54/src/lib.rs:92:30
       |
    92 |     feature(proc_macro_span, proc_macro_span_shrink)
       |                              ^^^^^^^^^^^^^^^^^^^^^^

    For more information about this error, try `rustc --explain E0635`.
    error: could not compile `proc-macro2` (lib) due to previous error
2023-07-27 07:08:38 +02:00
Keith Hall
783d4877e1
Merge pull request #2615 from einfachIrgendwer0815/feature_containerfile_mapping
Add `Containerfile` syntax mapping
2023-07-14 19:56:49 +03:00
einfachIrgendwer0815
8b187e6997
Update CHANGELOG 2023-07-02 13:55:54 +02:00
einfachIrgendwer0815
c46c53320b
Add Containerfile syntax mapping 2023-07-02 13:50:37 +02:00
dependabot[bot]
7f884fa582
Bump expect-test from 1.4.0 to 1.4.1
Bumps [expect-test](https://github.com/rust-analyzer/expect-test) from 1.4.0 to 1.4.1.
- [Changelog](https://github.com/rust-analyzer/expect-test/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-analyzer/expect-test/compare/v1.4.0...v1.4.1)

---
updated-dependencies:
- dependency-name: expect-test
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-01 02:58:07 +00:00
David Peter
8676bbf97f Update clircle
See https://github.com/niklasmohrin/clircle/issues/10
2023-06-14 20:14:11 +02:00
sitiom
77069b368c
Update CICD.yml 2023-06-07 17:30:10 +08:00
David Peter
70e49bd32b
Merge pull request #2587 from cyqsimon/os-release
Add `os-release` syntax mapping
2023-06-03 23:29:09 +02:00
dependabot[bot]
5042f969e5 Bump clap from 4.2.6 to 4.3.0
Bumps [clap](https://github.com/clap-rs/clap) from 4.2.6 to 4.3.0.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v4.2.6...clap_complete-v4.3.0)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-03 09:30:39 +02:00
dependabot[bot]
876f5d4113 Bump serde from 1.0.160 to 1.0.163
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.160 to 1.0.163.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.160...v1.0.163)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-02 05:49:14 +02:00
dependabot[bot]
39d9d64e1e Bump regex from 1.8.1 to 1.8.3
Bumps [regex](https://github.com/rust-lang/regex) from 1.8.1 to 1.8.3.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.8.1...1.8.3)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-01 20:43:59 +02:00
cyqsimon
8e866babfc
Write changelog 2023-06-01 13:25:02 +08:00
cyqsimon
f8c700027e
Add os-release syntax mapping 2023-06-01 13:17:22 +08:00
Martin Nordholts
7639e8b406 CICD.yml: Run cargo audit
This CI check will fail if there are crates with known security vulnerabilities in Cargo.lock.

It will not fail because of warnings. We currently have two warnings.

Note that cargo-audit is installed by default on GitHub's Ubuntu
runners.
2023-05-24 05:43:36 +02:00
Nigecat
149dec6953 Fix paging not happening when stdout is interactive but stdin is not 2023-05-22 05:42:01 +02:00
lesleyrs
b420c42aff update readme 2023-05-17 06:25:20 +02:00
lesleyrs
3da7adb763 update readme 2023-05-17 06:25:20 +02:00
dependabot[bot]
165e5da6b9 Bump semver from 1.0.16 to 1.0.17
Bumps [semver](https://github.com/dtolnay/semver) from 1.0.16 to 1.0.17.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.16...1.0.17)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-13 07:29:48 +02:00
dependabot[bot]
c5a9fdff93 Bump regex from 1.7.0 to 1.8.1
Bumps [regex](https://github.com/rust-lang/regex) from 1.7.0 to 1.8.1.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.7.0...1.8.1)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-12 19:19:19 +02:00
dependabot[bot]
8aac5acc0a Bump serde from 1.0.159 to 1.0.160
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.159 to 1.0.160.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.159...v1.0.160)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-12 07:02:58 +02:00
dependabot[bot]
7162e38d50 Bump predicates from 3.0.2 to 3.0.3
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/assert-rs/predicates-rs/releases)
- [Changelog](https://github.com/assert-rs/predicates-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/predicates-rs/compare/v3.0.2...v3.0.3)

---
updated-dependencies:
- dependency-name: predicates
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-12 06:31:39 +02:00
dependabot[bot]
63ac60a3a0 Bump flate2 from 1.0.25 to 1.0.26
Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.0.25 to 1.0.26.
- [Release notes](https://github.com/rust-lang/flate2-rs/releases)
- [Commits](https://github.com/rust-lang/flate2-rs/commits)

---
updated-dependencies:
- dependency-name: flate2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-12 06:30:57 +02:00
Constantin Nickel
9683bfdb3f Update clap to 4.2.6 2023-05-12 06:01:47 +02:00
Adrián Bíro
e155f56484 Clean-up bash comletion
"cword" is unset and even is not used in completion for other shells, so it probably shouldn't be here either. If it for some reason should be there add the directive "# shellcheck disable=SC2034" to the line above it.
2023-05-12 05:59:36 +02:00
Constantin Nickel
e828d7840a Use valid SPDX license expression 2023-04-14 06:38:03 +02:00
Constantin Nickel
52f7a5a06f Update plist to 1.4
The version replaced `xml-rs` with the `quick-xml` crate.
That makes -1 warning for an unmaintained crate from `cargo audit`.
2023-04-14 06:37:45 +02:00
Constantin Nickel
baa1476d8d Update predicates to 3.0
This also updates `assert_cmd` to 2.0.10 to avoid duplicate dependencies
because it depends on the new major version since 2.0.9.
2023-04-14 06:37:32 +02:00
Constantin Nickel
6be56972b6 Update serial_test to 2.0 2023-04-14 06:37:32 +02:00
dependabot[bot]
08445eba91 Bump serde from 1.0.152 to 1.0.159
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.152 to 1.0.159.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.152...v1.0.159)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-06 19:06:07 +02:00
dependabot[bot]
2298422e85 Bump bytesize from 1.1.0 to 1.2.0
Bumps [bytesize](https://github.com/hyunsik/bytesize) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/hyunsik/bytesize/releases)
- [Commits](https://github.com/hyunsik/bytesize/compare/v1.1.0...v1.2.0)

---
updated-dependencies:
- dependency-name: bytesize
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-06 19:05:53 +02:00
David Peter
c5731b9079
Merge pull request #2530 from nickelc/deps/use_is_terminal
Use the `is-terminal` crate instead of `atty`
2023-04-05 21:00:18 +02:00
dependabot[bot]
458e818ab4 Bump walkdir from 2.3.2 to 2.3.3
Bumps [walkdir](https://github.com/BurntSushi/walkdir) from 2.3.2 to 2.3.3.
- [Release notes](https://github.com/BurntSushi/walkdir/releases)
- [Commits](https://github.com/BurntSushi/walkdir/compare/2.3.2...2.3.3)

---
updated-dependencies:
- dependency-name: walkdir
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-05 20:42:34 +02:00
dependabot[bot]
993b33b5b4 Bump thiserror from 1.0.38 to 1.0.40
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.38 to 1.0.40.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.38...1.0.40)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-05 20:41:49 +02:00
dependabot[bot]
ba95955fe6 Bump tempfile from 3.3.0 to 3.5.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.3.0 to 3.5.0.
- [Release notes](https://github.com/Stebalien/tempfile/releases)
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/NEWS)
- [Commits](https://github.com/Stebalien/tempfile/commits)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-05 20:41:30 +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
sitiom
60a9ac041f
Add Winget installation method in the readme 2023-03-30 13:41:11 +08:00
Ryan Caezar Itang
33997106da
Add Winget Releaser workflow 2023-03-28 08:32:51 +08:00
David Peter
1b2c69aee8
Merge pull request #2516 from sharkdp/big-ci-sync
CI improvements
2023-03-25 21:49:50 +01:00
David Peter
87e87a349a Extract crate metadata with cargo 2023-03-25 14:47:31 +01:00
David Peter
e49235e119 Minor CI improvements 2023-03-25 13:44:00 +01:00
David Peter
1712ec9e73
Merge pull request #2515 from tranzystorek-io/custom-asset-gen-dir
Allow customizing output directory for generated assets
2023-03-25 13:18:02 +01:00
Marcin Puc
3ca8c43a67 Update CHANGELOG.md 2023-03-25 11:56:40 +01:00
Marcin Puc
01f1b1efe8 Allow customizing output directory for generated assets 2023-03-25 11:47:20 +01:00
David Peter
c7905a6029 Minor fix in man page 2023-03-25 10:36:14 +01:00
David Peter
d27aaffead New empty CHANGELOG section 2023-03-25 10:33:49 +01:00
David Peter
871abd27aa Update man page regarding --nonprintable-notation 2023-03-25 10:31:31 +01:00
David Peter
3c2ee04b9c
Merge pull request #2514 from sharkdp/bat-0.23
Updates for bat 0.23
2023-03-25 10:21:55 +01:00
David Peter
949f207275 Update binary assets 2023-03-25 10:04:59 +01:00
David Peter
58dbbd1cd4 Bump version to 0.23 2023-03-25 09:46:42 +01:00
David Peter
2042eace2a release checklist: fix command to find MSRV 2023-03-25 09:46:25 +01:00
David Peter
a113b0df12
Merge pull request #2406 from cstyles/make-header-an-alias-for-header_filename
Make `PrettyPrinter::header` an alias for `header_filename`
2023-03-24 23:02:07 +01:00
Collin Styles
ad3586f58a Update CHANGELOG.md 2023-03-24 22:33:43 +01:00
Collin Styles
7929179a74 Make PrettyPrinter::header an alias for header_filename
Fixes #2378
2023-03-24 22:33:43 +01:00
David Peter
a422fea06d
Merge pull request #2506 from nickelc/ci-strip
Use cargo's `strip` option to remove symbols+debuginfo from the binaries
2023-03-24 22:11:56 +01:00
David Peter
4e491c4594
Merge pull request #2509 from sharkdp/crontab
Add crontab syntax
2023-03-24 22:09:32 +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
David Peter
4d9aaece09
Merge pull request #2511 from nickelc/nu-ansi-term
Use `nu-ansi-term` instead of `ansi_term`
2023-03-24 22:05:41 +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
Keith Hall
b65a02681a Add crontab syntax 2023-03-17 22:48:12 +02:00
Constantin Nickel
89c5683f8d Use cargo's strip option to remove symbols+debuginfo from the binaries 2023-03-16 16:34:44 +01:00
David Peter
d20405b975
Merge pull request #2505 from nickelc/ci-msrv
Fix `jq` expression for retrieving `rust-version` in MSRV build job
2023-03-16 09:07:51 +01:00
Constantin Nickel
52f6239d28 Fix jq expression for retrieving rust-version in MSRV build job 2023-03-15 23:36:22 +01:00
David Peter
6428125827
Merge pull request #2504 from nickelc/deps/clap
Update `clap` to 4.1.8
2023-03-15 22:39:03 +01:00
Constantin Nickel
c094cd3ee5 Update clap to 4.1.8
This requires bumping the MSRV to 1.64.

It also updates the `terminal_size` crate that is pulled in by `clap` to
reduce duplicate dependencies.
2023-03-15 08:52:31 +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
David Peter
12f2b7281b
Merge pull request #2503 from nickelc/msrv
Set `rust-version` in Cargo metadata and use it in the MSRV build job
2023-03-15 08:36:17 +01:00
Constantin Nickel
40abebff8e Get the MSRV for the build job from the package metadata
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2023-03-15 06:55:19 +01:00
Constantin Nickel
22cc6ffb5a Set rust-version in Cargo metadata
It limits clippy to only warn about lints that are compatible with the
current MSRV.
2023-03-14 22:41:23 +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
David Peter
c5602f9766
Merge pull request #2501 from nickelc/ci-actions
Replace unmaintained GitHub Actions
2023-03-14 19:46:10 +01:00
Constantin Nickel
3c59a4203c Replace deprecated set-output GitHub workflow command
The command is deprecated since Oct. 22 and is replaced by writing the
output variables into a file.

```
echo "NAME=${value}" >> $GITHUB_OUTPUT
```
2023-03-14 17:48:07 +01:00
Constantin Nickel
f0fe88a732 Replace unmaintained GitHub Actions
The unmaintained `actions-rs/*` actions are replaced with `dtolnay/rust-toolchain`,
`taiki-e/install-action` and plain cargo commands.
2023-03-14 17:47:54 +01:00
Keith Hall
5e77ca37e8 More consistent scoping in commands section in Manpages 2023-03-04 16:51:39 +01:00
dependabot[bot]
2ac584dd72 Bump grep-cli from 0.1.6 to 0.1.7
Bumps [grep-cli](https://github.com/BurntSushi/ripgrep) from 0.1.6 to 0.1.7.
- [Release notes](https://github.com/BurntSushi/ripgrep/releases)
- [Changelog](https://github.com/BurntSushi/ripgrep/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BurntSushi/ripgrep/compare/grep-cli-0.1.6...0.1.7)

---
updated-dependencies:
- dependency-name: grep-cli
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-04 16:24:15 +01:00
dependabot[bot]
a967b88882 Bump ansi_colours from 1.1.1 to 1.2.1
Bumps [ansi_colours](https://github.com/mina86/ansi_colours) from 1.1.1 to 1.2.1.
- [Release notes](https://github.com/mina86/ansi_colours/releases)
- [Commits](https://github.com/mina86/ansi_colours/commits)

---
updated-dependencies:
- dependency-name: ansi_colours
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-04 16:16:55 +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
David Peter
e3d8b56c8f
Merge pull request #2492 from sharkdp/dependabot/cargo/clap-4.0.32
Bump clap from 4.0.18 to 4.0.32
2023-03-01 08:45:48 +01:00
David Peter
e142ea38e3
Merge pull request #2493 from sharkdp/dependabot/cargo/globset-0.4.10
Bump globset from 0.4.9 to 0.4.10
2023-03-01 08:44:30 +01:00
David Peter
4ab2af3870
Merge pull request #2490 from sharkdp/dependabot/cargo/git2-0.16.1
Bump git2 from 0.15.0 to 0.16.1
2023-03-01 08:44:09 +01:00
David Peter
fed4dafb71
Merge pull request #2491 from sharkdp/dependabot/submodules/assets/syntaxes/02_Extra/MediaWiki-5dceaa9
Bump assets/syntaxes/02_Extra/MediaWiki from `81bf97c` to `5dceaa9`
2023-03-01 08:43:18 +01:00
David Peter
f177f7ce6f
Merge pull request #2489 from sharkdp/dependabot/submodules/assets/syntaxes/02_Extra/CMake-eb40ede
Bump assets/syntaxes/02_Extra/CMake from `ab6ef4e` to `eb40ede`
2023-03-01 08:43:08 +01:00
dependabot[bot]
7049932542
Bump globset from 0.4.9 to 0.4.10
Bumps [globset](https://github.com/BurntSushi/ripgrep) from 0.4.9 to 0.4.10.
- [Release notes](https://github.com/BurntSushi/ripgrep/releases)
- [Changelog](https://github.com/BurntSushi/ripgrep/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BurntSushi/ripgrep/compare/globset-0.4.9...ignore-0.4.10)

---
updated-dependencies:
- dependency-name: globset
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 03:57:53 +00:00
dependabot[bot]
47ab4fa988
Bump clap from 4.0.18 to 4.0.32
Bumps [clap](https://github.com/clap-rs/clap) from 4.0.18 to 4.0.32.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v4.0.18...v4.0.32)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 03:57:46 +00:00
dependabot[bot]
d440cae3ec
Bump assets/syntaxes/02_Extra/MediaWiki from 81bf97c to 5dceaa9
Bumps [assets/syntaxes/02_Extra/MediaWiki](https://github.com/tosher/Mediawiker) from `81bf97c` to `5dceaa9`.
- [Release notes](https://github.com/tosher/Mediawiker/releases)
- [Commits](81bf97cace...5dceaa9dd9)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/MediaWiki
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 03:57:38 +00:00
dependabot[bot]
bc714dd7a2
Bump git2 from 0.15.0 to 0.16.1
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.15.0 to 0.16.1.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Changelog](https://github.com/rust-lang/git2-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/git2-rs/compare/git2-curl-0.15.0...0.16.1)

---
updated-dependencies:
- dependency-name: git2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 03:57:37 +00:00
dependabot[bot]
c4ad9ad25e
Bump assets/syntaxes/02_Extra/CMake from ab6ef4e to eb40ede
Bumps [assets/syntaxes/02_Extra/CMake](https://github.com/zyxar/Sublime-CMakeLists) from `ab6ef4e` to `eb40ede`.
- [Release notes](https://github.com/zyxar/Sublime-CMakeLists/releases)
- [Commits](ab6ef4ef9f...eb40ede56c)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/CMake
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 03:57:34 +00:00
Keith Hall
52ef1bc0d6 Scope environment variable and commands sections in Manpages 2023-02-05 16:56:54 +01:00
BlackHoleFox
1004018941 Directly read preferences instead of using the defaults CLI 2023-02-05 16:53:28 +01:00
David Peter
6122d43e79
Merge pull request #2469 from 0x8ff/c
Update copyright year in MIT-LICENSE and README
2023-02-01 20:14:23 +01:00
0x8ff
d43d241f5b Update copyright year 2023-02-01 09:20:26 -08:00
David Peter
269b6b7e28
Merge pull request #2462 from sharkdp/dependabot/submodules/assets/themes/zenburn-43dc527
Bump assets/themes/zenburn from `702023d` to `43dc527`
2023-02-01 12:38:47 +01:00
David Peter
9a9ba65d11
Merge pull request #2463 from sharkdp/dependabot/submodules/assets/syntaxes/02_Extra/cmd-help-f41e5fc
Bump assets/syntaxes/02_Extra/cmd-help from `7797e20` to `f41e5fc`
2023-02-01 12:38:14 +01:00
dependabot[bot]
37ae4989a2 Bump nix from 0.26.1 to 0.26.2
Bumps [nix](https://github.com/nix-rust/nix) from 0.26.1 to 0.26.2.
- [Release notes](https://github.com/nix-rust/nix/releases)
- [Changelog](https://github.com/nix-rust/nix/blob/v0.26.2/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.26.1...v0.26.2)

---
updated-dependencies:
- dependency-name: nix
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 06:24:54 +01:00
dependabot[bot]
d83cc3a116 Bump console from 0.15.2 to 0.15.5
Bumps [console](https://github.com/console-rs/console) from 0.15.2 to 0.15.5.
- [Release notes](https://github.com/console-rs/console/releases)
- [Changelog](https://github.com/console-rs/console/blob/master/CHANGELOG.md)
- [Commits](https://github.com/console-rs/console/compare/0.15.2...0.15.5)

---
updated-dependencies:
- dependency-name: console
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 06:23:52 +01:00
dependabot[bot]
105e55456c Bump assert_cmd from 2.0.5 to 2.0.8
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 2.0.5 to 2.0.8.
- [Release notes](https://github.com/assert-rs/assert_cmd/releases)
- [Changelog](https://github.com/assert-rs/assert_cmd/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/assert_cmd/compare/v2.0.5...v2.0.8)

---
updated-dependencies:
- dependency-name: assert_cmd
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 06:23:27 +01:00
dependabot[bot]
c012def1e4 Bump flate2 from 1.0.24 to 1.0.25
Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.0.24 to 1.0.25.
- [Release notes](https://github.com/rust-lang/flate2-rs/releases)
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.0.24...1.0.25)

---
updated-dependencies:
- dependency-name: flate2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 06:23:03 +01:00
dependabot[bot]
3687969aa9
Bump assets/syntaxes/02_Extra/cmd-help from 7797e20 to f41e5fc
Bumps [assets/syntaxes/02_Extra/cmd-help](https://github.com/victor-gp/cmd-help-sublime-syntax) from `7797e20` to `f41e5fc`.
- [Release notes](https://github.com/victor-gp/cmd-help-sublime-syntax/releases)
- [Commits](7797e206ef...f41e5fc838)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/cmd-help
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 03:01:07 +00:00
dependabot[bot]
70f24b85a7
Bump assets/themes/zenburn from 702023d to 43dc527
Bumps [assets/themes/zenburn](https://github.com/colinta/zenburn) from `702023d` to `43dc527`.
- [Release notes](https://github.com/colinta/zenburn/releases)
- [Commits](702023d80d...43dc527731)

---
updated-dependencies:
- dependency-name: assets/themes/zenburn
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 03:01:03 +00:00
David Peter
ac734db421
Merge pull request #2432 from sharkdp/dependabot/submodules/assets/syntaxes/02_Extra/cmd-help-7797e20
Bump assets/syntaxes/02_Extra/cmd-help from `9b25682` to `7797e20`
2023-01-17 15:30:14 +01:00
David Peter
39eebde3e5
Merge pull request #2438 from seryl/add-json-key-highlighting-TwoDark
add json key highlighting patch for twodark
2023-01-17 15:29:45 +01:00
David Peter
5cd77662b5
Merge pull request #2430 from Enselic/blessable-help
Require changes to `-h` and `--help` to be blessed
2023-01-17 15:29:13 +01:00
David Peter
09ab1905d0
Merge pull request #2447 from rhysd/reuse-styles
Remove unnecessary heap allocations in `PrettyPrinter::print` for style components
2023-01-17 15:26:18 +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
dependabot[bot]
362af8a0a6 Bump semver from 1.0.14 to 1.0.16
Bumps [semver](https://github.com/dtolnay/semver) from 1.0.14 to 1.0.16.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.14...1.0.16)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-05 10:00:36 +01:00
dependabot[bot]
d5084cd391 Bump predicates from 2.1.3 to 2.1.5
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 2.1.3 to 2.1.5.
- [Release notes](https://github.com/assert-rs/predicates-rs/releases)
- [Changelog](https://github.com/assert-rs/predicates-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/predicates-rs/compare/v2.1.3...v2.1.5)

---
updated-dependencies:
- dependency-name: predicates
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-05 09:59:56 +01:00
dependabot[bot]
6d40fd6482 Bump serde from 1.0.148 to 1.0.152
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.148 to 1.0.152.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.148...v1.0.152)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-05 09:59:46 +01:00
dependabot[bot]
79198e8048 Bump once_cell from 1.16.0 to 1.17.0
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.16.0 to 1.17.0.
- [Release notes](https://github.com/matklad/once_cell/releases)
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.16.0...v1.17.0)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-05 09:58:54 +01:00
dependabot[bot]
c6a9b01c4f Bump thiserror from 1.0.37 to 1.0.38
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.37 to 1.0.38.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.37...1.0.38)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-05 09:58:29 +01:00
Josh Toft
e79e1a23eb add json key highlighting patch for twodark 2023-01-01 10:49:20 -08:00
dependabot[bot]
7fc6dae036
Bump assets/syntaxes/02_Extra/cmd-help from 9b25682 to 7797e20
Bumps [assets/syntaxes/02_Extra/cmd-help](https://github.com/victor-gp/cmd-help-sublime-syntax) from `9b25682` to `7797e20`.
- [Release notes](https://github.com/victor-gp/cmd-help-sublime-syntax/releases)
- [Commits](9b25682947...7797e206ef)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/cmd-help
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-01 03:01:21 +00:00
Martin Nordholts
4e34b362f8 Require changes to -h and --help to be blessed
From now on, any changes to the help texts will be visible in PR diffs,
which will make it very easy to review, and very hard to accidentally
miss changes to help texts.

If a contributor makes a change to help texts, the `cargo test` failure
text they will see contains instructions on how to update the blessed
help texts:

    error: expect test failed
       --> ../doc/long-help.txt

    You can update all `expect!` tests by running:

        env UPDATE_EXPECT=1 cargo test

In short, to update blessed help texts, one simply does

    env UPDATE_EXPECT=1 cargo test

Do not run the tests if the `git` feature is missing, since then
`--diff` will be missing from `--help`. And do not run the tests on
Windows, because then the help text will contain the term `.exe`.

Move man page step to after cargo doc step so that the man page exists
when we look for it.
2022-12-30 09:59:52 +01:00
cyqsimon
b6b9d3a629
Disable completion of cache subcommand (#2399)
* Disable completion of `cache` subcommand

* Fully removed completion code for `cache`

* Add to changelog
2022-12-18 11:46:43 +01:00
David Peter
e19bebc1f6
Merge pull request #2419 from victor-gp/bump-cmd-help-syntax-9b25682
Bump cmd-help syntax to 9b25682
2022-12-07 21:28:37 +01:00
Víctor González Prieto
3ffa7edbd5 Bump cmd-help syntax to latest
This update includes an overhaul of scope names to better support the
set of themes included with bat.

You can find a visual diff for every theme in this PR:
https://github.com/victor-gp/cmd-help-sublime-syntax/pull/17

This commit updates the cmd-help syntax test because the scopes (-> colors)
have changed.
2022-12-07 04:02:05 +01:00
dependabot[bot]
41ca247e32
Bump assets/syntaxes/02_Extra/TodoTxt from f5f0a6c to 071a004 (#2411)
Bumps [assets/syntaxes/02_Extra/TodoTxt](https://github.com/dertuxmalwieder/SublimeTodoTxt) from `f5f0a6c` to `071a004`.
- [Release notes](https://github.com/dertuxmalwieder/SublimeTodoTxt/releases)
- [Commits](f5f0a6c47f...071a004217)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/TodoTxt
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-03 17:14:01 +01:00
Martin Nordholts
906de11975
Update CHANGELOG.md 2022-12-03 17:13:13 +01:00
dependabot[bot]
d5b397f66a Bump assets/syntaxes/02_Extra/TOML from ed38438 to fd0bf3e (#2410)
* Bump assets/syntaxes/02_Extra/TOML from `ed38438` to `fd0bf3e`

Bumps [assets/syntaxes/02_Extra/TOML](https://github.com/jasonwilliams/sublime_toml_highlighting) from `ed38438` to `fd0bf3e`.
- [Release notes](https://github.com/jasonwilliams/sublime_toml_highlighting/releases)
- [Commits](ed38438900...fd0bf3e5d6)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/TOML
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update CHANGELOG.md

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2022-12-03 17:09:39 +01:00
dependabot[bot]
52764624c9 Bump predicates from 2.1.1 to 2.1.3
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 2.1.1 to 2.1.3.
- [Release notes](https://github.com/assert-rs/predicates-rs/releases)
- [Changelog](https://github.com/assert-rs/predicates-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/predicates-rs/compare/v2.1.1...v2.1.3)

---
updated-dependencies:
- dependency-name: predicates
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-03 16:04:00 +01:00
dependabot[bot]
5c510a20c1 Bump nix from 0.25.0 to 0.26.1
Bumps [nix](https://github.com/nix-rust/nix) from 0.25.0 to 0.26.1.
- [Release notes](https://github.com/nix-rust/nix/releases)
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.25.0...v0.26.1)

---
updated-dependencies:
- dependency-name: nix
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-03 16:03:41 +01:00
dependabot[bot]
c9ac95e341 Bump serde from 1.0.147 to 1.0.148
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.147 to 1.0.148.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.147...v1.0.148)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-03 16:03:21 +01:00
dependabot[bot]
8e960fc59c Bump regex from 1.6.0 to 1.7.0
Bumps [regex](https://github.com/rust-lang/regex) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.6.0...1.7.0)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-03 16:03:07 +01:00
David Peter
416845dcd0
Merge pull request #2393 from miles170/issue-2392-cache-clear-target-dir
Fix `bat cache --clear` not clearing the `--target` dir if specified
2022-11-19 21:18:26 +01:00
Miles Liu
e39178b101
Fix bat cache --clear not clearing the --target dir if specified 2022-11-19 18:00:37 +08:00
David Peter
7c847d84b0 Update CHANGELOG 2022-11-04 22:08:51 +01:00
David Peter
accc1b6d10
Merge pull request #2366 from Freed-Wu/vimhelp
Add VimHelp.sublime-syntax and its test
2022-11-04 22:07:57 +01:00
David Peter
78a67ac77e
Merge pull request #2381 from aaronkollasch/env-override-config-not-flags
Allow some env vars to override config variables, but not command line arguments
2022-11-02 22:58:01 +01:00
Aaron Kollasch
017e830bf2
Move CHANGELOG.md entry to Features 2022-11-02 17:14:48 -04:00
Aaron Kollasch
1224403aa1
Update comments in tests/integration_tests.rs 2022-11-02 17:09:15 -04:00
Aaron Kollasch
d084cdc72b
Update CHANGELOG.md
Co-authored-by: David Peter <sharkdp@users.noreply.github.com>
2022-11-02 16:48:51 -04:00
Aaron Kollasch
1a07baf5f2
Update tests/integration_tests.rs
Co-authored-by: David Peter <sharkdp@users.noreply.github.com>
2022-11-02 16:48:51 -04:00
Aaron Kollasch
bad2292950
Add tests for --theme > BAT_THEME > config 2022-11-02 16:48:51 -04: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
5652038f01 Update CHANGELOG 2022-11-02 21:03:16 +01:00
David Peter
4724d50e1d
Merge pull request #2361 from Freed-Wu/main
Add Requirementstxt.sublime-syntax and its test.
2022-11-02 21:00:33 +01:00
David Peter
b6a5004a9c
Merge pull request #2390 from sharkdp/dependabot/cargo/nix-0.25.0
Bump nix from 0.24.2 to 0.25.0
2022-11-02 20:57:38 +01:00
David Peter
bb2e3b52b8
Merge pull request #2389 from sharkdp/dependabot/cargo/once_cell-1.16.0
Bump once_cell from 1.15.0 to 1.16.0
2022-11-02 20:57:15 +01:00
David Peter
12affef049
Merge pull request #2388 from sharkdp/dependabot/cargo/assert_cmd-2.0.5
Bump assert_cmd from 2.0.4 to 2.0.5
2022-11-02 20:57:06 +01:00
David Peter
e29db4d052
Merge pull request #2386 from sharkdp/dependabot/submodules/assets/syntaxes/02_Extra/cmd-help-ade16bf
Bump assets/syntaxes/02_Extra/cmd-help from `aa47747` to `ade16bf`
2022-11-02 20:56:52 +01:00
David Peter
a934be8ac5
Merge pull request #2387 from sharkdp/dependabot/cargo/serde-1.0.147
Bump serde from 1.0.145 to 1.0.147
2022-11-02 20:53:31 +01:00
David Peter
21791ffbfb
Merge pull request #2385 from sharkdp/dependabot/submodules/assets/syntaxes/02_Extra/HTML(Twig)-aedf955
Bump assets/syntaxes/02_Extra/HTML (Twig) from `77def40` to `aedf955`
2022-11-02 20:53:18 +01:00
dependabot[bot]
600de05840
Bump nix from 0.24.2 to 0.25.0
Bumps [nix](https://github.com/nix-rust/nix) from 0.24.2 to 0.25.0.
- [Release notes](https://github.com/nix-rust/nix/releases)
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.24.2...v0.25.0)

---
updated-dependencies:
- dependency-name: nix
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 03:04:35 +00:00
dependabot[bot]
ea7cc9d82f
Bump once_cell from 1.15.0 to 1.16.0
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.15.0 to 1.16.0.
- [Release notes](https://github.com/matklad/once_cell/releases)
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.15.0...v1.16.0)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 03:04:29 +00:00
dependabot[bot]
e536aa933e
Bump assert_cmd from 2.0.4 to 2.0.5
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 2.0.4 to 2.0.5.
- [Release notes](https://github.com/assert-rs/assert_cmd/releases)
- [Changelog](https://github.com/assert-rs/assert_cmd/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/assert_cmd/compare/v2.0.4...v2.0.5)

---
updated-dependencies:
- dependency-name: assert_cmd
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 03:04:27 +00:00
dependabot[bot]
eb841434cd
Bump serde from 1.0.145 to 1.0.147
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.145 to 1.0.147.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.145...v1.0.147)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 03:04:23 +00:00
dependabot[bot]
043c04d3c4
Bump assets/syntaxes/02_Extra/cmd-help from aa47747 to ade16bf
Bumps [assets/syntaxes/02_Extra/cmd-help](https://github.com/victor-gp/cmd-help-sublime-syntax) from `aa47747` to `ade16bf`.
- [Release notes](https://github.com/victor-gp/cmd-help-sublime-syntax/releases)
- [Commits](aa477471c8...ade16bf1c1)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/cmd-help
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 03:04:04 +00:00
dependabot[bot]
b3f340e418
Bump assets/syntaxes/02_Extra/HTML (Twig) from 77def40 to aedf955
Bumps [assets/syntaxes/02_Extra/HTML (Twig)](https://github.com/Anomareh/PHP-Twig.tmbundle) from `77def40` to `aedf955`.
- [Release notes](https://github.com/Anomareh/PHP-Twig.tmbundle/releases)
- [Commits](77def406d7...aedf955eba)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/HTML (Twig)
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-01 03:03:59 +00:00
David Peter
a7b0449967 Update CHANGELOG 2022-10-30 22:10:04 +01:00
David Peter
41b40f924f
Merge pull request #2375 from BANOnotIT/master
Add Todo.txt syntax
2022-10-30 21:55:43 +01:00
David Peter
14742a82bd
Merge branch 'master' into master 2022-10-30 21:08:04 +01:00
David Peter
b0359644dc
Merge pull request #2327 from epage/v4
refactor: Upgrade to clap v4
2022-10-30 20:56:10 +01:00
David Peter
0cf069ba1b
Merge pull request #2365 from Sylk/patch-1
Update CONTRIBUTING.md
2022-10-30 20:48:15 +01:00
David Peter
85921864aa
Merge pull request #2356 from scop/feat/env-extension
Add more dotenv file types
2022-10-30 20:45:53 +01:00
David Peter
b29f66c40d
Merge branch 'master' into feat/env-extension 2022-10-30 20:45:39 +01:00
David Peter
c3347c6be5
Merge pull request #2352 from Freed-Wu/extension
Add new file_extensions for INI
2022-10-30 20:45:03 +01: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
David Peter
985666a390 Update to latest clap release 2022-10-30 20:17:12 +01:00
David Peter
3668464f3d Update CHANGELOG 2022-10-30 20:01:10 +01:00
David Peter
8e15c9c501
Merge pull request #2316 from dkm/pr/ada_syntax
Add syntax support for Ada
2022-10-30 19:56:07 +01:00
David Peter
3c9c960612
Merge pull request #2309 from johnmatthiggins/master
Added -S flag for truncating long lines
2022-10-30 17:36:09 +01:00
Ville Skyttä
6378a95308 Add more dotenv file types
Upstream PR: https://github.com/zaynali53/DotENV/pull/17
2022-10-30 08:25:10 +02:00
Wu Zhenyu
37da5659c5 Add VimHelp.sublime-syntax and its test 2022-10-30 13:40:41 +08:00
Wu Zhenyu
6010b334c6 Add Requirementstxt.sublime-syntax and its test. 2022-10-30 13:33:12 +08:00
Wu Zhenyu
46dc044c03 Add new file_extensions for INI
- https://coverage.readthedocs.io/en/6.3.2/faq.html#q-can-i-find-out-which-tests-ran-which-lines
- https://pylint.pycqa.org/en/latest/user_guide/usage/run.html#command-line-options
- https://jorisroovers.com/gitlint/configuration/
2022-10-30 13:15:14 +08:00
BANO.notIT
31f964f468 fix(syntax): Use variable.other for TodoTxt attrs 2022-10-29 16:55:46 +03:00
BANO.notIT
316f1b3601 test(syntax): Generate normal highlight for bat 2022-10-22 17:06:27 +03:00
BANO.notIT
1a85b4c3b5 test(syntax): Add partially working test 2022-10-22 16:59:19 +03:00
BANO.notIT
346e53705e feat(syntax): Add Todo.txt syntax 2022-10-22 16:57:00 +03: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
bf114f5844
Added helper function for -S flag tests 2022-10-17 14:43:02 -07:00
wzy
f215d07366
Improve Manpage.sublime-syntax, Fix #2353 (#2364)
* Improve Manpage.sublime-syntax, Fix #2353

* Add highlight tests for fzf-0.33.0
2022-10-17 19:56:17 +02:00
wenzdey
9679ae3662 Updated Homebrew link
macos and linux homebrew page now merged
2022-10-17 19:51:51 +02:00
Ville Skyttä
21bdcbb71f Fix up punctuation and sorting in manual modifications doc 2022-10-17 19:50:14 +02:00
John Higgins
20f272168a
Fixed typo in CHANGELOG.md for PR #2309 2022-10-14 14:23:51 -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
8f31ffa9df
Added integration tests 2022-10-09 22:42:11 -07:00
John Higgins
375b392478
Fixed reversed logic error for --chop-long-lines 2022-10-09 22:41:27 -07:00
Matthew Bauer
46f8e29de4
Update CONTRIBUTING.md 2022-10-09 15:44:45 -07:00
Matthew Bauer
3e238b82f6
Update CONTRIBUTING.md
Verbiage change, and slight markdown adjustments.
2022-10-09 01:18:35 -07:00
dependabot[bot]
5fce1389e5 Bump serde from 1.0.144 to 1.0.145
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.144 to 1.0.145.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.144...v1.0.145)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-06 20:30:14 +02:00
dependabot[bot]
0cc4e98560 Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 22:41:07 +02: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
Gábor Lipták
9051fc5465 Add github-actions to Dependabot
Signed-off-by: Gábor Lipták <gliptak@gmail.com>
2022-10-03 21:42:03 +02:00
Masanori Kakura
16d181a755 ja: Update description about Debian/Ubuntu packages 2022-10-03 21:41:36 +02:00
dependabot[bot]
42a3ef28e8 Bump once_cell from 1.13.1 to 1.15.0
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.13.1 to 1.15.0.
- [Release notes](https://github.com/matklad/once_cell/releases)
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.13.1...v1.15.0)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-02 05:58:25 +02:00
dependabot[bot]
b9d5f3878d Bump semver from 1.0.13 to 1.0.14
Bumps [semver](https://github.com/dtolnay/semver) from 1.0.13 to 1.0.14.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.13...1.0.14)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 09:05:37 +02:00
dependabot[bot]
10ab72f8ae Bump unicode-width from 0.1.9 to 0.1.10
Bumps [unicode-width](https://github.com/unicode-rs/unicode-width) from 0.1.9 to 0.1.10.
- [Release notes](https://github.com/unicode-rs/unicode-width/releases)
- [Commits](https://github.com/unicode-rs/unicode-width/compare/v0.1.9...v0.1.10)

---
updated-dependencies:
- dependency-name: unicode-width
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 09:05:25 +02:00
dependabot[bot]
9d39054e18 Bump thiserror from 1.0.33 to 1.0.37
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.33 to 1.0.37.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.33...1.0.37)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 09:05:07 +02:00
dependabot[bot]
c662801ad8 Bump console from 0.15.1 to 0.15.2
Bumps [console](https://github.com/console-rs/console) from 0.15.1 to 0.15.2.
- [Release notes](https://github.com/console-rs/console/releases)
- [Changelog](https://github.com/console-rs/console/blob/master/CHANGELOG.md)
- [Commits](https://github.com/console-rs/console/compare/0.15.1...0.15.2)

---
updated-dependencies:
- dependency-name: console
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 09:04:53 +02:00
Marc Poulhiès
06b403aa92 Add syntax support for Ada
Add submodule with sublime syntax.

Add corresponding tests for both Ada (in adb/ads) and for the companion tool
gpr.

fixes #1300

Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
2022-09-14 22:49:39 +02:00
Ville Skyttä
2dbc88d3af Improve bash completion escaping
`compopt -o filenames` is a cheap way to accomplish mostly wanted
behavior. However it is semantically incorrect when we are not actually
completing filenames, and has side effects -- for example adds a
trailing slash to candidates matching present dirs.

bash >= 4.1 can `printf -v` to an array index, use it instead where
available.
2022-09-11 21:54:22 +02:00
Ville Skyttä
66edfe5dff Exclude --unbuffered from bash completions
It's a no-op, so there's little reason to suggest it.
2022-09-11 21:54:22 +02:00
Ville Skyttä
c816188f97 Add --style argument bash completion 2022-09-11 21:54:22 +02:00
Ville Skyttä
46bf3c1e9a Do not offer bash filename completions with --list-languages/-themes 2022-09-11 21:54:22 +02:00
Ville Skyttä
066701d671 Add --acknowledgements and --ignored-suffix to bash completion 2022-09-11 21:54:22 +02:00
Ville Skyttä
e96cdc3b95 Split bash completion option lists over multiple lines, sync sort with --help
For maintainability/diffability.
2022-09-11 21:54:22 +02:00
Martin Nordholts
8bd5a88f07 Prepare a new "unreleased" section at the top of CHANGELOG.md 2022-09-10 20:39:33 +02:00
Martin Nordholts
e5d9579614 Bump version to v0.22.1 2022-09-10 17:59:33 +02:00
Martin Nordholts
352309b056 Revert "Remove code that tries to handle ANSI escape inputs"
This reverts commit 8174e022797924aec735ff440806920767f80496. 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
2af54dbacd
Fixed else statement with cargo fmt 2022-09-09 22:26:53 -07:00
John Higgins
a272d3df16
Added -S flag for truncating long lines 2022-09-09 17:04:09 -07:00
David Peter
6680f65e4b Add new 'unreleased' section, post v0.22 2022-09-06 23:11:06 +02:00
David Peter
1f9519d8b9 Update binary assets 2022-09-06 22:54:20 +02:00
David Peter
3c33b28507 Bump version to v0.22 2022-09-06 22:54:20 +02: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
David Peter
0e03dce130
Merge pull request #1920 from rhysd/issue-1919
Add `bat::PrettyPrinter::clear_highlights`
2022-09-06 09:32:29 +02:00
David Peter
6a0ab0095a Add CHANGELOG entry 2022-09-06 09:32:06 +02:00
oidro
b213949aeb Correct doc comment for list_syntaxes_and_themes example 2022-09-05 21:57:11 +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
David Peter
113276a62b
Merge pull request #2237 from kidonng/yaml
Map `fish_history` to YAML
2022-09-04 22:46:08 +02:00
Kid
1e1fa7cde5 CHANGELOG 2022-09-04 22:23:09 +02:00
Kid
d6d8b61131 Fix highlight test 2022-09-04 22:22:18 +02:00
Kid
839e62cff8 Map fish_history to YAML 2022-09-04 22:22:18 +02:00
David Peter
ca9843fa83
Merge pull request #2236 from kidonng/patch-1
Add `.mts` and `.cts` to TypeScript file extensions
2022-09-04 22:20:02 +02:00
David Peter
546dcf6a55
Merge pull request #1888 from patrickpichler/feature/668/add-systemwide-config
Add systemwide config file support
2022-09-04 22:11:17 +02:00
Kid
d7b6519422 Add .mts and .cts to TypeScript file extensions
See also:

https://github.com/github/linguist/pull/5905
2022-09-04 22:06:54 +02:00
Martin Nordholts
799bb1639c Try to fix all warnings 2022-09-04 21:30:14 +02:00
Martin Nordholts
bc2dc0796b Move up the entry to the unreleased section in CHANGELOG.md 2022-09-04 21:03:27 +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
Jon Eskin
eab1c9eb46 update alternatives.md 2022-09-04 14:28:06 +02:00
Keith Hall
c6775cc41e Syntax: [Log] scope whole line based on log level
to allow color schemes to color entire lines differently based on log level
2022-09-04 14:11:09 +02:00
David Peter
45d6b1af3b Bump MSRV to 1.60
see https://github.com/rust-lang/git2-rs/issues/838
2022-09-04 06:04:35 +02:00
dependabot[bot]
b295850cb3 Bump git2 from 0.14.2 to 0.15.0
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.14.2 to 0.15.0.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/compare/0.14.2...git2-curl-0.15.0)

---
updated-dependencies:
- dependency-name: git2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-04 06:04:35 +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
Martin Nordholts
49875d6ce7
Make bat::PrettyPrinter::syntaxes() iterate over new bat::Syntax struct (#2222)
We can't keep `syntect::parsing::SyntaxReference` as part of the public
API, because that might prevent us from bumping to syntect 6.0.0 without
also bumping bat to v2.0.0, once we reach v1.0.0.

So introduce a new stripped down struct `Syntax` and return that
instead. Let it be fully owned to make the API simple. It is not going
to be in a hot code path anyway.

I have looked at all code of our 27 dependents but I can't find a single
instance of this method being used, so this change should be safe for
v1.0.0.
2022-09-03 12:33:38 +02:00
Martin Nordholts
8b8ff96c32 CHANGELOG: Mention minor LiveScript update 2022-09-03 07:58:22 +02:00
dependabot[bot]
3d35469414
Bump assets/syntaxes/02_Extra/LiveScript from 2575013 to d82aeb7 (#2291)
Bumps [assets/syntaxes/02_Extra/LiveScript](https://github.com/paulmillr/LiveScript.tmbundle) from `2575013` to `d82aeb7`.
- [Release notes](https://github.com/paulmillr/LiveScript.tmbundle/releases)
- [Commits](2575013851...d82aeb737d)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/LiveScript
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-03 07:43:07 +02:00
dependabot[bot]
3480b61eae
Bump wild from 2.0.4 to 2.1.0 (#2296)
Bumps [wild](https://gitlab.com/kornelski/wild) from 2.0.4 to 2.1.0.
- [Release notes](https://gitlab.com/kornelski/wild/tags)
- [Commits](https://gitlab.com/kornelski/wild/commits/v2.1.0)

---
updated-dependencies:
- dependency-name: wild
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-02 19:49:35 +02:00
dependabot[bot]
0167ba55dd
Bump thiserror from 1.0.31 to 1.0.33 (#2295)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.31 to 1.0.33.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.31...1.0.33)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-02 19:36:49 +02:00
dependabot[bot]
06dcead2d5
Bump serde from 1.0.143 to 1.0.144 (#2297)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.143 to 1.0.144.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.143...v1.0.144)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-02 19:36:35 +02:00
dependabot[bot]
cc7df1e92b
Bump once_cell from 1.13.0 to 1.13.1 (#2298)
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.13.0 to 1.13.1.
- [Release notes](https://github.com/matklad/once_cell/releases)
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.13.0...v1.13.1)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-02 19:36:21 +02:00
Martin Nordholts
899fdbb347
Remove code that tries to handle ANSI escape inputs (#2189)
Syntax highlighting is broken when input contains ANSI escape characters
anyway, so there is not much point in trying to handle ANSI escapes in
input.
2022-08-29 18:49:29 +02:00
Z. Grace Moreau
a6297b282c update CHANGELOG 2022-08-27 16:37:34 +02:00
Z. Grace Moreau
33ba136fa3 fix --pager opts display and add some examples 2022-08-27 16:37:34 +02:00
Z. Grace Moreau
f36df73ac1 add a vim modeline
This will cause vim (and other properly-extended editors) to read this
as a fish script file, despite its .fish.in extension.
2022-08-27 16:37:34 +02:00
Z. Grace Moreau
d14e0fe292 improve fish completions 2022-08-27 16:37:34 +02:00
Martin Nordholts
621ab6078f CI: Check MSRV without git feature enabled
git2-rs MSRV policy is to only support latest stable rust (see
https://github.com/rust-lang/git2-rs#rust-version-requirements), so it
does not make sense to run our MSRV tests with git enabled.
2022-08-25 19:27:55 +02:00
Martin Nordholts
020492f7e6 tests/tester: Do not build as tests
mod tester does not contains any tests, so do not build the module as
containing tests. Instead use the mod.rs approach described in
https://doc.rust-lang.org/book/ch11-03-test-organization.html#submodules-in-integration-tests.
2022-08-25 19:27:55 +02:00
Christopher Acosta
9a924b445b
Make --map-syntax and --ignored-suffix work together (#2260)
* Make --map-syntax and --ignored-suffix work together

* Minor refactor
2022-08-16 22:42:15 +02:00
dependabot[bot]
c14ce4f7ca
Bump assets/syntaxes/02_Extra/Julia from 1e55f32 to 4fde0fd (#2230)
* Bump assets/syntaxes/02_Extra/Julia from `1e55f32` to `4fde0fd`

Bumps [assets/syntaxes/02_Extra/Julia](https://github.com/JuliaEditorSupport/Julia-sublime) from `1e55f32` to `4fde0fd`.
- [Release notes](https://github.com/JuliaEditorSupport/Julia-sublime/releases)
- [Commits](1e55f3211b...4fde0fdedd)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/Julia
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update CHANGELOG.md

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2022-08-14 21:10:05 +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
David Peter
02a9d191ed Bump MSRV to 1.58 2022-08-14 16:21:45 +02:00
dependabot[bot]
71e71aa31e Bump semver from 1.0.11 to 1.0.13
Bumps [semver](https://github.com/dtolnay/semver) from 1.0.11 to 1.0.13.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.11...1.0.13)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-13 15:58:04 +02:00
dependabot[bot]
a091811be9 Bump assets/syntaxes/02_Extra/PowerShell from 742f0b5 to c0372a1
Bumps [assets/syntaxes/02_Extra/PowerShell](https://github.com/PowerShell/EditorSyntax) from `742f0b5` to `c0372a1`.
- [Release notes](https://github.com/PowerShell/EditorSyntax/releases)
- [Commits](742f0b5d4b...c0372a1d2d)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/PowerShell
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-13 14:16:50 +02:00
dependabot[bot]
2dd8ee97a9 Bump serde from 1.0.137 to 1.0.143
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.137 to 1.0.143.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.137...v1.0.143)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-13 14:10:34 +02:00
Martin Nordholts
ab8f97b0bb Bump MSRV to 1.56.1
This is what `hashbrown` did recently: https://github.com/rust-lang/hashbrown/pull/298

And it causes CI failures for us. Examples:
* https://github.com/sharkdp/bat/pull/2266
* https://github.com/sharkdp/bat/pull/2265

The path of least resistance for us is to also bump MSRV, so let's do
that. 1.56.1 was released [9 months
ago](https://blog.rust-lang.org/2021/11/01/Rust-1.56.1.html).
2022-08-13 14:10:19 +02:00
dependabot[bot]
4514a362fa Bump regex from 1.5.6 to 1.6.0
Bumps [regex](https://github.com/rust-lang/regex) from 1.5.6 to 1.6.0.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.5.6...1.6.0)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-13 14:07:16 +02:00
dependabot[bot]
3a93798e8b
Bump assets/syntaxes/02_Extra/cmd-help from 1e513f5 to aa47747 (#2255)
* Bump assets/syntaxes/02_Extra/cmd-help from `1e513f5` to `aa47747`

Bumps [assets/syntaxes/02_Extra/cmd-help](https://github.com/victor-gp/cmd-help-sublime-syntax) from `1e513f5` to `aa47747`.
- [Release notes](https://github.com/victor-gp/cmd-help-sublime-syntax/releases)
- [Commits](1e513f5f19...aa477471c8)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/cmd-help
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update CHANGELOG.md

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2022-08-12 17:08:32 +02:00
dependabot[bot]
44fa7a9af3 Bump once_cell from 1.12.0 to 1.13.0
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.12.0 to 1.13.0.
- [Release notes](https://github.com/matklad/once_cell/releases)
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.12.0...v1.13.0)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-12 17:07:10 +02:00
dependabot[bot]
00eb7480f7 Bump globset from 0.4.8 to 0.4.9
Bumps [globset](https://github.com/BurntSushi/ripgrep) from 0.4.8 to 0.4.9.
- [Release notes](https://github.com/BurntSushi/ripgrep/releases)
- [Changelog](https://github.com/BurntSushi/ripgrep/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BurntSushi/ripgrep/compare/globset-0.4.8...globset-0.4.9)

---
updated-dependencies:
- dependency-name: globset
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-12 16:44:06 +02:00
dependabot[bot]
44daae4a8f Bump console from 0.15.0 to 0.15.1
Bumps [console](https://github.com/mitsuhiko/console) from 0.15.0 to 0.15.1.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Changelog](https://github.com/console-rs/console/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/console/compare/0.15.0...0.15.1)

---
updated-dependencies:
- dependency-name: console
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-12 16:32:02 +02:00
dependabot[bot]
dd2c6e07b8 Bump nix from 0.24.1 to 0.24.2
Bumps [nix](https://github.com/nix-rust/nix) from 0.24.1 to 0.24.2.
- [Release notes](https://github.com/nix-rust/nix/releases)
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.24.1...v0.24.2)

---
updated-dependencies:
- dependency-name: nix
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-12 15:23:30 +02:00
John Higgins
7b2e0ece55
Prevent fork nightmare with PAGER=batcat (#2235)
* Added rsamuelklatchko's changes

* Added some comments and deleted redundant code

* Ran cargo fmt

* Update src/pager.rs

Co-authored-by: Martin Nordholts <enselic@gmail.com>

* Added bugfix to changelog

* src/pager.rs nitpick: arg0 -> s

I forgot to comment on this name so I figured I'd just push a commit to
take care of it.

Co-authored-by: Martin Nordholts <enselic@gmail.com>
2022-08-12 14:27:47 +02:00
yuvalmo
c4d9d7561b Color fstab dump and pass fields correctly (#2246)
Was missing the number 2 as a valid option in those fields.
2022-07-25 21:33:51 +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
dependabot[bot]
c8b11873b1 Bump semver from 1.0.9 to 1.0.11
Bumps [semver](https://github.com/dtolnay/semver) from 1.0.9 to 1.0.11.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.9...1.0.11)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-02 14:58:12 +02:00
dependabot[bot]
b48cb99805 Bump serde_yaml from 0.8.23 to 0.8.24
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml) from 0.8.23 to 0.8.24.
- [Release notes](https://github.com/dtolnay/serde-yaml/releases)
- [Commits](https://github.com/dtolnay/serde-yaml/compare/0.8.23...0.8.24)

---
updated-dependencies:
- dependency-name: serde_yaml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-02 14:57:19 +02:00
Kian-Meng Ang
f93d650708 Fix typos 2022-06-12 16:38:33 +02:00
Cre3per
ed4997c77c
Add syntax mapping from NSE to Lua (#2214) 2022-06-04 14:12:42 +02:00
dependabot[bot]
16488f3d82 Bump flate2 from 1.0.23 to 1.0.24
Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.0.23 to 1.0.24.
- [Release notes](https://github.com/rust-lang/flate2-rs/releases)
- [Commits](https://github.com/rust-lang/flate2-rs/commits)

---
updated-dependencies:
- dependency-name: flate2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-04 04:52:31 +02:00
dependabot[bot]
373b22824d Bump serde from 1.0.136 to 1.0.137
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.136 to 1.0.137.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.136...v1.0.137)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-04 04:51:00 +02:00
dependabot[bot]
17c099e589 Bump regex from 1.5.5 to 1.5.6
Bumps [regex](https://github.com/rust-lang/regex) from 1.5.5 to 1.5.6.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.5.5...1.5.6)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-01 07:54:18 +02:00
dependabot[bot]
7d6aa09a56 Bump once_cell from 1.10.0 to 1.12.0
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.10.0 to 1.12.0.
- [Release notes](https://github.com/matklad/once_cell/releases)
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.10.0...v1.12.0)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-01 07:52:43 +02:00
dependabot[bot]
b99ada8918 Bump semver from 1.0.7 to 1.0.9
Bumps [semver](https://github.com/dtolnay/semver) from 1.0.7 to 1.0.9.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.7...1.0.9)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-01 07:52:22 +02:00
Martin Nordholts
3339eee2dc
Make the default macOS theme depend on Dark Mode (#2197)
* Make the default macOS theme depend on Dark Mode

We frequently get complaints from macOS users that bat does not work on
their default macOS terminal background, which is white.

Pay the price of slightly increased startup time to get a better default
on macOS. To avoid the slightly increased startup time, simply specify a
theme explicitly via `--theme`, `BAT_THEME`, or `~/.config/bat`.

Note that if there is an error when we check if Dark Mode is enabled, we
behave the same as on Windows and Linux; assume that the terminal
background is dark. This harmonizes behavior across platforms, and makes
bat behave the same as before, when Dark Mode was always assumed to be
enabled.

* src/assets.rs: Fix typo

* Update CHANGELOG.md
2022-05-24 19:29:03 +02:00
David Peter
e9f8370b13
Refer to discussions page in issue templates. 2022-05-22 21:27:54 +02:00
David Peter
892b186ba5 Add CHANGELOG entry 2022-05-16 21:54:36 +02:00
David Peter
6db64cf050 Use cross to build x86_64-unknown-linux-gnu executables
We do this in order to link against older versions of glibc.

closes #2106
2022-05-16 21:54:36 +02:00
Martin Nordholts
5f139e5ec2 CHANGELOG.md: Remove empty Themes section for v0.21.0 2022-05-15 15:28:25 +02:00
Martin Nordholts
8b50ef87fd Post-release: Prepare an "unreleased" section at the top of CHANGELOG.md
As per `doc/release-checklist.md`.
2022-05-12 13:40:48 +02:00
Martin Nordholts
405e5f7460 assets/create.sh 2022-05-12 12:12:49 +02:00
Martin Nordholts
8d4f8ba1b2 CHANGELOG.md: unreleased -> v0.21.0 2022-05-12 12:12:49 +02:00
Martin Nordholts
d3f89bc4bc Bump to v0.21.0 2022-05-12 12:12:49 +02:00
Martin Nordholts
5fe9b3e1b3 Make INI syntax register as handler of .inf files
We need to type `inf` and `INF` as strings in `INI.sublime-syntax`,
otherwise `yaml-rust` interprets them as real numbers ("infinity") and
they do not get registered as file extensions:

    /Users/martin/src/yaml-rust # https://github.com/chyh1990/yaml-rust
    % cargo run --example dump_yaml ~/src/bat/assets/syntaxes/02_Extra/INI.sublime-syntax
    ---
    String("name"):
        String("INI")
    String("file_extensions"):
            String("ini")
            String("INI")
            Real("inf")
            Real("INF")
    ...

Also add a regression test.
2022-05-11 17:39:01 +02:00
Martin Nordholts
dc7d5a862f release-checklist.md: Don't recommend --allow-dirty to cargo publish
Using `--allow-dirty` increases the risk of the published code not being
versioned properly in git.
2022-05-09 09:47:30 +02:00
Martin Nordholts
4789c71a37 release-checklist.md: Recommend looking at the tip of master for -h and man 2022-05-09 09:47:30 +02:00
Martin Nordholts
be99b759d3 release-checklist.md: Recommend --locked for cargo install
So that the command will not fail if you are using the MSRV toolchain
and the latest version of a dependency happens to have a higher MSRV
than we do.
2022-05-09 09:47:30 +02:00
Martin Nordholts
5f7ae6b277 release-checklist.md: Recommend a single git grep command for MSRV
That filters out irrelevant hits in CHANGELOG.md and tests/.
2022-05-09 09:47:30 +02:00
Martin Nordholts
ea5aaa03a2 CHANGELOG.md: Clean up and tweak 2022-05-09 08:25:43 +02:00
Martin Nordholts
7334ab4542
Bump to syntect 5.0.0 to e.g. start lazy-loading syntaxes (#2181)
* Bump to syntect 5.0.0 to e.g. start lazy-loading themes

Closes #915
Closes #951
Closes #1846
Closes #1854

* Typo fix formated -> formatted

* Update CHANGELOG.md
2022-05-07 13:43:11 +02:00
Martin Nordholts
719248f1c1
Simplify release-checklist.md by printing -h, --help and man in CI (#2183)
* Simplify release-checklist.md by printing `-h`, `--help` and `man` in CI

Note that we run `find . -name bat.1` before we run anything with
`--all-features`, because `--all-features` is considered a separate
target, and so we will get a different (but identical) `bat.1`. For
example, we might have these:

    ./target/debug/build/bat-218e9538b4996215/out/assets/manual/bat.1
    ./target/debug/build/bat-89d6f56802af023f/out/assets/manual/bat.1

By showing the man page earlier, there is only one `bat.1` to pick from.

* Use plain `man $(find . -name bat.1)`
2022-05-06 07:33:32 +02:00
dependabot[bot]
ef3e398b2b
Bump assets/syntaxes/02_Extra/Zig from 87ecbca to 1a4a384 (#2136)
* Bump assets/syntaxes/02_Extra/Zig from `87ecbca` to `1a4a384`

Bumps [assets/syntaxes/02_Extra/Zig](https://github.com/ziglang/sublime-zig-language) from `87ecbca` to `1a4a384`.
- [Release notes](https://github.com/ziglang/sublime-zig-language/releases)
- [Commits](87ecbcae6f...1a4a38445f)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/Zig
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update tests/syntax-tests/highlighted/Zig/example.zig and CHANGELOG.md

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2022-05-05 20:29:17 +02:00
Tejinder Singh
52bab63e18
Add --relative to batdiff in README.md (#2172) 2022-05-05 20:27:52 +02:00
Martin Nordholts
0851bbbb28 printer.rs: De-duplicate code to highlight long lines
We do this to only have one invocation of `highlighter.highlight(...)`
so we don't need to change to `highlighter.highlight_line(...)` in two
places in #2181.
2022-05-05 17:21:49 +02:00
Ryan Zoeller
05ebf5ed26 Limit nix features
This removes memoffset as an indirect dependency, and should slightly decrease build times.
2022-05-05 06:24:26 +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
dependabot[bot]
a6bd28a78b Bump assets/syntaxes/02_Extra/Nginx from 15a1db1 to 65f5a63
Bumps [assets/syntaxes/02_Extra/Nginx](https://github.com/brandonwamboldt/sublime-nginx) from `15a1db1` to `65f5a63`.
- [Release notes](https://github.com/brandonwamboldt/sublime-nginx/releases)
- [Commits](15a1db1510...65f5a63c0d)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/Nginx
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 21:29:18 +02:00
Keith Hall
b5294f1cb2
Skip syntax highlighting for long lines (#2165)
* Skip highlighting for long lines

* Run cargo fmt, update changelog
2022-05-04 07:59:24 +02:00
Nathan Fisher
5114c0189d
Add support for BusyBox less as pager (#2162)
* Add support for BusyBox less as pager

* Run tests/syntax-tests/update.sh to update tests

* Address reviewer's concerns with pull request
* Revert all changes in `test` directory
* Minimize overall diff size
* Detect busybox from separate helper function
* Pass equivalent options to BusyBox from same code by changing from long to
  short options

* Remove redundant `if` statement from previous commit
Add test for invalid utf-8
Add `parse_less_version_busybox` to test for invalid program
Add commenting around short options
2022-05-04 07:56:38 +02:00
dependabot[bot]
f2727d74d5 Bump nix from 0.23.1 to 0.24.1
Bumps [nix](https://github.com/nix-rust/nix) from 0.23.1 to 0.24.1.
- [Release notes](https://github.com/nix-rust/nix/releases)
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.23.1...v0.24.1)

---
updated-dependencies:
- dependency-name: nix
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 07:54:31 +02:00
dependabot[bot]
735bee47eb Bump flate2 from 1.0.22 to 1.0.23
Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.0.22 to 1.0.23.
- [Release notes](https://github.com/rust-lang/flate2-rs/releases)
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.0.22...1.0.23)

---
updated-dependencies:
- dependency-name: flate2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 07:53:20 +02:00
dependabot[bot]
a05ac53040 Bump thiserror from 1.0.30 to 1.0.31
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.30 to 1.0.31.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.30...1.0.31)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 07:51:35 +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
cyqsimon
3ae05333b0
Add mapping for Unix mail spool (#2156) 2022-04-27 22:51:10 +02:00
dependabot[bot]
4291fd5c65 Bump assets/syntaxes/02_Extra/Fish from cd95616 to 98316d4
Bumps [assets/syntaxes/02_Extra/Fish](https://github.com/Phidica/sublime-fish) from `cd95616` to `98316d4`.
- [Release notes](https://github.com/Phidica/sublime-fish/releases)
- [Commits](cd95616df5...98316d4332)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/Fish
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-27 21:09:33 +02:00
Víctor González Prieto
b0898900ce
Syntax: add cmd-help (#2148)
* Add cmd-help syntax

To highlight command --help messages.

* README.md: mention help message highlighting

* README.md: edit help message highlighting
2022-04-26 19:42:18 +02:00
Martin Nordholts
3239d3be2a bug_report.md template: Explicitly ask for steps 2022-04-20 07:53:03 +02:00
Martin Nordholts
19033d7315 bug_report.md template: Mention some already reported bugs 2022-04-20 07:53:03 +02:00
Martin Nordholts
520081a92c Print info about custom assets in --diagnostics 2022-04-02 21:46:41 +02:00
Martin Nordholts
47e0dc22d2 Lock regex crate at min 1.5.5 for CVE-2022-24713
Cargo.lock already specifies 1.5.5, but we should also do it in
Cargo.toml.
2022-04-02 21:46:16 +02:00
acheronfail
33a984992b Update CHANGELOG.md
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2022-04-02 21:05:37 +02:00
acheronfail
b1e67e215c Allow configuring show_nonprintable from PrettyPrinter 2022-04-02 21:05:37 +02:00
dependabot[bot]
49317adcd3 Bump git2 from 0.14.1 to 0.14.2
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.14.1 to 0.14.2.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/compare/git2-curl-0.14.1...0.14.2)

---
updated-dependencies:
- dependency-name: git2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-02 20:57:30 +02:00
dependabot[bot]
738304fe27 Bump once_cell from 1.9.0 to 1.10.0
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/matklad/once_cell/releases)
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-01 06:48:35 +02:00
dependabot[bot]
a191552031 Bump regex from 1.5.4 to 1.5.5
Bumps [regex](https://github.com/rust-lang/regex) from 1.5.4 to 1.5.5.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.5.4...1.5.5)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-01 06:47:13 +02:00
dependabot[bot]
cec7229b6a Bump semver from 1.0.6 to 1.0.7
Bumps [semver](https://github.com/dtolnay/semver) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.6...1.0.7)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-01 06:44:20 +02:00
dependabot[bot]
e735562098 Bump assets/syntaxes/02_Extra/Fish from 2c254cc to cd95616
Bumps [assets/syntaxes/02_Extra/Fish](https://github.com/Phidica/sublime-fish) from `2c254cc` to `cd95616`.
- [Release notes](https://github.com/Phidica/sublime-fish/releases)
- [Commits](2c254cc851...cd95616df5)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/Fish
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-28 08:18:18 +02:00
Keith Hall
1b030dc03b
Merge pull request #2127 from sharkdp/log_syntax_2123
Syntax: [Log] highlight escape characters in double quoted strings
2022-03-23 22:37:44 +02:00
Keith Hall
c0ec03e08a Syntax: [Log] highlight escape characters in double quoted strings 2022-03-22 22:20:39 +02:00
Patrick Pichler
6b660ef63a Add test for systemwide config file support
There is now a new stage in the CICD workflow present, which will build
`bat` with the `BAT_SYSTEM_CONFIG_PREFIX` set to load the config file
from `/tests/examples/system_config/bat/config`, plus a basic set of
tests, to ensure the feature is working as expected. By default the
tests are set to ignored, as they need special setup before they can be
run.
2022-03-10 20:55:11 +01: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
dependabot[bot]
a153a78d7a Bump shell-words from 1.0.0 to 1.1.0
Bumps [shell-words](https://github.com/tmiasko/shell-words) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/tmiasko/shell-words/releases)
- [Commits](https://github.com/tmiasko/shell-words/compare/v1.0.0...v1.1.0)

---
updated-dependencies:
- dependency-name: shell-words
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-06 20:24:37 +01:00
dependabot[bot]
3ff738602e Bump git2 from 0.13.25 to 0.14.1
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.13.25 to 0.14.1.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/compare/0.13.25...git2-curl-0.14.1)

---
updated-dependencies:
- dependency-name: git2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-06 20:24:21 +01:00
David Peter
282b70291f Add CHANGELOG entry 2022-03-06 20:03:00 +01:00
David Peter
6330f36495 Updated test names 2022-03-06 20:03:00 +01:00
Patrick Hilhorst
e7df748b6d correctly handle multiple tabs in one line 2022-03-06 20:03:00 +01:00
Patrick Hilhorst
67124f8513 add show_all_tabstops_long integration test 2022-03-06 20:03:00 +01:00
Patrick Hilhorst
16f940c2d3 add show_all_tabstops integration test 2022-03-06 20:03:00 +01:00
Patrick Hilhorst
da5921b4a9 Correctly render tab stops 2022-03-06 20:03:00 +01:00
TruncatedDinosour
cde239e809
Syntax: add clang-format (#2076)
Highlight .clang-format files as YAML

Co-authored-by: Ari Archer <truncateddinosour@gmail.com>
Co-authored-by: David Peter <mail@david-peter.de>
2022-03-06 20:01:49 +01:00
dependabot[bot]
97a98e037d Bump serial_test from 0.5.1 to 0.6.0
Bumps [serial_test](https://github.com/palfrey/serial_test) from 0.5.1 to 0.6.0.
- [Release notes](https://github.com/palfrey/serial_test/releases)
- [Commits](https://github.com/palfrey/serial_test/compare/v0.5.1...v0.6.0)

---
updated-dependencies:
- dependency-name: serial_test
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-01 08:00:45 +01:00
dependabot[bot]
3ffff8d2d8 Bump semver from 1.0.4 to 1.0.6
Bumps [semver](https://github.com/dtolnay/semver) from 1.0.4 to 1.0.6.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.4...1.0.6)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-01 06:56:32 +01:00
dependabot[bot]
95796a9cc0 Bump predicates from 2.1.0 to 2.1.1
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/assert-rs/predicates-rs/releases)
- [Changelog](https://github.com/assert-rs/predicates-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/predicates-rs/compare/v2.1.0...v2.1.1)

---
updated-dependencies:
- dependency-name: predicates
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-01 06:54:56 +01:00
Martin Nordholts
7be9485c36 release-checklist: Remind where to push tags in forks 2022-02-27 15:25:41 +01:00
Martin Nordholts
448bfaf748 Prepare a "unreleased" section at the top of CHANGELOG.md 2022-02-27 15:25:41 +01:00
305 changed files with 21087 additions and 2467 deletions

2
.cargo/audit.toml Normal file
View File

@ -0,0 +1,2 @@
[advisories]
ignore = ["RUSTSEC-2024-0320", "RUSTSEC-2024-0421"]

View File

@ -7,9 +7,26 @@ assignees: ''
---
<!-- Hey there, thank you for creating an issue! -->
<!--
**Describe the bug you encountered:**
Hey there, thank you for reporting a bug!
Please note that the following bugs have already been reported:
* dpkg: error processing archive /some/path/some-program.deb (--unpack):
trying to overwrite '/usr/.crates2.json'
See https://github.com/sharkdp/bat/issues/938
-->
**What steps will reproduce the bug?**
1. step 1
2. step 2
3. ...
**What happens?**
...

View File

@ -7,3 +7,5 @@ assignees: ''
---
<!-- Using a normal ticket is still fine, but feel free to ask your
questions about bat on https://github.com/sharkdp/bat/discussions instead. -->

View File

@ -26,4 +26,4 @@ guidelines for adding new syntaxes:
[Name or description of the syntax/language here]
**Guideline Criteria:**
[packagecontro.io link here]
[packagecontrol.io link here]

View File

@ -16,3 +16,9 @@ updates:
interval: monthly
time: "04:00"
timezone: Europe/Berlin
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: monthly
time: "04:00"
timezone: Europe/Berlin

View File

@ -0,0 +1,23 @@
# This workflow triggers auto-merge of any PR that dependabot creates so that
# PRs will be merged automatically without maintainer intervention if CI passes
name: Auto-merge dependabot PRs
on:
pull_request_target:
types: [opened]
jobs:
auto-merge:
if: github.repository == 'sharkdp/bat' && startsWith(github.head_ref, 'dependabot/')
runs-on: ubuntu-latest
environment:
name: auto-merge
url: https://github.com/sharkdp/bat/blob/main/.github/workflows/Auto-merge-dependabot-PRs.yml
env:
GITHUB_TOKEN: ${{ secrets.AUTO_MERGE_GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
- run: |
gh pr review ${{ github.event.pull_request.number }} --comment --body "If CI passes, this dependabot PR will be [auto-merged](https://github.com/sharkdp/bat/blob/main/.github/workflows/Auto-merge-dependabot-PRs.yml) 🚀"
- run: |
gh pr merge --auto --squash ${{ github.event.pull_request.number }}

View File

@ -1,8 +1,8 @@
name: CICD
env:
MIN_SUPPORTED_RUST_VERSION: "1.51.0"
CICD_INTERMEDIATES_DIR: "_cicd-intermediates"
MSRV_FEATURES: --no-default-features --features minimal-application,bugreport,build-assets
on:
workflow_dispatch:
@ -14,89 +14,100 @@ on:
- '*'
jobs:
all-jobs:
if: always() # Otherwise this job is skipped if the matrix job fails
name: all-jobs
runs-on: ubuntu-latest
needs:
- crate_metadata
- ensure_cargo_fmt
- min_version
- license_checks
- test_with_new_syntaxes_and_themes
- test_with_system_config
- documentation
- cargo-audit
- build
steps:
- run: jq --exit-status 'all(.result == "success")' <<< '${{ toJson(needs) }}'
crate_metadata:
name: Extract crate metadata
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Extract crate information
id: crate_metadata
run: |
cargo metadata --no-deps --format-version 1 | jq -r '"name=" + .packages[0].name' | tee -a $GITHUB_OUTPUT
cargo metadata --no-deps --format-version 1 | jq -r '"version=" + .packages[0].version' | tee -a $GITHUB_OUTPUT
cargo metadata --no-deps --format-version 1 | jq -r '"maintainer=" + .packages[0].authors[0]' | tee -a $GITHUB_OUTPUT
cargo metadata --no-deps --format-version 1 | jq -r '"homepage=" + .packages[0].homepage' | tee -a $GITHUB_OUTPUT
cargo metadata --no-deps --format-version 1 | jq -r '"msrv=" + .packages[0].rust_version' | tee -a $GITHUB_OUTPUT
outputs:
name: ${{ steps.crate_metadata.outputs.name }}
version: ${{ steps.crate_metadata.outputs.version }}
maintainer: ${{ steps.crate_metadata.outputs.maintainer }}
homepage: ${{ steps.crate_metadata.outputs.homepage }}
msrv: ${{ steps.crate_metadata.outputs.msrv }}
ensure_cargo_fmt:
name: Ensure 'cargo fmt' has been run
runs-on: ubuntu-20.04
steps:
- uses: actions-rs/toolchain@v1
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
default: true
profile: minimal
components: rustfmt
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- run: cargo fmt -- --check
min_version:
name: Minimum supported rust version
runs-on: ubuntu-20.04
needs: crate_metadata
steps:
- name: Checkout source code
uses: actions/checkout@v4
- name: Install rust toolchain (v${{ needs.crate_metadata.outputs.msrv }})
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ needs.crate_metadata.outputs.msrv }}
components: clippy
- name: Run clippy (on minimum supported rust version to prevent warnings we can't fix)
run: cargo clippy --locked --all-targets ${{ env.MSRV_FEATURES }}
- name: Run tests
run: cargo test --locked ${{ env.MSRV_FEATURES }}
license_checks:
name: License checks
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: true # we especially want to perform license checks on submodules
- run: tests/scripts/license-checks.sh
min_version:
name: Minimum supported rust version
runs-on: ubuntu-20.04
steps:
- name: Checkout source code
uses: actions/checkout@v2
- name: Install rust toolchain (v${{ env.MIN_SUPPORTED_RUST_VERSION }})
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ env.MIN_SUPPORTED_RUST_VERSION }}
default: true
profile: minimal # minimal component installation (ie, no documentation)
components: clippy
- name: Run clippy (on minimum supported rust version to prevent warnings we can't fix)
uses: actions-rs/cargo@v1
with:
command: clippy
args: --locked --all-targets --all-features
- name: Run tests
uses: actions-rs/cargo@v1
with:
command: test
args: --locked
test_with_new_syntaxes_and_themes:
name: Run tests with updated syntaxes and themes
runs-on: ubuntu-20.04
steps:
- name: Git checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: true # we need all syntax and theme submodules
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
default: true
profile: minimal
uses: dtolnay/rust-toolchain@stable
- name: Build and install bat
uses: actions-rs/cargo@v1
with:
command: install
args: --locked --path .
run: cargo install --locked --path .
- name: Rebuild binary assets (syntaxes and themes)
run: bash assets/create.sh
- name: Build and install bat with updated assets
uses: actions-rs/cargo@v1
with:
command: install
args: --locked --path .
run: cargo install --locked --path .
- name: Run unit tests with new syntaxes and themes
uses: actions-rs/cargo@v1
with:
command: test
args: --locked --release
run: cargo test --locked --release
- name: Run ignored-by-default unit tests with new syntaxes and themes
uses: actions-rs/cargo@v1
with:
command: test
args: --locked --release -- --ignored
run: cargo test --locked --release --test assets -- --ignored
- name: Syntax highlighting regression test
run: tests/syntax-tests/regression_test.sh
- name: List of languages
@ -106,47 +117,70 @@ jobs:
- name: Test custom assets
run: tests/syntax-tests/test_custom_assets.sh
test_with_system_config:
name: Run tests with system wide configuration
runs-on: ubuntu-20.04
steps:
- name: Git checkout
uses: actions/checkout@v4
- name: Prepare environment variables
run: |
echo "BAT_SYSTEM_CONFIG_PREFIX=$GITHUB_WORKSPACE/tests/examples/system_config" >> $GITHUB_ENV
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Build and install bat
run: cargo install --locked --path .
- name: Run unit tests
run: cargo test --locked --test system_wide_config -- --ignored
documentation:
name: Documentation
runs-on: ubuntu-20.04
steps:
- name: Git checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
default: true
profile: minimal
uses: dtolnay/rust-toolchain@stable
- name: Check documentation
env:
RUSTDOCFLAGS: -D warnings
uses: actions-rs/cargo@v1
with:
command: doc
args: --locked --no-deps --document-private-items --all-features
run: cargo doc --locked --no-deps --document-private-items --all-features
- name: Show man page
run: man $(find . -name bat.1)
cargo-audit:
name: cargo audit
runs-on: ubuntu-latest
steps:
- run: cargo install cargo-audit --locked
- uses: actions/checkout@v4
- run: cargo audit
build:
name: ${{ matrix.job.target }} (${{ matrix.job.os }})
runs-on: ${{ matrix.job.os }}
needs: crate_metadata
strategy:
fail-fast: false
matrix:
job:
- { target: aarch64-unknown-linux-gnu , os: ubuntu-20.04, use-cross: true }
- { target: arm-unknown-linux-gnueabihf , os: ubuntu-20.04, use-cross: true }
- { target: arm-unknown-linux-musleabihf, os: ubuntu-20.04, use-cross: true }
- { target: i686-pc-windows-msvc , os: windows-2019 }
- { target: i686-unknown-linux-gnu , os: ubuntu-20.04, use-cross: true }
- { target: i686-unknown-linux-musl , os: ubuntu-20.04, use-cross: true }
- { target: x86_64-apple-darwin , os: macos-10.15 }
- { target: x86_64-pc-windows-gnu , os: windows-2019 }
- { target: x86_64-pc-windows-msvc , os: windows-2019 }
- { target: x86_64-unknown-linux-gnu , os: ubuntu-20.04 }
- { target: x86_64-unknown-linux-musl , os: ubuntu-20.04, use-cross: true }
- { target: aarch64-unknown-linux-musl , os: ubuntu-20.04, dpkg_arch: arm64, use-cross: true }
- { target: aarch64-unknown-linux-gnu , os: ubuntu-20.04, dpkg_arch: arm64, use-cross: true }
- { target: arm-unknown-linux-gnueabihf , os: ubuntu-20.04, dpkg_arch: armhf, use-cross: true }
- { target: arm-unknown-linux-musleabihf, os: ubuntu-20.04, dpkg_arch: musl-linux-armhf, use-cross: true }
- { target: i686-pc-windows-msvc , os: windows-2019, }
- { target: i686-unknown-linux-gnu , os: ubuntu-20.04, dpkg_arch: i686, use-cross: true }
- { target: i686-unknown-linux-musl , os: ubuntu-20.04, dpkg_arch: musl-linux-i686, use-cross: true }
- { target: x86_64-apple-darwin , os: macos-13, }
- { target: aarch64-apple-darwin , os: macos-14, }
- { target: x86_64-pc-windows-msvc , os: windows-2019, }
- { target: x86_64-unknown-linux-gnu , os: ubuntu-20.04, dpkg_arch: amd64, use-cross: true }
- { target: x86_64-unknown-linux-musl , os: ubuntu-20.04, dpkg_arch: musl-linux-amd64, use-cross: true }
env:
BUILD_CMD: cargo
steps:
- name: Checkout source code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Install prerequisites
shell: bash
@ -156,21 +190,21 @@ jobs:
aarch64-unknown-linux-gnu) sudo apt-get -y update ; sudo apt-get -y install gcc-aarch64-linux-gnu ;;
esac
- name: Extract crate information
shell: bash
run: |
echo "PROJECT_NAME=$(sed -n 's/^name = "\(.*\)"/\1/p' Cargo.toml | head -n1)" >> $GITHUB_ENV
echo "PROJECT_VERSION=$(sed -n 's/^version = "\(.*\)"/\1/p' Cargo.toml | head -n1)" >> $GITHUB_ENV
echo "PROJECT_MAINTAINER=$(sed -n 's/^authors = \["\(.*\)"\]/\1/p' Cargo.toml)" >> $GITHUB_ENV
echo "PROJECT_HOMEPAGE=$(sed -n 's/^homepage = "\(.*\)"/\1/p' Cargo.toml)" >> $GITHUB_ENV
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
target: ${{ matrix.job.target }}
override: true
profile: minimal # minimal component installation (ie, no documentation)
targets: ${{ matrix.job.target }}
- name: Install cross
if: matrix.job.use-cross
uses: taiki-e/install-action@v2
with:
tool: cross
- name: Overwrite build command env variable
if: matrix.job.use-cross
shell: bash
run: echo "BUILD_CMD=cross" >> $GITHUB_ENV
- name: Show version information (Rust, cargo, GCC)
shell: bash
@ -183,14 +217,11 @@ jobs:
rustc -V
- name: Build
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.job.use-cross }}
command: build
args: --locked --release --target=${{ matrix.job.target }}
shell: bash
run: $BUILD_CMD build --locked --release --target=${{ matrix.job.target }}
- name: Strip debug information from executable
id: strip
- name: Set binary name & path
id: bin
shell: bash
run: |
# Figure out suffix of binary
@ -199,31 +230,13 @@ jobs:
*-pc-windows-*) EXE_suffix=".exe" ;;
esac;
# Figure out what strip tool to use if any
STRIP="strip"
case ${{ matrix.job.target }} in
arm-unknown-linux-*) STRIP="arm-linux-gnueabihf-strip" ;;
aarch64-unknown-linux-gnu) STRIP="aarch64-linux-gnu-strip" ;;
*-pc-windows-msvc) STRIP="" ;;
esac;
# Setup paths
BIN_DIR="${{ env.CICD_INTERMEDIATES_DIR }}/stripped-release-bin/"
mkdir -p "${BIN_DIR}"
BIN_NAME="${{ env.PROJECT_NAME }}${EXE_suffix}"
BIN_PATH="${BIN_DIR}/${BIN_NAME}"
BIN_NAME="${{ needs.crate_metadata.outputs.name }}${EXE_suffix}"
BIN_PATH="target/${{ matrix.job.target }}/release/${BIN_NAME}"
# Copy the release build binary to the result location
cp "target/${{ matrix.job.target }}/release/${BIN_NAME}" "${BIN_DIR}"
# Also strip if possible
if [ -n "${STRIP}" ]; then
"${STRIP}" "${BIN_PATH}"
fi
# Let subsequent steps know where to find the (stripped) bin
echo ::set-output name=BIN_PATH::${BIN_PATH}
echo ::set-output name=BIN_NAME::${BIN_NAME}
# Let subsequent steps know where to find the binary
echo "BIN_PATH=${BIN_PATH}" >> $GITHUB_OUTPUT
echo "BIN_NAME=${BIN_NAME}" >> $GITHUB_OUTPUT
- name: Set testing options
id: test-options
@ -231,73 +244,55 @@ jobs:
run: |
# test only library unit tests and binary for arm-type targets
unset CARGO_TEST_OPTIONS
unset CARGO_TEST_OPTIONS ; case ${{ matrix.job.target }} in arm-* | aarch64-*) CARGO_TEST_OPTIONS="--lib --bin ${PROJECT_NAME}" ;; esac;
echo ::set-output name=CARGO_TEST_OPTIONS::${CARGO_TEST_OPTIONS}
unset CARGO_TEST_OPTIONS ; case ${{ matrix.job.target }} in arm-* | aarch64-*) CARGO_TEST_OPTIONS="--lib --bin ${{ needs.crate_metadata.outputs.name }}" ;; esac;
echo "CARGO_TEST_OPTIONS=${CARGO_TEST_OPTIONS}" >> $GITHUB_OUTPUT
- name: Run tests
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.job.use-cross }}
command: test
args: --locked --target=${{ matrix.job.target }} ${{ steps.test-options.outputs.CARGO_TEST_OPTIONS}}
shell: bash
run: |
if [[ ${{ matrix.job.os }} = windows-* ]]
then
powershell.exe -command "$BUILD_CMD test --locked --target=${{ matrix.job.target }} ${{ steps.test-options.outputs.CARGO_TEST_OPTIONS}}"
else
$BUILD_CMD test --locked --target=${{ matrix.job.target }} ${{ steps.test-options.outputs.CARGO_TEST_OPTIONS}}
fi
- name: Run bat
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.job.use-cross }}
command: run
args: --locked --target=${{ matrix.job.target }} -- --paging=never --color=always --theme=ansi Cargo.toml src/config.rs
shell: bash
run: $BUILD_CMD run --locked --target=${{ matrix.job.target }} -- --paging=never --color=always --theme=ansi Cargo.toml src/config.rs
- name: Show diagnostics (bat --diagnostic)
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.job.use-cross }}
command: run
args: --locked --target=${{ matrix.job.target }} -- --paging=never --color=always --theme=ansi Cargo.toml src/config.rs --diagnostic
shell: bash
run: $BUILD_CMD run --locked --target=${{ matrix.job.target }} -- --paging=never --color=always --theme=ansi Cargo.toml src/config.rs --diagnostic
- name: "Feature check: regex-onig"
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.job.use-cross }}
command: check
args: --locked --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig
shell: bash
run: $BUILD_CMD check --locked --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig
- name: "Feature check: regex-onig,git"
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.job.use-cross }}
command: check
args: --locked --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig,git
shell: bash
run: $BUILD_CMD check --locked --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig,git
- name: "Feature check: regex-onig,paging"
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.job.use-cross }}
command: check
args: --locked --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig,paging
shell: bash
run: $BUILD_CMD check --locked --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig,paging
- name: "Feature check: regex-onig,git,paging"
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.job.use-cross }}
command: check
args: --locked --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig,git,paging
shell: bash
run: $BUILD_CMD check --locked --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig,git,paging
- name: "Feature check: minimal-application"
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.job.use-cross }}
command: check
args: --locked --target=${{ matrix.job.target }} --verbose --no-default-features --features minimal-application
shell: bash
run: $BUILD_CMD check --locked --target=${{ matrix.job.target }} --verbose --no-default-features --features minimal-application
- name: Create tarball
id: package
shell: bash
run: |
PKG_suffix=".tar.gz" ; case ${{ matrix.job.target }} in *-pc-windows-*) PKG_suffix=".zip" ;; esac;
PKG_BASENAME=${PROJECT_NAME}-v${PROJECT_VERSION}-${{ matrix.job.target }}
PKG_BASENAME=${{ needs.crate_metadata.outputs.name }}-v${{ needs.crate_metadata.outputs.version }}-${{ matrix.job.target }}
PKG_NAME=${PKG_BASENAME}${PKG_suffix}
echo ::set-output name=PKG_NAME::${PKG_NAME}
echo "PKG_NAME=${PKG_NAME}" >> $GITHUB_OUTPUT
PKG_STAGING="${{ env.CICD_INTERMEDIATES_DIR }}/package"
ARCHIVE_DIR="${PKG_STAGING}/${PKG_BASENAME}/"
@ -305,19 +300,19 @@ jobs:
mkdir -p "${ARCHIVE_DIR}/autocomplete"
# Binary
cp "${{ steps.strip.outputs.BIN_PATH }}" "$ARCHIVE_DIR"
# Man page
cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/manual/bat.1 "$ARCHIVE_DIR"
cp "${{ steps.bin.outputs.BIN_PATH }}" "$ARCHIVE_DIR"
# README, LICENSE and CHANGELOG files
cp "README.md" "LICENSE-MIT" "LICENSE-APACHE" "CHANGELOG.md" "$ARCHIVE_DIR"
# Man page
cp 'target/${{ matrix.job.target }}/release/build/${{ needs.crate_metadata.outputs.name }}'-*/out/assets/manual/bat.1 "$ARCHIVE_DIR"
# Autocompletion files
cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.bash "$ARCHIVE_DIR/autocomplete/${{ env.PROJECT_NAME }}.bash"
cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.fish "$ARCHIVE_DIR/autocomplete/${{ env.PROJECT_NAME }}.fish"
cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/_bat.ps1 "$ARCHIVE_DIR/autocomplete/_${{ env.PROJECT_NAME }}.ps1"
cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.zsh "$ARCHIVE_DIR/autocomplete/${{ env.PROJECT_NAME }}.zsh"
cp 'target/${{ matrix.job.target }}/release/build/${{ needs.crate_metadata.outputs.name }}'-*/out/assets/completions/bat.bash "$ARCHIVE_DIR/autocomplete/${{ needs.crate_metadata.outputs.name }}.bash"
cp 'target/${{ matrix.job.target }}/release/build/${{ needs.crate_metadata.outputs.name }}'-*/out/assets/completions/bat.fish "$ARCHIVE_DIR/autocomplete/${{ needs.crate_metadata.outputs.name }}.fish"
cp 'target/${{ matrix.job.target }}/release/build/${{ needs.crate_metadata.outputs.name }}'-*/out/assets/completions/_bat.ps1 "$ARCHIVE_DIR/autocomplete/_${{ needs.crate_metadata.outputs.name }}.ps1"
cp 'target/${{ matrix.job.target }}/release/build/${{ needs.crate_metadata.outputs.name }}'-*/out/assets/completions/bat.zsh "$ARCHIVE_DIR/autocomplete/${{ needs.crate_metadata.outputs.name }}.zsh"
# base compressed package
pushd "${PKG_STAGING}/" >/dev/null
@ -328,7 +323,7 @@ jobs:
popd >/dev/null
# Let subsequent steps know where to find the compressed package
echo ::set-output name=PKG_PATH::"${PKG_STAGING}/${PKG_NAME}"
echo "PKG_PATH=${PKG_STAGING}/${PKG_NAME}" >> $GITHUB_OUTPUT
- name: Create Debian package
id: debian-package
@ -340,34 +335,25 @@ jobs:
DPKG_DIR="${DPKG_STAGING}/dpkg"
mkdir -p "${DPKG_DIR}"
DPKG_BASENAME=${PROJECT_NAME}
DPKG_CONFLICTS=${PROJECT_NAME}-musl
case ${{ matrix.job.target }} in *-musl) DPKG_BASENAME=${PROJECT_NAME}-musl ; DPKG_CONFLICTS=${PROJECT_NAME} ;; esac;
DPKG_VERSION=${PROJECT_VERSION}
unset DPKG_ARCH
case ${{ matrix.job.target }} in
aarch64-*-linux-*) DPKG_ARCH=arm64 ;;
arm-*-linux-*hf) DPKG_ARCH=armhf ;;
i686-*-linux-*) DPKG_ARCH=i686 ;;
x86_64-*-linux-*) DPKG_ARCH=amd64 ;;
*) DPKG_ARCH=notset ;;
esac;
DPKG_BASENAME=${{ needs.crate_metadata.outputs.name }}
DPKG_CONFLICTS=${{ needs.crate_metadata.outputs.name }}-musl
case ${{ matrix.job.target }} in *-musl) DPKG_BASENAME=${{ needs.crate_metadata.outputs.name }}-musl ; DPKG_CONFLICTS=${{ needs.crate_metadata.outputs.name }} ;; esac;
DPKG_VERSION=${{ needs.crate_metadata.outputs.version }}
DPKG_ARCH="${{ matrix.job.dpkg_arch }}"
DPKG_NAME="${DPKG_BASENAME}_${DPKG_VERSION}_${DPKG_ARCH}.deb"
echo ::set-output name=DPKG_NAME::${DPKG_NAME}
echo "DPKG_NAME=${DPKG_NAME}" >> $GITHUB_OUTPUT
# Binary
install -Dm755 "${{ steps.strip.outputs.BIN_PATH }}" "${DPKG_DIR}/usr/bin/${{ steps.strip.outputs.BIN_NAME }}"
install -Dm755 "${{ steps.bin.outputs.BIN_PATH }}" "${DPKG_DIR}/usr/bin/${{ steps.bin.outputs.BIN_NAME }}"
# Man page
install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/manual/bat.1 "${DPKG_DIR}/usr/share/man/man1/${{ env.PROJECT_NAME }}.1"
gzip -n --best "${DPKG_DIR}/usr/share/man/man1/${{ env.PROJECT_NAME }}.1"
install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ needs.crate_metadata.outputs.name }}'-*/out/assets/manual/bat.1 "${DPKG_DIR}/usr/share/man/man1/${{ needs.crate_metadata.outputs.name }}.1"
gzip -n --best "${DPKG_DIR}/usr/share/man/man1/${{ needs.crate_metadata.outputs.name }}.1"
# Autocompletion files
install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.bash "${DPKG_DIR}/usr/share/bash-completion/completions/${{ env.PROJECT_NAME }}"
install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.fish "${DPKG_DIR}/usr/share/fish/vendor_completions.d/${{ env.PROJECT_NAME }}.fish"
install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.zsh "${DPKG_DIR}/usr/share/zsh/vendor-completions/_${{ env.PROJECT_NAME }}"
install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ needs.crate_metadata.outputs.name }}'-*/out/assets/completions/bat.bash "${DPKG_DIR}/usr/share/bash-completion/completions/${{ needs.crate_metadata.outputs.name }}"
install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ needs.crate_metadata.outputs.name }}'-*/out/assets/completions/bat.fish "${DPKG_DIR}/usr/share/fish/vendor_completions.d/${{ needs.crate_metadata.outputs.name }}.fish"
install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ needs.crate_metadata.outputs.name }}'-*/out/assets/completions/bat.zsh "${DPKG_DIR}/usr/share/zsh/vendor-completions/_${{ needs.crate_metadata.outputs.name }}"
# README and LICENSE
install -Dm644 "README.md" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/README.md"
@ -378,12 +364,12 @@ jobs:
cat > "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/copyright" <<EOF
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: ${{ env.PROJECT_NAME }}
Source: ${{ env.PROJECT_HOMEPAGE }}
Upstream-Name: ${{ needs.crate_metadata.outputs.name }}
Source: ${{ needs.crate_metadata.outputs.homepage }}
Files: *
Copyright: ${{ env.PROJECT_MAINTAINER }}
Copyright: $COPYRIGHT_YEARS ${{ env.PROJECT_MAINTAINER }}
Copyright: ${{ needs.crate_metadata.outputs.maintainer }}
Copyright: $COPYRIGHT_YEARS ${{ needs.crate_metadata.outputs.maintainer }}
License: Apache-2.0 or MIT
License: Apache-2.0
@ -424,17 +410,17 @@ jobs:
Version: ${DPKG_VERSION}
Section: utils
Priority: optional
Maintainer: ${{ env.PROJECT_MAINTAINER }}
Homepage: ${{ env.PROJECT_HOMEPAGE }}
Maintainer: ${{ needs.crate_metadata.outputs.maintainer }}
Homepage: ${{ needs.crate_metadata.outputs.homepage }}
Architecture: ${DPKG_ARCH}
Provides: ${{ env.PROJECT_NAME }}
Provides: ${{ needs.crate_metadata.outputs.name }}
Conflicts: ${DPKG_CONFLICTS}
Description: cat(1) clone with wings.
A cat(1) clone with syntax highlighting and Git integration.
EOF
DPKG_PATH="${DPKG_STAGING}/${DPKG_NAME}"
echo ::set-output name=DPKG_PATH::${DPKG_PATH}
echo "DPKG_PATH=${DPKG_PATH}" >> $GITHUB_OUTPUT
# build dpkg
fakeroot dpkg-deb --build "${DPKG_DIR}" "${DPKG_PATH}"
@ -457,10 +443,10 @@ jobs:
shell: bash
run: |
unset IS_RELEASE ; if [[ $GITHUB_REF =~ ^refs/tags/v[0-9].* ]]; then IS_RELEASE='true' ; fi
echo ::set-output name=IS_RELEASE::${IS_RELEASE}
echo "IS_RELEASE=${IS_RELEASE}" >> $GITHUB_OUTPUT
- name: Publish archives and packages
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
if: steps.is-release.outputs.IS_RELEASE
with:
files: |
@ -468,3 +454,15 @@ jobs:
${{ steps.debian-package.outputs.DPKG_PATH }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
winget:
name: Publish to Winget
runs-on: ubuntu-latest
needs: build
if: startsWith(github.ref, 'refs/tags/v')
steps:
- uses: vedantmgoyal2009/winget-releaser@v2
with:
identifier: sharkdp.bat
installers-regex: '-pc-windows-msvc\.zip$'
token: ${{ secrets.WINGET_TOKEN }}

View File

@ -0,0 +1,33 @@
name: Changelog
on:
pull_request:
jobs:
check-changelog:
name: Check for changelog entry
runs-on: ubuntu-latest
# dependabot PRs are automerged if CI passes; we shouldn't block these
if: github.actor != 'dependabot[bot]'
env:
PR_NUMBER: ${{ github.event.number }}
PR_BASE: ${{ github.base_ref }}
steps:
- uses: actions/checkout@v4
- name: Fetch PR base
run: git fetch --no-tags --prune --depth=1 origin
# cannot use `github.actor`: the triggering commit may be authored by a maintainer
- name: Get PR submitter
id: get-submitter
run: curl -sSfL https://api.github.com/repos/sharkdp/bat/pulls/${PR_NUMBER} | jq -r '"submitter=" + .user.login' | tee -a $GITHUB_OUTPUT
- name: Search for added line in changelog
env:
PR_SUBMITTER: ${{ steps.get-submitter.outputs.submitter }}
run: |
ADDED=$(git diff -U0 "origin/${PR_BASE}" HEAD -- CHANGELOG.md | grep -P '^\+[^\+].+$')
echo "Added lines in CHANGELOG.md:"
echo "$ADDED"
echo "Grepping for PR info (see CONTRIBUTING.md):"
grep "#${PR_NUMBER}\\b.*${PR_SUBMITTER}\\b" <<< "$ADDED"

1
.gitignore vendored
View File

@ -2,6 +2,7 @@
**/*.rs.bk
# Generated files
/assets/completions/_bat.ps1
/assets/completions/bat.bash
/assets/completions/bat.fish
/assets/completions/bat.zsh

41
.gitmodules vendored
View File

@ -65,7 +65,7 @@
path = assets/themes/onehalf
url = https://github.com/sonph/onehalf
[submodule "assets/syntaxes/JavaScript (Babel)"]
path = assets/syntaxes/02_Extra/JavaScript (Babel)
path = assets/syntaxes/02_Extra/JavaScript_(Babel)
url = https://github.com/babel/babel-sublime
[submodule "assets/syntaxes/FSharp"]
path = assets/syntaxes/02_Extra/FSharp
@ -89,7 +89,7 @@
path = assets/themes/sublime-snazzy
url = https://github.com/greggb/sublime-snazzy
[submodule "assets/syntaxes/Assembly (ARM)"]
path = assets/syntaxes/02_Extra/Assembly (ARM)
path = assets/syntaxes/02_Extra/Assembly_(ARM)
url = https://github.com/tvi/Sublime-ARM-Assembly
[submodule "assets/syntaxes/protobuf-syntax-highlighting"]
path = assets/syntaxes/02_Extra/Protobuf
@ -108,7 +108,7 @@
path = assets/syntaxes/02_Extra/Fish
url = https://github.com/Phidica/sublime-fish.git
[submodule "assets/syntaxes/Org mode"]
path = assets/syntaxes/02_Extra/Org mode
path = assets/syntaxes/02_Extra/Org_mode
url = https://github.com/jezcope/Org.tmbundle.git
[submodule "assets/syntaxes/DotENV"]
path = assets/syntaxes/02_Extra/DotENV
@ -142,7 +142,7 @@
path = assets/themes/dracula-sublime
url = https://github.com/dracula/sublime.git
[submodule "assets/syntaxes/HTML (Twig)"]
path = assets/syntaxes/02_Extra/HTML (Twig)
path = assets/syntaxes/02_Extra/HTML_(Twig)
url = https://github.com/Anomareh/PHP-Twig.tmbundle.git
[submodule "assets/themes/Nord-sublime"]
path = assets/themes/Nord-sublime
@ -239,3 +239,36 @@
[submodule "assets/syntaxes/02_Extra/SublimeJQ"]
path = assets/syntaxes/02_Extra/SublimeJQ
url = https://github.com/zogwarg/SublimeJQ.git
[submodule "assets/syntaxes/02_Extra/cmd-help"]
path = assets/syntaxes/02_Extra/cmd-help
url = https://github.com/victor-gp/cmd-help-sublime-syntax.git
branch = main
shallow = true
[submodule "assets/syntaxes/02_Extra/TodoTxt"]
path = assets/syntaxes/02_Extra/TodoTxt
url = https://github.com/dertuxmalwieder/SublimeTodoTxt
[submodule "assets/syntaxes/02_Extra/Ada"]
path = assets/syntaxes/02_Extra/Ada
url = https://github.com/wiremoons/ada-sublime-syntax
[submodule "assets/syntaxes/02_Extra/Crontab"]
path = assets/syntaxes/02_Extra/Crontab
url = https://github.com/michaelblyons/SublimeSyntax-Crontab
[submodule "assets/syntaxes/02_Extra/NSIS"]
path = assets/syntaxes/02_Extra/NSIS
url = https://github.com/SublimeText/NSIS
[submodule "assets/syntaxes/02_Extra/vscode-wgsl"]
path = assets/syntaxes/02_Extra/vscode-wgsl
url = https://github.com/PolyMeilex/vscode-wgsl.git
[submodule "assets/syntaxes/02_Extra/CFML"]
path = assets/syntaxes/02_Extra/CFML
url = https://github.com/jcberquist/sublimetext-cfml.git
[submodule "assets/syntaxes/02_Extra/Idris2"]
path = assets/syntaxes/02_Extra/Idris2
url = https://github.com/buzden/sublime-syntax-idris2
[submodule "assets/syntaxes/02_Extra/GDScript-sublime"]
path = assets/syntaxes/02_Extra/GDScript-sublime
url = https://github.com/beefsack/GDScript-sublime
[submodule "assets/syntaxes/02_Extra/sublime-odin"]
path = assets/syntaxes/02_Extra/sublime-odin
url = https://github.com/odin-lang/sublime-odin

View File

@ -1,3 +1,299 @@
# unreleased
## Features
- Add paging to `--list-themes`, see PR #3239 (@einfachIrgendwer0815)
## Bugfixes
- Fix `BAT_THEME_DARK` and `BAT_THEME_LIGHT` being ignored, see issue #3171 and PR #3168 (@bash)
- Prevent `--list-themes` from outputting default theme info to stdout when it is piped, see #3189 (@einfachIrgendwer0815)
- Rename some submodules to fix Dependabot submodule updates, see issue #3198 and PR #3201 (@victor-gp)
- Make highlight tests fail when new syntaxes don't have fixtures PR #3255 (@dan-hipschman)
- Fix crash for multibyte characters in file path, see issue #3230 and PR #3245 (@HSM95)
- Add missing mappings for various bash/zsh files, see PR #3262 (@AdamGaskins)
## Other
- Work around build failures when building `bat` from vendored sources #3179 (@dtolnay)
- CICD: Stop building for x86_64-pc-windows-gnu which fails #3261 (Enselic)
## Syntaxes
- Add syntax mapping for `paru` configuration files #3182 (@cyqsimon)
- Add support for [Idris 2 programming language](https://www.idris-lang.org/) #3150 (@buzden)
- Add syntax mapping for `nix`'s '`flake.lock` lockfiles #3196 (@odilf)
- Improvements to CSV/TSV highlighting, with autodetection of delimiter and support for TSV files, see #3186 (@keith-
- Improve (Sys)log error highlighting, see #3205 (@keith-hall)
- Map `ndjson` extension to JSON syntax, see #3209 (@keith-hall)
- Map files with `csproj`, `vbproj`, `props` and `targets` extensions to XML syntax, see #3213 (@keith-hall)
- Add debsources syntax to highlight `/etc/apt/sources.list` files, see #3215 (@keith-hall)
- Add syntax definition and test file for GDScript highlighting, see #3236 (@chetanjangir0)
- Add syntax test file for Odin highlighting, see #3241 (@chetanjangir0)
## Themes
## `bat` as a library
# v0.25.0
## Features
- Set terminal title to file names when Paging is not Paging::Never #2807 (@Oliver-Looney)
- `bat --squeeze-blank`/`bat -s` will now squeeze consecutive empty lines, see #1441 (@eth-p) and #2665 (@einfachIrgendwer0815)
- `bat --squeeze-limit` to set the maximum number of empty consecutive when using `--squeeze-blank`, see #1441 (@eth-p) and #2665 (@einfachIrgendwer0815)
- `PrettyPrinter::squeeze_empty_lines` to support line squeezing for bat as a library, see #1441 (@eth-p) and #2665 (@einfachIrgendwer0815)
- Syntax highlighting for JavaScript files that start with `#!/usr/bin/env bun` #2913 (@sharunkumar)
- `bat --strip-ansi={never,always,auto}` to remove ANSI escape sequences from bat's input, see #2999 (@eth-p)
- Add or remove individual style components without replacing all styles #2929 (@eth-p)
- Automatically choose theme based on the terminal's color scheme, see #2896 (@bash)
- Add option `--binary=as-text` for printing binary content, see issue #2974 and PR #2976 (@einfachIrgendwer0815)
- Make shell completions available via `--completion <shell>`, see issue #2057 and PR #3126 (@einfachIrgendwer0815)
- Syntax highlighting for puppet code blocks within Markdown files, see #3152 (@liliwilson)
## Bugfixes
- Fix long file name wrapping in header, see #2835 (@FilipRazek)
- Fix `NO_COLOR` support, see #2767 (@acuteenvy)
- Fix handling of inputs with OSC ANSI escape sequences, see #2541 and #2544 (@eth-p)
- Fix handling of inputs with combined ANSI color and attribute sequences, see #2185 and #2856 (@eth-p)
- Fix panel width when line 10000 wraps, see #2854 (@eth-p)
- Fix compile issue of `time` dependency caused by standard library regression #3045 (@cyqsimon)
- Fix override behavior of --plain and --paging, see issue #2731 and PR #3108 (@einfachIrgendwer0815)
- Fix bugs in `$LESSOPEN` support, see #2805 (@Anomalocaridid)
## Other
- Upgrade to Rust 2021 edition #2748 (@cyqsimon)
- Refactor and cleanup build script #2756 (@cyqsimon)
- Checks changelog has been written to for PRs in CI #2766 (@cyqsimon)
- Use GitHub API to get correct PR submitter #2791 (@cyqsimon)
- Minor benchmark script improvements #2768 (@cyqsimon)
- Update Arch Linux package URL in README files #2779 (@brunobell)
- Update and improve `zsh` completion, see #2772 (@okapia)
- More extensible syntax mapping mechanism #2755 (@cyqsimon)
- Use proper Architecture for Debian packages built for musl, see #2811 (@Enselic)
- Pull in fix for unsafe-libyaml security advisory, see #2812 (@dtolnay)
- Update git-version dependency to use Syn v2, see #2816 (@dtolnay)
- Update git2 dependency to v0.18.2, see #2852 (@eth-p)
- Improve performance when color output disabled, see #2397 and #2857 (@eth-p)
- Relax syntax mapping rule restrictions to allow brace expansion #2865 (@cyqsimon)
- Apply clippy fixes #2864 (@cyqsimon)
- Faster startup by offloading glob matcher building to a worker thread #2868 (@cyqsimon)
- Display which theme is the default one in basic output (no colors), see #2937 (@sblondon)
- Display which theme is the default one in colored output, see #2838 (@sblondon)
- Add aarch64-apple-darwin ("Apple Silicon") binary tarballs to releases, see #2967 (@someposer)
- Update the Lisp syntax, see #2970 (@ccqpein)
- Use bat's ANSI iterator during tab expansion, see #2998 (@eth-p)
- Support 'statically linked binary' for aarch64 in 'Release' page, see #2992 (@tzq0301)
- Update options in shell completions and the man page of `bat`, see #2995 (@akinomyoga)
- Update nix dev-dependency to v0.29.0, see #3112 (@decathorpe)
- Bump MSRV to [1.74](https://blog.rust-lang.org/2023/11/16/Rust-1.74.0.html), see #3154 (@keith-hall)
- Update clircle dependency to remove winapi transitive dependency, see #3113 (@niklasmohrin)
## Syntaxes
- `cmd-help`: scope subcommands followed by other terms, and other misc improvements, see #2819 (@victor-gp)
- Upgrade JQ syntax, see #2820 (@dependabot[bot])
- Add syntax mapping for quadman quadlets #2866 (@cyqsimon)
- Map containers .conf files to TOML syntax #2867 (@cyqsimon)
- Associate `.xsh` files with `xonsh` syntax that is Python, see #2840 (@anki-code)
- Associate JSON with Comments `.jsonc` with `json` syntax, see #2795 (@mxaddict)
- Associate JSON-LD `.jsonld` files with `json` syntax, see #3037 (@vorburger)
- Associate `.textproto` files with `ProtoBuf` syntax, see #3038 (@vorburger)
- Associate GeoJSON `.geojson` files with `json` syntax, see #3084 (@mvaaltola)
- Associate `.aws/{config,credentials}`, see #2795 (@mxaddict)
- Associate Wireguard config `/etc/wireguard/*.conf`, see #2874 (@cyqsimon)
- Add support for [CFML](https://www.adobe.com/products/coldfusion-family.html), see #3031 (@brenton-at-pieces)
- Map `*.mkd` files to `Markdown` syntax, see issue #3060 and PR #3061 (@einfachIrgendwer0815)
- Add syntax mapping for CITATION.cff, see #3103 (@Ugzuzg)
- Add syntax mapping for kubernetes config files #3049 (@cyqsimon)
- Adds support for pipe delimiter for CSV #3115 (@pratik-m)
- Add syntax mapping for `/etc/pacman.conf` #2961 (@cyqsimon)
- Associate `uv.lock` with `TOML` syntax, see #3132 (@fepegar)
## Themes
- Patched/improved themes for better Manpage syntax highlighting support, see #2994 (@keith-hall).
## `bat` as a library
- Changes to `syntax_mapping::SyntaxMapping` #2755 (@cyqsimon)
- `SyntaxMapping::get_syntax_for` is now correctly public
- [BREAKING] `SyntaxMapping::{empty,builtin}` are removed; use `SyntaxMapping::new` instead
- [BREAKING] `SyntaxMapping::mappings` is replaced by `SyntaxMapping::{builtin,custom,all}_mappings`
- Make `Controller::run_with_error_handler`'s error handler `FnMut`, see #2831 (@rhysd)
- Improve compile time by 20%, see #2815 (@dtolnay)
- Add `theme::theme` for choosing an appropriate theme based on the
terminal's color scheme, see #2896 (@bash)
- [BREAKING] Remove `HighlightingAssets::default_theme`. Use `theme::default_theme` instead.
- Add `PrettyPrinter::print_with_writer` for custom output destinations, see #3070 (@kojix2)
# v0.24.0
## Features
- Add environment variable `BAT_PAGING`, see #2629 (@einfachIrgendwer0815)
- Add opt-in (`--features lessopen`) support for `LESSOPEN` and `LESSCLOSE`. See #1597, #1739, #2444, #2602, and #2662 (@Anomalocaridid)
## Bugfixes
- Fix `more` not being found on Windows when provided via `BAT_PAGER`, see #2570, #2580, and #2651 (@mataha)
- Switched default behavior of `--map-syntax` to be case insensitive #2520
- Updated version of `serde_yaml` to `0.9`. See #2627 (@Raghav-Bell)
- Fix arithmetic overflow in `LineRange::from` and `LineRange::parse_range`, see #2674, #2698 (@skoriop)
- Fix paging not happening when stdout is interactive but stdin is not, see #2574 (@Nigecat)
- Make `-pp` override `--paging` and vice versa when passed as a later argument, see #2660 (@J-Kappes)
## Other
- Output directory for generated assets (completion, manual) can be customized, see #2515 (@tranzystorek-io)
- Use the `is-terminal` crate instead of `atty`, see #2530 (@nickelc)
- Add Winget Releaser workflow, see #2519 (@sitiom)
- Bump MSRV to 1.70, see #2651 (@mataha)
## Syntaxes
- Associate `os-release` with `bash` syntax, see #2587 (@cyqsimon)
- Associate `Containerfile` with `Dockerfile` syntax, see #2606 (@einfachIrgendwer0815)
- Replaced quotes with double quotes so fzf integration example script works on windows and linux. see #2095 (@johnmatthiggins)
- Associate `ksh` files with `bash` syntax, see #2633 (@johnmatthiggins)
- Associate `sarif` files with `JSON` syntax, see #2695 (@rhysd)
- Associate `ron` files with `rust` syntax, see #2427 (@YeungOnion)
- Add support for [WebGPU Shader Language](https://www.w3.org/TR/WGSL/), see #2692 (@rhysd)
- Add `.dpkg-new` and `.dpkg-tmp` to ignored suffixe, see #2595 (@scop)
- fix: Add syntax mapping `*.jsonl` => `json`, see #2539 (@WinterCore)
- Update `Julia` syntax, see #2553 (@dependabot)
- add `NSIS` support, see #2577 (@idleberg)
- Update `ssh-config`, see #2697 (@mrmeszaros)
- Add syntax mapping `*.debdiff` => `diff`, see #2947 (@jacg)
## `bat` as a library
- Add optional output_buffer arg to `Controller::run()` and `Controller::run_with_error_handler()`, see #2618 (@Piturnah)
# v0.23.0
## Features
- Implemented `-S` and `--chop-long-lines` flags as aliases for `--wrap=never`. See #2309 (@johnmatthiggins)
- Breaking change: Environment variables can now override config file settings (but command-line arguments still have the highest precedence), see #1152, #1281, and #2381 (@aaronkollasch)
- Implemented `--nonprintable-notation=caret` to support showing non-printable characters using caret notation. See #2429 (@einfachIrgendwer0815)
## Bugfixes
- Fix `bat cache --clear` not clearing the `--target` dir if specified. See #2393 (@miles170)
## Other
- Various bash completion improvements, see #2310 (@scop)
- Disable completion of `cache` subcommand, see #2399 (@cyqsimon)
- Signifigantly improve startup performance on macOS, see #2442 (@BlackHoleFox)
- Bump MSRV to 1.62, see #2496 (@Enselic)
## Syntaxes
- Added support for Ada, see #1300 and #2316 (@dkm)
- Added `todo.txt` syntax, see #2375 (@BANOnotIT)
- Improve Manpage.sublime-syntax. See #2364 (@Freed-Wu) and #2461 (@keith-hall)
- Added a new `requirements.txt` syntax, see #2361 (@Freed-Wu)
- Added a new VimHelp syntax, see #2366 (@Freed-Wu)
- Associate `pdm.lock` with `TOML` syntax, see #2410
- `Todo.txt`: Fix highlighting of contexts and projects at beginning of done.txt, see #2411
- `cmd-help`: overhaul scope names (colors) to improve theme support; misc syntax improvements. See #2419 (@victor-gp)
- Added support for Crontab, see #2509 (@keith-hall)
## Themes
## `bat` as a library
- `PrettyPrinter::header` correctly displays a header with the filename, see #2378 and #2406 (@cstyles)
# v0.22.1
## Bugfixes
- Bring back pre-processing of ANSI escape characters to so that some common `bat` use cases starts working again. See #2308 (@Enselic)
# v0.22.0
## Features
- Make the default macOS theme depend on Dark Mode. See #2197, #1746 (@Enselic)
- Support for separate system and user config files. See #668 (@patrickpichler)
## Bugfixes
- Prevent fork nightmare with `PAGER=batcat`. See #2235 (@johnmatthiggins)
- Make `--no-paging`/`-P` override `--paging=...` if passed as a later arg, see #2201 (@themkat)
- `--map-syntax` and `--ignored-suffix` now works together, see #2093 (@czzrr)
- Strips byte order mark from output when in non-loop-through mode. See #1922 (@dag-h)
## Other
- Relaxed glibc requirements on amd64, see #2106 and #2194 (@sharkdp)
- Improved fish completions. See #2275 (@zgracem)
- Stop pre-processing ANSI escape characters. Syntax highlighting on ANSI escaped input is not supported. See #2185 and #2189 (@Enselic)
## Syntaxes
- NSE (Nmap Scripting Engine) is mapped to Lua, see #2151 (@Cre3per)
- Correctly color `fstab` dump and pass fields, see #2246 (@yuvalmo)
- Update `Command Help` syntax, see #2255
- `Julia`: Fix syntax highlighting for function name starting with `struct`, see #2230
- Minor update to `LiveScript`, see #2291
- Associate `.mts` and `.cts` files with the `TypeScript` syntax. See #2236 (@kidonng)
- Fish history is mapped to YAML. See #2237 (@kidonng)
## `bat` as a library
- Make `bat::PrettyPrinter::syntaxes()` iterate over new `bat::Syntax` struct instead of `&syntect::parsing::SyntaxReference`. See #2222 (@Enselic)
- Clear highlights after printing, see #1919 and #1920 (@rhysd)
# v0.21.0
## Features
- Correctly render tab stops in `--show-all`, see #2038 (@Synthetica9)
- Add a `--style=default` option and make it the default. It is less verbose than `full`, see #2061 (@IsaacHorvath)
- Enable BusyBox `less` as pager, see #2162 (@nfisher1226)
- File extensions are now matched case-insensitively. See #1854, #2181 (@Enselic)
## Bugfixes
- Bump `regex` dependency from 1.5.4 to 1.5.5 to fix [CVE-2022-24713](https://blog.rust-lang.org/2022/03/08/cve-2022-24713.html), see #2145, #2139 (@Enselic)
- `bat` no longer crashes when encountering files that references missing syntaxes. See #915, #2181 (@Enselic)
## Performance
- Skip syntax highlighting on long lines (> 16384 chars) to help improve performance. See #2165 (@keith-hall)
- Vastly improve startup time by lazy-loading syntaxes via syntect 5.0.0. This makes bat display small files ~75% faster than before. See #951, #2181 (@Enselic)
## Other
- Include info about custom assets in `--diagnostics` if used. See #2107, #2144 (@Enselic)
## Syntaxes
- Mapped clang-format config file (.clang-format) to YAML syntax (@TruncatedDinosour)
- log syntax: improved handling of escape characters in double quoted strings. See #2123 (@keith-hall)
- Associate `/var/spool/mail/*` and `/var/mail/*` with the `Email` syntax. See #2156 (@cyqsimon)
- Added cmd-help syntax to scope --help messages. See #2148 (@victor-gp)
- Slightly adjust Zig syntax. See #2136 (@Enselic)
- Associate `.inf` files with the `INI` syntax. See #2190 (@Enselic)
## `bat` as a library
- Allow configuration of `show_nonprintable` with `PrettyPrinter`, see #2142
- The binary format of syntaxes.bin has been changed due to syntaxes now being lazy-loaded via syntect 5.0.0. See #2181 (@Enselic)
- Mark `bat::error::Error` enum as `#[non_exhaustive]` to allow adding new variants without future semver breakage. See #2181 (@Enselic)
- Change `Error::SyntectError(syntect::LoadingError)` to `Error::SyntectError(syntect::Error)`. See #2181 (@Enselic)
- Add `Error::SyntectLoadingError(syntect::LoadingError)` enum variant. See #2181 (@Enselic)
# v0.20.0
## Features

View File

@ -6,21 +6,42 @@ Thank you for considering to contribute to `bat`!
## Add an entry to the changelog
If your contribution changes the behavior of `bat` (as opposed to a typo-fix
in the documentation), please update the [`CHANGELOG.md`](CHANGELOG.md) file
and describe your changes. This makes the release process much easier and
therefore helps to get your changes into a new `bat` release faster.
Keeping the [`CHANGELOG.md`](CHANGELOG.md) file up-to-date makes the release
process much easier and therefore helps to get your changes into a new `bat`
release faster. However, not every change to the repository requires a
changelog entry. Below are a few examples of that.
Please update the changelog if your contribution contains changes regarding
any of the following:
- the behavior of `bat`
- syntax mappings
- syntax definitions
- themes
- the build system, linting, or CI workflows
A changelog entry is not necessary when:
- updating documentation
- fixing typos
>[!NOTE]
> For PRs, a CI workflow verifies that a suitable changelog entry is
> added. If such an entry is missing, the workflow will fail. If your
> changes do not need an entry to the changelog (see above), that
> workflow failure can be disregarded.
### Changelog entry format
The top of the `CHANGELOG` contains a *"unreleased"* section with a few
subsections (Features, Bugfixes, …). Please add your entry to the subsection
that best describes your change.
Entries follow this format:
Entries must follow this format:
```
- Short description of what has been changed, see #123 (@user)
```
Here, `#123` is the number of the original issue and/or your pull request.
Please replace `@user` by your GitHub username.
Please replace `#123` with the number of your pull request (not issue) and
`@user` by your GitHub username.
## Development
@ -33,7 +54,7 @@ section in the README.
Please consider opening a
[feature request ticket](https://github.com/sharkdp/bat/issues/new?assignees=&labels=feature-request&template=feature_request.md)
first in order to give us a chance to discuss the feature first.
first in order to give us a chance to discuss the details and specifics of the potential new feature before you go and build it.
## Adding new syntaxes/languages or themes
@ -50,12 +71,12 @@ first.
## Regression tests
You are strongly encouraged to add regression tests. Regression tests are great,
You are **strongly encouraged** to add regression tests. Regression tests are great,
not least because they:
* ensure that your contribution will never completely stop working,
* ensure that your contribution will never completely stop working.
* makes code review easier, because it becomes very clear what the code is
* makes code reviews easier, because it becomes very clear what the code is
supposed to do.
For functional changes, you most likely want to add a test to

1691
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -3,13 +3,15 @@ authors = ["David Peter <mail@david-peter.de>"]
categories = ["command-line-utilities"]
description = "A cat(1) clone with wings."
homepage = "https://github.com/sharkdp/bat"
license = "MIT/Apache-2.0"
license = "MIT OR Apache-2.0"
name = "bat"
repository = "https://github.com/sharkdp/bat"
version = "0.20.0"
version = "0.25.0"
exclude = ["assets/syntaxes/*", "assets/themes/*"]
build = "build.rs"
edition = '2018'
build = "build/main.rs"
edition = '2021'
# You are free to bump MSRV as soon as a reason for bumping emerges.
rust-version = "1.74"
[features]
default = ["application"]
@ -24,78 +26,100 @@ application = [
# Mainly for developers that want to iterate quickly
# Be aware that the included features might change in the future
minimal-application = [
"atty",
"clap",
"dirs-next",
"etcetera",
"paging",
"regex-onig",
"wild",
]
git = ["git2"] # Support indicating git modifications
paging = ["shell-words", "grep-cli"] # Support applying a pager on the output
# Add "syntect/plist-load" when https://github.com/trishume/syntect/pull/345 reaches us
build-assets = ["syntect/yaml-load", "syntect/dump-create", "regex", "walkdir"]
lessopen = ["execute"] # Support $LESSOPEN preprocessor
build-assets = ["syntect/yaml-load", "syntect/plist-load", "regex", "walkdir"]
# You need to use one of these if you depend on bat as a library:
regex-onig = ["syntect/regex-onig"] # Use the "oniguruma" regex engine
regex-fancy = ["syntect/regex-fancy"] # Use the rust-only "fancy-regex" engine
[dependencies]
atty = { version = "0.2.14", optional = true }
ansi_term = "^0.12.1"
ansi_colours = "^1.1"
nu-ansi-term = "0.50.0"
ansi_colours = "^1.2"
bincode = "1.0"
console = "0.15.0"
console = "0.15.10"
flate2 = "1.0"
once_cell = "1.9"
thiserror = "1.0"
wild = { version = "2.0", optional = true }
once_cell = "1.20"
thiserror = "2.0"
wild = { version = "2.2", optional = true }
content_inspector = "0.2.4"
encoding = "0.2"
shell-words = { version = "1.0.0", optional = true }
unicode-width = "0.1.9"
shell-words = { version = "1.1.0", optional = true }
unicode-width = "0.1.13"
globset = "0.4"
serde = { version = "1.0", features = ["derive"] }
serde_yaml = "0.8"
serde = "1.0"
serde_derive = "1.0"
serde_yaml = "0.9.28"
semver = "1.0"
path_abs = { version = "0.5", default-features = false }
clircle = "0.3"
bugreport = { version = "0.4", optional = true }
dirs-next = { version = "2.0.0", optional = true }
grep-cli = { version = "0.1.6", optional = true }
regex = { version = "1.0", optional = true }
walkdir = { version = "2.0", optional = true }
bytesize = { version = "1.1.0" }
clircle = { version = "0.6.1", default-features = false }
bugreport = { version = "0.5.0", optional = true }
etcetera = { version = "0.10.0", optional = true }
grep-cli = { version = "0.1.11", optional = true }
regex = { version = "1.10.6", optional = true }
walkdir = { version = "2.5", optional = true }
bytesize = { version = "1.3.0" }
encoding_rs = "0.8.35"
execute = { version = "0.2.13", optional = true }
terminal-colorsaurus = "0.4"
unicode-segmentation = "1.12.0"
[dependencies.git2]
version = "0.13"
version = "0.20"
optional = true
default-features = false
[dependencies.syntect]
version = "4.6.0"
version = "5.2.0"
default-features = false
features = ["parsing"]
[dependencies.clap]
version = "2.34"
version = "4.4.12"
optional = true
default-features = false
features = ["suggestions", "color", "wrap_help"]
features = ["wrap_help", "cargo"]
[target.'cfg(target_os = "macos")'.dependencies]
home = "0.5.9"
plist = "1.7.0"
[dev-dependencies]
assert_cmd = "2.0.4"
serial_test = "0.5.1"
predicates = "2.1.0"
assert_cmd = "2.0.12"
expect-test = "1.5.0"
serial_test = { version = "2.0.0", default-features = false }
predicates = "3.1.3"
wait-timeout = "0.2.0"
tempfile = "3.3.0"
tempfile = "3.16.0"
serde = { version = "1.0", features = ["derive"] }
[target.'cfg(unix)'.dev-dependencies]
nix = "0.23.1"
nix = { version = "0.29", default-features = false, features = ["term"] }
[build-dependencies]
clap = { version = "2.34", optional = true }
anyhow = "1.0.97"
indexmap = { version = "2.8.0", features = ["serde"] }
itertools = "0.14.0"
once_cell = "1.20"
regex = "1.10.6"
serde = "1.0"
serde_derive = "1.0"
serde_with = { version = "3.12.0", default-features = false, features = ["macros"] }
toml = { version = "0.8.19", features = ["preserve_order"] }
walkdir = "2.5"
[build-dependencies.clap]
version = "4.4.12"
optional = true
features = ["wrap_help", "cargo"]
[profile.release]
lto = true
strip = true
codegen-units = 1

View File

@ -1,4 +1,4 @@
Copyright (c) 2018-2021 bat-developers (https://github.com/sharkdp/bat).
Copyright (c) 2018-2023 bat-developers (https://github.com/sharkdp/bat).
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

189
README.md
View File

@ -21,15 +21,14 @@
### Sponsors
A special *thank you* goes to our biggest <a href="doc/sponsors.md">sponsors</a>:<br>
<a href="https://workos.com/?utm_campaign=github_repo&utm_medium=referral&utm_content=bat&utm_source=github">
<img src="doc/sponsors/workos-logo-white-bg.svg" width="200" alt="WorkOS">
A special *thank you* goes to our biggest <a href="doc/sponsors.md">sponsor</a>:<br>
<a href="https://www.warp.dev/bat">
<img src="doc/sponsors/warp-logo.png" width="200" alt="Warp">
<br>
<strong>Your app, enterprise-ready.</strong>
<strong>Warp, the intelligent terminal</strong>
<br>
<sub>Start selling to enterprise customers with just a few lines of code.</sub>
<br>
<sup>Add Single Sign-On (and more) in minutes instead of months.</sup>
<sub>Available on MacOS, Linux, Windows</sub>
</a>
### Syntax highlighting
@ -118,7 +117,7 @@ use `bat`s `--color=always` option to force colorized output. You can also use `
option to restrict the load times for long files:
```bash
fzf --preview 'bat --color=always --style=numbers --line-range=:500 {}'
fzf --preview "bat --color=always --style=numbers --line-range=:500 {}"
```
For more information, see [`fzf`'s `README`](https://github.com/junegunn/fzf#preview-window).
@ -171,7 +170,7 @@ You can combine `bat` with `git diff` to view lines around code changes with pro
highlighting:
```bash
batdiff() {
git diff --name-only --diff-filter=d | xargs bat --diff
git diff --name-only --relative --diff-filter=d | xargs bat --diff
}
```
If you prefer to use this as a separate tool, check out `batdiff` in [`bat-extras`](https://github.com/eth-p/bat-extras).
@ -194,28 +193,70 @@ bat main.cpp | xclip
`MANPAGER` environment variable:
```bash
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
export MANPAGER="sh -c 'sed -u -e \"s/\\x1B\[[0-9;]*m//g; s/.\\x08//g\" | bat -p -lman'"
man 2 select
```
(replace `bat` with `batcat` if you are on Debian or Ubuntu)
It might also be necessary to set `MANROFFOPT="-c"` if you experience
formatting problems.
If you prefer to have this bundled in a new command, you can also use [`batman`](https://github.com/eth-p/bat-extras/blob/master/doc/batman.md).
Note that the [Manpage syntax](assets/syntaxes/02_Extra/Manpage.sublime-syntax) is developed in this repository and still needs some work.
> [!WARNING]
> This will [not work](https://github.com/sharkdp/bat/issues/1145) out of the box with Mandoc's `man` implementation.
>
> Please either use `batman`, or convert the shell script to a [shebang executable](https://en.wikipedia.org/wiki/Shebang_(Unix)) and point `MANPAGER` to that.
Also, note that this will [not work](https://github.com/sharkdp/bat/issues/1145) with Mandocs `man` implementation.
Note that the [Manpage syntax](assets/syntaxes/02_Extra/Manpage.sublime-syntax) is developed in this repository and still needs some work.
#### `prettier` / `shfmt` / `rustfmt`
The [`prettybat`](https://github.com/eth-p/bat-extras/blob/master/doc/prettybat.md) script is a wrapper that will format code and print it with `bat`.
#### `Warp`
<a href="https://app.warp.dev/drive/folder/-Bat-Warp-Pack-lxhe7HrEwgwpG17mvrFSz1">
<img src="doc/sponsors/warp-pack-header.png" alt="Warp">
</a>
#### Highlighting `--help` messages
You can use `bat` to colorize help text: `$ cp --help | bat -plhelp`
You can also use a wrapper around this:
```bash
# in your .bashrc/.zshrc/*rc
alias bathelp='bat --plain --language=help'
help() {
"$@" --help 2>&1 | bathelp
}
```
Then you can do `$ help cp` or `$ help git commit`.
When you are using `zsh`, you can also use global aliases to override `-h` and `--help` entirely:
```bash
alias -g -- -h='-h 2>&1 | bat --language=help --style=plain'
alias -g -- --help='--help 2>&1 | bat --language=help --style=plain'
```
For `fish`, you can use abbreviations:
```fish
abbr -a --position anywhere -- --help '--help | bat -plhelp'
abbr -a --position anywhere -- -h '-h | bat -plhelp'
```
This way, you can keep on using `cp --help`, but get colorized help pages.
Be aware that in some cases, `-h` may not be a shorthand of `--help` (for example with `ls`).
Please report any issues with the help syntax in [this repository](https://github.com/victor-gp/cmd-help-sublime-syntax).
## Installation
[![Packaging status](https://repology.org/badge/vertical-allrepos/bat-cat.svg)](https://repology.org/project/bat-cat/versions)
[![Packaging status](https://repology.org/badge/vertical-allrepos/bat-cat.svg?columns=3&exclude_unsupported=1)](https://repology.org/project/bat-cat/versions)
### On Ubuntu (using `apt`)
*... and other Debian-based Linux distributions.*
@ -257,7 +298,7 @@ apk add bat
### On Arch Linux
You can install [the `bat` package](https://www.archlinux.org/packages/community/x86_64/bat/)
You can install [the `bat` package](https://www.archlinux.org/packages/extra/x86_64/bat/)
from the official sources:
```bash
@ -334,6 +375,14 @@ You can install `bat` using the [nix package manager](https://nixos.org/nix):
nix-env -i bat
```
### Via flox
You can install `bat` using [Flox](https://flox.dev)
```bash
flox install bat
```
### On openSUSE
You can install `bat` with zypper:
@ -349,7 +398,7 @@ Existing packages may be available, but are not officially supported and may con
### On macOS (or Linux) via Homebrew
You can install `bat` with [Homebrew on MacOS](https://formulae.brew.sh/formula/bat) or [Homebrew on Linux](https://formulae.brew.sh/formula-linux/bat):
You can install `bat` with [Homebrew](https://formulae.brew.sh/formula/bat):
```bash
brew install bat
@ -372,6 +421,14 @@ take a look at the ["Using `bat` on Windows"](#using-bat-on-windows) section.
You will need to install the [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) package.
#### With WinGet
You can install `bat` via [WinGet](https://learn.microsoft.com/en-us/windows/package-manager/winget):
```bash
winget install sharkdp.bat
```
#### With Chocolatey
You can install `bat` via [Chocolatey](https://chocolatey.org/packages/Bat):
@ -400,7 +457,7 @@ binaries are also available: look for archives with `musl` in the file name.
### From source
If you want to build `bat` from source, you need Rust 1.51 or
If you want to build `bat` from source, you need Rust 1.74.0 or
higher. You can then use `cargo` to build everything:
```bash
@ -410,6 +467,12 @@ cargo install --locked bat
Note that additional files like the man page or shell completion
files can not be installed in this way. They will be generated by `cargo` and should be available in the cargo target folder (under `build`).
Shell completions are also available by running:
```bash
bat --completion <shell>
# see --help for supported shells
```
## Customization
### Highlighting theme
@ -427,8 +490,10 @@ the following command (you need [`fzf`](https://github.com/junegunn/fzf) for thi
bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file"
```
`bat` looks good on a dark background by default. However, if your terminal uses a
light background, some themes like `GitHub` or `OneHalfLight` will work better for you.
`bat` automatically picks a fitting theme depending on your terminal's background color.
You can use the `--theme-dark` / `--theme-light` options or the `BAT_THEME_DARK` / `BAT_THEME_LIGHT` environment variables
to customize the themes used. This is especially useful if you frequently switch between dark and light mode.
You can also use a custom theme by following the
['Adding new themes' section below](https://github.com/sharkdp/bat#adding-new-themes).
@ -460,6 +525,16 @@ and line numbers but no grid and no file header. Set the `BAT_STYLE` environment
variable to make these changes permanent or use `bat`s
[configuration file](https://github.com/sharkdp/bat#configuration-file).
>[!tip]
> If you specify a default style in `bat`'s config file, you can change which components
> are displayed during a single run of `bat` using the `--style` command-line argument.
> By prefixing a component with `+` or `-`, it can be added or removed from the current style.
>
> For example, if your config contains `--style=full,-snip`, you can run bat with
> `--style=-grid,+snip` to remove the grid and add back the `snip` component.
> Or, if you want to override the styles completely, you use `--style=numbers` to
> only show the line numbers.
### Adding new syntaxes / language definitions
Should you find that a particular syntax is not available within `bat`, you can follow these
@ -555,7 +630,8 @@ set, `less` is used by default. If you want to use a different pager, you can ei
`PAGER` variable or set the `BAT_PAGER` environment variable to override what is specified in
`PAGER`.
**Note**: If `PAGER` is `more` or `most`, `bat` will silently use `less` instead to ensure support for colors.
>[!NOTE]
> If `PAGER` is `more` or `most`, `bat` will silently use `less` instead to ensure support for colors.
If you want to pass command-line arguments to the pager, you can also set them via the
`PAGER`/`BAT_PAGER` variables:
@ -566,20 +642,37 @@ export BAT_PAGER="less -RF"
Instead of using environment variables, you can also use `bat`s [configuration file](https://github.com/sharkdp/bat#configuration-file) to configure the pager (`--pager` option).
**Note**: By default, if the pager is set to `less` (and no command-line options are specified),
`bat` will pass the following command line options to the pager: `-R`/`--RAW-CONTROL-CHARS`,
`-F`/`--quit-if-one-screen` and `-X`/`--no-init`. The last option (`-X`) is only used for `less`
versions older than 530.
The `-R` option is needed to interpret ANSI colors correctly. The second option (`-F`) instructs
less to exit immediately if the output size is smaller than the vertical size of the terminal.
This is convenient for small files because you do not have to press `q` to quit the pager. The
third option (`-X`) is needed to fix a bug with the `--quit-if-one-screen` feature in old versions
of `less`. Unfortunately, it also breaks mouse-wheel support in `less`.
### Using `less` as a pager
If you want to enable mouse-wheel scrolling on older versions of `less`, you can pass just `-R` (as
in the example above, this will disable the quit-if-one-screen feature). For less 530 or newer,
it should work out of the box.
When using `less` as a pager, `bat` will automatically pass extra options along to `less`
to improve the experience. Specifically, `-R`/`--RAW-CONTROL-CHARS`, `-F`/`--quit-if-one-screen`,
and under certain conditions, `-X`/`--no-init` and/or `-S`/`--chop-long-lines`.
>[!IMPORTANT]
> These options will not be added if:
> - The pager is not named `less`.
> - The `--pager` argument contains any command-line arguments (e.g. `--pager="less -R"`).
> - The `BAT_PAGER` environment variable contains any command-line arguments (e.g. `export BAT_PAGER="less -R"`)
>
> The `--quit-if-one-screen` option will not be added when:
> - The `--paging=always` argument is used.
> - The `BAT_PAGING` environment is set to `always`.
The `-R` option is needed to interpret ANSI colors correctly.
The `-F` option instructs `less` to exit immediately if the output size is smaller than
the vertical size of the terminal. This is convenient for small files because you do not
have to press `q` to quit the pager.
The `-X` option is needed to fix a bug with the `--quit-if-one-screen` feature in versions
of `less` older than version 530. Unfortunately, it also breaks mouse-wheel support in `less`.
If you want to enable mouse-wheel scrolling on older versions of `less` and do not mind losing
the quit-if-one-screen feature, you can set the pager (via `--pager` or `BAT_PAGER`) to `less -R`.
For `less` 530 or newer, it should work out of the box.
The `-S` option is added when `bat`'s `-S`/`--chop-long-lines` option is used. This tells `less`
to truncate any lines larger than the terminal width.
### Indentation
@ -598,7 +691,7 @@ theme based on the OS theme. The following snippet uses the `default` theme when
and the `GitHub` theme when in the _light mode_.
```bash
alias cat="bat --theme=\$(defaults read -globalDomain AppleInterfaceStyle &> /dev/null && echo default || echo GitHub)"
alias cat="bat --theme auto:system --theme-dark default --theme-light GitHub"
```
@ -610,10 +703,11 @@ on your operating system. To get the default path for your system, call
bat --config-file
```
Alternatively, you can use the `BAT_CONFIG_PATH` environment variable to point `bat` to a
non-default location of the configuration file:
Alternatively, you can use `BAT_CONFIG_PATH` or `BAT_CONFIG_DIR` environment variables to point `bat`
to a non-default location of the configuration file or the configuration directory respectively:
```bash
export BAT_CONFIG_PATH="/path/to/bat.conf"
export BAT_CONFIG_PATH="/path/to/bat/bat.conf"
export BAT_CONFIG_DIR="/path/to/bat"
```
A default configuration file can be created with the `--generate-config-file` option.
@ -621,6 +715,10 @@ A default configuration file can be created with the `--generate-config-file` op
bat --generate-config-file
```
There is also now a systemwide configuration file, which is located under `/etc/bat/config` on
Linux and Mac OS and `C:\ProgramData\bat\config` on windows. If the system wide configuration
file is present, the content of the user configuration will simply be appended to it.
### Format
The configuration file is a simple list of command line arguments. Use `bat --help` to see a full list of possible options and values. In addition, you can add comments by prepending a line with the `#` character.
@ -660,11 +758,9 @@ your `PATH` or [define an environment variable](#using-a-different-pager). The [
Windows 10 natively supports colors in both `conhost.exe` (Command Prompt) and PowerShell since
[v1511](https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1511_(November_Update)), as
well as in newer versions of bash. On earlier versions of Windows, you can use
[Cmder](http://cmder.net/), which includes [ConEmu](https://conemu.github.io/).
[Cmder](http://cmder.app/), which includes [ConEmu](https://conemu.github.io/).
**Note:** The Git and MSYS versions of `less` do not correctly interpret colors on Windows. If you
dont have any other pagers installed, you can disable paging entirely by passing `--paging=never`
or by setting `BAT_PAGER` to an empty string.
**Note:** Old versions of `less` do not correctly interpret colors on Windows. To fix this, you can add the optional Unix tools to your PATH when installing Git. If you dont have any other pagers installed, you can disable paging entirely by passing `--paging=never` or by setting `BAT_PAGER` to an empty string.
### Cygwin
@ -692,9 +788,14 @@ bat() {
If an input file contains color codes or other ANSI escape sequences or control characters, `bat` will have problems
performing syntax highlighting and text wrapping, and thus the output can become garbled.
When displaying such files it is recommended to disable both syntax highlighting and wrapping by
If your version of `bat` supports the `--strip-ansi=auto` option, it can be used to remove such sequences
before syntax highlighting. Alternatively, you may disable both syntax highlighting and wrapping by
passing the `--color=never --wrap=never` options to `bat`.
> [!NOTE]
> The `auto` option of `--strip-ansi` avoids removing escape sequences when the syntax is plain text.
### Terminals & colors
`bat` handles terminals *with* and *without* truecolor support. However, the colors in most syntax
@ -779,7 +880,7 @@ There are a lot of alternatives, if you are looking for similar programs. See
[this document](doc/alternatives.md) for a comparison.
## License
Copyright (c) 2018-2021 [bat-developers](https://github.com/sharkdp/bat).
Copyright (c) 2018-2023 [bat-developers](https://github.com/sharkdp/bat).
`bat` is made available under the terms of either the MIT License or the Apache License 2.0, at your option.

Binary file not shown.

View File

@ -37,7 +37,9 @@ Register-ArgumentCompleter -Native -CommandName '{{PROJECT_EXECUTABLE}}' -Script
[CompletionResult]::new('-m', 'm', [CompletionResultType]::ParameterName, 'Use the specified syntax for files matching the glob pattern (''*.cpp:C++'').')
[CompletionResult]::new('--map-syntax', 'map-syntax', [CompletionResultType]::ParameterName, 'Use the specified syntax for files matching the glob pattern (''*.cpp:C++'').')
[CompletionResult]::new('--theme', 'theme', [CompletionResultType]::ParameterName, 'Set the color theme for syntax highlighting.')
[CompletionResult]::new('--style', 'style', [CompletionResultType]::ParameterName, 'Comma-separated list of style elements to display (*auto*, full, plain, changes, header, header-filename, header-filesize, grid, rule, numbers, snip).')
[CompletionResult]::new('--theme-dark', 'theme', [CompletionResultType]::ParameterName, 'Set the color theme for syntax highlighting for dark backgrounds.')
[CompletionResult]::new('--theme-light', 'theme', [CompletionResultType]::ParameterName, 'Set the color theme for syntax highlighting for light backgrounds.')
[CompletionResult]::new('--style', 'style', [CompletionResultType]::ParameterName, 'Comma-separated list of style elements to display (*default*, auto, full, plain, changes, header, header-filename, header-filesize, grid, rule, numbers, snip).')
[CompletionResult]::new('-r', 'r', [CompletionResultType]::ParameterName, 'Only print the lines from N to M.')
[CompletionResult]::new('--line-range', 'line-range', [CompletionResultType]::ParameterName, 'Only print the lines from N to M.')
[CompletionResult]::new('-A', 'A', [CompletionResultType]::ParameterName, 'Show non-printable characters (space, tab, newline, ..).')
@ -59,6 +61,8 @@ Register-ArgumentCompleter -Native -CommandName '{{PROJECT_EXECUTABLE}}' -Script
[CompletionResult]::new('--unbuffered', 'unbuffered', [CompletionResultType]::ParameterName, 'unbuffered')
[CompletionResult]::new('--no-config', 'no-config', [CompletionResultType]::ParameterName, 'Do not use the configuration file')
[CompletionResult]::new('--no-custom-assets', 'no-custom-assets', [CompletionResultType]::ParameterName, 'Do not load custom assets')
[CompletionResult]::new('--lessopen', 'lessopen', [CompletionResultType]::ParameterName, 'Enable the $LESSOPEN preprocessor')
[CompletionResult]::new('--no-lessopen', 'no-lessopen', [CompletionResultType]::ParameterName, 'Disable the $LESSOPEN preprocessor if enabled (overrides --lessopen)')
[CompletionResult]::new('--config-file', 'config-file', [CompletionResultType]::ParameterName, 'Show path to the configuration file.')
[CompletionResult]::new('--generate-config-file', 'generate-config-file', [CompletionResultType]::ParameterName, 'Generates a default configuration file.')
[CompletionResult]::new('--config-dir', 'config-dir', [CompletionResultType]::ParameterName, 'Show bat''s configuration directory.')
@ -68,7 +72,8 @@ Register-ArgumentCompleter -Native -CommandName '{{PROJECT_EXECUTABLE}}' -Script
[CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print this help message.')
[CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Show version information.')
[CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Show version information.')
[CompletionResult]::new('cache', 'cache', [CompletionResultType]::ParameterValue, 'Modify the syntax-definition and theme cache')
## Completion of the 'cache' command itself is removed for better UX
## See https://github.com/sharkdp/bat/issues/2085#issuecomment-1271646802
break
}
'{{PROJECT_EXECUTABLE}};cache' {

View File

@ -10,8 +10,29 @@ __bat_init_completion()
_get_comp_words_by_ref "$@" cur prev words cword
}
__bat_escape_completions()
{
# Do not escape if completing a quoted value.
[[ $cur == [\"\']* ]] && return 0
# printf -v to an array index is available in bash >= 4.1.
# Use it if available, as -o filenames is semantically incorrect if
# we are not actually completing filenames, and it has side effects
# (e.g. adds trailing slash to candidates matching present dirs).
if ((
BASH_VERSINFO[0] > 4 || \
BASH_VERSINFO[0] == 4 && BASH_VERSINFO[1] > 0
)); then
local i
for i in ${!COMPREPLY[*]}; do
printf -v "COMPREPLY[i]" %q "${COMPREPLY[i]}"
done
else
compopt -o filenames
fi
}
_bat() {
local cur prev words cword split=false
local cur prev words split=false
if declare -F _init_completion >/dev/null 2>&1; then
_init_completion -s || return 0
else
@ -27,7 +48,12 @@ _bat() {
;;
esac
COMPREPLY=($(compgen -W "
--build --clear --source --target --blank --help
--build
--clear
--source
--target
--blank
--help
" -- "$cur"))
return 0
fi
@ -40,13 +66,28 @@ _bat() {
printf "%s\n" "$lang"
done
)" -- "$cur"))
compopt -o filenames # for escaping
__bat_escape_completions
return 0
;;
-H | --highlight-line | --diff-context | --tabs | --terminal-width | \
-m | --map-syntax | --style | --line-range | -h | --help | -V | \
--version | --diagnostic | --config-file | --config-dir | \
--cache-dir | --generate-config-file)
-H | --highlight-line | \
--diff-context | \
--tabs | \
--terminal-width | \
-m | --map-syntax | \
--ignored-suffix | \
--list-themes | \
--squeeze-limit | \
--line-range | \
-L | --list-languages | \
--lessopen | \
--diagnostic | \
--acknowledgements | \
-h | --help | \
-V | --version | \
--cache-dir | \
--config-dir | \
--config-file | \
--generate-config-file)
# argument required but no completion available, or option
# causes an exit
return 0
@ -72,30 +113,97 @@ _bat() {
return 0
;;
--theme)
local IFS=$'\n'
COMPREPLY=($(compgen -W "auto${IFS}auto:always${IFS}auto:system${IFS}dark${IFS}light${IFS}$("$1" --list-themes)" -- "$cur"))
__bat_escape_completions
return 0
;;
--theme-dark | \
--theme-light)
local IFS=$'\n'
COMPREPLY=($(compgen -W "$("$1" --list-themes)" -- "$cur"))
compopt -o filenames # for escaping
__bat_escape_completions
return 0
;;
--style)
# shellcheck disable=SC2034
local -a styles=(
default
full
auto
plain
changes
header
header-filename
header-filesize
grid
rule
numbers
snip
)
# shellcheck disable=SC2016
if declare -F _comp_delimited >/dev/null 2>&1; then
# bash-completion > 2.11
_comp_delimited , -W '"${styles[@]}"'
else
COMPREPLY=($(compgen -W '${styles[@]}' -- "$cur"))
fi
return 0
esac
$split && return 0
if [[ $cur == -* ]]; then
# --unbuffered excluded intentionally (no-op)
COMPREPLY=($(compgen -W "
--show-all --plain --language --highlight-line
--file-name --diff --diff-context --tabs --wrap
--terminal-width --number --color --italic-text
--decorations --paging --pager --map-syntax --theme
--list-themes --style --line-range --list-languages
--help --version --force-colorization --unbuffered
--diagnostic --config-file --config-dir --cache-dir
--show-all
--plain
--language
--highlight-line
--file-name
--diff
--diff-context
--tabs
--wrap
--chop-long-lines
--terminal-width
--number
--color
--italic-text
--decorations
--force-colorization
--paging
--pager
--map-syntax
--ignored-suffix
--theme
--theme-dark
--theme-light
--list-themes
--squeeze-blank
--squeeze-limit
--style
--line-range
--list-languages
--lessopen
--diagnostic
--acknowledgements
--set-terminal-title
--help
--version
--cache-dir
--config-dir
--config-file
--generate-config-file
--no-config
--no-custom-assets
--no-lessopen
" -- "$cur"))
return 0
fi
_filedir
((cword == 1)) && COMPREPLY+=($(compgen -W cache -- "$cur"))
## Completion of the 'cache' command itself is removed for better UX
## See https://github.com/sharkdp/bat/issues/2085#issuecomment-1271646802
} && complete -F _bat {{PROJECT_EXECUTABLE}}

View File

@ -1,78 +1,244 @@
# Fish Shell Completions
# Place or symlink to $XDG_CONFIG_HOME/fish/completions/{{PROJECT_EXECUTABLE}}.fish ($XDG_CONFIG_HOME is usually set to ~/.config)
# Copy or symlink to $XDG_CONFIG_HOME/fish/completions/{{PROJECT_EXECUTABLE}}.fish
# ($XDG_CONFIG_HOME is usually set to ~/.config)
# Helper function:
function __{{PROJECT_EXECUTABLE}}_autocomplete_languages --description "A helper function used by "(status filename)
{{PROJECT_EXECUTABLE}} --list-languages | awk -F':' '
{
lang=$1
split($2, exts, ",")
# `bat` is `batcat` on Debian and Ubuntu
set bat {{PROJECT_EXECUTABLE}}
for (i in exts) {
ext=exts[i]
if (ext !~ /[A-Z].*/ && ext !~ /^\..*rc$/) {
print ext"\t"lang
}
}
}
' | sort
# Helper functions:
function __bat_complete_files -a token
# Cheat to complete files by calling `complete -C` on a fake command name,
# like `__fish_complete_directories` does.
set -l fake_command aaabccccdeeeeefffffffffgghhhhhhiiiii
complete -C"$fake_command $token"
end
function __bat_complete_one_language -a comp
command $bat --list-languages | string split -f1 : | string match -e "$comp"
end
function __bat_complete_list_languages
for spec in (command $bat --list-languages)
set -l name (string split -f1 : $spec)
for ext in (string split -f2 : $spec | string split ,)
test -n "$ext"; or continue
string match -rq '[/*]' $ext; and continue
printf "%s\t%s\n" $ext $name
end
printf "%s\t\n" $name
end
end
function __bat_complete_map_syntax
set -l token (commandline -ct)
if string match -qr '(?<glob>.+):(?<syntax>.*)' -- $token
# If token ends with a colon, complete with the list of language names.
set -f comps $glob:(__bat_complete_one_language $syntax)
else if string match -qr '\*' -- $token
# If token contains a globbing character (`*`), complete only possible
# globs in the current directory
set -f comps (__bat_complete_files $token | string match -er '[*]'):
else
# Complete files (and globs).
set -f comps (__bat_complete_files $token | string match -erv '/$'):
end
if set -q comps[1]
printf "%s\t\n" $comps
end
end
function __bat_cache_subcommand
__fish_seen_subcommand_from cache
end
# Returns true if no exclusive arguments seen.
function __bat_no_excl_args
not __bat_cache_subcommand; and not __fish_seen_argument \
-s h -l help \
-s V -l version \
-l acknowledgements \
-l config-dir -l config-file \
-l diagnostic \
-l list-languages -l list-themes
end
# Returns true if the 'cache' subcommand is seen without any exclusive arguments.
function __bat_cache_no_excl
__bat_cache_subcommand; and not __fish_seen_argument \
-s h -l help \
-l acknowledgements -l build -l clear
end
function __bat_style_opts
set -l style_opts \
"default,recommended components" \
"auto,same as 'default' unless piped" \
"full,all components" \
"plain,no components" \
"changes,Git change markers" \
"header,alias for header-filename" \
"header-filename,filename above content" \
"header-filesize,filesize above content" \
"grid,lines b/w sidebar/header/content" \
"numbers,line numbers in sidebar" \
"rule,separate files" \
"snip,separate ranges"
string replace , \t $style_opts
end
# Use option argument descriptions to indicate which is the default, saving
# horizontal space and making sure the option description isn't truncated.
set -l color_opts '
auto\tdefault
never\t
always\t
'
set -l decorations_opts $color_opts
set -l paging_opts $color_opts
# Include some examples so we can indicate the default.
set -l pager_opts '
less\tdefault
less\ -FR\t
more\t
vimpager\t
'
set -l italic_text_opts '
always\t
never\tdefault
'
set -l wrap_opts '
auto\tdefault
never\t
character\t
'
# While --tabs theoretically takes any number, most people should be OK with these.
# Specifying a list lets us explain what 0 does.
set -l tabs_opts '
0\tpass\ tabs\ through\ directly
1\t
2\t
4\t
8\t
'
set -l special_themes '
auto\tdefault,\ Choose\ a\ theme\ based\ on\ dark\ or\ light\ mode
auto:always\tChoose\ a\ theme\ based\ on\ dark\ or\ light\ mode
auto:system\tChoose\ a\ theme\ based\ on\ dark\ or\ light\ mode
dark\tUse\ the\ theme\ specified\ by\ --theme-dark
light\tUse\ the\ theme\ specified\ by\ --theme-light
'
# Completions:
complete -c {{PROJECT_EXECUTABLE}} -l color -xka "auto never always" -d "Specify when to use colored output (default: auto)" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -l acknowledgements -d "Print acknowledgements" -n __fish_is_first_arg
complete -c {{PROJECT_EXECUTABLE}} -l config-dir -d "Display location of '{{PROJECT_EXECUTABLE}}' configuration directory" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -l cache-dir -f -d "Show bat's cache directory" -n __fish_is_first_arg
complete -c {{PROJECT_EXECUTABLE}} -l config-file -d "Display location of '{{PROJECT_EXECUTABLE}}' configuration file" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -l color -x -a "$color_opts" -d "When to use colored output" -n __bat_no_excl_args
complete -c {{PROJECT_EXECUTABLE}} -l decorations -xka "auto never always" -d "Specify when to use the decorations specified with '--style' (default: auto)" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -l config-dir -f -d "Display location of configuration directory" -n __fish_is_first_arg
complete -c {{PROJECT_EXECUTABLE}} -s h -l help -d "Print help message" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -l config-file -f -d "Display location of configuration file" -n __fish_is_first_arg
complete -c {{PROJECT_EXECUTABLE}} -s H -l highlight-line -x -d "<N> Highlight the N-th line with a different background color" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -l decorations -x -a "$decorations_opts" -d "When to use --style decorations" -n __bat_no_excl_args
complete -c {{PROJECT_EXECUTABLE}} -l italic-text -xka "always never" -d "Specify when to use ANSI sequences for italic text (default: never)" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -l diagnostic -d "Print diagnostic info for bug reports" -n __fish_is_first_arg
complete -c {{PROJECT_EXECUTABLE}} -s l -l language -d "Set the language for syntax highlighting" -n "not __fish_seen_subcommand_from cache" -xa "(__{{PROJECT_EXECUTABLE}}_autocomplete_languages)"
complete -c $bat -s d -l diff -d "Only show lines with Git changes" -n __bat_no_excl_args
complete -c {{PROJECT_EXECUTABLE}} -s r -l line-range -x -d "<N:M> Only print the specified range of lines for each file" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -l diff-context -x -d "Show N context lines around Git changes" -n "__fish_seen_argument -s d -l diff"
complete -c {{PROJECT_EXECUTABLE}} -l list-languages -d "Display list of supported languages for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -l generate-config-file -f -d "Generates a default configuration file" -n __fish_is_first_arg
complete -c {{PROJECT_EXECUTABLE}} -l list-themes -d "Display a list of supported themes for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -l file-name -x -d "Specify the display name" -n __bat_no_excl_args
complete -c {{PROJECT_EXECUTABLE}} -s m -l map-syntax -x -d "<from:to> Map a file extension or file name to an existing syntax" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -s f -l force-colorization -d "Force color and decorations" -n __bat_no_excl_args
complete -c {{PROJECT_EXECUTABLE}} -s n -l number -d "Only show line numbers, no other decorations. Alias for '--style=numbers'" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -s h -d "Print a concise overview" -n __fish_is_first_arg
complete -c {{PROJECT_EXECUTABLE}} -l pager -x -d "<command> Specify which pager program to use (default: less)" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -l help -f -d "Print all help information" -n __fish_is_first_arg
complete -c {{PROJECT_EXECUTABLE}} -l paging -xka "auto never always" -d "Specify when to use the pager (default: auto)" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -s H -l highlight-line -x -d "Highlight line(s) N[:M]" -n __bat_no_excl_args
complete -c {{PROJECT_EXECUTABLE}} -s p -l plain -d "Only show plain style, no decorations. Alias for '--style=plain'" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -l ignored-suffix -x -d "Ignore extension" -n __bat_no_excl_args
complete -c {{PROJECT_EXECUTABLE}} -s P -d "Disable paging. Alias for '--paging=never'" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -l italic-text -x -a "$italic_text_opts" -d "When to use italic text in the output" -n __bat_no_excl_args
complete -c {{PROJECT_EXECUTABLE}} -s A -l show-all -d "Show non-printable characters like space/tab/newline" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -s l -l language -x -k -a "(__bat_complete_list_languages)" -d "Set the syntax highlighting language" -n __bat_no_excl_args
complete -c {{PROJECT_EXECUTABLE}} -l style -xka "auto full plain changes header header-filename header-filesize grid rule numbers snip" -d "Comma-separated list of style elements or presets to display with file contents" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -l lessopen -d "Enable the $LESSOPEN preprocessor" -n __fish_is_first_arg
complete -c {{PROJECT_EXECUTABLE}} -l tabs -x -d "<T> Set the tab width to T spaces (width of 0 passes tabs through directly)" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -s r -l line-range -x -d "Only print lines [M]:[N] (either optional)" -n __bat_no_excl_args
complete -c {{PROJECT_EXECUTABLE}} -l terminal-width -x -d "<width> Explicitly set terminal width; Prefix with '+' or '-' to offset (default width is auto determined)" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -l list-languages -f -d "List syntax highlighting languages" -n __fish_is_first_arg
complete -c {{PROJECT_EXECUTABLE}} -l theme -xka "({{PROJECT_EXECUTABLE}} --list-themes | cat)" -d "Set the theme for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -l list-themes -f -d "List syntax highlighting themes" -n __fish_is_first_arg
complete -c {{PROJECT_EXECUTABLE}} -s u -l unbuffered -d "POSIX-compliant unbuffered output. Option is ignored" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -s m -l map-syntax -x -a "(__bat_complete_map_syntax)" -d "Map <glob pattern>:<language syntax>" -n __bat_no_excl_args
complete -c {{PROJECT_EXECUTABLE}} -s V -l version -d "Show version information" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -l no-config -d "Do not use the configuration file"
complete -c {{PROJECT_EXECUTABLE}} -l wrap -xka "auto never character" -d "<mode> Specify the text-wrapping mode (default: auto)" -n "not __fish_seen_subcommand_from cache"
complete -c $bat -l no-custom-assets -d "Do not load custom assets"
complete -c $bat -l no-lessopen -d "Disable the $LESSOPEN preprocessor if enabled (overrides --lessopen)"
complete -c $bat -s n -l number -d "Only show line numbers, no other decorations" -n __bat_no_excl_args
complete -c $bat -l pager -x -a "$pager_opts" -d "Which pager to use" -n __bat_no_excl_args
complete -c $bat -l paging -x -a "$paging_opts" -d "When to use the pager" -n __bat_no_excl_args
complete -c $bat -s p -l plain -d "Disable decorations" -n __bat_no_excl_args
complete -c $bat -o pp -d "Disable decorations and paging" -n __bat_no_excl_args
complete -c $bat -s P -d "Disable paging" -n __bat_no_excl_args
complete -c $bat -s A -l show-all -d "Show non-printable characters" -n __bat_no_excl_args
complete -c $bat -l style -x -k -a "(__fish_complete_list , __bat_style_opts)" -d "Specify which non-content elements to display" -n __bat_no_excl_args
complete -c $bat -l tabs -x -a "$tabs_opts" -d "Set tab width" -n __bat_no_excl_args
complete -c $bat -l terminal-width -x -d "Set terminal <width>, +<offset>, or -<offset>" -n __bat_no_excl_args
complete -c $bat -l theme -x -a "$special_themes(command $bat --list-themes | command cat)" -d "Set the syntax highlighting theme" -n __bat_no_excl_args
complete -c $bat -l theme-dark -x -a "(command $bat --list-themes | command cat)" -d "Set the syntax highlighting theme for dark backgrounds" -n __bat_no_excl_args
complete -c $bat -l theme-light -x -a "(command $bat --list-themes | command cat)" -d "Set the syntax highlighting theme for light backgrounds" -n __bat_no_excl_args
complete -c $bat -s V -l version -f -d "Show version information" -n __fish_is_first_arg
complete -c $bat -l wrap -x -a "$wrap_opts" -d "Text-wrapping mode" -n __bat_no_excl_args
# Sub-command 'cache' completions
complete -c {{PROJECT_EXECUTABLE}} -a "cache" -d "Modify the syntax/language definition cache" -n "not __fish_seen_subcommand_from cache"
## Completion of the 'cache' command itself is removed for better UX
## See https://github.com/sharkdp/bat/issues/2085#issuecomment-1271646802
complete -c {{PROJECT_EXECUTABLE}} -l build -f -d "Parse syntaxes/language definitions into cache" -n "__fish_seen_subcommand_from cache"
complete -c $bat -l build -f -d "Parse new definitions into cache" -n __bat_cache_no_excl
complete -c {{PROJECT_EXECUTABLE}} -l clear -f -d "Reset syntaxes/language definitions to default settings" -n "__fish_seen_subcommand_from cache"
complete -c $bat -l clear -f -d "Reset definitions to defaults" -n __bat_cache_no_excl
complete -c $bat -l blank -f -d "Create new data instead of appending" -n "__bat_cache_subcommand; and not __fish_seen_argument -l clear"
complete -c $bat -l source -x -a "(__fish_complete_directories)" -d "Load syntaxes and themes from DIR" -n "__bat_cache_subcommand; and not __fish_seen_argument -l clear"
complete -c $bat -l target -x -a "(__fish_complete_directories)" -d "Store cache in DIR" -n __bat_cache_subcommand
complete -c $bat -l acknowledgements -d "Build acknowledgements.bin" -n __bat_cache_no_excl
complete -c $bat -s h -d "Print a concise overview of $bat-cache help" -n __bat_cache_no_excl
complete -c $bat -l help -f -d "Print all $bat-cache help" -n __bat_cache_no_excl
# vim:ft=fish

View File

@ -1,19 +1,20 @@
#compdef {{PROJECT_EXECUTABLE}}
local context state state_descr line
local curcontext="$curcontext" ret=1
local -a state state_descr line
typeset -A opt_args
(( $+functions[_{{PROJECT_EXECUTABLE}}_cache_subcommand] )) ||
_{{PROJECT_EXECUTABLE}}_cache_subcommand() {
local -a args
args=(
'(-b --build -c --clear)'{-b,--build}'[Initialize or update the syntax/theme cache]'
'(-b --build -c --clear)'{-c,--clear}'[Remove the cached syntax definitions and themes]'
'(--source)'--source='[Use a different directory to load syntaxes and themes from]:directory:_files -/'
'(--target)'--target='[Use a different directory to store the cached syntax and theme set]:directory:_files -/'
'(--blank)'--blank'[Create completely new syntax and theme sets]'
'(: -)'{-h,--help}'[Prints help information]'
'*: :'
'(-b --build -c --clear)'{-b,--build}'[initialize or update the syntax/theme cache]'
'(-b --build -c --clear)'{-c,--clear}'[remove the cached syntax definitions and themes]'
--source='[specify directory to load syntaxes and themes from]:directory:_files -/'
--target='[specify directory to store the cached syntax and theme set in]:directory:_files -/'
--blank'[create completely new syntax and theme sets]'
--acknowledgements'[build acknowledgements.bin]'
'(: -)'{-h,--help}'[show help information]'
)
_arguments -S -s $args
@ -23,77 +24,92 @@ _{{PROJECT_EXECUTABLE}}_cache_subcommand() {
_{{PROJECT_EXECUTABLE}}_main() {
local -a args
args=(
'(-A --show-all)'{-A,--show-all}'[Show non-printable characters (space, tab, newline, ..)]'
'*'{-p,--plain}'[Show plain style (alias for `--style=plain`), repeat twice to disable disable automatic paging (alias for `--paging=never`)]'
'(-l --language)'{-l+,--language=}'[Set the language for syntax highlighting]:<language>:->language'
'(-H --highlight-line)'{-H,--highlight-line}'[Highlight lines N through M]:<N\:M>...'
'(--file-name)'--file-name'[Specify the name to display for a file]:<name>...:_files'
'(-d --diff)'--diff'[Only show lines that have been added/removed/modified]'
'(--diff-context)'--diff-context'[Include N lines of context around added/removed/modified lines when using `--diff`]:<N> (lines):()'
'(--tabs)'--tabs'[Set the tab width to T spaces]:<T> (tab width):()'
'(--wrap)'--wrap='[Specify the text-wrapping mode]:<when>:(auto never character)'
'(--terminal-width)'--terminal-width'[Explicitly set the width of the terminal instead of determining it automatically]:<width>'
'(-n --number)'{-n,--number}'[Show line numbers]'
'(--color)'--color='[When to use colors]:<when>:(auto never always)'
'(--italic-text)'--italic-text='[Use italics in output]:<when>:(always never)'
'(--decorations)'--decorations='[When to show the decorations]:<when>:(auto never always)'
'(--paging)'--paging='[Specify when to use the pager]:<when>:(auto never always)'
'(-m --map-syntax)'{-m+,--map-syntax=}'[Use the specified syntax for files matching the glob pattern]:<glob\:syntax>...'
'(--theme)'--theme='[Set the color theme for syntax highlighting]:<theme>:->theme'
'(: --list-themes --list-languages -L)'--list-themes'[Display all supported highlighting themes]'
'(--style)'--style='[Comma-separated list of style elements to display]:<components>:->style'
'(-r --line-range)'{-r+,--line-range=}'[Only print the lines from N to M]:<N\:M>...'
'(: --list-themes --list-languages -L)'{-L,--list-languages}'[Display all supported languages]'
'(: --no-config)'--no-config'[Do not use the configuration file]'
'(: --no-custom-assets)'--no-custom-assets'[Do not load custom assets]'
'(: --config-dir)'--config-dir'[Show bat'"'"'s configuration directory]'
'(: --config-file)'--config-file'[Show path to the configuration file]'
'(: --generate-config-file)'--generate-config-file'[Generates a default configuration file]'
'(: --cache-dir)'--cache-dir'[Show bat'"'"'s cache directory]'
'(: -)'{-h,--help}'[Print this help message]'
'(: -)'{-V,--version}'[Show version information]'
'*: :_files'
'(-A --show-all)'{-A,--show-all}'[show non-printable characters (space, tab, newline, ..)]'
--nonprintable-notation='[specify how to display non-printable characters when using --show-all]:notation:(caret unicode)'
\*{-p,--plain}'[show plain style (alias for `--style=plain`), repeat twice to disable automatic paging (alias for `--paging=never`)]'
'(-l --language)'{-l+,--language=}'[set the language for syntax highlighting]:language:->languages'
\*{-H+,--highlight-line=}'[highlight specified block of lines]:start\:end'
\*--file-name='[specify the name to display for a file]:name:_files'
'(-d --diff)'--diff'[only show lines that have been added/removed/modified]'
--diff-context='[specify lines of context around added/removed/modified lines when using `--diff`]:lines'
--tabs='[set the tab width]:tab width [4]'
--wrap='[specify the text-wrapping mode]:mode [auto]:(auto never character)'
'!(--wrap)'{-S,--chop-long-lines}
--terminal-width='[explicitly set the width of the terminal instead of determining it automatically]:width'
'(-n --number --diff --diff-context)'{-n,--number}'[show line numbers]'
--color='[specify when to use colors]:when:(auto never always)'
--italic-text='[use italics in output]:when:(always never)'
--decorations='[specify when to show the decorations]:when:(auto never always)'
--paging='[specify when to use the pager]:when:(auto never always)'
'(-m --map-syntax)'{-m+,--map-syntax=}'[map a glob pattern to an existing syntax name]: :->syntax-maps'
'(--theme)'--theme='[set the color theme for syntax highlighting]:theme:->theme_preferences'
'(--theme-dark)'--theme-dark='[set the color theme for syntax highlighting for dark backgrounds]:theme:->themes'
'(--theme-light)'--theme-light='[set the color theme for syntax highlighting for light backgrounds]:theme:->themes'
'(: --list-themes --list-languages -L)'--list-themes'[show all supported highlighting themes]'
--style='[comma-separated list of style elements to display]: : _values "style [default]"
default auto full plain changes header header-filename header-filesize grid rule numbers snip'
\*{-r+,--line-range=}'[only print the specified line range]:start\:end'
'(* -)'{-L,--list-languages}'[display all supported languages]'
-P'[disable paging]'
"--no-config[don't use the configuration file]"
"--no-custom-assets[don't load custom assets]"
'(--no-lessopen)'--lessopen'[enable the $LESSOPEN preprocessor]'
'(--lessopen)'--no-lessopen'[disable the $LESSOPEN preprocessor if enabled (overrides --lessopen)]'
'(* -)'--config-dir"[show bat's configuration directory]"
'(* -)'--config-file'[show path to the configuration file]'
'(* -)'--generate-config-file'[generate a default configuration file]'
'(* -)'--cache-dir"[show bat's cache directory]"
'(* -)'{-h,--help}'[show help information]'
'(* -)'{-V,--version}'[show version information]'
'*: :{ _files || compadd cache }'
)
_arguments -S -s $args
_arguments -S -s $args && ret=0
case "$state" in
language)
syntax-maps)
if ! compset -P '*:'; then
_message -e patterns 'glob pattern:language'
return
fi
;& # fall-through
languages)
local IFS=$'\n'
local -a languages
languages=( $({{PROJECT_EXECUTABLE}} --list-languages | awk -F':|,' '{ for (i = 1; i <= NF; ++i) printf("%s:%s\n", $i, $1) }') )
_describe 'language' languages
_describe 'language' languages && ret=0
;;
theme)
local IFS=$'\n'
local -a themes
themes=( $({{PROJECT_EXECUTABLE}} --list-themes | sort) )
themes)
local -a themes expl
themes=(${(f)"$(_call_program themes {{PROJECT_EXECUTABLE}} --list-themes)"} )
_values 'theme' $themes
_wanted themes expl 'theme' compadd -a themes && ret=0
;;
theme_preferences)
local -a themes expl
themes=(auto dark light auto:always auto:system ${(f)"$(_call_program themes {{PROJECT_EXECUTABLE}} --list-themes)"} )
style)
_values -s , 'style' auto full plain changes header header-filename header-filesize grid rule numbers snip
_wanted themes expl 'theme' compadd -a themes && ret=0
;;
esac
return ret
}
# first positional argument
if (( ${#words} == 2 )); then
local -a subcommands
subcommands=('cache:Modify the syntax-definition and theme cache')
_describe subcommand subcommands
_{{PROJECT_EXECUTABLE}}_main
else
case $words[2] in
cache)
_{{PROJECT_EXECUTABLE}}_cache_subcommand
;;
case $words[2] in
cache)
## Completion of the 'cache' command itself is removed for better UX
## See https://github.com/sharkdp/bat/issues/2085#issuecomment-1271646802
shift words
(( CURRENT-- ))
curcontext="${curcontext%:*}-${words[1]}:"
_{{PROJECT_EXECUTABLE}}_cache_subcommand
;;
*)
_{{PROJECT_EXECUTABLE}}_main
;;
esac
fi
*)
_{{PROJECT_EXECUTABLE}}_main
;;
esac

133
assets/manual/bat.1.in vendored
View File

@ -25,11 +25,23 @@ either '--language value', '--language=value', '-l value' or '-lvalue'.
Show non\-printable characters like space, tab or newline. Use '\-\-tabs' to
control the width of the tab\-placeholders.
.HP
\fB\-\-nonprintable\-notation\fR <notation>
.IP
Specify how to display non-printable characters when using \-\-show\-all.
Possible values:
.RS
.IP "caret"
Use character sequences like ^G, ^J, ^@, .. to identify non-printable characters
.IP "unicode"
Use special Unicode code points to identify non-printable characters
.RE
.HP
\fB\-p\fR, \fB\-\-plain\fR
.IP
Only show plain style, no decorations. This is an alias for
\&'\-\-style=plain'. When '\-p' is used twice ('\-pp'), it also disables
automatic paging (alias for '\-\-style=plain \fB\-\-pager\fR=\fI\,never\/\fR').
automatic paging (alias for '\-\-style=plain \fB\-\-paging\fR=\fI\,never\/\fR').
.HP
\fB\-l\fR, \fB\-\-language\fR <language>
.IP
@ -75,6 +87,10 @@ Set the tab width to T spaces. Use a width of 0 to pass tabs through directly
Specify the text\-wrapping mode (*auto*, never, character). The '\-\-terminal\-width' option
can be used in addition to control the output width.
.HP
\fB\-S\fR, \fB\-\-chop\-long\-lines\fR
.IP
Truncate all lines longer than screen width. Alias for '\-\-wrap=never'.
.HP
\fB\-\-terminal\-width\fR <width>
.IP
Explicitly set the width of the terminal instead of determining it automatically. If
@ -129,16 +145,58 @@ use -m '*.build:Python'. To highlight files named '.myignore' with the Git Ignor
syntax, use -m '.myignore:Git Ignore'.
Note that the right-hand side is the *name* of the syntax, not a file extension.
.HP
\fB\-\-ignored\-suffix\fR <ignored-suffix>
.IP
Ignore extension. For example: 'bat \-\-ignored-suffix ".dev" my_file.json.dev'
will use JSON syntax, and ignore '.dev'
.HP
\fB\-\-theme\fR <theme>
.IP
Set the theme for syntax highlighting. Use '\-\-list\-themes' to see all available themes.
To set a default theme, add the '\-\-theme="..."' option to the configuration file or
export the BAT_THEME environment variable (e.g.: export BAT_THEME="...").
Set the theme for syntax highlighting. Use \fB\-\-list\-themes\fP to see all available themes.
To set a default theme, add the \fB\-\-theme="..."\fP option to the configuration file or
export the \fBBAT_THEME\fP environment variable (e.g.: \fBexport BAT_THEME="..."\fP).
Special values:
.RS
.IP "auto (\fIdefault\fR)"
Picks a dark or light theme depending on the terminal's colors.
Use \fB-\-theme\-light\fR and \fB-\-theme\-dark\fR to customize the selected theme.
.IP "auto:always"
Variation of \fBauto\fR where where the terminal's colors are detected even when the output is redirected.
.IP "auto:system (macOS only)"
Variation of \fBauto\fR where the color scheme is detected from the system-wide preference instead.
.IP "dark"
Use the dark theme specified by \fB-\-theme-dark\fR.
.IP "light"
Use the light theme specified by \fB-\-theme-light\fR.
.RE
.HP
\fB\-\-theme\-dark\fR <theme>
.IP
Sets the theme name for syntax highlighting used when the terminal uses a dark background.
To set a default theme, add the \fB\-\-theme-dark="..."\fP option to the configuration file or
export the \fBBAT_THEME_DARK\fP environment variable (e.g. \fBexport BAT_THEME_DARK="..."\fP).
This option only has an effect when \fB\-\-theme\fP option is set to \fBauto\fR or \fBdark\fR.
.HP
\fB\-\-theme\-light\fR <theme>
.IP
Sets the theme name for syntax highlighting used when the terminal uses a dark background.
To set a default theme, add the \fB\-\-theme-dark="..."\fP option to the configuration file or
export the \fBBAT_THEME_LIGHT\fP environment variable (e.g. \fBexport BAT_THEME_LIGHT="..."\fP).
This option only has an effect when \fB\-\-theme\fP option is set to \fBauto\fR or \fBlight\fR.
.HP
\fB\-\-list\-themes\fR
.IP
Display a list of supported themes for syntax highlighting.
.HP
\fB\-s\fR, \fB\-\-squeeze\-blank\fR
.IP
Squeeze consecutive empty lines into a single empty line.
.HP
\fB\-\-squeeze\-limit\fR <squeeze-limit>
.IP
Set the maximum number of consecutive empty lines to be printed.
.HP
\fB\-\-style\fR <style\-components>
.IP
Configure which elements (line numbers, file headers, grid borders, Git modifications,
@ -146,7 +204,7 @@ Configure which elements (line numbers, file headers, grid borders, Git modifica
of components to display (e.g. 'numbers,changes,grid') or a pre\-defined style ('full').
To set a default style, add the '\-\-style=".."' option to the configuration file or
export the BAT_STYLE environment variable (e.g.: export BAT_STYLE=".."). Possible
values: *full*, auto, plain, changes, header, header-filename, header-filesize, grid,
values: *default*, full, auto, plain, changes, header, header-filename, header-filesize, grid,
rule, numbers, snip.
.HP
\fB\-r\fR, \fB\-\-line\-range\fR <N:M>...
@ -172,6 +230,30 @@ Display a list of supported languages for syntax highlighting.
This option exists for POSIX\-compliance reasons ('u' is for 'unbuffered'). The output is
always unbuffered \- this option is simply ignored.
.HP
\fB\-\-no\-custom\-assets\fR
.IP
Do not load custom assets.
.HP
\fB\-\-config\-dir\fR
.IP
Show bat's configuration directory.
.HP
\fB\-\-cache\-dir\fR
.IP
Show bat's cache directory.
.HP
\fB\-\-diagnostic\fR
.IP
Show diagnostic information for bug reports.
.HP
\fB\-\-acknowledgements\fR
.IP
Show acknowledgements.
.HP
\fB\-\-set\-terminal\-title\fR
.IP
Sets terminal title to filenames when using a pager.
.HP
\fB\-h\fR, \fB\-\-help\fR
.IP
Print this help message.
@ -200,6 +282,20 @@ location of the configuration file.
To generate a default configuration file, call:
\fB{{PROJECT_EXECUTABLE}} --generate-config-file\fR
These are related options:
.HP
\fB\-\-config\-file\fR
.IP
Show path to the configuration file.
.HP
\fB\-\-generate-config\-file\fR
.IP
Generates a default configuration file.
.HP
\fB\-\-no\-config\fR
.IP
Do not use the configuration file.
.SH "ADDING CUSTOM LANGUAGES"
{{PROJECT_EXECUTABLE}} supports Sublime Text \fB.sublime-syntax\fR language files, and can be
customized to add additional languages to your local installation. To do this, add the \fB.sublime-syntax\fR language
@ -231,6 +327,33 @@ If you ever want to remove the custom languages, you can clear the cache with `\
Similarly to custom languages, {{PROJECT_EXECUTABLE}} supports Sublime Text \fB.tmTheme\fR themes.
These can be installed to `\fB$({{PROJECT_EXECUTABLE}} --config-dir)/themes\fR`, and are added to the cache with
`\fB{{PROJECT_EXECUTABLE}} cache --build`.
.SH "INPUT PREPROCESSOR"
Much like less(1) does, {{PROJECT_EXECUTABLE}} supports input preprocessors via the LESSOPEN and LESSCLOSE environment variables.
In addition, {{PROJECT_EXECUTABLE}} attempts to be as compatible with less's preprocessor implementation as possible.
To use the preprocessor, call:
\fB{{PROJECT_EXECUTABLE}} --lessopen\fR
Alternatively, the preprocessor may be enabled by default by adding the '\-\-lessopen' option to the configuration file.
To temporarily disable the preprocessor if it is enabled by default, call:
\fB{{PROJECT_EXECUTABLE}} --no-lessopen\fR
These are related options:
.HP
\fB\-\-lessopen\fR
.IP
Enable the $LESSOPEN preprocessor.
.HP
\fB\-\-no\-lessopen\fR
.IP
Disable the $LESSOPEN preprocessor if enabled (overrides --lessopen)
.PP
For more information, see the "INPUT PREPROCESSOR" section of less(1).
.SH "MORE INFORMATION"
For more information and up-to-date documentation, visit the {{PROJECT_EXECUTABLE}} repo:

22
assets/patches/1337.tmTheme.patch vendored Normal file
View File

@ -0,0 +1,22 @@
diff --git themes/1337-Scheme/1337.tmTheme themes/1337-Scheme/1337.tmTheme
index fdff5bf..8cfc888 100644
--- themes/1337-Scheme/1337.tmTheme
+++ themes/1337-Scheme/1337.tmTheme
@@ -280,7 +280,7 @@ SOFTWARE.
<key>name</key>
<string>PHP Namespaces</string>
<key>scope</key>
- <string>support.other.namespace, entity.name.type.namespace</string>
+ <string>support.other.namespace, entity.name.type.namespace, entity.name</string>
<key>settings</key>
<dict>
<key>foreground</key>
@@ -561,7 +561,7 @@ SOFTWARE.
<key>name</key>
<string>diff.header</string>
<key>scope</key>
- <string>meta.diff, meta.diff.header</string>
+ <string>meta.diff, meta.diff.header, markup.heading</string>
<key>settings</key>
<dict>
<key>foreground</key>

View File

@ -0,0 +1,14 @@
Submodule assets/syntaxes/01_Packages contains modified content
diff --git syntaxes/01_Packages/JavaScript/JavaScript.sublime-syntax syntaxes/01_Packages/JavaScript/JavaScript.sublime-syntax
index 05a4fed6..78a7bf55 100644
--- syntaxes/01_Packages/JavaScript/JavaScript.sublime-syntax
+++ syntaxes/01_Packages/JavaScript/JavaScript.sublime-syntax
@@ -5,7 +5,7 @@ name: JavaScript
file_extensions:
- js
- htc
-first_line_match: ^#!\s*/.*\b(node|js)\b
+first_line_match: ^#!\s*/.*\b(node|bun|js)\b
scope: source.js
variables:
bin_digit: '[01_]'

2365
assets/patches/Lisp.sublime-syntax.patch vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
diff --git syntaxes/01_Packages/Markdown/Markdown.sublime-syntax syntaxes/01_Packages/Markdown/Markdown.sublime-syntax
index 19dc685d..44440c7f 100644
index 19dc685d..3a45ea05 100644
--- syntaxes/01_Packages/Markdown/Markdown.sublime-syntax
+++ syntaxes/01_Packages/Markdown/Markdown.sublime-syntax
@@ -24,7 +24,6 @@ variables:
@ -166,7 +166,29 @@ index 19dc685d..44440c7f 100644
- match: ^\s*$\n?
scope: invalid.illegal.non-terminated.bold-italic.markdown
pop: true
@@ -1152,7 +1110,7 @@ contexts:
@@ -1073,6 +1031,21 @@ contexts:
escape: '{{code_fence_escape}}'
escape_captures:
0: meta.code-fence.definition.end.python.markdown-gfm
+ 1: punctuation.definition.raw.code-fence.end.markdown
+ - match: |-
+ (?x)
+ {{fenced_code_block_start}}
+ ((?i:puppet))
+ {{fenced_code_block_trailing_infostring_characters}}
+ captures:
+ 0: meta.code-fence.definition.begin.puppet.markdown-gfm
+ 2: punctuation.definition.raw.code-fence.begin.markdown
+ 5: constant.other.language-name.markdown
+ embed: scope:source.puppet
+ embed_scope: markup.raw.code-fence.puppet.markdown-gfm
+ escape: '{{code_fence_escape}}'
+ escape_captures:
+ 0: meta.code-fence.definition.end.puppet.markdown-gfm
1: punctuation.definition.raw.code-fence.end.markdown
- match: |-
(?x)
@@ -1152,7 +1125,7 @@ contexts:
- match: |-
(?x)
{{fenced_code_block_start}}

View File

@ -21,11 +21,26 @@ index 9c2aa3e..180cbbf 100644
<string>Invalid</string>
<key>scope</key>
- <string>invalid</string>
+ <string>invalid, markup.error</string>
+ <string>invalid, meta.annotation.error-line</string>
<key>settings</key>
<dict>
<key>background</key>
@@ -1042,7 +1042,7 @@
@@ -1038,11 +1038,22 @@
<string>#f8f8f0</string>
</dict>
</dict>
+ <dict>
+ <key>name</key>
+ <string>Error</string>
+ <key>scope</key>
+ <string>markup.error</string>
+ <key>settings</key>
+ <dict>
+ <key>foreground</key>
+ <string>#dd2020</string>
+ </dict>
+ </dict>
<dict>
<key>name</key>
<string>Invalid deprecated</string>
<key>scope</key>

View File

@ -0,0 +1,47 @@
diff --git themes/onehalf/sublimetext/OneHalfDark.tmTheme themes/onehalf/sublimetext/OneHalfDark.tmTheme
index b16050c..b021071 100644
--- themes/onehalf/sublimetext/OneHalfDark.tmTheme
+++ themes/onehalf/sublimetext/OneHalfDark.tmTheme
@@ -28,7 +28,7 @@
<plist version="1.0">
<dict>
<key>name</key>
- <string>OneHalfLight</string>
+ <string>OneHalfDark</string>
<key>semanticClass</key>
<string>theme.dark.one_half_dark</string>
<key>uuid</key>
@@ -155,7 +155,7 @@
<key>name</key>
<string>Classes</string>
<key>scope</key>
- <string>support.class, entity.name.class, entity.name.type.class</string>
+ <string>support.class, entity.name.class, entity.name.type.class, entity.name</string>
<key>settings</key>
<dict>
<key>foreground</key>
@@ -188,7 +188,7 @@
<key>name</key>
<string>Storage</string>
<key>scope</key>
- <string>storage</string>
+ <string>storage, meta.mapping.key string</string>
<key>settings</key>
<dict>
<key>foreground</key>
@@ -309,7 +309,7 @@
<key>name</key>
<string>Markdown: Headings</string>
<key>scope</key>
- <string>markup.heading punctuation.definition.heading, entity.name.section</string>
+ <string>markup.heading punctuation.definition.heading, entity.name.section, markup.heading - text.html.markdown</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
@@ -660,4 +660,4 @@
</dict>
</array>
</dict>
-</plist>
\ No newline at end of file
+</plist>

View File

@ -0,0 +1,13 @@
diff --git syntaxes/02_Extra/TodoTxt/TodoTxt.sublime-syntax syntaxes/02_Extra/TodoTxt/TodoTxt.sublime-syntax
index 6c75dbb..0115978 100644
--- syntaxes/02_Extra/TodoTxt/TodoTxt.sublime-syntax
+++ syntaxes/02_Extra/TodoTxt/TodoTxt.sublime-syntax
@@ -68,7 +68,7 @@ contexts:
- match: (\s+[^\s:]+:[^\s:]+)+\s*$
comment: Custom attributes
- scope: variable.annotation.todotxt.attribute
+ scope: variable.other.todotxt.attribute
comments:
# Comments begin with a '//' and finish at the end of the line.

38
assets/patches/TwoDark.tmTheme.patch vendored Normal file
View File

@ -0,0 +1,38 @@
diff --git themes/TwoDark/TwoDark.tmTheme themes/TwoDark/TwoDark.tmTheme
index 87fd358..56376d3 100644
--- themes/TwoDark/TwoDark.tmTheme
+++ themes/TwoDark/TwoDark.tmTheme
@@ -125,7 +125,7 @@
<key>name</key>
<string>Classes</string>
<key>scope</key>
- <string>support.class, entity.name.class, entity.name.type.class</string>
+ <string>support.class, entity.name.class, entity.name.type.class, entity.name</string>
<key>settings</key>
<dict>
<key>foreground</key>
@@ -290,7 +290,7 @@
<key>name</key>
<string>Headings</string>
<key>scope</key>
- <string>markup.heading punctuation.definition.heading, entity.name.section</string>
+ <string>markup.heading punctuation.definition.heading, entity.name.section, markup.heading - text.html.markdown</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
@@ -533,7 +533,7 @@
<key>name</key>
<string>Json key</string>
<key>scope</key>
- <string>source.json meta.structure.dictionary.json string.quoted.double.json</string>
+ <string>source.json meta.mapping.key.json string.quoted.double.json</string>
<key>settings</key>
<dict>
<key>foreground</key>
@@ -875,4 +875,4 @@
<key>comment</key>
<string>Work in progress</string>
</dict>
-</plist>
\ No newline at end of file
+</plist>

BIN
assets/syntaxes.bin vendored

Binary file not shown.

1
assets/syntaxes/02_Extra/Ada vendored Submodule

@ -0,0 +1 @@
Subproject commit e2b8fd51756e0cc42172c1c3405832ce9c19b6b6

@ -1 +1 @@
Subproject commit 163bc03ae8998a237dfb4be353d0aea198ea17f5
Subproject commit cf6cefc51ebb46b1b54906433edbae0fe9c71cad

1
assets/syntaxes/02_Extra/CFML vendored Submodule

@ -0,0 +1 @@
Subproject commit b91c44a32e251c20c6359a8d9232287e1b408e6c

@ -1 +1 @@
Subproject commit ab6ef4ef9f9b974806ea0788430a8c087ebe3761
Subproject commit eb40ede56c2d4d5a4a129b2a5bc7095a2df46bb1

View File

@ -2,20 +2,21 @@
---
# See http://www.sublimetext.com/docs/3/syntax.html
name: Comma Separated Values
file_extensions:
- csv
- tsv
scope: text.csv
scope: text.csv.comma
variables:
field_separator: (?:[,;\t])
field_separator: (?:,)
record_separator: (?:$\n?)
contexts:
prototype:
- match: (?={{record_separator}})
pop: true
main:
- match: '^'
push: fields
fields:
- include: record_separator
- match: ''
push:
- field_or_record_separator
- field5
- field_or_record_separator
- field4
- field_or_record_separator
@ -24,16 +25,20 @@ contexts:
- field2
- field_or_record_separator
- field1
main:
- meta_include_prototype: false
- match: '^'
set: fields
field_or_record_separator:
record_separator_pop:
- match: (?={{record_separator}})
pop: true
record_separator:
- meta_include_prototype: false
- match: '{{record_separator}}'
scope: punctuation.terminator.record.csv
pop: true
field_or_record_separator:
- meta_include_prototype: false
- include: record_separator_pop
- match: '{{field_separator}}'
scope: punctuation.separator.sequence.csv
pop: true
@ -41,24 +46,16 @@ contexts:
field_contents:
- match: '"'
scope: punctuation.definition.string.begin.csv
push: double_quoted_string
push: scope:text.csv#double_quoted_string
- match: (?={{field_separator}}|{{record_separator}})
pop: true
double_quoted_string:
- meta_include_prototype: false
- meta_scope: string.quoted.double.csv
- match: '""'
scope: constant.character.escape.csv
- match: '"'
scope: punctuation.definition.string.end.csv
- include: record_separator_pop
- match: (?={{field_separator}})
pop: true
field1:
- match: ''
set:
- meta_content_scope: meta.field-1.csv support.type
- meta_content_scope: meta.field-1.csv variable.parameter
- include: field_contents
field2:
- match: ''
@ -75,4 +72,8 @@ contexts:
set:
- meta_content_scope: meta.field-4.csv keyword.operator
- include: field_contents
field5:
- match: ''
set:
- meta_content_scope: meta.field-5.csv string.unquoted
- include: field_contents

View File

@ -0,0 +1,80 @@
%YAML 1.2
---
# See http://www.sublimetext.com/docs/3/syntax.html
name: Pipe Separated Values
scope: text.csv.pipe
variables:
field_separator: (?:\|)
record_separator: (?:$\n?)
contexts:
main:
- match: '^'
push: fields
fields:
- include: record_separator
- match: ''
push:
- field_or_record_separator
- field5
- field_or_record_separator
- field4
- field_or_record_separator
- field3
- field_or_record_separator
- field2
- field_or_record_separator
- field1
record_separator_pop:
- match: (?={{record_separator}})
pop: true
record_separator:
- meta_include_prototype: false
- match: '{{record_separator}}'
scope: punctuation.terminator.record.csv
pop: true
field_or_record_separator:
- meta_include_prototype: false
- include: record_separator_pop
- match: '{{field_separator}}'
scope: punctuation.separator.sequence.csv
pop: true
field_contents:
- match: '"'
scope: punctuation.definition.string.begin.csv
push: scope:text.csv#double_quoted_string
- include: record_separator_pop
- match: (?={{field_separator}})
pop: true
field1:
- match: ''
set:
- meta_content_scope: meta.field-1.csv variable.parameter
- include: field_contents
field2:
- match: ''
set:
- meta_content_scope: meta.field-2.csv support.function
- include: field_contents
field3:
- match: ''
set:
- meta_content_scope: meta.field-3.csv constant.numeric
- include: field_contents
field4:
- match: ''
set:
- meta_content_scope: meta.field-4.csv keyword.operator
- include: field_contents
field5:
- match: ''
set:
- meta_content_scope: meta.field-5.csv string.unquoted
- include: field_contents

View File

@ -0,0 +1,79 @@
%YAML 1.2
---
# See http://www.sublimetext.com/docs/3/syntax.html
name: Semi-Colon Separated Values
scope: text.csv.semi-colon
variables:
field_separator: (?:;)
record_separator: (?:$\n?)
contexts:
main:
- match: '^'
push: fields
fields:
- include: record_separator
- match: ''
push:
- field_or_record_separator
- field5
- field_or_record_separator
- field4
- field_or_record_separator
- field3
- field_or_record_separator
- field2
- field_or_record_separator
- field1
record_separator_pop:
- match: (?={{record_separator}})
pop: true
record_separator:
- meta_include_prototype: false
- match: '{{record_separator}}'
scope: punctuation.terminator.record.csv
pop: true
field_or_record_separator:
- meta_include_prototype: false
- include: record_separator_pop
- match: '{{field_separator}}'
scope: punctuation.separator.sequence.csv
pop: true
field_contents:
- match: '"'
scope: punctuation.definition.string.begin.csv
push: scope:text.csv#double_quoted_string
- include: record_separator_pop
- match: (?={{field_separator}})
pop: true
field1:
- match: ''
set:
- meta_content_scope: meta.field-1.csv variable.parameter
- include: field_contents
field2:
- match: ''
set:
- meta_content_scope: meta.field-2.csv support.function
- include: field_contents
field3:
- match: ''
set:
- meta_content_scope: meta.field-3.csv constant.numeric
- include: field_contents
field4:
- match: ''
set:
- meta_content_scope: meta.field-4.csv keyword.operator
- include: field_contents
field5:
- match: ''
set:
- meta_content_scope: meta.field-5.csv string.unquoted
- include: field_contents

View File

@ -0,0 +1,113 @@
%YAML 1.2
---
# See http://www.sublimetext.com/docs/3/syntax.html
name: Separated Values
file_extensions:
- csv
scope: text.csv
variables:
field_separator_chars: ',;\t|'
field_separator: (?:[{{field_separator_chars}}])
record_separator: (?:$\n?)
contexts:
main:
- meta_include_prototype: false
- include: three_field_separators
- include: single_separator_type_on_line
- match: '^'
push: unknown-separated-main
three_field_separators:
- match: ^(?=(?:[^,]*,){3})
set: scope:text.csv.comma
- match: ^(?=(?:[^;]*;){3})
set: scope:text.csv.semi-colon
- match: ^(?=(?:[^\t]*\t){3})
set: scope:text.csv.tab
- match: ^(?=(?:[^|]*\|){3})
set: scope:text.csv.pipe
single_separator_type_on_line:
- match: ^(?=[^{{field_separator_chars}}]*,[^;\t|]*$)
set: scope:text.csv.comma
- match: ^(?=[^{{field_separator_chars}}]*;[^,\t|]*$)
set: scope:text.csv.semi-colon
- match: ^(?=[^{{field_separator_chars}}]*\t[^,;|]*$)
set: scope:text.csv.tab
- match: ^(?=[^{{field_separator_chars}}]*\|[^,;\t]*$)
set: scope:text.csv.pipe
unknown-separated-main:
- include: record_separator
- match: ''
push:
- field_or_record_separator
- field5
- field_or_record_separator
- field4
- field_or_record_separator
- field3
- field_or_record_separator
- field2
- field_or_record_separator
- field1
record_separator_pop:
- match: (?={{record_separator}})
pop: true
record_separator:
- meta_include_prototype: false
- match: '{{record_separator}}'
scope: punctuation.terminator.record.csv
field_or_record_separator:
- meta_include_prototype: false
- include: record_separator_pop
- match: '{{field_separator}}'
scope: punctuation.separator.sequence.csv
pop: true
field_contents:
- match: '"'
scope: punctuation.definition.string.begin.csv
push: double_quoted_string
- include: record_separator_pop
- match: (?={{field_separator}})
pop: true
double_quoted_string:
- meta_include_prototype: false
- meta_scope: string.quoted.double.csv
- match: '""'
scope: constant.character.escape.csv
- match: '"'
scope: punctuation.definition.string.end.csv
pop: true
field1:
- match: ''
set:
- meta_content_scope: meta.field-1.csv variable.parameter
- include: field_contents
field2:
- match: ''
set:
- meta_content_scope: meta.field-2.csv support.function
- include: field_contents
field3:
- match: ''
set:
- meta_content_scope: meta.field-3.csv constant.numeric
- include: field_contents
field4:
- match: ''
set:
- meta_content_scope: meta.field-4.csv keyword.operator
- include: field_contents
field5:
- match: ''
set:
- meta_content_scope: meta.field-5.csv string.unquoted
- include: field_contents

View File

@ -0,0 +1,83 @@
%YAML 1.2
---
# See http://www.sublimetext.com/docs/3/syntax.html
name: Tab Separated Values
scope: text.csv.tab
file_extensions:
- tsv
variables:
field_separator: (?:\t)
record_separator: (?:$\n?)
contexts:
main:
- match: '^'
push: fields
fields:
- include: record_separator
- match: ''
push:
- field_or_record_separator
- field5
- field_or_record_separator
- field4
- field_or_record_separator
- field3
- field_or_record_separator
- field2
- field_or_record_separator
- field1
record_separator_pop:
- match: (?={{record_separator}})
pop: true
record_separator:
- meta_include_prototype: false
- match: '{{record_separator}}'
scope: punctuation.terminator.record.csv
pop: true
field_or_record_separator:
- meta_include_prototype: false
- include: record_separator_pop
- match: '{{field_separator}}'
scope: punctuation.separator.sequence.csv
pop: true
field_contents:
- match: '"'
scope: punctuation.definition.string.begin.csv
push: scope:text.csv#double_quoted_string
- include: record_separator_pop
- match: (?={{field_separator}})
pop: true
field1:
- match: ''
set:
- meta_content_scope: meta.field-1.csv variable.parameter
- include: field_contents
field2:
- match: ''
set:
- meta_content_scope: meta.field-2.csv support.function
- include: field_contents
field3:
- match: ''
set:
- meta_content_scope: meta.field-3.csv constant.numeric
- include: field_contents
field4:
- match: ''
set:
- meta_content_scope: meta.field-4.csv keyword.operator
- include: field_contents
field5:
- match: ''
set:
- meta_content_scope: meta.field-5.csv string.unquoted
- include: field_contents

1
assets/syntaxes/02_Extra/Crontab vendored Submodule

@ -0,0 +1 @@
Subproject commit 54f1fa7ff0c9d18aea3790555dba6e533ce3749b

@ -1 +1 @@
Subproject commit 9e9a518aed93031042c54710f8f02c839301de26
Subproject commit c001fb280561d7c16f0f2837d76af493cf6c3bf8

View File

@ -8,6 +8,7 @@ file_extensions:
- .env.local
- .env.sample
- .env.example
- .env.template
- .env.test
- .env.test.local
- .env.testing
@ -23,6 +24,10 @@ file_extensions:
- .env.defaults
- .envrc
- .flaskenv
- env
- env.example
- env.sample
- env.template
scope: source.env
contexts:
main:

@ -1 +1 @@
Subproject commit 2c254cc8512d53b7af306e4379fc9744ee5b4aee
Subproject commit 98316d4332936f74babb51cb56161410ae9d6e2c

View File

@ -95,7 +95,7 @@ contexts:
fstab_dump:
- include: comment
- match: '\s*[01]\s*'
- match: '\s*[012]\s*'
comment: dump field
scope: constant.numeric
set: fstab_pass
@ -107,7 +107,7 @@ contexts:
fstab_pass:
- include: comment
- match: '\s*[01]\s*'
- match: '\s*[012]\s*'
comment: pass field
scope: constant.numeric
set: expected_eol

@ -0,0 +1 @@
Subproject commit 96f5dcf29728aa987123321e2544330eed991a3e

@ -1 +0,0 @@
Subproject commit 77def406d70b90dff33d006478198b729e23d22c

@ -0,0 +1 @@
Subproject commit aedf955eba9753554815b2cbef5e072415e42068

View File

@ -5,8 +5,8 @@ name: INI
file_extensions:
- ini
- INI
- inf
- INF
- "inf"
- "INF"
- reg
- REG
- lng
@ -16,6 +16,9 @@ file_extensions:
- url
- URL
- .editorconfig
- .coveragerc
- .pylintrc
- .gitlint
- .hgrc
- hgrc
scope: source.ini

1
assets/syntaxes/02_Extra/Idris2 vendored Submodule

@ -0,0 +1 @@
Subproject commit 7c1bf44c4f9092b7b1e274b1332cf32a089b2b99

@ -1 +1 @@
Subproject commit 1e55f3211b282ffd555d54b1798668bf5097df6a
Subproject commit 3366b10be91aaab7a61ae0bc0a5af5cc375e58d1

@ -1 +1 @@
Subproject commit 25750138511925b74da9508050c766f360618055
Subproject commit d82aeb737d4883d1a74aba7a07053f90211d427b

View File

@ -53,6 +53,16 @@ contexts:
embed: synopsis
escape: '(?={{section_heading}})'
- match: '^(?:COMMANDS)\b'
scope: markup.heading.commands.man
embed: commands-start
escape: '(?={{section_heading}})'
- match: '^(?:ENVIRONMENT\s+VARIABLES)'
scope: markup.heading.env.man
embed: environment-variables
escape: '(?={{section_heading}})'
- match: '{{section_heading}}'
scope: markup.heading.other.man
embed: options # some man pages put command line options under the description heading
@ -75,7 +85,10 @@ contexts:
options:
# command-line options like --option=value, --some-flag, or -x
- match: '^[ ]{7}(?=-)'
- match: '^[ ]{7}(-)(?=\s)'
captures:
1: entity.name.command-line-option.man
- match: '^[ ]{7}(?=-|\+)'
push: expect-command-line-option
- match: '(?:[^a-zA-Z0-9_-]|^|\s){{command_line_option}}'
captures:
@ -96,7 +109,7 @@ contexts:
- include: env-var
expect-command-line-option:
- match: '[A-Za-z0-9-]+'
- match: '[A-Za-z0-9-\.\?:#\$\+]+'
scope: entity.name.command-line-option.man
- match: '(\[)(=)'
captures:
@ -122,7 +135,7 @@ contexts:
pop: true
expect-parameter:
- match: '[A-Za-z0-9-]+'
- match: '[A-Za-z0-9-_]+'
scope: variable.parameter.man
- match: (?=\s+\|)
pop: true
@ -135,6 +148,10 @@ contexts:
scope: punctuation.section.brackets.end.man
pop: true
- include: expect-parameter
- match: '<'
scope: punctuation.definition.generic.begin.man
- match: '>'
scope: punctuation.definition.generic.end.man
- match: '$|(?=[],]|{{command_line_option}})'
pop: true
@ -169,3 +186,20 @@ contexts:
- match: \[
scope: punctuation.section.brackets.begin.man
push: command-line-option-or-pipe
commands-start:
- match: (?=^[ ]{7}.*(?:[ ]<|[|]))
push: commands
commands:
- match: '^[ ]{7}([a-z_\-]+)(?=[ ]|$)'
captures:
1: entity.name.command.man
push: expect-parameter
- match: '^[ ]{7}(?=[\[<]|\w+[|\]])'
push: expect-parameter
environment-variables:
- match: '^[ ]{7}([A-Z_]+)\b'
captures:
1: support.constant.environment-variable.man

@ -1 +1 @@
Subproject commit 81bf97cace59bedcb1668e7830b85c36e014428e
Subproject commit 5dceaa9dd9af0d2266f1c9e45966d8a610226213

1
assets/syntaxes/02_Extra/NSIS vendored Submodule

@ -0,0 +1 @@
Subproject commit 619a65a04efbf343bdfcde875700675b9b273368

@ -1 +1 @@
Subproject commit 15a1db15106fb668b3b1396a725ab002a8ef286c
Subproject commit 65f5a63c0d1760c5db2264e50e3b14a7a4567cc0

@ -1 +1 @@
Subproject commit 9032bd613746b9c135223fd6f26a5fa555f18946
Subproject commit 48c497c709c66a2fb118c534a8de8e4e1c4c401d

@ -1 +0,0 @@
Subproject commit 4976d8f84eeecd94df7da872bf404c125df04c73

1
assets/syntaxes/02_Extra/Org_mode vendored Submodule

@ -0,0 +1 @@
Subproject commit bb6e5d848151135ab8f87bdcb997437b2308718a

@ -1 +1 @@
Subproject commit 742f0b5d4b60f5930c0b47fcc1f646860521296e
Subproject commit a08b55bf1146c210f58e844be53c2aa78fd5e610

@ -1 +1 @@
Subproject commit 726e21d74dac23cbb036f2fbbd626decdc954060
Subproject commit 1365331580b0e4bb86f74d0c599dccc87e7bdacb

View File

@ -0,0 +1,120 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/syntax.html
name: Requirements.txt
scope: source.requirements-txt
# https://pip.pypa.io/en/stable/reference/requirements-file-format/
# https://github.com/raimon49/requirements.txt.vim/blob/f246bd10155fbc3b1a9e2fff6c95b21521b09116/ftdetect/requirements.vim
file_extensions:
- requirements.txt
- requirements.in
- pip
# https://github.com/sublimehq/Packages/pull/2760/files
first_line_match: |-
(?xi:
^ \#! .* \bpip # shebang
| ^ \s* \# .*? -\*- .*? \bpip-requirements\b .*? -\*- # editorconfig
| ^ \s* \# (vim?|ex): .*? \brequirements\b # modeline
)
# pip install -r
# pip-compile
variables:
operator: '===?|<=?|>=?|~=|!='
contexts:
main:
- match: '(?i)\d+[\da-z\-_\.\*]*'
scope: constant.other.version-control.requirements-txt
- match: '(?i)^\[?--?[\da-z\-]*\]?'
scope: entity.name.function.option.requirements-txt
- match: '{{operator}}'
scope: keyword.operator.logical.requirements-txt
- match: '(\[)'
captures:
1: punctuation.section.braces.begin.requirements-txt
push:
- meta_scope: variable.function.extra.requirements-txt
- match: ','
scope: punctuation.separator.requirements-txt
- match: '(\])'
captures:
1: punctuation.section.braces.end.requirements-txt
pop: true
- match: '(git\+?|hg\+|svn\+|bzr\+).*://.\S+'
scope: markup.underline.link.versioncontrols.requirements-txt
- match: '(@\s)?(https?|ftp|gopher)://?[^\s/$.?#].\S*'
scope: markup.underline.link.url.requirements-txt
captures:
1: punctuation.definition.keyword.requirements-txt
- match: '(?i)^[a-z\d_\-\.]*[a-z\d]'
scope: variable.parameter.package-name.requirements-txt
- match: '(;)'
captures:
1: punctuation.definition.annotation.requirements-txt
push:
- meta_scope: meta.annotation.requirements-txt
# https://pip.pypa.io/en/stable/reference/inspect-report/#example
- match: |-
(?x:
implementation_name
| implementation_version
| os_name
| platform_machine
| platform_release
| platform_system
| platform_version
| python_full_version
| platform_python_implementation
| python_version
| sys_platform
)
scope: variable.language.requirements-txt
- match: '{{operator}}'
scope: keyword.operator.logical.requirements-txt
# https://pip.pypa.io/en/stable/reference/requirement-specifiers/#examples
- match: '(")'
captures:
1: punctuation.definition.string.begin.double.requirements-txt
push:
- meta_scope: string.quoted.double.requirements-txt
- match: '\\"'
scope: constant.character.escape.double.requirements-txt
- match: '(")'
captures:
1: punctuation.definition.string.end.double.requirements-txt
pop: true
- match: "(')"
captures:
1: punctuation.definition.string.begin.single.requirements-txt
push:
- meta_scope: string.quoted.single.requirements-txt
- match: '\\'''
scope: constant.character.escape.single.requirements-txt
- match: "(')"
captures:
1: punctuation.definition.string.end.single.requirements-txt
pop: true
- match: '(.(?=#)|$)'
pop: true
- match: '(\$)(\{)'
captures:
1: punctuation.definition.keyword.requirements-txt
2: punctuation.definition.begin.parameter.requirements-txt
push:
- meta_scope: variable.parameter.requirements-txt
- match: '(\})'
captures:
1: punctuation.definition.end.parameter.requirements-txt
pop: true
- match: '(#)'
captures:
1: punctuation.definition.comment.requirements-txt
push:
- meta_scope: comment.line.requirements-txt
- match: '(-*-) coding: .* (-*-)'
captures:
1: punctuation.definition.begin.pep263.requirements-txt
2: punctuation.definition.end.pep263.requirements-txt
- match: '$'
pop: true

@ -1 +1 @@
Subproject commit 687058289c1a888e0895378432d66b41609a84d8
Subproject commit b7e53e5d86814f04a48d2e441bcf5f9fdf07e9c1

@ -1 +1 @@
Subproject commit ed38438900d6b128353cd1aa1364e2e3b8ffb8a2
Subproject commit f5a57e8bff694a4e6c52a491dae579aabc7427cf

1
assets/syntaxes/02_Extra/TodoTxt vendored Submodule

@ -0,0 +1 @@
Subproject commit 071a004217f981152c78dc7a530536374a753d98

View File

@ -4,6 +4,8 @@
name: TypeScript
file_extensions:
- ts
- mts
- cts
scope: source.ts
contexts:
main:

View File

@ -0,0 +1,104 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/syntax.html
scope: source.vimhelp
file_extensions:
# shortname
- vimhelp
# $VIMRUNTIME/syntax/help.vim
contexts:
main:
- match: '(?<=^\s*)(vim?|ex):\s*([a-z]+(=[^\s:]+)?(\s+|:))+'
scope: comment.line.modeline.vimhelp
- match: '^[-A-Z .][-A-Z0-9 .()_]*(?=\s+\*|$)'
scope: markup.heading.headline.vimhelp
- match: '^(===.*===)$'
captures:
1: punctuation.definition.heading.1.setext.vimhelp
push:
- meta_scope: markup.heading.1.setext.vimhelp
- match: '\t| '
pop: true
- match: '^(---.*---)$'
captures:
1: punctuation.definition.heading.2.setext.vimhelp
push:
- meta_scope: markup.heading.2.setext.vimhelp
- match: '\t| '
pop: true
- match: '(?:^| )(>)$'
captures:
1: punctuation.definition.blockquote.begin.vimhelp
push:
- meta_scope: markup.quote.vimhelp
- match: '^(<)'
captures:
1: punctuation.definition.blockquote.end.vimhelp
pop: true
- match: '^(?=\S)'
pop: true
- match: '(?<!\\)(\|)([#-)!+-~]+)(\|)'
captures:
1: punctuation.definition.link.begin.vimhelp
2: markup.underline.link.vimhelp
3: punctuation.definition.link.end.vimhelp
- match: '(\*)([#-)!+-~]+)(\*)(?:\s|$)'
captures:
1: punctuation.definition.constant.begin.vimhelp
2: entity.name.reference.link.vimhelp
3: punctuation.definition.constant.end.vimhelp
- match: '\bVim version [0-9][0-9.a-z]*'
scope: variable.language.vimhelp
- match: 'N?VIM REFERENCE.*'
scope: variable.language.vimhelp
- match: '('')([a-z]{2,}|t_..)('')'
captures:
1: punctuation.definition.link.option.begin.vimhelp
2: markup.underline.link.option.vimhelp
3: punctuation.definition.link.option.end.vimhelp
- match: '(`)([^` \t]+)(`)'
captures:
1: punctuation.definition.link.command.begin.vimhelp
2: markup.underline.link.command.vimhelp
3: punctuation.definition.link.command.end.vimhelp
- match: '(?<=^|[^a-z"\[])(`)([^`]+)(`)(?=[^a-z\t."'']|$)'
captures:
1: punctuation.definition.link.command.begin.vimhelp
2: markup.underline.link.command.vimhelp
3: punctuation.definition.link.command.end.vimhelp
- match: '(?<=\s*)(.*?)(?=\s?)(~)$'
captures:
1: markup.heading.header.vimhelp
2: punctuation.definition.keyword.vimhelp
- match: '(.*) (?=`$)'
captures:
1: variable.other.graphic.vimhelp
2: punctuation.definition.keyword.vimhelp
- match: '\b(note:?|Note:?|NOTE:?|Notes:?)\b'
scope: constant.other.note.vimhelp
- match: '\b(WARNING:?|Warning:)\b'
scope: constant.other.warning.vimhelp
- match: '\b(DEPRECATED:?|Deprecated:)\b'
scope: constant.other.deprecated.vimhelp
- match: '(\{)([-_a-zA-Z0-9''"*+/:%#=\[\]<>.,]+)(\})'
captures:
1: punctuation.definition.constant.begin.vimhelp
2: constant.numeric.vimhelp
3: punctuation.definition.constant.end.vimhelp
- match: '\[(range|line|count|offset|\+?cmd|(\+|-|)num|\+\+opt)\]'
scope: constant.numeric.vimhelp
- match: '\[(arg(uments)?|ident|addr|group)\]'
scope: constant.numeric.vimhelp
- match: '\[(readonly|fifo|socket|converted|crypted)\]'
scope: constant.numeric.vimhelp
- match: '<[-a-zA-Z0-9_]+>'
scope: markup.underline.link.key.vimhelp
- match: '<[SCM]-.>'
scope: markup.underline.link.key.vimhelp
- match: 'CTRL-((SHIFT-)?.|Break|PageUp|PageDown|Insert|Del|\{char\})'
scope: markup.underline.link.key.vimhelp
- match: '(META|ALT)-.'
scope: markup.underline.link.key.vimhelp
- match: '\b(((https?|ftp|gopher)://|(mailto|file|news):)[^'' <>"]+|(www|web|w3)[a-z0-9_-]*\.[a-z0-9._-]+\.[^'' <>"]+)[a-zA-Z0-9/]'
scope: markup.underline.link.url.vimhelp

@ -1 +1 @@
Subproject commit 87ecbcae6fb5718369ce3bb3472ca0b2634e78e6
Subproject commit 8a4a3fe4a051f85c4752b82f586d395cab843c06

View File

@ -0,0 +1,42 @@
%YAML 1.2
---
# See http://www.sublimetext.com/docs/syntax.html
name: debsources
file_extensions:
- sources.list
scope: text.apt-source-list
contexts:
main:
- include: comments
- match: ^[\w-]+
scope: constant.language.apt-source-list
- match: \w+://\S+
scope: markup.underline.link.apt-source-list
push: distribution
- match: \bmain\b
scope: support.class.apt-source-list
- match: \buniverse\b
scope: support.constant.apt-source-list
- match: \brestricted\b
scope: storage.modifier.apt-source-list
- match: \bmultiverse\b
scope: keyword.other.apt-source-list
- match: '[\w-]+'
scope: constant.other.apt-source-list
comments:
- match: '#'
scope: punctuation.definition.comment.apt-source-list
push: line_comment
line_comment:
- meta_scope: comment.line.apt-source-list
- match: $
pop: true
distribution:
- match: \S+
scope: support.type.apt-source-list
pop: 1
- match: $
pop: 1

1
assets/syntaxes/02_Extra/cmd-help vendored Submodule

@ -0,0 +1 @@
Subproject commit c71ba410bdfcc8f627df3219f14e3f2be4fe68ba

View File

@ -6,8 +6,16 @@ file_extensions:
scope: text.log
variables:
ipv4_part: (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
hours_minutes_seconds: (?:[01]\d|2[0-3]):(?:[0-5]\d):(?:[0-5]\d)
error: \b(?i:fail(?:ure|ed)?|error|exception|fatal|critical)\b
warning: \b(?i:warn(?:ing)?)\b
info: \b(?i:info)\b
debug: \b(?i:debug)\b
contexts:
main:
- include: log_level_lines
- include: main_without_log_level_line
main_without_log_level_line:
- match: (\w+)(=)
captures:
1: variable.parameter.log
@ -17,31 +25,85 @@ contexts:
captures:
1: punctuation.definition.string.begin.log
3: punctuation.definition.string.end.log
- match: (")([^"]*)(")
scope: string.quoted.double.log
- match: \"
captures:
1: punctuation.definition.string.begin.log
3: punctuation.definition.string.end.log
push: double_quoted_string
- include: dates
- include: ip_addresses
- include: numbers
- match: \b(?i:fail(?:ure|ed)?|error|exception)\b
scope: markup.error.log
- match: \b(?i:warn(?:ing)?)\b
scope: markup.warning.log
- include: log_levels
#- include: scope:text.html.markdown#autolink-inet
- match: \b\w+:/{2,3}
scope: markup.underline.link.scheme.log
push: url-host
log_level_lines:
- match: (?=.*{{error}})
push:
- error_line_meta
- main_pop_at_eol
- match: (?=.*{{warning}})
push:
- warning_line_meta
- main_pop_at_eol
- match: (?=.*{{info}})
push:
- info_line_meta
- main_pop_at_eol
- match: (?=.*{{debug}})
push:
- debug_line_meta
- main_pop_at_eol
log_levels:
- match: '{{error}}'
scope: markup.error.log
- match: '{{warning}}'
scope: markup.warning.log
- match: '{{info}}'
scope: markup.info.log
- match: '{{debug}}'
scope: markup.info.log
error_line_meta:
- meta_scope: meta.annotation.error-line.log
- include: immediately_pop
warning_line_meta:
- meta_scope: meta.annotation.warning-line.log
- include: immediately_pop
info_line_meta:
- meta_scope: meta.annotation.info-line.log
- include: immediately_pop
debug_line_meta:
- meta_scope: meta.annotation.debug-line.log
- include: immediately_pop
immediately_pop:
- match: ''
pop: true
pop_at_eol:
- match: $
pop: true
main_pop_at_eol:
- include: main_without_log_level_line
- include: pop_at_eol
dates:
- match: \b\d{4}-\d{2}-\d{2}\b
- match: \b\d{4}-\d{2}-\d{2}(?=\b|T)
scope: meta.date.log meta.number.integer.decimal.log constant.numeric.value.log
- match: \b\d{4}/\d{2}/\d{2}\b
push: maybe_date_time_separator
- match: \b\d{4}/\d{2}/\d{2}(?=\b|T)
scope: meta.date.log meta.number.integer.decimal.log constant.numeric.value.log
- match: \b(?:[01]\d|2[0-3]):(?:[0-5]\d):(?:[0-5]\d)(?:(\.)\d{3})?\b
push: maybe_date_time_separator
- match: \b(?={{hours_minutes_seconds}})
push: time
time:
- match: (?:{{hours_minutes_seconds}})(?:(\.)\d{3})?\b
scope: meta.time.log meta.number.integer.decimal.log constant.numeric.value.log
captures:
1: punctuation.separator.decimal.log
- include: immediately_pop
maybe_date_time_separator:
- match: T(?={{hours_minutes_seconds}})
scope: meta.date.log meta.time.log keyword.other.log
set: time
- include: immediately_pop
ip_addresses:
- match: \b(?=(?:{{ipv4_part}}\.){3}{{ipv4_part}}\b)
push:
@ -50,8 +112,7 @@ contexts:
scope: constant.numeric.value.log
- match: \.
scope: punctuation.separator.sequence.log
- match: ''
pop: true
- include: immediately_pop
- match: (?=(?:\h{0,4}:){2,6}\h{1,4}\b)
push:
- meta_scope: meta.ipaddress.v6.log meta.number.integer.hexadecimal.log
@ -59,8 +120,7 @@ contexts:
scope: constant.numeric.value.log
- match: ':'
scope: punctuation.separator.sequence.log
- match: ''
pop: true
- include: immediately_pop
numbers:
- match: \b(0x)(\h+)(?:(\.)(\h+))?\b
scope: meta.number.float.hexadecimal.log
@ -112,5 +172,13 @@ contexts:
pop: true
- match: '[^?!.,:*_~\s<&()%]+|\S'
scope: markup.underline.link.path.log
- match: ''
- include: immediately_pop
double_quoted_string:
- meta_scope: string.quoted.double.log
- match: \\"
scope: constant.character.escape.log
- match: \\n
scope: constant.character.escape.log
- match: \"
scope: punctuation.definition.string.end.log
pop: true

@ -1 +1 @@
Subproject commit e1012e9f13c6073f559b14206df2ede35720e884
Subproject commit bf49e9181c6bf992a86beb133144d2651e826ddc

@ -0,0 +1 @@
Subproject commit 5d6a0ed41e41ec3709ec74f40686dc3761d6596e

View File

@ -0,0 +1,419 @@
# SYNTAX TEST "VimHelp.sublime-syntax"
*helphelp.txt* Nvim
# <- punctuation.definition.constant.begin
#^^^^^^^^^^^^ entity.name.reference.link
# ^ punctuation.definition.constant.end
VIM REFERENCE MANUAL by Bram Moolenaar
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ variable.language
Help on help files *helphelp*
Type |gO| to see the table of contents.
# ^ punctuation.definition.link.begin
# ^^ markup.underline.link
# ^ punctuation.definition.link.end
==============================================================================
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ punctuation.definition.heading.1.setext
1. Help commands *online-help*
#^^^^^^^^^^^^^^^ markup.heading.1.setext
*help* *<Help>* *:h* *:help* *<F1>* *i_<F1>* *i_<Help>*
<Help> or
#^^^^^ markup.underline.link.key
:h[elp] Open a window and display the help file in read-only
mode. If there is a help window open already, use
that one. Otherwise, if the current window uses the
full width of the screen or is at least 80 characters
wide, the help window will appear just above the
current window. Otherwise the new window is put at
the very top.
The 'helplang' option is used to select a language, if
# ^ punctuation.definition.link.option.begin
# ^^^^^^^^ markup.underline.link.option
# ^ punctuation.definition.link.option.end
the main help file is available in several languages.
Type |gO| to see the table of contents.
*{subject}* *E149* *E661*
:h[elp] {subject} Like ":help", additionally jump to the tag {subject}.
For example: >
:help options
< {subject} can include wildcards such as "*", "?" and
# ^ punctuation.definition.constant.begin
# ^^^^^^^ constant.numeric
# ^ punctuation.definition.constant.end
"[a-z]":
:help z? jump to help for any "z" command
:help z. jump to the help for "z."
But when a tag exists it is taken literally:
:help :? jump to help for ":?"
If there is no full match for the pattern, or there
are several matches, the "best" match will be used.
A sophisticated algorithm is used to decide which
match is better than another one. These items are
considered in the computation:
- A match with same case is much better than a match
with different case.
- A match that starts after a non-alphanumeric
character is better than a match in the middle of a
word.
- A match at or near the beginning of the tag is
better than a match further on.
- The more alphanumeric characters match, the better.
- The shorter the length of the match, the better.
The 'helplang' option is used to select a language, if
the {subject} is available in several languages.
To find a tag in a specific language, append "@ab",
where "ab" is the two-letter language code. See
|help-translated|.
Note that the longer the {subject} you give, the less
matches will be found. You can get an idea how this
all works by using commandline completion (type CTRL-D
# ^^^^^^ markup.underline.link.key
after ":help subject" |c_CTRL-D|).
If there are several matches, you can have them listed
by hitting CTRL-D. Example: >
:help cont<Ctrl-D>
< Instead of typing ":help CTRL-V" to search for help
for CTRL-V you can type: >
:help ^V
< This also works together with other characters, for
example to find help for CTRL-V in Insert mode: >
:help i^V
<
It is also possible to first do ":help" and then
use ":tag {pattern}" in the help window. The
":tnext" command can then be used to jump to other
matches, "tselect" to list matches and choose one. >
:help index
:tselect /.*mode
< When there is no argument you will see matches for
"help", to avoid listing all possible matches (that
would be very slow).
The number of matches displayed is limited to 300.
The `:help` command can be followed by '|' and another
command, but you don't need to escape the '|' inside a
help command. So these both work: >
:help |
:help k| only
< Note that a space before the '|' is seen as part of
# ^^^^ constant.other.note
the ":help" argument.
You can also use <NL> or <CR> to separate the help
command from a following command. You need to type
CTRL-V first to insert the <NL> or <CR>. Example: >
:help so<C-V><CR>only
<
:h[elp]! [subject] Like ":help", but in non-English help files prefer to
find a tag in a file with the same language as the
current file. See |help-translated|.
*:helpc* *:helpclose*
:helpc[lose] Close one help window, if there is one.
Vim will try to restore the window layout (including
cursor position) to the same layout it was before
opening the help window initially. This might cause
triggering several autocommands.
*:helpg* *:helpgrep*
:helpg[rep] {pattern}[@xx]
Search all help text files and make a list of lines
in which {pattern} matches. Jumps to the first match.
The optional [@xx] specifies that only matches in the
"xx" language are to be found.
You can navigate through the matches with the
|quickfix| commands, e.g., |:cnext| to jump to the
next one. Or use |:cwindow| to get the list of
matches in the quickfix window.
{pattern} is used as a Vim regexp |pattern|.
'ignorecase' is not used, add "\c" to ignore case.
Example for case sensitive search: >
:helpgrep Uganda
< Example for case ignoring search: >
:helpgrep uganda\c
< Example for searching in French help: >
:helpgrep backspace@fr
< The pattern does not support line breaks, it must
match within one line. You can use |:grep| instead,
but then you need to get the list of help files in a
complicated way.
Cannot be followed by another command, everything is
used as part of the pattern. But you can use
|:execute| when needed.
Compressed help files will not be searched (Fedora
compresses the help files).
*:lh* *:lhelpgrep*
:lh[elpgrep] {pattern}[@xx]
Same as ":helpgrep", except the location list is used
instead of the quickfix list. If the help window is
already opened, then the location list for that window
is used. Otherwise, a new help window is opened and
the location list for that window is set. The
location list for the current window is not changed
then.
*:exu* *:exusage*
:exu[sage] Show help on Ex commands. Added to simulate the Nvi
command.
*:viu* *:viusage*
:viu[sage] Show help on Normal mode commands. Added to simulate
the Nvi command.
When no argument is given to |:help| the file given with the 'helpfile' option
will be opened. Otherwise the specified tag is searched for in all "doc/tags"
files in the directories specified in the 'runtimepath' option.
If you would like to open the help in the current window, see this tip:
|help-curwin|.
The initial height of the help window can be set with the 'helpheight' option
(default 20).
*help-buffer-options*
When the help buffer is created, several local options are set to make sure
the help text is displayed as it was intended:
'iskeyword' nearly all ASCII chars except ' ', '*', '"' and '|'
'foldmethod' "manual"
'tabstop' 8
'arabic' off
'binary' off
'buflisted' off
'cursorbind' off
'diff' off
'foldenable' off
'list' off
'modifiable' off
'number' off
'relativenumber' off
'rightleft' off
'scrollbind' off
'spell' off
Jump to specific subjects by using tags. This can be done in two ways:
- Use the "CTRL-]" command while standing on the name of a command or option.
This only works when the tag is a keyword. "<C-Leftmouse>" and
"g<LeftMouse>" work just like "CTRL-]".
- use the ":ta {subject}" command. This also works with non-keyword
characters.
Use CTRL-T or CTRL-O to jump back.
Use ":q" to close the help window.
If there are several matches for an item you are looking for, this is how you
can jump to each one of them:
1. Open a help window
2. Use the ":tag" command with a slash prepended to the tag. E.g.: >
:tag /min
3. Use ":tnext" to jump to the next matching tag.
It is possible to add help files for plugins and other items. You don't need
to change the distributed help files for that. See |add-local-help|.
To write a local help file, see |write-local-help|.
Note that the title lines from the local help files are automagically added to
the "LOCAL ADDITIONS" section in the "help.txt" help file |local-additions|.
This is done when viewing the file in Vim, the file itself is not changed. It
is done by going through all help files and obtaining the first line of each
file. The files in $VIMRUNTIME/doc are skipped.
*help-xterm-window*
If you want to have the help in another xterm window, you could use this
command: >
:!xterm -e vim +help &
<
*:helpt* *:helptags*
*E150* *E151* *E152* *E153* *E154* *E670* *E856*
:helpt[ags] [++t] {dir}
Generate the help tags file(s) for directory {dir}.
When {dir} is ALL then all "doc" directories in
'runtimepath' will be used.
All "*.txt" and "*.??x" files in the directory and
sub-directories are scanned for a help tag definition
in between stars. The "*.??x" files are for
translated docs, they generate the "tags-??" file, see
|help-translated|. The generated tags files are
sorted.
When there are duplicates an error message is given.
An existing tags file is silently overwritten.
The optional "++t" argument forces adding the
"help-tags" tag. This is also done when the {dir} is
equal to $VIMRUNTIME/doc.
To rebuild the help tags in the runtime directory
(requires write permission there): >
:helptags $VIMRUNTIME/doc
<
==============================================================================
2. Translated help files *help-translated*
It is possible to add translated help files, next to the original English help
files. Vim will search for all help in "doc" directories in 'runtimepath'.
At this moment translations are available for:
Chinese - multiple authors
French - translated by David Blanchet
Italian - translated by Antonio Colombo
Japanese - multiple authors
Polish - translated by Mikolaj Machowski
Russian - translated by Vassily Ragosin
See the Vim website to find them: http://www.vim.org/translations.php
A set of translated help files consists of these files:
help.abx
howto.abx
...
tags-ab
"ab" is the two-letter language code. Thus for Italian the names are:
help.itx
howto.itx
...
tags-it
The 'helplang' option can be set to the preferred language(s). The default is
set according to the environment. Vim will first try to find a matching tag
in the preferred language(s). English is used when it cannot be found.
To find a tag in a specific language, append "@ab" to a tag, where "ab" is the
two-letter language code. Example: >
:he user-manual@it
:he user-manual@en
The first one finds the Italian user manual, even when 'helplang' is empty.
The second one finds the English user manual, even when 'helplang' is set to
"it".
When using command-line completion for the ":help" command, the "@en"
extension is only shown when a tag exists for multiple languages. When the
tag only exists for English "@en" is omitted. When the first candidate has an
"@ab" extension and it matches the first language in 'helplang' "@ab" is also
omitted.
When using |CTRL-]| or ":help!" in a non-English help file Vim will try to
find the tag in the same language. If not found then 'helplang' will be used
to select a language.
Help files must use latin1 or utf-8 encoding. Vim assumes the encoding is
utf-8 when finding non-ASCII characters in the first line. Thus you must
translate the header with "For Vim version".
The same encoding must be used for the help files of one language in one
directory. You can use a different encoding for different languages and use
a different encoding for help files of the same language but in a different
directory.
Hints for translators:
- Do not translate the tags. This makes it possible to use 'helplang' to
specify the preferred language. You may add new tags in your language.
- When you do not translate a part of a file, add tags to the English version,
using the "tag@en" notation.
- Make a package with all the files and the tags file available for download.
Users can drop it in one of the "doc" directories and start use it.
Report this to Bram, so that he can add a link on www.vim.org.
- Use the |:helptags| command to generate the tags files. It will find all
languages in the specified directory.
==============================================================================
3. Writing help files *help-writing*
For ease of use, a Vim help file for a plugin should follow the format of the
standard Vim help files, except for the first line. If you are writing a new
help file it's best to copy one of the existing files and use it as a
template.
The first line in a help file should have the following format:
*plugin_name.txt* {short description of the plugin}
The first field is a help tag where ":help plugin_name" will jump to. The
remainder of the line, after a Tab, describes the plugin purpose in a short
way. This will show up in the "LOCAL ADDITIONS" section of the main help
file. Check there that it shows up properly: |local-additions|.
If you want to add a version number or last modification date, put it in the
second line, right aligned.
At the bottom of the help file, place a Vim modeline to set the 'textwidth'
and 'tabstop' options and the 'filetype' to "help". Never set a global option
in such a modeline, that can have undesired consequences.
TAGS
To define a help tag, place the name between asterisks (*tag-name*). The
tag-name should be different from all the Vim help tag names and ideally
should begin with the name of the Vim plugin. The tag name is usually right
aligned on a line.
When referring to an existing help tag and to create a hot-link, place the
name between two bars (|) eg. |help-writing|.
When referring to a Vim command and to create a hot-link, place the
name between two backticks, eg. inside `:filetype`. You will see this is
highlighted as a command, like a code block (see below).
When referring to a Vim option in the help file, place the option name between
two single quotes, eg. 'statusline'
When referring to any other technical term, such as a filename or function
parameter, surround it in backticks, eg. `~/.path/to/init.vim`.
HIGHLIGHTING
To define a column heading, use a tilde character at the end of the line.
This will highlight the column heading in a different color. E.g.
Column heading~
#^^^^^^^^^^^^^ markup.heading.header
# ^ punctuation.definition.keyword
To separate sections in a help file, place a series of '=' characters in a
line starting from the first column. The section separator line is highlighted
differently.
To quote a block of ex-commands verbatim, place a greater than (>) character
at the end of the line before the block and a less than (<) character as the
first non-blank on a line following the block. Any line starting in column 1
also implicitly stops the block of ex-commands before it. E.g. >
function Example_Func()
echo "Example"
endfunction
<
The following are highlighted differently in a Vim help file:
- a special key name expressed either in <> notation as in <PageDown>, or
as a Ctrl character as in CTRL-X
- anything between {braces}, e.g. {lhs} and {rhs}
The word "Note", "Notes" and similar automagically receive distinctive
highlighting. So do these:
*Todo something to do
*Error something wrong
You can find the details in $VIMRUNTIME/syntax/help.vim
vim:tw=78:ts=8:noet:ft=help:norl:
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ comment.line.modeline

View File

@ -131,6 +131,12 @@ OPTIONS
# ^^ - variable
output NUM (default 3) lines of copied context
- This is not really a switch, but indicates that standard input
# ^ entity.name.command-line-option.man
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - entity - variable
is coming from a file or a pipe and not interactively from the
command line.
EXAMPLE
#include <stdio.h>
# ^^^^^^^^ source.c meta.preprocessor.include keyword.control.import.include
@ -157,6 +163,108 @@ ENVIRONMENT
systemd reads the log level from this environment variable. This
can be overridden with --log-level=.
ENVIRONMENT VARIABLES
Various Git commands use the following environment variables:
The Git Repository
These environment variables apply to all core Git commands. Nb: it is
worth noting that they may be used/overridden by SCMS sitting above Git
so take care if using a foreign front-end.
GIT_INDEX_FILE
# ^^^^^^^^^^^^^^ support.constant.environment-variable
This environment allows the specification of an alternate index
file. If not specified, the default of $GIT_DIR/index is used.
GIT_INDEX_VERSION
# ^^^^^^^^^^^^^^^^^ support.constant.environment-variable
This environment variable allows the specification of an index
version for new repositories. It wont affect existing index files.
By default index file version 2 or 3 is used. See git-update-
index(1) for more information.
COMMANDS
This section only lists general commands. For input and output com
mands, refer to sway-input(5) and sway-output(5).
The following commands may only be used in the configuration file.
bar [<bar-id>] <bar-subcommands...>
# ^^^ entity.name.command
# ^ punctuation.section.brackets.begin
# ^ punctuation.definition.generic.begin
# ^^^^^^ variable.parameter
# ^ punctuation.definition.generic.end
# ^ punctuation.section.brackets.end
# ^ punctuation.definition.generic.begin
# ^^^^^^^^^^^^^^^ variable.parameter
# ^ punctuation.definition.generic.end
For details on bar subcommands, see sway-bar(5).
default_orientation horizontal|vertical|auto
# ^^^^^^^^^^^^^^^^^^^ entity.name.command
# ^^^^^^^^^^ variable.parameter
# ^ keyword.operator.logical
# ^^^^^^^^ variable.parameter
# ^ keyword.operator.logical
# ^^^^ variable.parameter
Sets the default container layout for tiled containers.
include <path>
Includes another file from path. path can be either a full path or
a path relative to the parent config, and expands shell syntax (see
wordexp(3) for details). The same include file can only be included
once; subsequent attempts will be ignored.
The following commands cannot be used directly in the configuration
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - variable - entity
file. They are expected to be used with bindsym or at runtime through
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - variable - entity
swaymsg(1).
border none|normal|csd|pixel [<n>]
Set border style for focused window. normal includes a border of
thickness n and a title bar. pixel is a border without title bar n
pixels thick. Default is normal with border thickness 2. csd is
short for client-side-decorations, which allows the client to draw
its own decorations.
border toggle
# ^^^^^^ entity.name.command
Cycles through the available border styles.
exit
# ^^^^ entity.name.command
Exit sway and end your Wayland session.
floating enable|disable|toggle
Make focused view floating, non-floating, or the opposite of what
it is now.
<criteria> focus
# ^ punctuation.definition.generic.begin
# ^^^^^^^^ variable.parameter
# ^ punctuation.definition.generic.end
# ^^^^^ variable.parameter
Moves focus to the container that matches the specified criteria.
gaps inner|outer|horizontal|vertical|top|right|bottom|left all|current
set|plus|minus|toggle <amount>
# ^^^ variable.parameter
# ^ keyword.operator.logical
Changes the inner or outer gaps for either all workspaces or the
current workspace. outer gaps can be altered per side with top,
right, bottom, and left or per direction with horizontal and verti
cal.
layout toggle [split|tabbed|stacking|splitv|splith]
[split|tabbed|stacking|splitv|splith]...
# ^ punctuation.section.brackets.begin
# ^^^^^ variable.parameter
# ^ keyword.operator.logical
Cycles the layout mode of the focused container through a list of
layouts.
SEE ALSO
The systemd Homepage[11], systemd-system.conf(5), locale.conf(5)
# ^^^^^^^^^^^^^^^^^^^ entity.name.function

View File

@ -0,0 +1,82 @@
# SYNTAX TEST "Requirementstxt.sublime-syntax"
# Options
# <- punctuation.definition.comment
# ^^^^^^^ comment.line
--allow-external
#^^^^^^^^^^^^^^^ entity.name.function.option
--allow-unverified
# Freeze packages
alabaster==0.7.6
Babel>=2.9.1
docutils==0.12
gevent_subprocess==0.1.2
gitpython==3.0.7
hg-diff==1.2.4
#^^^^^^ variable.parameter.package-name
# ^^ keyword.operator.logical
# ^^^^^ constant.other
Jinja2>=2.8.1
MarkupSafe==0.23
Pygments==2.7.4
pytz==2015.7
six==1.10.0
snowballstemmer==1.2.0
Sphinx==1.3.3
sphinx-rtd-theme==0.1.9
svn==1.0.1
zope.interface==4.2.0
# Examples from PEP508
# c.f. https://www.python.org/dev/peps/pep-0508/
requests [security,tests] >= 2.8.1, == 2.8.* ; python_version < "2.7" # Comment
#^^^^^^^ variable.parameter.package-name
# ^^^^^^^^^^^^^^^^ variable.function.extra
# ^ punctuation.section.braces.begin
# ^ punctuation.separator
# ^ punctuation.section.braces.end
# ^^ keyword.operator.logical
# ^^^^^ constant.other
# ^^ keyword.operator.logical
# ^^^^^ constant.other
# ^ punctuation.definition.annotation
# ^^^^^^^^^^^^^^^^^^^^^^^^ meta.annotation
# ^^^^^^^^^^^^^^ variable.language
# ^ keyword.operator.logical
# ^ punctuation.definition.string.begin.double
# ^^^^^ string.quoted.double.requirements-txt
# ^ punctuation.definition.string.end.double
# ^^^^^^^^^ comment.line
pip @ https://github.com/pypa/pip/archive/1.3.1.zip#sha1=da9234ee9982d4bbb3c72346a6de940a148ea686
# ^ punctuation.definition.keyword
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ markup.underline.link.url
name @ gopher:/foo/com"
foobar[quux]<2,>=3; os_name=='a'
# VCS repositories
-e git+git://git.myproject.org/MyProject#egg=MyProject # Git
# <- entity.name.function.option
#^ entity.name.function.option
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ markup.underline.link.versioncontrols
# ^^^^^^^^^^^^^^^ - comment.line
# ^^^^^ comment.line
-e git://git.myproject.org/MyProject.git@v1.0#egg=MyProject
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ markup.underline.link.versioncontrols
-e hg+https://hg.myproject.org/MyProject#egg=MyProject # Mercurial
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ markup.underline.link.versioncontrols
# ^^^^^^^^^^^ comment.line
-e hg+http://hg.myproject.org/MyProject@da39a3ee5e6b#egg=MyProject
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ markup.underline.link.versioncontrols
-e svn+http://svn.myproject.org/svn/MyProject/trunk@2019#egg=MyProject # Subversion
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ markup.underline.link.versioncontrols
# ^^^^^^^^^^^^ comment.line
-e bzr+ssh://user@myproject.org/MyProject/trunk#egg=MyProject # Bazaar
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ markup.underline.link.versioncontrols
# ^^^^^^^^ comment.line
-e bzr+https://bzr.myproject.org/MyProject/trunk@2019#egg=MyProject
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ markup.underline.link.versioncontrols
# Project or archive URL
https://github.com/pallets/click/archive/7.0.zip#egg=click
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ markup.underline.link.url
# ^^^^^^^^^^ - comment.line

View File

@ -8,10 +8,10 @@ scope: text.log.syslog
contexts:
main:
- match: ^(\w+\s+\d+)\s+(\d{2}:\d{2}:\d{2})
scope: meta.datetime.syslog constant.numeric.syslog
scope: meta.datetime.syslog
captures:
1: meta.date.syslog
2: meta.time.syslog
1: meta.date.syslog constant.numeric.syslog
2: meta.time.syslog constant.numeric.syslog
push: loghost
- match: ^
push: text
@ -31,22 +31,24 @@ contexts:
structured-data:
- match: '\['
scope: punctuation.section.mapping.begin.syslog
push:
- match: \]
scope: punctuation.section.mapping.end.syslog
pop: true
- match: \w+
scope: variable.parameter.syslog
- match: =
scope: keyword.operator.assignment.syslog
push:
- match: '[^\s\]]+'
scope: constant.other.syslog
pop: true
- match: (?=\])
pop: true
push: structured-data-contents
- match: (?=\S)
set: text
structured-data-contents:
- match: \]
scope: punctuation.section.mapping.end.syslog
pop: true
- match: \w+
scope: variable.parameter.syslog
- match: =
scope: keyword.operator.assignment.syslog
push: structured-data-assignment
structured-data-assignment:
- match: '[^\s\]]+'
scope: constant.other.syslog
pop: true
- match: (?=\])
pop: true
text:
- match: $
pop: true

@ -0,0 +1 @@
Subproject commit acf26718d7a327377641e31d8f9a9dab376efa84

View File

@ -0,0 +1,198 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/syntax.html
name: WGSL
file_extensions:
- wgsl
scope: source.wgsl
contexts:
main:
- include: line_comments
- include: block_comments
- include: keywords
- include: attributes
- include: functions
- include: function_calls
- include: constants
- include: types
- include: variables
- include: punctuation
attributes:
- match: '(@)([A-Za-z_]+)'
comment: attribute declaration
scope: meta.attribute.wgsl
captures:
1: keyword.operator.attribute.at
2: entity.name.attribute.wgsl
block_comments:
- match: /\*\*/
comment: empty block comments
scope: comment.block.wgsl
- match: /\*\*
comment: block documentation comments
push:
- meta_scope: comment.block.documentation.wgsl
- match: \*/
pop: true
- include: block_comments
- match: /\*(?!\*)
comment: block comments
push:
- meta_scope: comment.block.wgsl
- match: \*/
pop: true
- include: block_comments
constants:
- match: '(-?\b[0-9][0-9]*\.[0-9][0-9]*)([eE][+-]?[0-9]+)?\b'
comment: decimal float literal
scope: constant.numeric.float.wgsl
- match: '-?\b0x[0-9a-fA-F]+\b|\b0\b|-?\b[1-9][0-9]*\b'
comment: int literal
scope: constant.numeric.decimal.wgsl
- match: '\b0x[0-9a-fA-F]+u\b|\b0u\b|\b[1-9][0-9]*u\b'
comment: uint literal
scope: constant.numeric.decimal.wgsl
- match: \b(true|false)\b
comment: boolean constant
scope: constant.language.boolean.wgsl
function_calls:
- match: '([A-Za-z0-9_]+)(\()'
comment: function/method calls
captures:
1: entity.name.function.wgsl
2: punctuation.brackets.round.wgsl
push:
- meta_scope: meta.function.call.wgsl
- match: \)
captures:
0: punctuation.brackets.round.wgsl
pop: true
- include: line_comments
- include: block_comments
- include: keywords
- include: attributes
- include: function_calls
- include: constants
- include: types
- include: variables
- include: punctuation
functions:
- match: '\b(fn)\s+([A-Za-z0-9_]+)((\()|(<))'
comment: function definition
captures:
1: keyword.other.fn.wgsl
2: entity.name.function.wgsl
4: punctuation.brackets.round.wgsl
push:
- meta_scope: meta.function.definition.wgsl
- match: '\{'
captures:
0: punctuation.brackets.curly.wgsl
pop: true
- include: line_comments
- include: block_comments
- include: keywords
- include: attributes
- include: function_calls
- include: constants
- include: types
- include: variables
- include: punctuation
keywords:
- match: \b(bitcast|block|break|case|continue|continuing|default|discard|else|elseif|enable|fallthrough|for|function|if|loop|private|read|read_write|return|storage|switch|uniform|while|workgroup|write)\b
comment: other keywords
scope: keyword.control.wgsl
- match: \b(asm|const|do|enum|handle|mat|premerge|regardless|typedef|unless|using|vec|void)\b
comment: reserved keywords
scope: keyword.control.wgsl
- match: \b(let|var)\b
comment: storage keywords
scope: keyword.other.wgsl storage.type.wgsl
- match: \b(type)\b
comment: type keyword
scope: keyword.declaration.type.wgsl storage.type.wgsl
- match: \b(enum)\b
comment: enum keyword
scope: keyword.declaration.enum.wgsl storage.type.wgsl
- match: \b(struct)\b
comment: struct keyword
scope: keyword.declaration.struct.wgsl storage.type.wgsl
- match: \bfn\b
comment: fn
scope: keyword.other.fn.wgsl
- match: (\^|\||\|\||&&|<<|>>|!)(?!=)
comment: logical operators
scope: keyword.operator.logical.wgsl
- match: '&(?![&=])'
comment: logical AND, borrow references
scope: keyword.operator.borrow.and.wgsl
- match: (\+=|-=|\*=|/=|%=|\^=|&=|\|=|<<=|>>=)
comment: assignment operators
scope: keyword.operator.assignment.wgsl
- match: '(?<![<>])=(?!=|>)'
comment: single equal
scope: keyword.operator.assignment.equal.wgsl
- match: (=(=)?(?!>)|!=|<=|(?<!=)>=)
comment: comparison operators
scope: keyword.operator.comparison.wgsl
- match: '(([+%]|(\*(?!\w)))(?!=))|(-(?!>))|(/(?!/))'
comment: math operators
scope: keyword.operator.math.wgsl
- match: \.(?!\.)
comment: dot access
scope: keyword.operator.access.dot.wgsl
- match: '->'
comment: dashrocket, skinny arrow
scope: keyword.operator.arrow.skinny.wgsl
line_comments:
- match: \s*//.*
comment: single line comment
scope: comment.line.double-slash.wgsl
punctuation:
- match: ','
comment: comma
scope: punctuation.comma.wgsl
- match: '[{}]'
comment: curly braces
scope: punctuation.brackets.curly.wgsl
- match: '[()]'
comment: parentheses, round brackets
scope: punctuation.brackets.round.wgsl
- match: ;
comment: semicolon
scope: punctuation.semi.wgsl
- match: '[\[\]]'
comment: square brackets
scope: punctuation.brackets.square.wgsl
- match: '(?<![=-])[<>]'
comment: angle brackets
scope: punctuation.brackets.angle.wgsl
types:
- match: \b(bool|i32|u32|f32)\b
comment: scalar Types
scope: storage.type.wgsl
- match: \b(i64|u64|f64)\b
comment: reserved scalar Types
scope: storage.type.wgsl
- match: \b(vec2i|vec3i|vec4i|vec2u|vec3u|vec4u|vec2f|vec3f|vec4f|vec2h|vec3h|vec4h)\b
comment: vector type aliasses
scope: storage.type.wgsl
- match: \b(mat2x2f|mat2x3f|mat2x4f|mat3x2f|mat3x3f|mat3x4f|mat4x2f|mat4x3f|mat4x4f|mat2x2h|mat2x3h|mat2x4h|mat3x2h|mat3x3h|mat3x4h|mat4x2h|mat4x3h|mat4x4h)\b
comment: matrix type aliasses
scope: storage.type.wgsl
- match: '\b(vec[2-4]|mat[2-4]x[2-4])\b'
comment: vector/matrix types
scope: storage.type.wgsl
- match: \b(atomic)\b
comment: atomic types
scope: storage.type.wgsl
- match: \b(array)\b
comment: array types
scope: storage.type.wgsl
- match: '\b([A-Z][A-Za-z0-9]*)\b'
comment: Custom type
scope: entity.name.type.wgsl
variables:
- match: '\b(?<!(?<!\.)\.)(?:r#(?!(crate|[Ss]elf|super)))?[a-z0-9_]+\b'
comment: variables
scope: variable.other.wgsl

BIN
assets/themes.bin vendored

Binary file not shown.

@ -1 +1 @@
Subproject commit 0d655b23d6b300e691676d9b90a68d92b267f7ec
Subproject commit bf92a9e4457dc2f97efebc59bbeac95933ec6515

View File

@ -69,7 +69,7 @@
<key>name</key>
<string>Labels</string>
<key>scope</key>
<string>entity.name.label</string>
<string>entity.name.label, variable.parameter</string>
<key>settings</key>
<dict>
<key>foreground</key>
@ -80,7 +80,7 @@
<key>name</key>
<string>Classes</string>
<key>scope</key>
<string>support.class, entity.name.class, entity.name.type.class</string>
<string>support.class, entity.name.class, entity.name.type.class, entity.name</string>
<key>settings</key>
<dict>
<key>foreground</key>
@ -234,7 +234,7 @@
<key>name</key>
<string>Headings</string>
<key>scope</key>
<string>markup.heading punctuation.definition.heading, entity.name.section</string>
<string>markup.heading punctuation.definition.heading, entity.name.section, markup.heading - text.html.markdown</string>
<key>settings</key>
<dict>
<key>fontStyle</key>

View File

@ -257,7 +257,7 @@
<key>name</key>
<string>Tags</string>
<key>scope</key>
<string>entity.name.tag</string>
<string>entity.name.tag, entity.name</string>
<key>settings</key>
<dict>
<key>foreground</key>
@ -312,7 +312,7 @@
<key>name</key>
<string>Headings</string>
<key>scope</key>
<string>markup.heading punctuation.definition.heading, entity.name.section</string>
<string>markup.heading punctuation.definition.heading, entity.name.section, markup.heading - text.html.markdown</string>
<key>settings</key>
<dict>
<key>fontStyle</key>

View File

@ -256,7 +256,7 @@
<key>name</key>
<string>Tags</string>
<key>scope</key>
<string>entity.name.tag</string>
<string>entity.name.tag, entity.name</string>
<key>settings</key>
<dict>
<key>foreground</key>
@ -311,7 +311,7 @@
<key>name</key>
<string>Headings</string>
<key>scope</key>
<string>markup.heading punctuation.definition.heading, entity.name.section</string>
<string>markup.heading punctuation.definition.heading, entity.name.section, markup.heading - text.html.markdown</string>
<key>settings</key>
<dict>
<key>fontStyle</key>

@ -1 +1 @@
Subproject commit 70343201f1d7539adbba3c79e2fe81c2559a0431
Subproject commit 48f43a735037195021fa69d99c1180bf12f38f78

@ -1 +1 @@
Subproject commit 702023d80d9f845a5847eefc4c81c2d4dbbdac59
Subproject commit 9c588ebc11c3e6487b081bd54528af08baa8a09a

106
build.rs
View File

@ -1,106 +0,0 @@
// TODO: Re-enable generation of shell completion files (below) when clap 3 is out.
// For more details, see https://github.com/sharkdp/bat/issues/372
// For bat-as-a-library, no build script is required. The build script is for
// the manpage and completions, which are only relevant to the bat application.
#[cfg(not(feature = "application"))]
fn main() {}
#[cfg(feature = "application")]
fn main() -> Result<(), Box<dyn std::error::Error>> {
use std::collections::HashMap;
use std::error::Error;
use std::fs;
use std::path::Path;
// Read environment variables.
let project_name = option_env!("PROJECT_NAME").unwrap_or("bat");
let executable_name = option_env!("PROJECT_EXECUTABLE").unwrap_or(project_name);
let executable_name_uppercase = executable_name.to_uppercase();
static PROJECT_VERSION: &str = env!("CARGO_PKG_VERSION");
/// Generates a file from a template.
fn template(
variables: &HashMap<&str, &str>,
in_file: &str,
out_file: impl AsRef<Path>,
) -> Result<(), Box<dyn Error>> {
let mut content = fs::read_to_string(in_file)?;
for (variable_name, value) in variables {
// Replace {{variable_name}} by the value
let pattern = format!("{{{{{variable_name}}}}}", variable_name = variable_name);
content = content.replace(&pattern, value);
}
fs::write(out_file, content)?;
Ok(())
}
let mut variables = HashMap::new();
variables.insert("PROJECT_NAME", project_name);
variables.insert("PROJECT_EXECUTABLE", executable_name);
variables.insert("PROJECT_EXECUTABLE_UPPERCASE", &executable_name_uppercase);
variables.insert("PROJECT_VERSION", PROJECT_VERSION);
let out_dir_env = std::env::var_os("OUT_DIR").expect("OUT_DIR to be set in build.rs");
let out_dir = Path::new(&out_dir_env);
fs::create_dir_all(out_dir.join("assets/manual")).unwrap();
fs::create_dir_all(out_dir.join("assets/completions")).unwrap();
template(
&variables,
"assets/manual/bat.1.in",
out_dir.join("assets/manual/bat.1"),
)?;
template(
&variables,
"assets/completions/bat.bash.in",
out_dir.join("assets/completions/bat.bash"),
)?;
template(
&variables,
"assets/completions/bat.fish.in",
out_dir.join("assets/completions/bat.fish"),
)?;
template(
&variables,
"assets/completions/_bat.ps1.in",
out_dir.join("assets/completions/_bat.ps1"),
)?;
template(
&variables,
"assets/completions/bat.zsh.in",
out_dir.join("assets/completions/bat.zsh"),
)?;
Ok(())
}
// #[macro_use]
// extern crate clap;
// use clap::Shell;
// use std::fs;
// include!("src/clap_app.rs");
// const BIN_NAME: &str = "bat";
// fn main() {
// let outdir = std::env::var_os("SHELL_COMPLETIONS_DIR").or(std::env::var_os("OUT_DIR"));
// let outdir = match outdir {
// None => return,
// Some(outdir) => outdir,
// };
// fs::create_dir_all(&outdir).unwrap();
// let mut app = build_app(true);
// app.gen_completions(BIN_NAME, Shell::Bash, &outdir);
// app.gen_completions(BIN_NAME, Shell::Fish, &outdir);
// app.gen_completions(BIN_NAME, Shell::Zsh, &outdir);
// app.gen_completions(BIN_NAME, Shell::PowerShell, &outdir);
// }

84
build/application.rs Normal file
View File

@ -0,0 +1,84 @@
use std::{env, fs, path::PathBuf};
use crate::util::render_template;
/// Generate manpage and shell completions for the bat application.
pub fn gen_man_and_comp() -> anyhow::Result<()> {
println!("cargo:rerun-if-changed=assets/manual/");
println!("cargo:rerun-if-changed=assets/completions/");
println!("cargo:rerun-if-env-changed=PROJECT_NAME");
println!("cargo:rerun-if-env-changed=PROJECT_EXECUTABLE");
println!("cargo:rerun-if-env-changed=CARGO_PKG_VERSION");
println!("cargo:rerun-if-env-changed=BAT_ASSETS_GEN_DIR");
// Read environment variables.
let project_name = env::var("PROJECT_NAME").unwrap_or("bat".into());
let executable_name = env::var("PROJECT_EXECUTABLE").unwrap_or(project_name.clone());
let executable_name_uppercase = executable_name.to_uppercase();
let project_version = env::var("CARGO_PKG_VERSION")?;
let variables = [
("PROJECT_NAME", project_name),
("PROJECT_EXECUTABLE", executable_name),
("PROJECT_EXECUTABLE_UPPERCASE", executable_name_uppercase),
("PROJECT_VERSION", project_version),
]
.into_iter()
.collect();
let Some(out_dir) = env::var_os("BAT_ASSETS_GEN_DIR")
.or_else(|| env::var_os("OUT_DIR"))
.map(PathBuf::from)
else {
anyhow::bail!("BAT_ASSETS_GEN_DIR or OUT_DIR should be set for build.rs");
};
fs::create_dir_all(out_dir.join("assets/manual")).unwrap();
fs::create_dir_all(out_dir.join("assets/completions")).unwrap();
render_template(
&variables,
"assets/manual/bat.1.in",
out_dir.join("assets/manual/bat.1"),
)?;
render_template(
&variables,
"assets/completions/bat.bash.in",
out_dir.join("assets/completions/bat.bash"),
)?;
render_template(
&variables,
"assets/completions/bat.fish.in",
out_dir.join("assets/completions/bat.fish"),
)?;
render_template(
&variables,
"assets/completions/_bat.ps1.in",
out_dir.join("assets/completions/_bat.ps1"),
)?;
render_template(
&variables,
"assets/completions/bat.zsh.in",
out_dir.join("assets/completions/bat.zsh"),
)?;
println!(
"cargo:rustc-env=BAT_GENERATED_COMPLETION_BASH={}",
out_dir.join("assets/completions/bat.bash").display()
);
println!(
"cargo:rustc-env=BAT_GENERATED_COMPLETION_FISH={}",
out_dir.join("assets/completions/bat.fish").display()
);
println!(
"cargo:rustc-env=BAT_GENERATED_COMPLETION_PS1={}",
out_dir.join("assets/completions/_bat.ps1").display()
);
println!(
"cargo:rustc-env=BAT_GENERATED_COMPLETION_ZSH={}",
out_dir.join("assets/completions/bat.zsh").display()
);
Ok(())
}

17
build/main.rs Normal file
View File

@ -0,0 +1,17 @@
#[cfg(feature = "application")]
mod application;
mod syntax_mapping;
mod util;
fn main() -> anyhow::Result<()> {
// only watch manually-designated files
// see: https://doc.rust-lang.org/cargo/reference/build-scripts.html#rerun-if-changed
println!("cargo:rerun-if-changed=build/");
syntax_mapping::build_static_mappings()?;
#[cfg(feature = "application")]
application::gen_man_and_comp()?;
Ok(())
}

300
build/syntax_mapping.rs Normal file
View File

@ -0,0 +1,300 @@
use std::{
convert::Infallible,
env, fs,
path::{Path, PathBuf},
str::FromStr,
};
use anyhow::{anyhow, bail};
use indexmap::IndexMap;
use itertools::Itertools;
use once_cell::sync::Lazy;
use regex::Regex;
use serde_derive::Deserialize;
use serde_with::DeserializeFromStr;
use walkdir::WalkDir;
/// Known mapping targets.
///
/// Corresponds to `syntax_mapping::MappingTarget`.
#[allow(clippy::enum_variant_names)]
#[derive(Clone, Debug, Eq, PartialEq, Hash, DeserializeFromStr)]
pub enum MappingTarget {
MapTo(String),
MapToUnknown,
MapExtensionToUnknown,
}
impl FromStr for MappingTarget {
type Err = Infallible;
fn from_str(s: &str) -> Result<Self, Self::Err> {
match s {
"MappingTarget::MapToUnknown" => Ok(Self::MapToUnknown),
"MappingTarget::MapExtensionToUnknown" => Ok(Self::MapExtensionToUnknown),
syntax => Ok(Self::MapTo(syntax.into())),
}
}
}
impl MappingTarget {
fn codegen(&self) -> String {
match self {
Self::MapTo(syntax) => format!(r###"MappingTarget::MapTo(r#"{syntax}"#)"###),
Self::MapToUnknown => "MappingTarget::MapToUnknown".into(),
Self::MapExtensionToUnknown => "MappingTarget::MapExtensionToUnknown".into(),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq, Hash, DeserializeFromStr)]
/// A single matcher.
///
/// Codegen converts this into a `Lazy<Option<GlobMatcher>>`.
struct Matcher(Vec<MatcherSegment>);
/// Parse a matcher.
///
/// Note that this implementation is rather strict: it will greedily interpret
/// every valid environment variable replacement as such, then immediately
/// hard-error if it finds a '$' anywhere in the remaining text segments.
///
/// The reason for this strictness is I currently cannot think of a valid reason
/// why you would ever need '$' as plaintext in a glob pattern. Therefore any
/// such occurrences are likely human errors.
///
/// If we later discover some edge cases, it's okay to make it more permissive.
///
/// Revision history:
/// - 2024-02-20: allow `{` and `}` (glob brace expansion)
impl FromStr for Matcher {
type Err = anyhow::Error;
fn from_str(s: &str) -> Result<Self, Self::Err> {
use MatcherSegment as Seg;
static VAR_REGEX: Lazy<Regex> = Lazy::new(|| Regex::new(r"\$\{([\w\d_]+)\}").unwrap());
let mut segments = vec![];
let mut text_start = 0;
for capture in VAR_REGEX.captures_iter(s) {
let match_0 = capture.get(0).unwrap();
// text before this var
let text_end = match_0.start();
segments.push(Seg::Text(s[text_start..text_end].into()));
text_start = match_0.end();
// this var
segments.push(Seg::Env(capture.get(1).unwrap().as_str().into()));
}
// possible trailing text
segments.push(Seg::Text(s[text_start..].into()));
// cleanup empty text segments
let non_empty_segments = segments
.into_iter()
.filter(|seg| seg.text().map(|t| !t.is_empty()).unwrap_or(true))
.collect_vec();
// sanity check
if non_empty_segments
.windows(2)
.any(|segs| segs[0].is_text() && segs[1].is_text())
{
unreachable!("Parsed into consecutive text segments: {non_empty_segments:?}");
}
// guard empty case
if non_empty_segments.is_empty() {
bail!(r#"Parsed an empty matcher: "{s}""#);
}
// guard variable syntax leftover fragments
if non_empty_segments
.iter()
.filter_map(Seg::text)
.any(|t| t.contains('$'))
{
bail!(r#"Invalid matcher: "{s}""#);
}
Ok(Self(non_empty_segments))
}
}
impl Matcher {
fn codegen(&self) -> String {
match self.0.len() {
0 => unreachable!("0-length matcher should never be created"),
// if-let guard would be ideal here
// see: https://github.com/rust-lang/rust/issues/51114
1 if self.0[0].is_text() => {
let s = self.0[0].text().unwrap();
format!(r###"Lazy::new(|| Some(build_matcher_fixed(r#"{s}"#)))"###)
}
// parser logic ensures that this case can only happen when there are dynamic segments
_ => {
let segs = self.0.iter().map(MatcherSegment::codegen).join(", ");
format!(r###"Lazy::new(|| build_matcher_dynamic(&[{segs}]))"###)
}
}
}
}
/// A segment in a matcher.
///
/// Corresponds to `syntax_mapping::MatcherSegment`.
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
enum MatcherSegment {
Text(String),
Env(String),
}
#[allow(dead_code)]
impl MatcherSegment {
fn is_text(&self) -> bool {
matches!(self, Self::Text(_))
}
fn is_env(&self) -> bool {
matches!(self, Self::Env(_))
}
fn text(&self) -> Option<&str> {
match self {
Self::Text(t) => Some(t),
Self::Env(_) => None,
}
}
fn env(&self) -> Option<&str> {
match self {
Self::Text(_) => None,
Self::Env(t) => Some(t),
}
}
fn codegen(&self) -> String {
match self {
Self::Text(s) => format!(r###"MatcherSegment::Text(r#"{s}"#)"###),
Self::Env(s) => format!(r###"MatcherSegment::Env(r#"{s}"#)"###),
}
}
}
/// A struct that models a single .toml file in /src/syntax_mapping/builtins/.
#[derive(Clone, Debug, Deserialize)]
struct MappingDefModel {
mappings: IndexMap<MappingTarget, Vec<Matcher>>,
}
impl MappingDefModel {
fn into_mapping_list(self) -> MappingList {
let list = self
.mappings
.into_iter()
.flat_map(|(target, matchers)| {
matchers
.into_iter()
.map(|matcher| (matcher, target.clone()))
.collect::<Vec<_>>()
})
.collect();
MappingList(list)
}
}
#[derive(Clone, Debug)]
struct MappingList(Vec<(Matcher, MappingTarget)>);
impl MappingList {
fn codegen(&self) -> String {
let array_items: Vec<_> = self
.0
.iter()
.map(|(matcher, target)| {
format!("({m}, {t})", m = matcher.codegen(), t = target.codegen())
})
.collect();
let len = array_items.len();
format!(
"/// Generated by build script from /src/syntax_mapping/builtins/.\n\
pub(crate) static BUILTIN_MAPPINGS: [(Lazy<Option<GlobMatcher>>, MappingTarget); {len}] = [\n{items}\n];",
items = array_items.join(",\n")
)
}
}
/// Get the list of paths to all mapping definition files that should be
/// included for the current target platform.
fn get_def_paths() -> anyhow::Result<Vec<PathBuf>> {
let source_subdirs = [
"common",
#[cfg(target_family = "unix")]
"unix-family",
#[cfg(any(
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "macos"
))]
"bsd-family",
#[cfg(target_os = "linux")]
"linux",
#[cfg(target_os = "macos")]
"macos",
#[cfg(target_os = "windows")]
"windows",
];
let mut toml_paths = vec![];
for subdir_name in source_subdirs {
let subdir = Path::new("src/syntax_mapping/builtins").join(subdir_name);
if !subdir.try_exists()? {
// Directory might not exist due to this `cargo vendor` bug:
// https://github.com/rust-lang/cargo/issues/15080
continue;
}
let wd = WalkDir::new(subdir);
let paths = wd
.into_iter()
.filter_map_ok(|entry| {
let path = entry.path();
(path.is_file() && path.extension().map(|ext| ext == "toml").unwrap_or(false))
.then(|| path.to_owned())
})
.collect::<Result<Vec<_>, _>>()?;
toml_paths.extend(paths);
}
toml_paths.sort_by_key(|path| {
path.file_name()
.expect("file name should not terminate in ..")
.to_owned()
});
Ok(toml_paths)
}
fn read_all_mappings() -> anyhow::Result<MappingList> {
let mut all_mappings = vec![];
for path in get_def_paths()? {
let toml_string = fs::read_to_string(path)?;
let mappings = toml::from_str::<MappingDefModel>(&toml_string)?.into_mapping_list();
all_mappings.extend(mappings.0);
}
let duplicates = all_mappings
.iter()
.duplicates_by(|(matcher, _)| matcher)
.collect_vec();
if !duplicates.is_empty() {
bail!("Rules with duplicate matchers found: {duplicates:?}");
}
Ok(MappingList(all_mappings))
}
/// Build the static syntax mappings defined in /src/syntax_mapping/builtins/
/// into a .rs source file, which is to be inserted with `include!`.
pub fn build_static_mappings() -> anyhow::Result<()> {
println!("cargo:rerun-if-changed=src/syntax_mapping/builtins/");
let mappings = read_all_mappings()?;
let codegen_path = Path::new(&env::var_os("OUT_DIR").ok_or(anyhow!("OUT_DIR is unset"))?)
.join("codegen_static_syntax_mappings.rs");
fs::write(codegen_path, mappings.codegen())?;
Ok(())
}

21
build/util.rs Normal file
View File

@ -0,0 +1,21 @@
#![allow(dead_code)]
use std::{collections::HashMap, fs, path::Path};
/// Generates a file from a template.
pub fn render_template(
variables: &HashMap<&str, String>,
in_file: &str,
out_file: impl AsRef<Path>,
) -> anyhow::Result<()> {
let mut content = fs::read_to_string(in_file)?;
for (variable_name, value) in variables {
// Replace {{variable_name}} by the value
let pattern = format!("{{{{{variable_name}}}}}");
content = content.replace(&pattern, value);
}
fs::write(out_file, content)?;
Ok(())
}

View File

@ -181,12 +181,12 @@ man 2 select
## インストール
[![Packaging status](https://repology.org/badge/vertical-allrepos/bat-cat.svg)](https://repology.org/project/bat-cat/versions)
[![Packaging status](https://repology.org/badge/vertical-allrepos/bat-cat.svg?columns=3&exclude_unsupported=1)](https://repology.org/project/bat-cat/versions)
### On Ubuntu (`apt` を使用)
*... や他のDebianベースのLinuxディストリビューション*
Ubuntu Eoan 19.10 または Debian 不安定版 sid 以降の [the Ubuntu `bat` package](https://packages.ubuntu.com/eoan/bat) または [the Debian `bat` package](https://packages.debian.org/sid/bat) からインストールできます:
[20.04 ("Focal") 以降の Ubuntu](https://packages.ubuntu.com/search?keywords=bat&exact=1) または [2021 年 8 月以降の Debian (Debian 11 - "Bullseye")](https://packages.debian.org/bullseye/bat) では `bat` パッケージが利用できます。
```bash
apt install bat
@ -219,7 +219,7 @@ apk add bat
### On Arch Linux
[Arch Linuxの公式リソース](https://www.archlinux.org/packages/community/x86_64/bat/)
[Arch Linuxの公式リソース](https://www.archlinux.org/packages/extra/x86_64/bat/)
からインストールできます。
```bash
@ -366,7 +366,7 @@ ansible-galaxy install aeimer.install_bat
### From source
`bat` をソースからビルドしたいならば、Rust 1.51 以上の環境が必要です。
`bat` をソースからビルドしたいならば、Rust 1.74.0 以上の環境が必要です。
`cargo` を使用してビルドすることができます:
```bash

View File

@ -214,7 +214,7 @@ man 2 select
## 설치
[![Packaging status](https://repology.org/badge/vertical-allrepos/bat-cat.svg)](https://repology.org/project/bat-cat/versions)
[![Packaging status](https://repology.org/badge/vertical-allrepos/bat-cat.svg?columns=3&exclude_unsupported=1)](https://repology.org/project/bat-cat/versions)
### Ubuntu에서 (`apt` 사용)
*... 그리고 다른 Debian 기반의 Linux 배포판들에서.*
@ -264,7 +264,7 @@ apk add bat
### Arch Linux에서
공식 소스를 통해
[`bat` 패키지](https://www.archlinux.org/packages/community/x86_64/bat/)를
[`bat` 패키지](https://www.archlinux.org/packages/extra/x86_64/bat/)를
설치할 수 있습니다:
```bash
@ -416,7 +416,7 @@ scoop install bat
### 소스에서
`bat`의 소스를 빌드하기 위해서는, Rust 1.51 이상이 필요합니다.
`bat`의 소스를 빌드하기 위해서는, Rust 1.74.0 이상이 필요합니다.
`cargo`를 이용해 전부 빌드할 수 있습니다:
```bash

View File

@ -3,27 +3,27 @@
<a href="https://github.com/sharkdp/bat/actions?query=workflow%3ACICD"><img src="https://github.com/sharkdp/bat/workflows/CICD/badge.svg" alt="Build Status"></a>
<img src="https://img.shields.io/crates/l/bat.svg" alt="license">
<a href="https://crates.io/crates/bat"><img src="https://img.shields.io/crates/v/bat.svg?colorB=319e8c" alt="Version info"></a><br>
Клон утилиты <i>cat(1)</i> с поддержкой выделения синтаксиса и Git
Клон утилиты <i>cat(1)</i> с поддержкой подсветки синтаксиса и Git
</p>
<p align="center">
<a href="#выделение-синтаксиса">Ключевые возможности</a>
<a href="#подсветка-синтаксиса">Ключевые возможности</a>
<a href="#как-использовать">Использование</a>
<a href="#установка">Установка</a>
<a href="#кастомизация">Кастомизация</a>
<a href="#цели-и-альтернативы">Цели и альтернативы </a><br>
[<a href="../README.md">English]
[<a href="../README.md">English</a>]
[<a href="README-zh.md">中文</a>]
[<a href="README-ja.md">日本語</a>]
[<a href="README-ko.md">한국어</a>]
[Русский]
</p>
### Выделение синтаксиса
### Подсветка синтаксиса
`bat` поддерживает выделение синтаксиса для огромного количества языков программирования и разметки:
`bat` поддерживает подсветку синтаксиса для огромного количества языков программирования и разметки:
![Пример выделения синтаксиса](https://i.imgur.com/3FGy5tW.png)
![Пример подсветки синтаксиса](https://i.imgur.com/3FGy5tW.png)
### Интеграция с Git
`bat` использует `git`, чтобы показать изменения в коде
@ -31,15 +31,17 @@
![Пример интеграции с Git](https://i.imgur.com/azUAzdx.png)
### Показать непечатаемые символы
### Показ непечатных символов
Вы можете использовать `-A` / `--show-all` флаг, чтобы показать символы, которые невозможно напечатать:
Вы можете использовать флаг `-A` / `--show-all`, чтобы показать непечатные символы:
![Строка с неотображемыми символами](https://i.imgur.com/X0orYY9.png)
### Автоматическое разделение текста
### Автоматический пейджинг терминала
`bat` умеет перенаправлять вывод в `less`, если вывод не помещается на экране полностью.
`bat` умеет перенаправлять вывод в пейджер терминала (например, в `less`), если вывод не помещается на экране полностью.
Если вы хотите, чтобы `bat` работал как `cat` всё время, вы можете установить опцию `--paging=never` в командной строке или в конфигурационном файле.
Если вы намерены использовать `bat` в качестве алиаса для `cat`, вы можете установить `alias cat='bat --paging=never'`, чтобы сохранить изначальное поведение.
### Объединение файлов
@ -86,11 +88,23 @@ bat header.md content.md footer.md > document.md
bat -n main.rs # показываем только количество строк
bat f - g # выводит 'f' в stdin, а потом 'g'.
bat f - g # выводит 'f', потом stdin, а потом 'g'.
```
### Интеграция с другими утилитами
#### `fzf`
Вы можете использовать `bat` как просмотрщик для [`fzf`](https://github.com/junegunn/fzf).
Чтобы это заработало, используйте опцию `--color=always`, чтобы вывод был всегда цветным.
Вы можете также использовать опцию `--line-range`, чтобы уменьшить время загрузки для больших файлов:
```bash
fzf --preview "bat --color=always --style=numbers --line-range=:500 {}"
```
Больше деталей смотрите в [`README` программы `fzf`](https://github.com/junegunn/fzf#preview-window).
#### `find` или `fd`
Вы можете использовать флаг `-exec` в `find`, чтобы посмотреть превью всех файлов в `bat`
@ -121,31 +135,42 @@ tail -f /var/log/pacman.log | bat --paging=never -l log
#### `git`
Вы можете использовать `bat` с `git show`, чтобы просмотреть старую версию файла с выделением синтаксиса:
Вы можете использовать `bat` с `git show`, чтобы просмотреть старую версию файла с подсветкой синтаксиса:
```bash
git show v0.6.0:src/main.rs | bat -l rs
```
Обратите внимание, что выделение синтаксиса не работает в `git diff` на данный момент. Если вам это нужно, посмотрите [`delta`](https://github.com/dandavison/delta).
#### `git diff`
Вы можете использовать `bat` с `git diff` для просмотра строк кода вокруг изменений с подсветкой синтаксиса:
```bash
batdiff() {
git diff --name-only --relative --diff-filter=d | xargs bat --diff
}
```
Если вы хотите использовать это как отдельную программу, посмотрите `batdiff` из [`bat-extras`](https://github.com/eth-p/bat-extras).
Если вам это нужна более полная поддержка для операций с git и diff, посмотрите [`delta`](https://github.com/dandavison/delta).
#### `xclip`
Нумерация стро и отображение изменений затрудняет копирование содержимого файлов в буфер обмена.
Чтобы спроваиться с этим, используйте флаг `-p`/`--plain` или просто перенаправьте стандартный вывод в `xclip`:
Нумерация строк и отображение изменений затрудняет копирование содержимого файлов в буфер обмена.
Чтобы справиться с этим, используйте флаг `-p`/`--plain` или просто перенаправьте стандартный вывод в `xclip`:
```bash
bat main.cpp | xclip
```
`bat` обнаружит перенаправление вывода и выведет обычный текст без выделения синтаксиса.
`bat` обнаружит перенаправление вывода и выведет обычный текст без подсветки синтаксиса.
#### `man`
`bat` может быть использован в виде выделения цвета для `man`, для этого установите переменную окружения
`bat` может быть использован для раскрашивания вывода `man`, для этого установите переменную окружения
`MANPAGER`:
```bash
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
man 2 select
```
(замените `bat` на `batcat`, если у вас Debian или Ubuntu)
Возможно вам понадобится также установить `MANROFFOPT="-c"`, если у вас есть проблемы с форматированием.
@ -153,20 +178,49 @@ man 2 select
Обратите внимание, что [синтаксис manpage](assets/syntaxes/02_Extra/Manpage.sublime-syntax) разрабатывается в этом репозитории и все еще находится в разработке.
Также заметьте, что это [не заработает](https://github.com/sharkdp/bat/issues/1145) с реализацией `man` через Mandocs.
#### `prettier` / `shfmt` / `rustfmt`
[`Prettybat`](https://github.com/eth-p/bat-extras/blob/master/doc/prettybat.md) — скрипт, который форматирует код и выводит его с помощью `bat`.
#### Подсветка сообщений `--help`
Вы можете использовать `bat`, чтобы подсвечивать текст справки комманд: `$ cp --help | bat -plhelp`
Вы можете сделать такую вспомогательную команду для этого:
```bash
# in your .bashrc/.zshrc/*rc
alias bathelp='bat --plain --language=help'
help() {
"$@" --help 2>&1 | bathelp
}
```
В этом случае, вы можете просто писать `$ help cp` или `$ help git commit`.
Если вы используете `zsh`, вы можете объявить глобальные алиасы для `-h` и `--help`:
```bash
alias -g -- -h='-h 2>&1 | bat --language=help --style=plain'
alias -g -- --help='--help 2>&1 | bat --language=help --style=plain'
```
В этом случае, вы можете продолжать использовать `cp --help`, но при этом получать подцвеченный вывод.
Обратите внимание, что не всегда опция `-h` является краткой формы опции `--help` (например, у `ls`).
Пожалуйста, сообщайте о проблемах с подсветкой справки в [этот репозиторий](https://github.com/victor-gp/cmd-help-sublime-syntax).
## Установка
[![Packaging status](https://repology.org/badge/vertical-allrepos/bat-cat.svg)](https://repology.org/project/bat-cat/versions)
[![Packaging status](https://repology.org/badge/vertical-allrepos/bat-cat.svg?columns=3&exclude_unsupported=1)](https://repology.org/project/bat-cat/versions)
### Ubuntu (с помощью `apt`)
*... и другие дистрибутивы основанные на Debian.*
`bat` есть в репозиториях [Ubuntu](https://packages.ubuntu.com/eoan/bat) и
[Debian](https://packages.debian.org/sid/bat) и доступен начиная с Ubuntu Eoan 19.10. На Debian `bat` пока что доступен только с нестабильной веткой "Sid".
`bat` доступен на [Ubuntu since 20.04 ("Focal")](https://packages.ubuntu.com/search?keywords=bat&exact=1) и [Debian since August 2021 (Debian 11 - "Bullseye")](https://packages.debian.org/bullseye/bat).
Если ваша версия Ubuntu/Debian достаточно новая, вы можете установить `bat` так:
@ -201,7 +255,7 @@ apk add bat
### Arch Linux
Вы можете установить [`bat`](https://www.archlinux.org/packages/community/x86_64/bat/) из официального источника:
Вы можете установить [`bat`](https://www.archlinux.org/packages/extra/x86_64/bat/) из официального источника:
```bash
pacman -S bat
@ -245,6 +299,14 @@ cd /usr/ports/textproc/bat
make install
```
### On OpenBSD
Вы можете установить `bat` с помощью [`pkg_add(1)`](https://man.openbsd.org/pkg_add.1):
```bash
pkg_add bat
```
### С помощью nix
Вы можете установить `bat`, используя [nix package manager](https://nixos.org/nix):
@ -253,6 +315,14 @@ make install
nix-env -i bat
```
### Через flox
Вы можете установить `bat` используя [Flox](https://flox.dev)
```bash
flox install bat
```
### openSUSE
Вы можете установить `bat` с помощью `zypper`:
@ -261,7 +331,7 @@ nix-env -i bat
zypper install bat
```
### macOS
### На macOS (или Linux) через Homebrew
Вы можете установить `bat` с помощью [Homebrew](http://braumeister.org/formula/bat):
@ -269,6 +339,8 @@ zypper install bat
brew install bat
```
### На macOS через MacPorts
Или же установить его с помощью [MacPorts](https://ports.macports.org/port/bat/summary):
```bash
@ -277,7 +349,19 @@ port install bat
### Windows
Есть несколько способов установить `bat`. Как только вы установили его, посмотрите на секцию ["Использование `bat` в Windows"](#using-bat-on-windows).
Есть несколько способов установить `bat`. Как только вы установили его, посмотрите на секцию ["Использование `bat` в Windows"](#использование-bat-в-windows).
#### Пререквитизы
Вам нужно установить пакет [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads).
#### С помощью WinGet
Вы можете установить `bat` через [WinGet](https://learn.microsoft.com/en-us/windows/package-manager/winget):
```bash
winget install sharkdp.bat
```
#### С помощью Chocolatey
@ -293,50 +377,10 @@ choco install bat
scoop install bat
```
Для этого у вас должен быть установлен [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads).
#### Из заранее скомпилированных файлов:
Их вы можете скачать на [странице релизов](https://github.com/sharkdp/bat/releases).
Для этого у вас должен быть установлен [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads).
### С помощью Docker
Вы можете использовать [Docker image](https://hub.docker.com/r/danlynn/bat/), чтобы запустить `bat` в контейнере:
```bash
docker pull danlynn/bat
alias bat='docker run -it --rm -e BAT_THEME -e BAT_STYLE -e BAT_TABS -v "$(pwd):/myapp" danlynn/bat'
```
### С помощью Ansible
Вы можете установить `bat` с [Ansible](https://www.ansible.com/):
```bash
# Устанавливаем роль на устройстве
ansible-galaxy install aeimer.install_bat
```
```yaml
---
# Playbook для установки bat
- host: all
roles:
- aeimer.install_bat
```
- [Ansible Galaxy](https://galaxy.ansible.com/aeimer/install_bat)
- [GitHub](https://github.com/aeimer/ansible-install-bat)
Этот способ должен сработать со следующими дистрибутивами:
- Debian/Ubuntu
- ARM (например Raspberry PI)
- Arch Linux
- Void Linux
- FreeBSD
- macOS
### Из скомпилированных файлов
Перейдите на [страницу релизов](https://github.com/sharkdp/bat/releases) для
@ -344,15 +388,24 @@ ansible-galaxy install aeimer.install_bat
### Из исходников
Если вы желаете установить `bat` из исходников, вам понадобится Rust 1.51 или выше. После этого используйте `cargo`, чтобы все скомпилировать:
Если вы желаете установить `bat` из исходников, вам понадобится Rust 1.74.0 или выше. После этого используйте `cargo`, чтобы всё скомпилировать:
```bash
cargo install --locked bat
```
Заметьте, что дополнительные файлы, такие как документация man и подсказки командной строки, не могут быть установлены таким способом.
Они будут сгенерированы командой `cargo` должны быть доступны в папке сборки (в `build`).
Подсказки командной строки также доступны при таком запуске:
```bash
bat --completion <shell>
# see --help for supported shells
```
## Кастомизация
### Темы для выделения текста
### Темы для подсветки синтаксиса
Используйте `bat --list-themes`, чтобы вывести список всех доступных тем. Для выбора темы `TwoDark` используйте `bat` с флагом
`--theme=TwoDark` или выставьте переменную окружения `BAT_THEME` в `TwoDark`. Используйте `export BAT_THEME="TwoDark"` в конфигурационном файле вашей оболочки, чтобы изменить ее навсегда. Или же используйте [конфигурационный файл](https://github.com/sharkdp/bat#configuration-file) `bat`.
@ -372,7 +425,7 @@ bat --list-themes | fzf --preview="bat --theme={} --color=always /путь/к/ф
### Добавление новых синтаксисов
`bat` использует [`syntect`](https://github.com/trishume/syntect/) для выделения синтаксиса. `syntect` может читать
`bat` использует [`syntect`](https://github.com/trishume/syntect/) для подсветки синтаксиса. `syntect` может читать
[файл `.sublime-syntax`](https://www.sublimetext.com/docs/3/syntax.html)
и темы. Чтобы добавить новый синтаксис, сделайте следующее:
@ -403,7 +456,7 @@ bat cache --clear
### Добавление новых тем
Это работает похожим образом, так же как и добавление новых тем выделения синтаксиса
Это работает похожим образом, так же как и добавление новых тем подсветки синтаксиса
Во-первых, создайте каталог с новыми темами для синтаксиса:
```bash
@ -487,7 +540,7 @@ bat --generate-config-file
# Использовать синтаксис C++ для всех Arduino .ino файлов
--map-syntax "*.ino:C++"
# Использовать синтаксик Git Ignore для всех файлов .ignore
# Использовать синтаксис Git Ignore для всех файлов .ignore
--map-syntax ".ignore:Git Ignore"
```
@ -535,7 +588,7 @@ bat() {
`bat` поддерживает терминалы *с* и *без* поддержки truecolor. Однако подсветка синтаксиса не оптимизирована для терминалов с 8-битными цветами, и рекомендуется использовать терминалы с поддержкой 24-битных цветов (`terminator`, `konsole`, `iTerm2`, ...).
Смотрите [эту статью](https://gist.github.com/XVilka/8346728) для полного списка терминалов.
Удостовертесь, что переменная `COLORTERM` равна `truecolor` или
Удостоверьтесь, что переменная `COLORTERM` равна `truecolor` или
`24bit`. Иначе `bat` не сможет определить поддержку 24-битных цветов (и будет использовать 8-битные).
### Текст и номера строк плохо видны
@ -550,7 +603,7 @@ bat() {
``` bash
iconv -f ISO-8859-1 -t UTF-8 my-file.php | bat
```
Внимание: вам может понадобится флаг `-l`/`--language`, если `bat` не сможет автоматически определить синтаксис.
Внимание: вам может понадобиться флаг `-l`/`--language`, если `bat` не сможет автоматически определить синтаксис.
## Разработка
@ -568,7 +621,7 @@ cargo test
# Установка (релизная версия)
cargo install --locked
# Компилирование исполняего файла bat с другим синтаксисом и темами
# Компилирование исполняемого файла bat с другим синтаксисом и темами
bash assets/create.sh
cargo install --locked --force
```
@ -590,8 +643,8 @@ cargo install --locked --force
Есть очень много альтернатив `bat`. Смотрите [этот документ](doc/alternatives.md) для сравнения.
## Лицензия
Copyright (c) 2018-2021 [Разработчики bat](https://github.com/sharkdp/bat).
Copyright (c) 2018-2024 [Разработчики bat](https://github.com/sharkdp/bat).
`bat` распостраняется под лицензями MIT License и Apache License 2.0 (на выбор пользователя).
`bat` распространяется под лицензиями MIT License и Apache License 2.0 (на выбор пользователя).
Смотрите [LICENSE-APACHE](LICENSE-APACHE) и [LICENSE-MIT](LICENSE-MIT) для более подробного ознакомления.

View File

@ -191,7 +191,7 @@ man 2 select
## 安装
[![Packaging status](https://repology.org/badge/vertical-allrepos/bat-cat.svg)](https://repology.org/project/bat-cat/versions)
[![Packaging status](https://repology.org/badge/vertical-allrepos/bat-cat.svg?columns=3&exclude_unsupported=1)](https://repology.org/project/bat-cat/versions)
### Ubuntu (使用 `apt`)
@ -232,7 +232,7 @@ apk add bat
### Arch Linux
你可以用下面下列命令从官方源中安装[`bat`包](https://www.archlinux.org/packages/community/x86_64/bat/)
你可以用下面下列命令从官方源中安装[`bat`包](https://www.archlinux.org/packages/extra/x86_64/bat/)
```bash
pacman -S bat
@ -372,7 +372,7 @@ scoop install bat
### 从源码编译
如果你想要自己构建`bat`那么你需要安装有高于1.51版本的 Rust。
如果你想要自己构建`bat`那么你需要安装有高于1.74.0版本的 Rust。
使用以下命令编译。
@ -412,7 +412,7 @@ bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file"
### 输出样式
你可以用`--style`参数来控制`bat`输出的样式。使用`--style=numbers,chanegs`可以只开启 Git 修改和行号显示而不添加其他内容。`BAT_STYLE`环境变量具有相同功能。
你可以用`--style`参数来控制`bat`输出的样式。使用`--style=numbers,changes`可以只开启 Git 修改和行号显示而不添加其他内容。`BAT_STYLE`环境变量具有相同功能。
### 添加新的语言和语法
@ -550,7 +550,7 @@ bat --generate-config-file
# 在终端中以斜体输出文本(不是所有终端都支持)
--italic-text=always
# 使用 C++ 语法来给 Ardiuno 的 .ino 文件提供高亮
# 使用 C++ 语法来给 Arduino 的 .ino 文件提供高亮
--map-syntax "*.ino:C++"
```
@ -616,63 +616,59 @@ iconv -f ISO-8859-1 -t UTF-8 my-file.php | bat
注意: 当`bat`无法识别语言时你可能会需要`-l`/`--language`参数。
## Development
## 开发
```bash
# Recursive clone to retrieve all submodules
# 递归 clone 以获取所有子模块
git clone --recursive https://github.com/sharkdp/bat
# Build (debug version)
# 构建(调试版本)
cd bat
cargo build --bins
# Run unit tests and integration tests
# 运行单元测试和集成测试
cargo test
# Install (release version)
# 安装(发布版本)
cargo install --path . --locked
# Build a bat binary with modified syntaxes and themes
# 使用修改后的语法和主题构建一个 bat 二进制文件
bash assets/create.sh
cargo install --path . --locked --force
```
If you want to build an application that uses `bat`s pretty-printing
features as a library, check out the [the API documentation](https://docs.rs/bat/).
Note that you have to use either `regex-onig` or `regex-fancy` as a feature
when you depend on `bat` as a library.
如果你想构建一个使用 `bat` 美化打印功能的应用程序,请查看 [API 文档](https://docs.rs/bat/)。请注意,当你依赖 `bat` 作为库时,必须使用 `regex-onig``regex-fancy` 作为特性。
## Contributing
## 贡献指南
Take a look at the [`CONTRIBUTING.md`](CONTRIBUTING.md) guide.
请查看 [`CONTRIBUTING.md`](CONTRIBUTING.md) 指南。
## Maintainers
## 维护者
- [sharkdp](https://github.com/sharkdp)
- [eth-p](https://github.com/eth-p)
- [keith-hall](https://github.com/keith-hall)
- [Enselic](https://github.com/Enselic)
## Security vulnerabilities
## 安全漏洞
Please contact [David Peter](https://david-peter.de/) via email if you want to report a vulnerability in `bat`.
如果你想报告 `bat` 中的漏洞,请通过邮件联系 [David Peter](https://david-peter.de/)。
## Project goals and alternatives
## 项目目标和替代方案
`bat` tries to achieve the following goals:
`bat` 试图实现以下目标:
- Provide beautiful, advanced syntax highlighting
- Integrate with Git to show file modifications
- Be a drop-in replacement for (POSIX) `cat`
- Offer a user-friendly command-line interface
- 提供美观的高级语法高亮
- 与 Git 集成以显示文件修改
- 成为 (POSIX) `cat` 的替代品
- 提供用户友好的命令行界面
There are a lot of alternatives, if you are looking for similar programs. See
[this document](doc/alternatives.md) for a comparison.
如果你在寻找类似的程序,有很多替代方案。请参阅[本文档](doc/alternatives.md)进行比较。
## License
## 许可证
Copyright (c) 2018-2021 [bat-developers](https://github.com/sharkdp/bat).
版权所有 (c) 2018-2021 [bat-developers](https://github.com/sharkdp/bat)。
`bat` is made available under the terms of either the MIT License or the Apache License 2.0, at your option.
`bat` 可根据 MIT 许可证或 Apache 许可证 2.0 的条款使用,任选其一。
See the [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT) files for license details.
有关许可证的详细信息,请参阅 [LICENSE-APACHE](LICENSE-APACHE) 和 [LICENSE-MIT](LICENSE-MIT) 文件。

View File

@ -4,17 +4,17 @@ The following table tries to give an overview *from `bat`s perspective*, i.e. we
categories which are relevant for `bat`. Some of these projects have completely different goals and
if you are not looking for a program like `bat`, this comparison might not be for you.
| | bat | [pygments](http://pygments.org/) | [highlight](http://www.andre-simon.de/doku/highlight/highlight.php) | [ccat](https://github.com/jingweno/ccat) | [source-highlight](https://www.gnu.org/software/src-highlite/) | [hicat](https://github.com/rstacruz/hicat) | [coderay](https://github.com/rubychan/coderay) | [rouge](https://github.com/jneen/rouge) |
|----------------------------------------------|---------------------------------------------------------------------|----------------------------------|---------------------------------------------------------------------|------------------------------------------|----------------------------------------------------------------|-----------------------------------------------------|-----------------------------------------------------|-----------------------------------------------------|
| Drop-in `cat` replacement | :heavy_check_mark: [*](https://github.com/sharkdp/bat/issues/134) | :x: | :x: | (:heavy_check_mark:) | :x: | :x: [*](https://github.com/rstacruz/hicat/issues/6) | :x: | :x: |
| Git integration | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
| Automatic paging | :heavy_check_mark: | :x: | :x: | :x: | :x: | :heavy_check_mark: | :x: | :x: |
| Languages (circa) | 150 | 300 | 200 | 7 | 80 | 130 | 30 | 130 |
| Extensible (languages, themes) | :heavy_check_mark: | (:heavy_check_mark:) | (:heavy_check_mark:) | :x: | (:heavy_check_mark:) | :x: | :x: | :x: |
| Advanced highlighting (e.g. nested syntaxes) | :heavy_check_mark: | :heavy_check_mark: | (:heavy_check_mark:) ? | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Execution time [ms] (`jquery-3.3.1.js`) | 624 | 789 | 400 | 80 | 300 | 316 | 157 | 695 |
| Execution time [ms] (`miniz.c`) | 66 | 656 | 26 | 8 | 53 | 141 | 75 | 254 |
| Execution time [ms] (370 kB XML file) | 238 | 487 | 129 | 111 | 110 | 339 | 147 | 359 |
| | bat | [pygments](http://pygments.org/) | [highlight](http://www.andre-simon.de/doku/highlight/highlight.php) | [ccat](https://github.com/jingweno/ccat) | [source-highlight](https://www.gnu.org/software/src-highlite/) | [hicat](https://github.com/rstacruz/hicat) | [coderay](https://github.com/rubychan/coderay) | [rouge](https://github.com/jneen/rouge) | [clp](https://github.com/jpe90/clp) |
|----------------------------------------------|---------------------------------------------------------------------|----------------------------------|---------------------------------------------------------------------|------------------------------------------|----------------------------------------------------------------|-----------------------------------------------------|-----------------------------------------------------|-----------------------------------------------------|-----------------------------------------------------|
| Drop-in `cat` replacement | :heavy_check_mark: [*](https://github.com/sharkdp/bat/issues/134) | :x: | :x: | (:heavy_check_mark:) | :x: | :x: [*](https://github.com/rstacruz/hicat/issues/6) | :x: | :x: | :x: |
| Git integration | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
| Automatic paging | :heavy_check_mark: | :x: | :x: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| Languages (circa) | 150 | 300 | 200 | 7 | 80 | 130 | 30 | 130 | 150 |
| Extensible (languages, themes) | :heavy_check_mark: | (:heavy_check_mark:) | (:heavy_check_mark:) | :x: | (:heavy_check_mark:) | :x: | :x: | :x: | :heavy_check_mark: |
| Advanced highlighting (e.g. nested syntaxes) | :heavy_check_mark: | :heavy_check_mark: | (:heavy_check_mark:) ? | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Execution time [ms] (`jquery-3.3.1.js`) | 422 | 455 | 299 | 39 | 208 | 287 | 128 | 740 | 22 |
| Execution time [ms] (`miniz.c`) | 27 | 169 | 19 | 4 | 36 | 131 | 58 | 231 | 4 |
| Execution time [ms] (957 kB XML file) | 215 | 296 | 236 | 165 | 83 | 412 | 135 | 386 | 127 |
If you think that some entries in this table are outdated or wrong, please open a ticket or pull
request.
@ -49,6 +49,7 @@ cmd_source_highlight="source-highlight --failsafe --infer-lang -f esc -i '$SRC'"
cmd_hicat="hicat '$SRC'"
cmd_coderay="coderay '$SRC'"
cmd_rouge="rougify '$SRC'"
cmd_clp="clp '$SRC'"
hyperfine --warmup 3 \
"$cmd_bat" \
@ -60,4 +61,5 @@ hyperfine --warmup 3 \
"$cmd_hicat" \
"$cmd_coderay" \
"$cmd_rouge" \
"$cmd_clp" \
```

View File

@ -16,6 +16,9 @@ in the `.sublime-syntax` format.
2. If the Sublime Text syntax is only available as a `.tmLanguage` file, open the file in
Sublime Text and convert it to a `.sublime-syntax` file via *Tools* -> *Developer* ->
*New Syntax from XXX.tmLanguage...*. Save the new file in the `assets/syntaxes` folder.
If only `.tmLanguage.json` or `.tmLanguage.yml` file is available, use
[PackageDev](https://packagecontrol.io/packages/PackageDev) to convert it to `.tmLanguage.plist`
format and then rename the converted file to `.tmLanguage` file.
3. Run the `assets/create.sh` script. It calls `bat cache --build` to parse all available
`.sublime-syntax` files and serialize them to a `syntaxes.bin` file.
@ -23,7 +26,7 @@ in the `.sublime-syntax` format.
4. Re-compile `bat`. At compilation time, the `syntaxes.bin` file will be stored inside the
`bat` binary.
5. Use `bat --list-languages` to check if the new languages are available.
5. Use `bat --list-languages` to check if the new languages are available. You may want to do something like `export PATH="`pwd`/target/debug:$PATH"` to ensure the locally compiled version is the one being used.
6. Add a syntax test for the new language. See [below](#Syntax-tests) for details.
@ -77,12 +80,14 @@ themes (`bat cache --clear`).
The following files have been manually modified after converting from a `.tmLanguage` file:
* `Apache.sublime_syntax`=> removed `.conf` and `.CONF` file types.
* `Apache.sublime_syntax`=> removed `conf` and `CONF` file types.
* `Dart.sublime-syntax` => removed `#regex.dart` include.
* `INI.sublime-syntax` => added `.hgrc`, `hgrc`, and `desktop` file types and support for comments after section headers
* `DotENV.sublime-syntax` => added `.env.template`, `env` and `env.*` file types ([upstream PR](https://github.com/zaynali53/DotENV/pull/17)).
* `INI.sublime-syntax` => added `.coveragerc`, `.pylintrc`, `.gitlint`, `.hgrc`, `hgrc`, and `desktop` file types and support for comments after section headers.
* `Org mode.sublime-syntax` => removed `task` file type.
* `Robot.sublime_syntax` => changed name to "Robot Framework", added `.resource` extension.
* `SML.sublime_syntax` => removed `ml` file type.
* `Robot.sublime_syntax` => changed name to "Robot Framework", added `.resource` extension
* `wgsl.sublime-syntax` => added `wgsl` file extension.
### Non-submodule additions

221
doc/long-help.txt Normal file
View File

@ -0,0 +1,221 @@
A cat(1) clone with syntax highlighting and Git integration.
Usage: bat [OPTIONS] [FILE]...
bat <COMMAND>
Arguments:
[FILE]...
File(s) to print / concatenate. Use a dash ('-') or no argument at all to read from
standard input.
Options:
-A, --show-all
Show non-printable characters like space, tab or newline. This option can also be used to
print binary files. Use '--tabs' to control the width of the tab-placeholders.
--nonprintable-notation <notation>
Set notation for non-printable characters.
Possible values:
* unicode (␇, ␊, ␀, ..)
* caret (^G, ^J, ^@, ..)
--binary <behavior>
How to treat binary content. (default: no-printing)
Possible values:
* no-printing: do not print any binary content
* as-text: treat binary content as normal text
-p, --plain...
Only show plain style, no decorations. This is an alias for '--style=plain'. When '-p' is
used twice ('-pp'), it also disables automatic paging (alias for '--style=plain
--paging=never').
-l, --language <language>
Explicitly set the language for syntax highlighting. The language can be specified as a
name (like 'C++' or 'LaTeX') or possible file extension (like 'cpp', 'hpp' or 'md'). Use
'--list-languages' to show all supported language names and file extensions.
-H, --highlight-line <N:M>
Highlight the specified line ranges with a different background color For example:
'--highlight-line 40' highlights line 40
'--highlight-line 30:40' highlights lines 30 to 40
'--highlight-line :40' highlights lines 1 to 40
'--highlight-line 40:' highlights lines 40 to the end of the file
'--highlight-line 30:+10' highlights lines 30 to 40
--file-name <name>
Specify the name to display for a file. Useful when piping data to bat from STDIN when bat
does not otherwise know the filename. Note that the provided file name is also used for
syntax detection.
-d, --diff
Only show lines that have been added/removed/modified with respect to the Git index. Use
--diff-context=N to control how much context you want to see.
--diff-context <N>
Include N lines of context around added/removed/modified lines when using '--diff'.
--tabs <T>
Set the tab width to T spaces. Use a width of 0 to pass tabs through directly
--wrap <mode>
Specify the text-wrapping mode (*auto*, never, character). The '--terminal-width' option
can be used in addition to control the output width.
-S, --chop-long-lines
Truncate all lines longer than screen width. Alias for '--wrap=never'.
--terminal-width <width>
Explicitly set the width of the terminal instead of determining it automatically. If
prefixed with '+' or '-', the value will be treated as an offset to the actual terminal
width. See also: '--wrap'.
-n, --number
Only show line numbers, no other decorations. This is an alias for '--style=numbers'
--color <when>
Specify when to use colored output. The automatic mode only enables colors if an
interactive terminal is detected - colors are automatically disabled if the output goes to
a pipe.
Possible values: *auto*, never, always.
--italic-text <when>
Specify when to use ANSI sequences for italic text in the output. Possible values: always,
*never*.
--decorations <when>
Specify when to use the decorations that have been specified via '--style'. The automatic
mode only enables decorations if an interactive terminal is detected. Possible values:
*auto*, never, always.
-f, --force-colorization
Alias for '--decorations=always --color=always'. This is useful if the output of bat is
piped to another program, but you want to keep the colorization/decorations.
--paging <when>
Specify when to use the pager. To disable the pager, use --paging=never' or its
alias,'-P'. To disable the pager permanently, set BAT_PAGING to 'never'. To control which
pager is used, see the '--pager' option. Possible values: *auto*, never, always.
--pager <command>
Determine which pager is used. This option will override the PAGER and BAT_PAGER
environment variables. The default pager is 'less'. To control when the pager is used, see
the '--paging' option. Example: '--pager "less -RF"'.
-m, --map-syntax <glob:syntax>
Map a glob pattern to an existing syntax name. The glob pattern is matched on the full
path and the filename. For example, to highlight *.build files with the Python syntax, use
-m '*.build:Python'. To highlight files named '.myignore' with the Git Ignore syntax, use
-m '.myignore:Git Ignore'. Note that the right-hand side is the *name* of the syntax, not
a file extension.
--ignored-suffix <ignored-suffix>
Ignore extension. For example:
'bat --ignored-suffix ".dev" my_file.json.dev' will use JSON syntax, and ignore '.dev'
--theme <theme>
Set the theme for syntax highlighting. Use '--list-themes' to see all available themes. To
set a default theme, add the '--theme="..."' option to the configuration file or export
the BAT_THEME environment variable (e.g.: export BAT_THEME="...").
Special values:
* auto: Picks a dark or light theme depending on the terminal's colors (default).
Use '--theme-light' and '--theme-dark' to customize the selected theme.
* auto:always: Detect the terminal's colors even when the output is redirected.
* auto:system: Detect the color scheme from the system-wide preference (macOS only).
* dark: Use the dark theme specified by '--theme-dark'.
* light: Use the light theme specified by '--theme-light'.
--theme-light <theme>
Sets the theme name for syntax highlighting used when the terminal uses a light
background. Use '--list-themes' to see all available themes. To set a default theme, add
the '--theme-light="..." option to the configuration file or export the BAT_THEME_LIGHT
environment variable (e.g. export BAT_THEME_LIGHT="...").
--theme-dark <theme>
Sets the theme name for syntax highlighting used when the terminal uses a dark background.
Use '--list-themes' to see all available themes. To set a default theme, add the
'--theme-dark="..." option to the configuration file or export the BAT_THEME_DARK
environment variable (e.g. export BAT_THEME_DARK="...").
--list-themes
Display a list of supported themes for syntax highlighting.
-s, --squeeze-blank
Squeeze consecutive empty lines into a single empty line.
--squeeze-limit <squeeze-limit>
Set the maximum number of consecutive empty lines to be printed.
--strip-ansi <when>
Specify when to strip ANSI escape sequences from the input. The automatic mode will remove
escape sequences unless the syntax highlighting language is plain text. Possible values:
auto, always, *never*.
--style <components>
Configure which elements (line numbers, file headers, grid borders, Git modifications, ..)
to display in addition to the file contents. The argument is a comma-separated list of
components to display (e.g. 'numbers,changes,grid') or a pre-defined style ('full'). To
set a default style, add the '--style=".."' option to the configuration file or export the
BAT_STYLE environment variable (e.g.: export BAT_STYLE="..").
When styles are specified in multiple places, the "nearest" set of styles take precedence.
The command-line arguments are the highest priority, followed by the BAT_STYLE environment
variable, and then the configuration file. If any set of styles consists entirely of
components prefixed with "+" or "-", it will modify the previous set of styles instead of
replacing them.
By default, the following components are enabled:
changes, grid, header-filename, numbers, snip
Possible values:
* default: enables recommended style components (default).
* full: enables all available components.
* auto: same as 'default', unless the output is piped.
* plain: disables all available components.
* changes: show Git modification markers.
* header: alias for 'header-filename'.
* header-filename: show filenames before the content.
* header-filesize: show file sizes before the content.
* grid: vertical/horizontal lines to separate side bar
and the header from the content.
* rule: horizontal lines to delimit files.
* numbers: show line numbers in the side bar.
* snip: draw separation lines between distinct line ranges.
-r, --line-range <N:M>
Only print the specified range of lines for each file. For example:
'--line-range 30:40' prints lines 30 to 40
'--line-range :40' prints lines 1 to 40
'--line-range 40:' prints lines 40 to the end of the file
'--line-range 40' only prints line 40
'--line-range 30:+10' prints lines 30 to 40
-L, --list-languages
Display a list of supported languages for syntax highlighting.
-u, --unbuffered
This option exists for POSIX-compliance reasons ('u' is for 'unbuffered'). The output is
always unbuffered - this option is simply ignored.
--completion <SHELL>
Show shell completion for a certain shell. [possible values: bash, fish, zsh, ps1]
--diagnostic
Show diagnostic information for bug reports.
--acknowledgements
Show acknowledgements.
--set-terminal-title
Sets terminal title to filenames when using a pager.
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version

Some files were not shown because too many files have changed in this diff Show More