Compare commits

...

1805 Commits

Author SHA1 Message Date
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
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 `GlobMatcher`s 2023-12-11 10:21:05 +08:00
cyqsimon 4ad3002543
`s/Lazy<GlobMatcher>/Lazy<Option<GlobMatcher>>/` 2023-12-11 10:21:05 +08:00
cyqsimon cfd622d6e1
Migrate `SyntaxMapping` impl to new system
Most existing builtins are removed but not yet ported, so the test
`user_can_override_builtin_mappings` should fail. It should pass once the old
rules have been ported.
2023-12-11 10:21:05 +08:00
cyqsimon 1c7c9a6b6d
Split `syntax_mapping/builtin.rs` 2023-12-11 10:21:05 +08:00
cyqsimon 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 86ac48d68e.
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 8174e02279. Turns out
it is needed for a common use case, see
https://github.com/sharkdp/bat/issues/2307.

It is not a clean revert, because I adjust CHANGELOG.md and also add a
comment to the test. I also had to resolve a small `use` conflict.
2022-09-10 17:59:33 +02:00
John Higgins 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
Martin Nordholts 0655ecf23d Prepare for v0.20.0 release
Since we have added new enum variants to the `StyleComponent` which was
not previously marked `#[non_exhaustive]`, we must bump left-most
non-zero version number (see
[specifying-dependencies](https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#specifying-dependencies-from-cratesio)).
Otherwise client code that do exhaustive matches on `StyleComponent`
will stop compiling.
2022-02-27 07:39:22 +01:00
Martin Nordholts 671fc952bc release-checklist.md: Add tip on how to review the man page 2022-02-27 07:39:22 +01:00
Martin Nordholts 3c057aa590 Add header-filename and header-filesize where missing 2022-02-27 07:39:22 +01:00
Martin Nordholts 8e8c350391 release-checklist.md: Remove '## Dependencies' 2022-02-26 17:08:32 +01:00
Martin Nordholts 1ee49b4d97
CONTRIBUTING.md: Encourage regression tests (#2089)
* CONTRIBUTING.md: Encourage regression tests

* Add colon before listing pros of regression tests

Co-authored-by: Keith Hall <keith-hall@users.noreply.github.com>
2022-02-26 17:03:54 +01:00
cyqsimon 14ddda0a8b
Recognize files in `$XDG_CONFIG_HOME/git/` and `$HOME/.config/git/` better (#2067)
* git global config - lookup $XDG_CONFIG_HOME faithfully

* Use `bool::then`

* Cover both `$XDG_CONFIG_HOME` & `$HOME/.config`

* Remove unused import

* Global git config tests

* Added trailing newline

* Fix git config test

* Wrote to changelog

* Revert change of `Result::ok` to `Result::unwrap`

* Apply suggestions from code review

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

* Guard against empty `$HOME`

Co-authored-by: Martin Nordholts <enselic@gmail.com>
2022-02-26 17:01:00 +01:00
yuuji.yaginuma 36093dd3bc Fix a repology badge in READMEs
`https://repology.org/project/bat/` doesn't exist now.
2022-02-26 13:54:02 +01:00
Josh Pencheon ad6cae433a
fix Bash completion on macOS (#2074)
* fix Bash completion on macOS

The Homebrew-provided bash-completion is version 1.x,
which doesn't provide _init_completion. We add a standard
shim instead.

* Add entry to CHANGELOG

* Update CHANGELOG.md

Co-authored-by: Ville Skyttä <ville.skytta@iki.fi>

* review: avoid calling _split_longopt repeatedly

Co-authored-by: Ville Skyttä <ville.skytta@iki.fi>
2022-02-24 07:57:23 +01:00
ltdk e4f6fb2afe Add JQ syntax highlighting 2022-02-14 19:14:19 +01:00
Mahdi Dibaiee d21f1e8f17
Underline highlighted lines in ANSI theme (#1985)
* Underline highlighted lines in ANSI theme

* add test for ansi highlight underline, fix underscore in plain
2022-02-14 19:02:14 +01:00
Martin Nordholts f6ce5d2054 Write `# Defaults are used` in the file
To make it clear that the file intentionally contains no configuration options.
If it is completely empty it might look like a mistake on first sight.
2022-02-10 07:01:31 +01:00
cyqsimon b60225051d Add empty rustfmt to enfore default formatter settings 2022-02-10 07:01:31 +01:00
David Peter f2166ec6ec
Add additional note to sponsors.md 2022-02-09 21:57:52 +01:00
David Peter 491d32cbf3
Minor README change 2022-02-09 21:55:16 +01:00
Keith Hall 478712be38 make further improvements to docs relating to sponsors 2022-02-09 21:54:32 +01:00
Keith Hall d5d2fc4016 create separate sponsors.md file 2022-02-09 21:54:32 +01:00
Keith Hall ed7cd1c45b improve sponsor section in readme 2022-02-09 21:54:32 +01:00
Keith Hall f340893a21 Add WorkOS sponsor to readme 2022-02-09 21:54:32 +01:00
dependabot[bot] 9ad147278f
Bump assets/syntaxes/02_Extra/GLSL from `4cd4acf` to `59a5f8a` (#2050)
* Bump assets/syntaxes/02_Extra/GLSL from `4cd4acf` to `59a5f8a`

Bumps [assets/syntaxes/02_Extra/GLSL](https://github.com/euler0/sublime-glsl) from `4cd4acf` to `59a5f8a`.
- [Release notes](https://github.com/euler0/sublime-glsl/releases)
- [Commits](4cd4acfffc...59a5f8a312)

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

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

* Update CHANGELOG.md

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2022-02-08 17:11:31 +01:00
Dan Davison 4e36a56014
Expose syntect theme and syntax sets (#2030)
Fixes #2026
Ref https://github.com/dandavison/delta/issues/895
2022-02-08 08:00:12 +01:00
Mahdi Dibaiee 312c8ef01f
Add new `--style` called `header-filesize` and display it by default (#1988)
Also rename `header` to `header-filename`.

Related to #1701
2022-02-07 20:48:57 +01:00
dependabot[bot] f3f8194932
Bump assets/syntaxes/02_Extra/GraphQL from `59304d6` to `9b6f6d0` (#2000)
* Bump assets/syntaxes/02_Extra/GraphQL from `59304d6` to `9b6f6d0`

Bumps [assets/syntaxes/02_Extra/GraphQL](https://github.com/dncrews/GraphQL-SublimeText3) from `59304d6` to `9b6f6d0`.
- [Release notes](https://github.com/dncrews/GraphQL-SublimeText3/releases)
- [Commits](59304d6c7b...9b6f6d0a86)

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

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

* Update CHANGELOG.md

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2022-02-07 17:34:35 +01:00
dependabot[bot] 6ce26c43c9 Bump ansi_colours from 1.0.4 to 1.1.1
Bumps [ansi_colours](https://github.com/mina86/ansi_colours) from 1.0.4 to 1.1.1.
- [Release notes](https://github.com/mina86/ansi_colours/releases)
- [Commits](https://github.com/mina86/ansi_colours/compare/v1.0.4...v1.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 07:55:00 +01:00
Martin Nordholts 486510395b Allow the license used by GraphQL
This license is apparently common enough that GitHub recognizes it. See
https://github.com/dncrews/GraphQL-SublimeText3/blob/master/LICENSE.

This will fix the CI failure in #2000
2022-02-07 06:14:07 +01:00
dependabot[bot] 2ae4ffcdfa
Bump assets/syntaxes/02_Extra/VimL from `c91fe3a` to `ee85822` (#2002)
* Bump assets/syntaxes/02_Extra/VimL from `c91fe3a` to `ee85822`

Bumps [assets/syntaxes/02_Extra/VimL](https://github.com/SalGnt/Sublime-VimL) from `c91fe3a` to `ee85822`.
- [Release notes](https://github.com/SalGnt/Sublime-VimL/releases)
- [Commits](c91fe3ab02...ee85822cbe)

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

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

* Update CHANGELOG.md

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2022-02-06 22:29:36 +01:00
dependabot[bot] f5a7f86a64
Bump assets/syntaxes/02_Extra/TOML from `6bfcc3c` to `ed38438` (#2049)
* Bump assets/syntaxes/02_Extra/TOML from `6bfcc3c` to `ed38438`

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

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

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

* Update CHANGELOG.md for PR #2049

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2022-02-06 21:20:24 +01:00
Martin Nordholts 0fa99518ce run-benchmarks.sh: Use `python3` oneliner instead of `jq`
I am setting up a new computer and thus are missing a lot of tools. I
noticed we rely on `jq` being installed, which is a bit annoying when it
is not installed yet.

We can quite easily get rid of this dependecy on `jq` by using a simple
`python3` oneliner.
2022-02-03 08:00:14 +01:00
dependabot[bot] a565662cf3 Bump serde from 1.0.133 to 1.0.136
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.133 to 1.0.136.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.133...v1.0.136)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-01 17:20:43 +01:00
dependabot[bot] af44f0b3ff Bump tempfile from 3.2.0 to 3.3.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/Stebalien/tempfile/releases)
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/NEWS)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.2.0...v3.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-01 17:19:46 +01:00
dependabot[bot] 5ae1957c0e Bump assert_cmd from 2.0.2 to 2.0.4
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 2.0.2 to 2.0.4.
- [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.2...v2.0.4)

---
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-02-01 17:09:00 +01:00
Keith Hall 36be8d5929 Update README.md
Co-authored-by: Michael <2701605+michaelblyons@users.noreply.github.com>
2022-01-29 18:17:59 +01:00
Keith Hall a05c8ee1a8 README.md: Improve docs around --map-syntax argument based on feedback 2022-01-29 18:17:59 +01:00
Keith Hall eb4b1eb28f README.md: Clarify --map-syntax argument 2022-01-29 18:17:59 +01:00
klemens 9287cf6b0b small typos, should not interrupt anything 2022-01-09 12:59:01 +01:00
Martin Nordholts 76aa138230 CHANGELOG.md: Prepare a new "unreleased" section 2022-01-08 20:05:43 +01:00
Martin Nordholts 59a8f58be7 Run `assets/create.sh` 2022-01-08 17:01:20 +01:00
Martin Nordholts d3956be616 CHANGELOG.md: Rearrange and update for v0.19.0 2022-01-08 17:01:20 +01:00
Martin Nordholts 53fb0baa06 doc/README-ja.md: Update MSRV 2022-01-08 17:01:20 +01:00
Martin Nordholts c2232d457f Bump to v0.19.0 2022-01-08 17:01:20 +01:00
Martin Nordholts 77f51f0ee3 Run `cargo update` 2022-01-08 17:01:20 +01:00
Martin Nordholts 743c4ccb17 doc/release-checklist.md: Tweak 2022-01-08 17:01:20 +01:00
Martin Nordholts 5b37438f08 `bat --help`: Put `--ignored-suffix` directly after `--map-syntax`
It feels out of place to have between `--acknowledgements` and `--help`.
2022-01-08 17:01:20 +01:00
Mahdi Dibaiee 3f7bff90ba Add note regarding options passed to less by default in manpage
Fixes #1913

Signed-off-by: Mahdi Dibaiee <mdibaiee@pm.me>
2022-01-06 14:00:04 +01:00
Firegem 0c19d3e51a Add autogenerated `highlighted` folder 2022-01-06 13:08:38 +01:00
Firegem e73c3d2378 Add a test file for nimble 2022-01-06 13:08:38 +01:00
Firegem 31ca212f86 Highlight nimble files with nim syntax 2022-01-06 13:08:38 +01:00
Martin Nordholts 68528983d7 Mark `MappingTarget` as `#[non_exhaustive]` for increased semver flexibility
This will allow us to add new enum variants in the future without breaking
semver compatibility. See
https://doc.rust-lang.org/reference/attributes/type_system.html#the-non_exhaustive-attribute

Since we already added an enum variant since v0.18.3, now is a good time to mark
it as `#[non_exhaustive]`.
2022-01-04 08:19:51 +01:00
Martin Nordholts f89869b5b2 README.md: Add 'control characters' to Garbled output section
Fixes #1989
2022-01-03 22:16:08 +01:00
dependabot[bot] d4744dbed5 Bump assets/syntaxes/02_Extra/MediaWiki from `843a483` to `81bf97c`
Bumps [assets/syntaxes/02_Extra/MediaWiki](https://github.com/tosher/Mediawiker) from `843a483` to `81bf97c`.
- [Release notes](https://github.com/tosher/Mediawiker/releases)
- [Commits](843a483e8b...81bf97cace)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-03 08:57:37 +01:00
dependabot[bot] abbccc91ed Bump assets/syntaxes/02_Extra/ssh-config from `201816b` to `e1012e9`
Bumps [assets/syntaxes/02_Extra/ssh-config](https://github.com/robballou/sublimetext-sshconfig) from `201816b` to `e1012e9`.
- [Release notes](https://github.com/robballou/sublimetext-sshconfig/releases)
- [Commits](201816b609...e1012e9f13)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-03 08:56:55 +01:00
dependabot[bot] 080c5f3de4 Bump serde_yaml from 0.8.21 to 0.8.23
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml) from 0.8.21 to 0.8.23.
- [Release notes](https://github.com/dtolnay/serde-yaml/releases)
- [Commits](https://github.com/dtolnay/serde-yaml/compare/0.8.21...0.8.23)

---
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-01-01 12:17:55 +01:00
dependabot[bot] 079f6be88c Bump nix from 0.23.0 to 0.23.1
Bumps [nix](https://github.com/nix-rust/nix) from 0.23.0 to 0.23.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.0...v0.23.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-01 12:17:36 +01:00
dependabot[bot] c522ba78ed Bump serde from 1.0.130 to 1.0.132
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.130 to 1.0.132.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.130...v1.0.132)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-01 12:16:49 +01:00
dependabot[bot] 392bff6666 Bump once_cell from 1.8.0 to 1.9.0
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.8.0 to 1.9.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.8.0...v1.9.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-01-01 12:15:47 +01:00
Mahdi Dibaiee 6dc621ec18 Set minimum supported rust version to 1.51 2021-12-30 07:58:15 +01:00
dependabot[bot] 3358b075fb
Bump assets/syntaxes/02_Extra/TypeScript from `a607ddf` to `ba45efd` (#1834)
* Bump assets/syntaxes/02_Extra/TypeScript from `a607ddf` to `ba45efd`

Bumps [assets/syntaxes/02_Extra/TypeScript](https://github.com/Microsoft/TypeScript-Sublime-Plugin) from `a607ddf` to `ba45efd`.
- [Release notes](https://github.com/Microsoft/TypeScript-Sublime-Plugin/releases)
- [Commits](a607ddfec9...ba45efd058)

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

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

* Do machine-conversion from .tmLanguage to .sublime-syntax

The new .sublime-syntax files are pure "Tools" -> "Developer" -> "New Syntax
from ..." conversions from a licenced version of Sublime Text, Version 3.1.1,
Build 3176 with the .tmLanguage as the source files. No manual changes has been
made.

* Add CHANGELOG.md entry

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2021-12-12 20:07:50 +01:00
dependabot[bot] a02713dc15
Bump assets/syntaxes/02_Extra/PowerShell from `4a0a076` to `742f0b5` (#1935)
* Bump assets/syntaxes/02_Extra/PowerShell from `4a0a076` to `742f0b5`

Bumps [assets/syntaxes/02_Extra/PowerShell](https://github.com/PowerShell/EditorSyntax) from `4a0a076` to `742f0b5`.
- [Release notes](https://github.com/PowerShell/EditorSyntax/releases)
- [Commits](4a0a076661...742f0b5d4b)

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

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

* Do machine-conversion from .tmLanguage to .sublime-syntax

The new .sublime-syntax file is a pure "Tools" -> "Developer" -> "New Syntax
from ..." conversion from a licenced version of Sublime Text, Version 3.1.1,
Build 3176 with the .tmLanguage as the source file. No manual changes has been
made.

* Update regression test and add CHANGELOG.md entry

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2021-12-12 19:41:04 +01:00
dependabot[bot] ee1f5a9e89
Bump assets/syntaxes/02_Extra/SCSS_Sass from `63819a1` to `d3d9404` (#1766)
* Bump assets/syntaxes/02_Extra/SCSS_Sass from `63819a1` to `d3d9404`

Bumps [assets/syntaxes/02_Extra/SCSS_Sass](https://github.com/braver/SublimeSass) from `63819a1` to `d3d9404`.
- [Release notes](https://github.com/braver/SublimeSass/releases)
- [Commits](63819a1ab6...d3d9404640)

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

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

* Update regression test and add CHANGELOG.md entry

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2021-12-12 18:58:30 +01:00
Martin Nordholts 84a15f0b6e assets/create.sh: Reverse patches even if `bat cache` fails or aborts 2021-12-11 21:18:25 +01:00
Martin Nordholts a3ea798246
Credit syntax definition and theme authors with new `--acknowledgements` option (#1971)
The text that is printed is generated when building assets, by analyzing LICENSE
and NOTICE files that comes with syntaxes and themes.

We take this opportunity to also add a NOTICE file as defined by Apache License 2.0.
2021-12-11 14:00:45 +01:00
Ethan P 63ad53817d
Improved ANSI passthrough (#1596)
Improve handling of ANSI passthrough. Fix ANSI passthrough for --wrap=never. Add test for ANSI passthrough.
2021-12-08 16:06:42 +01:00
Martin Nordholts 6d0eb0749e run-benchmarks: Benchmark both --wrap=character and --wrap=never 2021-12-08 15:45:46 +01:00
Martin Nordholts 36c1ea4599 run-benchmarks.sh: Don't benchmark startup time syntaxes twice 2021-12-08 12:02:11 +01:00
Martin Nordholts e250da8aaa Run `cargo clippy --fix --all-targets --all-features` with Rust 1.57
Clippy in the newly released Rust 1.57 found some new lints. Conveniently, all
of them were fixable with `--fix`.
2021-12-08 08:45:04 +01:00
Martin Nordholts 7fceb4878f
Load themes lazily for improved startup time (#1969)
This is for #951. Syntax lazy-loading will come later and have a much bigger
impact, but lazy-loading of themes does not have negligible impact.
2021-12-06 09:14:15 +01:00
Ersikan 29711c178a
Better syntax highlighting for Dart (#1959)
Remove unmaintained Dart syntax submodule. Add elMuso/Dartlight as submodule. Update Dart syntax highlighting. Add changes to changelog.
2021-12-06 08:40:43 +01:00
dependabot[bot] 8072d5a3e3 Bump clap from 2.33.3 to 2.34.0
Bumps [clap](https://github.com/clap-rs/clap) from 2.33.3 to 2.34.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/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-05 20:33:04 +01:00
D3ara1n a5234105e5
Add a README-zh.md as the Chinese version of README.md (#1970)
Add README-zh.md to replace the outdated one. Also fix url ref.
2021-12-05 20:18:38 +01:00
Martin Nordholts 4236fa97cb release-checklist.md: Update `cargo outdated` section with link and arg 2021-12-03 09:17:32 +01:00
dependabot[bot] f5e3d9f010 Bump predicates from 2.0.3 to 2.1.0
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 2.0.3 to 2.1.0.
- [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.0.3...v2.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>
2021-12-01 06:06:54 +01:00
dependabot[bot] 6313e9ef2a Bump assets/syntaxes/02_Extra/TOML from `0f14b7c` to `6bfcc3c`
Bumps [assets/syntaxes/02_Extra/TOML](https://github.com/jasonwilliams/sublime_toml_highlighting) from `0f14b7c` to `6bfcc3c`.
- [Release notes](https://github.com/jasonwilliams/sublime_toml_highlighting/releases)
- [Commits](0f14b7caf3...6bfcc3c236)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-01 06:05:39 +01:00
Martin Nordholts ce89fb2751 CICD: Add check for accidental inclusion of GPL:ed code 2021-11-28 21:04:37 +01:00
David Peter 3338699257 Remove the 'requirements.txt' syntax
This is needed because the syntax is only available under GPL v3.0,
which is not compatible with `bat`s license.
2021-11-28 16:28:14 +01:00
Martin Nordholts 747b15436a run-benchmarks.sh: Add third 'Startup time' variant
Using Markdown for a startup test is useful since it has so many dependencies on
other syntaxes. So such a test makes sure that lazy-loading of syntaxes work.

It is however also useful to measure the startup time of bat when the time to
load a syntax is very small, and the measured startup time has mostly non-syntax
related causes. Such as:
 * Parsing arguments
 * Setting up syntax mapping
 * Loading themes

This commit adds such a test. It uses the CpuInfo syntax which is very small.
Only 14 lines, compared to the 1581 lines that Markdown is (not including the
size of its included syntaxes).

This command can be used to get an approximation of the size of syntaxes, and
thus how expensive they are to load:

    find -name *.sublime-syntax -print0 | xargs --null wc -l | sort -n -r
2021-11-27 10:39:17 +01:00
Martin Nordholts 206bf5b8d6 run-benchmarks.sh: Add new test 'Startup time with syntax highlighting' 2021-11-26 20:14:30 +01:00
Bojan Durdevic 9a2979df5f Changelog update 2021-11-24 07:27:36 +01:00
Bojan Durdevic b8e79a2160 Line range edge cases test 2021-11-24 07:27:36 +01:00
Bojan Durdevic 715b0d8bf5 Line range minus overflow prevention 2021-11-24 07:27:36 +01:00
Bojan Durdevic 0eb4aaac1e Line range minus syntax clippy suggestions addressed 2021-11-24 07:27:36 +01:00
Bojan Durdevic bc86c29185 Support for line range minus syntax 2021-11-24 07:27:36 +01:00
David Peter d2175d6382 Add test for ANSI sequence loop-through 2021-11-23 08:14:49 +01:00
David Peter b3aefd2d41 Add Python highlighting test 2021-11-23 08:14:49 +01:00
David Peter f7eb55aa01 Rename jquery file 2021-11-23 08:14:49 +01:00
David Peter 5e63d67960 Remove jquery-3.3.1.min.js benchmark 2021-11-23 08:14:49 +01:00
David Peter 6fd78ea3f6 Clean benchmarking environment 2021-11-23 08:14:49 +01:00
David Peter b12503a46a Markdown (and JSON) reports 2021-11-23 08:14:49 +01:00
David Peter ea2faf45e4 Simplify cargo-target-dir extraction 2021-11-23 08:14:49 +01:00
David Peter 1822c981da Move comparison.sh benchmark script to documentation 2021-11-23 08:14:49 +01:00
Martin Nordholts 5519f9c716 Use once_cell instead of lazy_static
once_cell can do what lazy_static does and more, so replace lazy_static with
once_cell.

See https://docs.rs/once_cell/1.8.0/once_cell/#general-purpose-lazy-evaluation
2021-11-22 22:03:03 +01:00
Martin Nordholts dd0925a946 Replace lazycell with once_cell
We started to use lazycell because syntect already used it. But syntect has
changed to use once_cell. So we should also do that to prepare for using the
upcoming version of syntect.
2021-11-22 22:03:03 +01:00
Martin Nordholts d7671fa8e3 Remove the code related to minimal_syntaxes.bin
To get fast startup, syntect will instead start to lazy-load syntaxes. See
https://github.com/trishume/syntect/pull/393 and discussions in linked PRs.
2021-11-22 20:42:01 +01:00
Martin Nordholts e79b07bf5e HighlightingAssets::get_syntax_set(): Make private
Was forgotten in aefc8fd824.
2021-11-22 20:42:01 +01:00
Shun Sakai 619cf6e6d6 Add MediaWiki syntax 2021-11-22 19:46:29 +01:00
Bojan Đurđević d6ed5e6746
Support for ignored-suffix CLI arguments (#1892) 2021-11-19 17:05:23 +01:00
Isabella Basso 59d4cfb75c
README.md: Add 'Garbled output' to 'Troubleshooting' (#1937)
As per #234, #403, #1572, #1823 and #1897, this commit clarifies that
`bat` cannot properly handle escape sequences.

Signed-off-by: Isabella Basso <isabbasso@riseup.net>
2021-11-19 07:09:19 +01:00
dependabot[bot] 194e7bbcd1 Bump assets/syntaxes/02_Extra/LESS from `a2eae04` to `836b47e`
Bumps [assets/syntaxes/02_Extra/LESS](https://github.com/danro/LESS-sublime) from `a2eae04` to `836b47e`.
- [Release notes](https://github.com/danro/LESS-sublime/releases)
- [Commits](a2eae0453e...836b47ec61)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-03 06:26:21 +01:00
Michael Currin 5d92a7c591 docs: fix up README 2021-11-02 21:34:00 +01:00
dependabot[bot] 7fbe090525 Bump assert_cmd from 2.0.1 to 2.0.2
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 2.0.1 to 2.0.2.
- [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.1...v2.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 06:40:19 +01:00
dependabot[bot] eaf64df4c6 Bump console from 0.14.1 to 0.15.0
Bumps [console](https://github.com/mitsuhiko/console) from 0.14.1 to 0.15.0.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Changelog](https://github.com/mitsuhiko/console/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/console/compare/0.14.1...v0.15.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 06:06:06 +01:00
dependabot[bot] a1558fb6bf Bump predicates from 2.0.2 to 2.0.3
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 2.0.2 to 2.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/v2.0.2...v2.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>
2021-11-01 05:54:04 +01:00
dependabot[bot] 18e999c92a Bump thiserror from 1.0.29 to 1.0.30
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.29 to 1.0.30.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.29...1.0.30)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 05:53:02 +01:00
rhysd d5f737f402 show skip message when asset cache is not found 2021-10-26 21:34:10 +02:00
cbolgiano 7fe4fdf33d
Introduce MapExtensionToUnknown MappingTarget (#1889)
Co-authored-by: Martin Nordholts <enselic@gmail.com>
2021-10-25 17:59:12 +02:00
David Peter 0b63ad5e8b create_highlighted_versions: fix misleading/wrong error message 2021-10-24 12:24:46 +02:00
Martin Nordholts 4081ace4b9 Include git hash in `bat -V` and `bat --version` output if present
I had to use a `lazy_static` due to that the clap API that only accepts a
reference to a version string. And, in our code, only a 'static reference to a
version string.

Code could probably be refactored to accept a "normal" reference, but that would
be a major undertaking.
2021-10-24 11:36:55 +02:00
Martin Nordholts dde770aa21 Add bat panic regression test for Svelte files with embedded LiveScript
Without a LiveScript syntax present, the Svelte test will now fail with a panic.
2021-10-23 13:35:32 +02:00
Martin Nordholts 6eb2cc9cac Add LiveScript syntax
The file `LiveScript.sublime-syntax` is a pure export from a licenced version
of Sublime Text, Version 3.1.1, Build 3176 with
assets/syntaxes/02_Extra/LiveScript/Syntaxes/LiveScript.tmLanguage as the source
file.
2021-10-23 13:35:32 +02:00
rhysd f28d9db3d0 use io::Empty instead of crafted dummy stdin struct 2021-10-23 13:04:24 +02:00
rhysd deb80af449 remove unused lifetime parameter 2021-10-23 13:04:24 +02:00
rhysd dc0acbbb90 inline a closure which is called only once 2021-10-23 13:04:24 +02:00
rhysd 92ba42a602 do not take stdin lock when stdin is not used 2021-10-23 13:04:24 +02:00
Ashutosh Sajan d5e61d2316
update ubuntu installation command (#1911) 2021-10-23 13:00:43 +02:00
rhysd ed3246c423 Make grep-cli optional dependency 2021-10-17 21:22:57 +02:00
Diva M 2339d78bf4 update snapshot tests 2021-10-17 21:21:23 +02:00
Diva M 3a3cd0acba changelog 2021-10-17 21:21:23 +02:00
Diva M ce4ddc0911 use saturating substraction to calculate Line ranges 2021-10-17 21:21:23 +02:00
i-ky aed4ea144f
Sync README header across translations (#1905)
* Fix links in Russian translation.
* Simplify links in Korean translation.
* Fix build status badge in Japanese and Russian translations.
* Add link from Japanese to Russian translation.
* Add line break between "topics" row and "translations" row.
* Remove "translations" from translations row in Japanese and Russian.
* Add consistent spacing between translation links.
* Add backreferences to English README.
* Remove self references.
* Split translations row across multiple lines for easier maintenance.

Co-authored-by: David Peter <sharkdp@users.noreply.github.com>
2021-10-17 21:15:23 +02:00
Raf Czlonka eea061c1d9 Add install instructions on OpenBSD 2021-10-17 21:11:07 +02:00
Ikko Ashimine 10288e309e Add Русский link 2021-10-17 20:44:15 +02:00
mac.mini ebdb00d4fc add security vulnerabilities in ko doc 2021-10-16 21:05:02 +02:00
NotWearingPants 6fc7ebf37a
Add missing style values in fish & zsh completions (#1890) 2021-10-11 19:13:16 +02:00
USER 8f6a0cd9e2 update Korean readme 2021-10-10 10:24:04 +02:00
Martin Nordholts 994c21a5e1
syntax-tests: Make CpuInfo test actually work (#1887)
* syntax-tests: Make CpuInfo test actually work

File extension matching is case-sensitive, so extension needs to be .cpuinfo for
the syntax to actually be used.

* Also fix MemInfo
2021-10-06 06:50:11 +02:00
Martin Nordholts 554374667e Deny unsafe code in lib and bin
The deny also applies recursively to submodules.
2021-10-04 08:08:33 +02:00
Martin Nordholts 043f3381b0
CICD: Make the 'cargo fmt' check a toplevel job (#1883)
Mainly to make it easier to see what went wrong when it fails.

If this ever gets of out sync with a particular Rust version, we can most likely
save the situation by introducing a `rustfmt.toml` file.
2021-10-04 08:08:14 +02:00
Georgy Komarov d04a83de7b Add Racket syntax 2021-10-03 19:17:26 +02:00
invakid404 b622a4d890 chore: add funtoo linux instructions 2021-10-03 09:15:36 +02:00
Roneo.Org b551d28a2f List available Ubuntu packages more precisely.
Ref: https://github.com/sharkdp/bat/pull/1865#issuecomment-931709001
2021-10-03 09:12:18 +02:00
Roneo.Org e6caa04209 Minor rephrasing 2021-10-03 09:12:18 +02:00
Roneo.Org adadedeab1 Update the doc for Ubuntu and Debian 2021-10-03 09:12:18 +02:00
dependabot[bot] a6cf5235aa Bump assert_cmd from 2.0.0 to 2.0.1
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 2.0.0 to 2.0.1.
- [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.0...v2.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-03 08:13:06 +02:00
dependabot[bot] 1477338106 Bump nix from 0.22.1 to 0.23.0
Bumps [nix](https://github.com/nix-rust/nix) from 0.22.1 to 0.23.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.22.1...v0.23.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-03 08:10:26 +02:00
Martin Nordholts 418fce5683 Bump MSRV to 1.46
See #1874 and #1872.
2021-10-03 07:51:37 +02:00
dependabot[bot] 7a15ba3796 Bump assets/syntaxes/02_Extra/Julia from `48639e1` to `1e55f32`
Bumps [assets/syntaxes/02_Extra/Julia](https://github.com/JuliaEditorSupport/Julia-sublime) from `48639e1` to `1e55f32`.
- [Release notes](https://github.com/JuliaEditorSupport/Julia-sublime/releases)
- [Commits](48639e1dbf...1e55f3211b)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-02 13:25:57 +02:00
dependabot[bot] 0f002a5b06 Bump serde_yaml from 0.8.20 to 0.8.21
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml) from 0.8.20 to 0.8.21.
- [Release notes](https://github.com/dtolnay/serde-yaml/releases)
- [Commits](https://github.com/dtolnay/serde-yaml/compare/0.8.20...0.8.21)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-02 13:20:53 +02:00
dependabot[bot] 5344a32d34 Bump unicode-width from 0.1.8 to 0.1.9
Bumps [unicode-width](https://github.com/unicode-rs/unicode-width) from 0.1.8 to 0.1.9.
- [Release notes](https://github.com/unicode-rs/unicode-width/releases)
- [Commits](https://github.com/unicode-rs/unicode-width/compare/v0.1.8...v0.1.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-02 12:18:05 +02:00
dependabot[bot] c9645693a4 Bump flate2 from 1.0.20 to 1.0.22
Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.0.20 to 1.0.22.
- [Release notes](https://github.com/rust-lang/flate2-rs/releases)
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.0.20...1.0.22)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-02 11:17:00 +02:00
dependabot[bot] f607263bdc Bump thiserror from 1.0.28 to 1.0.29
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.28 to 1.0.29.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.28...1.0.29)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-02 11:16:08 +02:00
dependabot[bot] f309d2fbd2 Bump serde from 1.0.127 to 1.0.130
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.127 to 1.0.130.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.127...v1.0.130)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-02 11:15:50 +02:00
Kuan-Yi Li 47283f226a Add bash completion to deb package
From the discussion in #1734, instead of using `env.PROJECT_NAME`,
`steps.strip.outputs.BIN_NAME` could potentially be a better choice as
the filename needs to match the called executable for bash-completion's
on demand loading to work. This `BIN_NAME` needs to stay in sync with
`env.PROJECT_EXECUTABLE` which is replaced in the template, but not
available for the deb build at this stage.

Follow the same route as for the fish/zsh completions for now for the
sake of consistency.

Closes #1733
2021-10-02 11:13:19 +02:00
Martin Nordholts aefc8fd824 src/printer.rs: Simplify Plain Text fallback code
By forwarding the task to find the `Plain Text` syntax to `assets`. Not only does
the code become simpler; we also get rid of a call to `self.get_syntax_set()`
which is beneficial to the long term goal of replacing `syntaxes.bin` with
`minimal_syntaxes.bin`.

Note that the use of `.expect()` is not a regression in error handling. It was
previously hidden in `.find_syntax_plain_text()`.
2021-09-29 17:54:45 +02:00
Martin Nordholts 405a80f3ee HighlightingAssets: Turn get_syntax_for_path() into public API 2021-09-28 07:26:20 +02:00
Martin Nordholts ad98d35a48 HighlightingAssets: Implement get_syntax_for_file_name() with get_syntax_for_path()
We can do this since the file_name() of a file_name is file_name.
2021-09-28 07:26:20 +02:00
Martin Nordholts b69ab219d7 HighlightingAssets: Extract get_syntax_for_path() method
To make the code easier to refactor further.
2021-09-28 07:26:20 +02:00
Martin Nordholts dc8225f682 src/assets.rs: Extract helper method OpenedInput::path() 2021-09-27 08:00:58 +02:00
Martin Nordholts 9d9b266f54 build_assets.rs: Enable dump of syntax dependencies to Graphviz dot file 2021-09-24 20:07:55 +02:00
Martin Nordholts b9d01c1a61 build_assets.rs: Ignore explicit contexts when tracking dependencies 2021-09-24 20:07:55 +02:00
Martin Nordholts 122cae7902 build_assets.rs: Sort first to make dependencies.dedup() actually useful 2021-09-24 20:07:55 +02:00
David Peter 44a332c1c4 Parallelize syntax regression tests
The syntax highlighting regression tests can be trivially parallelized.
On my notebook (8 core), this results in a 3.9x speedup.
2021-09-22 22:18:01 +02:00
Martin Nordholts 5143f3ad43 build_assets.rs: Add code to track dependents of each syntax
This information is useful when you want to build several SyntaxSets, but
without having to duplicate SyntaxDefinitions. For example:

"Rust" has no dependencies. But "Markdown" depends on "Rust". With the data
structures this code adds, we know that "Rust" is a dependent syntax for
"Markdown", and can construct a SyntaxSet that takes that into account.

Note that code has a temporary environment flag to ignore any information about
dependents when constructing SyntaxSets. Code that makes use of the new data
structure will be added later.
2021-09-22 09:14:19 +02:00
Martin Nordholts a6dc25a216 build_assets.rs: Make OtherSyntaxLookup come before SyntaxToDependencies
It makes more sense structurally when we later introduce SyntaxToDependents.
2021-09-22 09:14:19 +02:00
Martin Nordholts f04d2a9d6a build_assets.rs: Rename 'Dependency' to 'OtherSyntax'
So that we later can use it for not only information about dependencies, but
also for information about dependents.
2021-09-22 09:14:19 +02:00
Martin Nordholts eb3b3b9f8d src/printer.rs: Add HighlighterFromSet helper
The main benefit is that we get rid of a call to `assets.get_syntax_set()`,
which in turn makes it easier to later get rid of `syntaxes.bin`.
2021-09-22 06:11:32 +02:00
Martin Nordholts 0994f3783f HighlightingAssets: Move common get_extension_syntax() code into find_syntax_by_extension() 2021-09-22 06:03:24 +02:00
Martin Nordholts 974dec38e3 HighlightingAssets: Inline find_syntax_by_file_name() and find_syntax_by_file_name_extension()
There is no benefit to keeping separate functions.
2021-09-22 06:03:24 +02:00
Martin Nordholts a0c363647f src/assets.rs: Use /// not // for COMPRESS_* consts 2021-09-18 07:05:04 +02:00
Martin Nordholts d989224a8a HighlightingAssets: Inline absolute_path
Its name is confusing, because it does not always hold an absolute path. Get rid
of this problem by inlining it.
2021-09-18 06:19:52 +02:00
Martin Nordholts 82f439e715 HighlightingAssets: Simplify absolute_path with .map_or_else() 2021-09-18 06:19:52 +02:00
Martin Nordholts b034879eae HighlightingAssets: No need for both path and path_str 2021-09-18 06:19:52 +02:00
Martin Nordholts 9ed9a6fc3d
Simplify HighlightingAssets::get_syntax() first_line logic (#1852)
And make self.get_first_line_syntax() be called lazily.
2021-09-16 17:01:12 +02:00
Martin Nordholts e84b702309
Extract some private submodules from 'bat::assets' (#1850) 2021-09-15 07:59:33 +02:00
Martin Nordholts 6226eba52a HighlightingAssets: Add find_syntax_by_extension() helper 2021-09-14 07:38:36 +02:00
Martin Nordholts 9e0ea06435 HighlightingAssets: Add find_syntax_by_name() helper 2021-09-14 07:38:36 +02:00
Marcin Puc 863d9cacd0 Add various other code refactorings 2021-09-12 15:50:10 +02:00
Marcin Puc 4baa346aae Use deref coercion to simplify some argument passing 2021-09-12 15:50:10 +02:00
Marcin Puc 7956485e37 Improve iterator usage 2021-09-12 15:50:10 +02:00
Marcin Puc 372e42f350 Reduce nesting in if blocks by short circuiting 2021-09-12 15:50:10 +02:00
Martin Nordholts 9124271eaf
Load independent and minimal syntax sets when using --language (#1787)
This significantly speeds up the startup time of bat, since only a single
linked SyntaxDefinition is loaded for each file. The size increase of the
binary is just ~400 kB.

In order for startup time to be improved, the --language arg must be used, and
it must match one of the following names:

"Plain Text", "ActionScript", "AppleScript", "Batch File", "NAnt Build File",
"C#", "C", "CSS", "D", "Diff", "Erlang", "Go", "Haskell", "JSON", "Java
Properties", "BibTeX", "LaTeX Log", "TeX", "Lisp", "Lua", "MATLAB", "Pascal",
"R", "Regular Expression", "Rust", "SQL", "Scala", "Tcl", "XML", "YAML", "Apache
Conf", "ARM Assembly", "Assembly (x86_64)", "CMakeCache", "Comma Separated
Values", "Cabal", "CoffeeScript", "CpuInfo", "Dart Analysis Output", "Dart",
"Dockerfile", "DotENV", "F#", "Friendly Interactive Shell (fish)", "Fortran
(Fixed Form)", "Fortran (Modern)", "Fortran Namelist", "fstab", "GLSL",
"GraphQL", "Groff/troff", "group", "hosts", "INI", "Jinja2", "jsonnet",
"Kotlin", "Less", "LLVM", "Lean", "MemInfo", "Nim", "Ninja", "Nix", "passwd",
"PowerShell", "Protocol Buffer (TEXT)", "Puppet", "Rego", "resolv", "Robot
Framework", "SML", "Strace", "Stylus", "Solidity", "Vyper", "Swift",
"SystemVerilog", "TOML", "Terraform", "TypeScript", "TypeScriptReact",
"Verilog", "VimL", "Zig", "gnuplot", "log", "requirements.txt", "Highlight
non-printables", "Private Key", "varlink"

Later commits will improve startup time for more code paths.

* fix some typos and misspellings

* CHANGELOG.md: Add Performance section (preliminary)

* Add a CHANGELOG.md entry for this PR
2021-09-09 20:52:33 +02:00
Kevin John Mulligan 156dec2737 Add context to .ino configuration
This allows a user to search the README or the entire repository for "Arduino" to find the necessary configuration.
2021-09-07 20:21:12 +02:00
David Peter 27f046ec03 Consolidate environment variable lists
We want to make sure that all of our test environments are clean from
possible outside modification. This consolidates the list of used
environment variables in Rust-based and Python-based integration tests.

Note that there is also a similar list in `src/bin/bat/main.rs` which
is even more exhaustive (for bug report collection). However, some
of these variables can not possibly have an effect on test environments.
2021-09-07 20:17:16 +02:00
dependabot[bot] 74ae3dee91 Bump serde_yaml from 0.8.17 to 0.8.20
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml) from 0.8.17 to 0.8.20.
- [Release notes](https://github.com/dtolnay/serde-yaml/releases)
- [Commits](https://github.com/dtolnay/serde-yaml/compare/0.8.17...0.8.20)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-07 18:38:43 +02:00
Martin Nordholts 87978e7755
Make asset compression optional at compile time (#1825)
This will be needed to later support zero-copy deserialization of independent
syntax sets, but is interesting and useful on its own.

Instead of deferring serialization and deserialization to syntect, we implement it
ourselves in the same way, but make compression optional.
2021-09-07 17:21:48 +02:00
Martin Nordholts d935ea1cda
Add regression testing for the custom assets functionality (#1829)
The test is following the same steps regular users are instructed to follow:
https://github.com/sharkdp/bat/blob/master/README.md#adding-new-syntaxes--language-definitions
2021-09-07 17:01:15 +02:00
dependabot[bot] 9602195910 Bump assert_cmd from 1.0.8 to 2.0.0
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 1.0.8 to 2.0.0.
- [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/v1.0.8...v2.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-03 19:31:02 +02:00
Martin Nordholts 8ca852c728
CICD: Put documentation testing in its own job (#1831)
For increased parallelization and thus a faster CICD pipeline.
2021-09-03 18:03:52 +02:00
dependabot[bot] df067f7d1f Bump predicates from 2.0.1 to 2.0.2
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 2.0.1 to 2.0.2.
- [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.0.1...v2.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-02 17:11:06 +02:00
dependabot[bot] a8a81e99d2 Bump nix from 0.22.0 to 0.22.1
Bumps [nix](https://github.com/nix-rust/nix) from 0.22.0 to 0.22.1.
- [Release notes](https://github.com/nix-rust/nix/releases)
- [Changelog](https://github.com/nix-rust/nix/blob/v0.22.1/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.22.0...v0.22.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-02 17:09:12 +02:00
dependabot[bot] 65e7c531de Bump thiserror from 1.0.26 to 1.0.28
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.26 to 1.0.28.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.26...1.0.28)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-02 17:05:15 +02:00
Ville Skyttä 7c41bd72da assets: add Debian ucf backups to ignored suffixes
Refs https://manpages.debian.org/bullseye/ucf/ucf.1.en.html
2021-08-29 19:55:00 +02:00
Martin Nordholts 355a82db54 CICD: Sort build matrix by target 2021-08-29 15:39:25 +02:00
Martin Nordholts b3e17bde82 CICD: Remove disabled windows-2019 i686-pc-windows-gnu from build matrix
It just messes up alignment. Nothing gets better by keeing it around.
2021-08-29 15:39:25 +02:00
Martin Nordholts 4b38e7b1d7 CICD: Swap target and os in matrix job name
The full name can frequently not be shown, and target is more relevant than os,
so show target first.
2021-08-29 15:39:25 +02:00
Rashil Gandhi 43afae34be
Add PowerShell completion file (#1826) 2021-08-28 13:39:17 +02:00
Martin Nordholts 27fa55d274
src/build_assets.rs: Refactor into smaller functions (#1822)
To make the code easier to work with.
2021-08-27 09:56:20 +02:00
Martin Nordholts 19c3e82abf
Replace deprecated 'error-chain' with 'thiserror' (#1820)
We can't use #[from] on Error::Msg(String) because String does not implement Error.
(Which it shouldn't; see e.g. https://internals.rust-lang.org/t/impl-error-for-string/8881.)
So we implement From manually for Error::Msg, since our current code was written
in that way for error-chain.
2021-08-26 13:12:21 +02:00
Martin Nordholts f1c0fd7343
Don't take a HighlightingAssets detour to build assets (#1802)
Move code to build assets to its own file. That results in better modularity and flexibility.

It also allows us to simplify HighlightingAssets a lot, since it will now always
be initialized with a SerializedSyntaxSet.
2021-08-24 07:58:03 +02:00
Martin Nordholts 12dfbdc400
doc/release-checklist.md: Recommend git push origin tag vX.Y.Z (#1815) 2021-08-23 20:08:04 +02:00
Bojan Durdevic c86a179412 PR comments addressed for line range +delta syntax 2021-08-23 19:55:41 +02:00
Bojan Durdevic 0748783404 Support for line range plus syntax 2021-08-23 19:55:41 +02:00
Martin Nordholts b3247d9364 Merge the v0.18.3 hotfix release into master
The v0.18.3 release was a hotfix release to make bat build again with Rust 1.54.
This merge commit brings in all changes from the hotfix release into the master
branch.

In practice, this only brings in one new commit, namely b146958ec. The other
three commits in the release were cherry-picks from master.
2021-08-22 19:22:20 +02:00
Martin Nordholts ba8a694314 Add LANG and LC_ALL to --diagnostics output
To make it easier to debug problems like #1806 in the future.
2021-08-22 18:31:39 +02:00
Martin Nordholts b146958ecb Bump version to v0.18.3 2021-08-22 17:47:12 +02:00
David Peter ff70a80741 Add statically linked binaries for ARM 2021-08-22 15:52:23 +02:00
David Peter ecdb17148d Use Ubuntu 20.04 instead of 18.04 2021-08-22 15:52:23 +02:00
David Peter 11bd523f7e Remove post-release section 2021-08-22 09:38:35 +02:00
David Peter 01fbedc246 Formatting 2021-08-22 09:38:35 +02:00
David Peter 05e4e1f2f2 Add refined version of release checklist 2021-08-22 09:38:35 +02:00
David Peter 20223ad77c Add old release checklist 2021-08-22 09:38:35 +02:00
a1346054 51edacb5eb style: trim excess whitespace 2021-08-21 23:07:37 +02:00
a1346054 5197ef9048 fix: spelling 2021-08-21 23:07:37 +02:00
a1346054 19678527e5 chore(find-slow-to-highlight-files.py): be explicit about using python3
In many distros, `python` no longer leads to anything, and instead
`python2` or `python3` need to be explicitly run.
2021-08-21 23:07:37 +02:00
a1346054 5d319dee94 style(create.sh): remove non-POSIX keyword 2021-08-21 23:07:37 +02:00
Martin Nordholts 15c701b196 Bump bugreport to 0.4.1
(cherry picked from commit f6975e2acd)
2021-08-21 20:03:39 +02:00
David Peter d8339808a1 Update git2 dependency to fix incompatibility with Rust 1.54
(cherry picked from commit f3d53b79a2)
2021-08-21 20:02:56 +02:00
bl-ue 3b263f0917 Fix typo in README
(cherry picked from commit fc0794a83d)
2021-08-21 20:02:23 +02:00
Ville Skyttä 43e1a11ad8 Make Package Control reference a link 2021-08-19 07:21:32 +02:00
Martin Nordholts ed09f90e5e Fix all lints that are new with Rust 1.54
They are all of the following type:
https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
2021-08-19 07:19:12 +02:00
Martin Nordholts cbd96237fd CICD: Add 'cargo fmt' check 2021-08-19 07:18:05 +02:00
Martin Nordholts f5c1cb2dff Run 'cargo fmt' 2021-08-19 07:18:05 +02:00
Keith Hall 5eb93a6eae
Merge pull request #1800 from sharkdp/syslog_no_colon_after_process
Fix syslog syntax highlighting when no colon after "process"
2021-08-17 21:22:52 +03:00
Martin Nordholts 25fa577cd0 Make 'build-assets' an optional capability for application
Also structure features a bit more clever to avoid duplication of
feature dependency declarations.
2021-08-17 10:58:21 +02:00
Martin Nordholts deddc81426 src/assets.rs: Use ThemeSet::new() instead of BTreeMap::new() 2021-08-17 10:58:21 +02:00
Keith Hall 133b06e945 Fix syslog syntax highlighting when no colon after "process" 2021-08-16 22:15:39 +03:00
Mario Finelli 699f1e65cc Add slim syntax test 2021-08-16 06:16:53 +02:00
Mario Finelli 9ef87dab27 Convert tmLanguage into sublime-syntax 2021-08-16 06:16:53 +02:00
Mario Finelli 5125e9c941 Add support for ruby-slim syntax 2021-08-16 06:16:53 +02:00
Bill Risher 6c62ed5608 revamped integration test, made CHANGELOG changes 2021-08-14 22:02:58 +02:00
Bill Risher bf78288e9e feat(config): added recognition of $BAT_CONFIG_DIR 2021-08-14 22:02:58 +02:00
Keith Hall f8498b260b
Merge pull request #1793 from scop/syslog-improvements
Syslog highlight improvements
2021-08-12 09:49:33 +03:00
Ville Skyttä 79f08588c6 Mention syslog highlight improvements in change log 2021-08-11 23:03:33 +03:00
Ville Skyttä 2d92a4dbb3 Allow colon in syslog loghost
Makes it work with IPv6 addresses.
2021-08-11 21:36:43 +03:00
Ville Skyttä f508ddf66d Allow period in syslog loghost
Makes it work with FQDN's and IPv4 addresses.
2021-08-11 16:43:04 +03:00
Ville Skyttä 02218c916c Allow period in syslog process name 2021-08-11 16:41:56 +03:00
Martin Nordholts 89217e0d58 Make --no-paging and --no-pager work again 2021-08-09 13:37:56 +02:00
Martin Nordholts cb4973987b Cargo.toml: Introduce 'quick-build-application' feature
Use it like this:

  cargo build --no-default-features --features quick-build-application

It reduces dependencies to build from 154 to 125, allowing quicker iteration
when developing the app.
2021-08-08 11:18:26 +02:00
Martin Nordholts 905902d811 bin: Allow to build without bugreport 2021-08-08 11:18:26 +02:00
Martin Nordholts c83e382eac Cargo.toml: Only build bugreport with the app 2021-08-08 11:18:26 +02:00
Martin Nordholts f6975e2acd Bump bugreport to 0.4.1 2021-08-08 11:18:26 +02:00
Martin Nordholts d8b813c0bf
When returning a SyntaxReference, also return the SyntaxSet that contains it (#1776)
To improve startup performance, we will later load smaller `SyntaxSet`s instead
of one giant one. However, the current API assumes only one `SyntaxSet` is ever used,
and that that implicitly is the `SyntaxSet` from which returned `SyntaxReference`s
comes.

This change changes the API to reflect that `SyntaxSet` and `SyntaxReference`
are tightly coupled, and enables the use of several `SyntaxSet`.
2021-08-08 08:26:17 +02:00
Martin Nordholts 5236ed135e Fix typo in unreachable!(..) message for --wrap 2021-08-08 06:40:18 +02:00
Martin Nordholts 47d955a2ab Add code for analyzing dependencies between syntaxes
And also to generate independent SyntaxSets. This will later be used
to improve bat startup time.
2021-08-07 22:38:39 +02:00
Martin Nordholts bd797c75a4 integration_tests: Add diagnostic_sanity_check() 2021-08-07 20:07:46 +02:00
Keith Hall 05c11964fc add patch for Python syntax to help improve performance 2021-08-07 17:54:08 +02:00
Martin Nordholts 8ecd23eab4 Make --style docs reflect that 'full' is default
Closes #1742
2021-08-07 09:51:36 +02:00
Martin Nordholts 1ef0206f24 CHANGELOG.md: Highlight for `vimrc` and `gvimrc` files 2021-08-06 09:26:56 +02:00
dependabot[bot] 6694aa369e Bump assets/syntaxes/02_Extra/VimL from `7ebcaa1` to `c91fe3a`
Bumps [assets/syntaxes/02_Extra/VimL](https://github.com/SalGnt/Sublime-VimL) from `7ebcaa1` to `c91fe3a`.
- [Release notes](https://github.com/SalGnt/Sublime-VimL/releases)
- [Commits](7ebcaa1d98...c91fe3ab02)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-06 09:26:56 +02:00
Martin Nordholts 0331d28ee4 cargo fmt 2021-08-05 20:21:18 +02:00
Layle | Luca 51c7eb7ac1
Included LLVM syntax highlighting submodule and added regression tests 2021-08-05 20:20:33 +02:00
Keith Hall 5516bcb839
Merge pull request #1779 from sharkdp/http-request-response-syntax-update
Bump assets/syntaxes/02_Extra/http-request-response from f58bffe to 93b9326
2021-08-04 09:47:34 +03:00
Keith Hall 056b966501 Bump assets/syntaxes/02_Extra/http-request-response from f58bffe to 93b9326 2021-08-03 23:07:55 +03:00
Martin Nordholts 28eca6a2be Use assert!(..) instead of assert_eq!(true, ..)
This fixes all of these lint warnings:
https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison

They only appear in recent versions of clippy. Not on our MSRV.
2021-08-02 22:35:50 +02:00
dependabot[bot] b7fd55242e Bump assert_cmd from 1.0.5 to 1.0.8
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 1.0.5 to 1.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/v1.0.5...v1.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>
2021-08-02 22:19:55 +02:00
dependabot[bot] 8161955cc7 Bump nix from 0.21.0 to 0.22.0
Bumps [nix](https://github.com/nix-rust/nix) from 0.21.0 to 0.22.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/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 22:17:45 +02:00
Keith Hall 3b020fd95a
Merge pull request #1771 from sharkdp/warn_when_missing_contexts
Warn when building assets from files if some referenced contexts are missing
2021-08-02 22:55:37 +03:00
Martin Nordholts 697d106bd4 CICD: Pass --locked to all cargo commands
To avoid that earlier cargo commands "fixes" Cargo.lock before cargo commands
with --locked has a chance to check if it is up to date.
2021-08-02 21:49:51 +02:00
Keith Hall 50e1c6074f Warn when building assets from files if some referenced contexts are missing 2021-08-02 21:22:01 +03:00
Martin Nordholts a610987ef7 assets::tests: Add get_syntax_name() helper
And instead of taking a get_syntax_set() detour to return a
name that represents "no syntax", return such a string directly.
2021-08-02 19:23:14 +02:00
dependabot[bot] a7fd9f4b1b Bump predicates from 1.0.8 to 2.0.1
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 1.0.8 to 2.0.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/v1.0.8...v2.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-01 23:18:16 +02:00
dependabot[bot] 5f5b77cdda Bump semver from 0.11.0 to 1.0.4
Bumps [semver](https://github.com/dtolnay/semver) from 0.11.0 to 1.0.4.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/0.11.0...1.0.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-01 13:58:34 +02:00
dependabot[bot] 83808a63be Bump serde from 1.0.126 to 1.0.127
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.126 to 1.0.127.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.126...v1.0.127)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-01 13:56:19 +02:00
Keith Hall 6d5ff671e7 Add HTTP Request/Response syntax as a git submodule 2021-07-29 21:36:16 +02:00
Martin Nordholts ffdf349a96 HighlightingAssets: Encapsulate theme_set behind a getter
Mainly to prepare for potential lazy-loading in the future to
improve startup performance. Like we did for syntax_set.
2021-07-29 21:30:03 +02:00
David Peter f3d53b79a2 Update git2 dependency to fix incompatibility with Rust 1.54 2021-07-29 20:59:37 +02:00
Martin Nordholts 6acec2c074 Reduce startup time in loop-through mode with 80%-90%
Instead of 100 ms - 50 ms, startup takes 10 ms - 5 ms.

HighlightingAssets::get_syntax_set() is never called when e.g. piping the bat
output to a file (see Config::loop_through), so by loading the SyntaxSet only
when needed, we radically improve startup time when it is not needed.
2021-07-29 20:36:05 +02:00
Martin Nordholts 1bac3750df HighlightingAssets: Move out fn get_integrated_*set() to module scope
They are just a way to get access to data embedded in the binary, so they don't
conceptually belong inside HighlightingAssets.

This has the nice side effect of getting HighlightingAssets::from_cache() and
::from_binary(), that are highly related, next to each other.
2021-07-29 20:36:05 +02:00
Martin Nordholts b040efff79 Support a hidden arg --no-custom-assets that skips loading assets from the cache 2021-07-29 08:27:02 +02:00
Martin Nordholts a81009607a HighlightingAssets: Make .syntaxes() and syntax_for_file_name() failable
Or rather, introduce new versions of these methods and deprecate the old ones.

This is preparation to enable robust and user-friendly support for lazy-loading.
With lazy-loading, we don't know if the SyntaxSet is valid until after we try to
use it, so wherever we try to use it, we need to return a Result. See discussion
about panics in #1747.
2021-07-29 08:26:18 +02:00
Martin Nordholts c0e09662b4 HighlightingAssets::get_extension_syntax(): Split up into smaller methods
To make the code easier to understand and change.
2021-07-28 08:42:18 +02:00
Martin Nordholts ccf4563573 Make loading of cached assets closer in performance to integrated assets
Using BufReader makes sense for large files, but assets are never large enough
to require buffering. It is significantly faster to load the file contents in
one go, so let's do that instead.

Closes #1753
2021-07-27 14:53:59 +02:00
David Peter fb1ab09e3e Add Enselic in FUNDING.yml 2021-07-26 20:11:34 +02:00
Sarvesh MD f464b1ba39 Update battest.py
Add decorator test `@classmethod` and fixed spellings.
2021-07-26 08:44:05 +02:00
Frank Steffahn 2ea6348b85 Add `rs` identifier for Rust code blocks in Markdown 2021-07-25 15:11:23 +02:00
David Peter 6e536ab06d Update CHANGELOG 2021-07-25 13:28:43 +02:00
Ville Skyttä 7537e309d8 Add groff syntax
The syntax is named "Man Page" upstream, but our man page syntax is
different, it's for rendered man pages. Rename to Groff and remove
`.man` from extensions.
2021-07-25 13:27:30 +02:00
David Peter 84e2a2e5d1 Add custom FUNDING.yml 2021-07-25 12:30:40 +02:00
Martin Nordholts f6fc826dc6 HighlightingAssets: Introduce private fn new() helper
It already now reduces code duplication slightly, but will become even more
useful in the future when we add more complicated logic such as lazy-loading.
2021-07-20 06:34:32 +02:00
Martin Nordholts 375d55aa5d HighlightingAssets: Encapsulate syntax_set behind a getter
Since we only modify `pub(crate)` items, the stable bat-as-a-library API is not
affected.

This takes us one step closer to making SyntaxSet lazy-loaded, which in turn
takes us one step closer to solving #951.
2021-07-19 05:27:12 +02:00
Martin Nordholts 6ef2bb3283 De-duplicate some themes.bin and syntaxes.bin related code 2021-07-15 16:22:35 +02:00
bl-ue fc0794a83d Fix typo in README 2021-07-13 15:54:18 +02:00
David Peter 589df6792f Add note on vulnerability reporting, closes #1473 2021-07-13 11:00:36 +02:00
David Peter 945bba777b Upgrade CHANGELOG with security vulnerability notice 2021-07-13 10:56:51 +02:00
David Peter 64763eafbe Update Julia syntax test 2021-07-13 09:07:29 +02:00
David Peter 3da4651569 Update Julia syntax, closes #1692 2021-07-13 08:50:23 +02:00
David Peter 311ed2feca Update assets 2021-07-13 08:32:26 +02:00
David Peter 33c11d64f0 Run cargo fmt 2021-07-13 08:19:59 +02:00
David Peter a4b674902f Bump version to v0.18.2 2021-07-12 23:17:48 +02:00
David Peter 3fa09dbe2e Use resolved path for --diagnostic as well 2021-07-12 23:17:30 +02:00
David Peter bf2b2df9c9 Fix for Windows: do not run binaries from CWD
This fixes a bug on Windows where `Command::new` would also run
executables from the current working directory, possibly resulting in
accidental runs of programs called `less`.
2021-07-12 23:17:30 +02:00
dependabot[bot] 3617c98cf5 Bump assets/syntaxes/02_Extra/CMake from `7d6231c` to `ab6ef4e`
Bumps [assets/syntaxes/02_Extra/CMake](https://github.com/zyxar/Sublime-CMakeLists) from `7d6231c` to `ab6ef4e`.
- [Release notes](https://github.com/zyxar/Sublime-CMakeLists/releases)
- [Commits](7d6231c934...ab6ef4ef9f)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-12 21:19:05 +02:00
dependabot[bot] 774d36c989 Bump ansi_colours from 1.0.2 to 1.0.4
Bumps [ansi_colours](https://github.com/mina86/ansi_colours) from 1.0.2 to 1.0.4.
- [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-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-12 21:18:42 +02:00
dependabot[bot] 6abd61865f Bump globset from 0.4.6 to 0.4.8
Bumps [globset](https://github.com/BurntSushi/ripgrep) from 0.4.6 to 0.4.8.
- [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.6...globset-0.4.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-12 21:18:21 +02:00
David Peter 3c59b98dc8 Add CHANGELOG entry for #1687 2021-07-09 06:36:06 +02:00
David Peter 21338ed789 Abort ignored filename suffix stripping early on unworkable filenames 2021-07-09 06:34:11 +02:00
David Peter dc8ab0b5ce Simplify ignored filename suffix stripping 2021-07-09 06:34:11 +02:00
Ville Skyttä ddb39ef2f6 Add syntax tests for ignored filename suffixes 2021-07-09 06:34:11 +02:00
Ville Skyttä 355e62efe9 Find syntax ignoring known backup/template filename suffixes
For example, fall back to `foo.extension` for `foo.extension~`,
`foo.extension.orig`, `foo.extension.in.in` etc.
2021-07-09 06:34:11 +02:00
David Peter fddd11a205 CICD: sync with pastel, minor changes 2021-07-05 17:24:59 +02:00
Ville Skyttä 8b37e62cf3 Add some more options to bash completion
https://github.com/sharkdp/bat/pull/1702#issuecomment-872452683
2021-07-01 22:47:00 +02:00
dependabot[bot] 4296d47dcb Bump assert_cmd from 1.0.4 to 1.0.5
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 1.0.4 to 1.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/v1.0.4...v1.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>
2021-07-01 20:23:05 +02:00
Frederick Zhang 42f1ef019a Fix missing config/cache arguments in Zsh completion 2021-06-28 11:59:01 +02:00
Frederick Zhang fe8e526292 Document --generate-config-file in manual 2021-06-28 11:59:01 +02:00
Ville Skyttä 0e9d612173 Add change log entry for bash completion 2021-06-28 11:58:03 +02:00
Ville Skyttä 06c601bc7c Depend on scop/bash-completion
For = option/arg separator support, improved mid-word completion
behavior, code cleanliness.
2021-06-28 11:58:03 +02:00
Ville Skyttä 229fbc1a18 Add missing comment about --theme arg escaping 2021-06-28 11:58:03 +02:00
Ville Skyttä e05f5010da Add bash completion
Closes https://github.com/sharkdp/bat/issues/1010
2021-06-28 11:58:03 +02:00
Martin Nordholts 073b9968c0 pretty_printer.rs: Don't use a URL as an example Input title
Otherwise Rust 1.53.0 gets confused during `cargo doc` because it thinks
we want an actual URL:

    warning: this URL is not a hyperlink
    --> src/pretty_printer.rs:331:40
        |
    331 |     /// The title for the input (e.g. "http://example.com/example.txt")
        |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `<http://example.com/example.txt>`
        |
        = note: `#[warn(rustdoc::bare_urls)]` on by default
        = note: bare URLs are not automatically turned into clickable links

It was perhaps also a bit confusing to give an URL as an example in the
first place, because according to our own API example
`examples/inputs.rs` it is meant to be more a free-text thing.
2021-06-28 07:10:30 +02:00
Rémi Ait-Younes d3aa17ae77 Update README.md 2021-06-27 21:08:59 +02:00
Rémi Ait-Younes 4187eed12b Update README.md 2021-06-27 21:08:59 +02:00
Mohamed Abdelnour 12ecb325c9 Modify Linguist overrides 2021-06-14 08:36:20 +02:00
Ville Skyttä 90e48e9b61 Spelling fixes 2021-06-13 22:08:56 +02:00
Kid 35f31270f3 Highlight mtab files with fstab highlighting 2021-06-10 14:46:36 +02:00
Martin Nordholts 2a71852070 README.md: List compatibility as another advantage to 3-bit themes
See discussion in #1681.
2021-06-10 13:54:24 +02:00
Martin Nordholts c8dd32802d README.md: Mention that PAGER is ignored if set to more or most
Fixes #1666
2021-06-08 07:13:46 +02:00
dependabot[bot] 71f04dc0e8 Bump nix from 0.20.0 to 0.21.0
Bumps [nix](https://github.com/nix-rust/nix) from 0.20.0 to 0.21.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.20.0...v0.21.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-05 16:50:41 +02:00
dependabot[bot] 49f8bbfee4 Bump assert_cmd from 1.0.3 to 1.0.4
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 1.0.3 to 1.0.4.
- [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/v1.0.3...v1.0.4)

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-02 08:04:30 +02:00
Martin Nordholts f4217eba73
Merge pull request #1669 from sharkdp/dependabot/submodules/assets/syntaxes/02_Extra/DotENV-58201ba
Bump assets/syntaxes/02_Extra/DotENV from `a1c9176` to `58201ba`
2021-06-02 07:48:13 +02:00
Mohamed Abdelnour 14900f6ed8 Update `CHANGELOG.md` for #1668 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour c18afcb01a Add Verilog syntax test file 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour 63043d4a60 Add varlink syntax test file 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour 76034880ae Add TypeScriptReact syntax test file 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour 768189859a Add Stylus syntax test file 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour 6e5a2a5c51 Add Strace syntax test file 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour 9935c4984c Add Robot Framework syntax test file 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour a0a5e30c39 Add Rego syntax test file 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour 4126bbeead Add Puppet syntax test file 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour a5b79295d7 Add NAnt Build File syntax test file 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour e917784932 Add Literate Haskell syntax test file 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour f46b90d28d Add jsonnet syntax test file 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour 64cbfbed47 Add Java Server Page (JSP) syntax test file 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour 1ced35ec76 Add 'NOTICE' to list of file names to skip 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour 16d346773b Add Fortran Namelist syntax test file 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour b02120cf66 Add Fortran (Fixed Form) syntax test file 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour 702b5caf2d Add Fortran (Modern) syntax test file 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour d395f64f58 Add F# syntax test file 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour c9627040cc Add CoffeeScript syntax test file 2021-06-01 22:36:56 +02:00
Mohamed Abdelnour b1f69434f9 Add Cabal syntax test file 2021-06-01 22:36:56 +02:00
Martin Nordholts bcca56e3b1 CHANGELOG.md: Apply DotENV syntax also for .env.default and .env.defaults 2021-06-01 18:45:17 +02:00
Martin Nordholts 2f98610929 DotENV.sublime-syntax: Re-exported after .tmLanguage update
Exported from licenced version of Sublime Text, Version 3.1.1, Build
3176.
2021-06-01 18:39:39 +02:00
dependabot[bot] 89539ff247
Bump assets/syntaxes/02_Extra/DotENV from `a1c9176` to `58201ba`
Bumps [assets/syntaxes/02_Extra/DotENV](https://github.com/zaynali53/DotENV) from `a1c9176` to `58201ba`.
- [Release notes](https://github.com/zaynali53/DotENV/releases)
- [Commits](a1c917633d...58201ba2ab)

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-01 02:01:58 +00:00
Mohamed Abdelnour aa74d19940 Refactor "Use `matches` macro" 2021-05-27 12:05:07 +02:00
Mohamed Abdelnour cf7d9ef962 Update `CHANGELOG.md` for #1661 2021-05-27 12:05:07 +02:00
Mohamed Abdelnour 425a0f90e9 Use the functional update syntax 2021-05-27 12:05:07 +02:00
Mohamed Abdelnour a27814db8e Implement `From<..>` instead of `Into<..>` 2021-05-27 12:05:07 +02:00
Mohamed Abdelnour 9702f5256c Use the functional update syntax 2021-05-27 12:05:07 +02:00
Mohamed Abdelnour 23fd11e806 Use `matches` macro 2021-05-27 12:05:07 +02:00
Mohamed Abdelnour 304ee1489c Use `!theme.is_empty()` 2021-05-27 12:05:07 +02:00
Ryooooooga 07d4179274 ja: add section about integration with fzf
ref: c569774e1a
2021-05-24 22:12:43 +02:00
Ryooooooga 1439dde265 ja: fix typo 2021-05-24 22:12:43 +02:00
Keith Hall bef0bf1654
Merge pull request #1654 from mohamed-abdelnour/support-dash-syntax
Add support for dash shebang
2021-05-15 11:33:23 +03:00
Mohamed Abdelnour 8435cad602 Merge master 2021-05-15 09:41:27 +02:00
Keith Hall 52c11fe23d
Merge pull request #1655 from mohamed-abdelnour/support-xaml-files
Add support for XAML files
2021-05-15 10:02:11 +03:00
Mohamed Abdelnour 6fc9641f6a Update CHANGELOG for #1655 2021-05-15 00:13:42 +02:00
Mohamed Abdelnour 8b6341458b Add XAML test file 2021-05-14 23:59:11 +02:00
Mohamed Abdelnour 8b787b4f70 Add dash test file 2021-05-14 23:02:23 +02:00
Mohamed Abdelnour ef5154d5b3 Update CHANGELOG for #1654 2021-05-14 22:12:58 +02:00
Mohamed Abdelnour 7c49919297 Add support for XAML files 2021-05-14 18:43:06 +02:00
Mohamed Abdelnour 395a169104 Add support for dash shebang 2021-05-14 18:16:38 +02:00
David Peter 93f710bdff
Merge pull request #1652 from Zeta611/master
Update the Korean version of the README
2021-05-14 17:15:06 +02:00
Jaeho Lee 170badfdd1
Fix broken img link 2021-05-14 14:15:14 +00:00
Jaeho Lee 978b9adc56
Update and polish Korean translation
- Fix Korean grammar
- Show original English words that can improve comprehensiveness side-by-side
- Reflect the updated README
- Fix broken links
- Other miscellaneous improvements
2021-05-14 13:52:12 +00:00
David Peter 3aea51455b
Merge pull request #1649 from sharkdp/v0.18.1
bat 0.18.1
2021-05-13 10:06:50 +02:00
David Peter f827ed338b Update binary assets 2021-05-12 22:55:40 +02:00
David Peter 73dab51ad1 Bump version, update dependencies 2021-05-12 22:55:25 +02:00
David Peter 9328007d05 Updated CHANGELOG 2021-05-12 22:46:44 +02:00
David Peter 8d173cd960
Merge pull request #1598 from PatriotRossii/feature/dark_plus_theme
Add Dark+ theme
2021-05-12 22:45:53 +02:00
David Peter fb0f12a221
Merge pull request #1643 from sharkdp/dependabot/submodules/assets/syntaxes/02_Extra/Lean-29a03a8
Bump assets/syntaxes/02_Extra/Lean from `824213d` to `29a03a8`
2021-05-12 22:35:01 +02:00
David Peter 9866408b72
Merge pull request #1647 from sharkdp/dependabot/cargo/serde-1.0.125
Bump serde from 1.0.124 to 1.0.125
2021-05-12 22:34:36 +02:00
David Peter aaac56d895
Merge pull request #1648 from sharkdp/dependabot/cargo/console-0.14.1
Bump console from 0.14.0 to 0.14.1
2021-05-12 22:34:21 +02:00
David Peter 516da7719f
Merge pull request #1646 from sharkdp/dependabot/cargo/bugreport-0.4.0
Bump bugreport from 0.3.0 to 0.4.0
2021-05-12 22:34:00 +02:00
David Peter d4df0b4405
Merge pull request #1645 from sharkdp/dependabot/submodules/assets/syntaxes/02_Extra/FSharp-9e4645c
Bump assets/syntaxes/02_Extra/FSharp from `c18616d` to `9e4645c`
2021-05-12 22:33:50 +02:00
David Peter bfa9c3bef6
Merge branch 'master' into feature/dark_plus_theme 2021-05-12 22:28:10 +02:00
David Peter 2904f24ea8
Merge pull request #1606 from sharkdp/syslog
Improve Syslog and general log file highlighting
2021-05-12 22:22:50 +02:00
Allen Wild 91a347bf6d Fix less version parsing for minor versions of less
Less 581.2 is here, and it has a ".2" in the version string, which can't
be parsed as a usize.

Update the check to find a non-digit character rather than a space. This
ignores the minor version, but parses the major version correctly.
2021-05-12 11:47:16 +02:00
Ersikan e219c8fc03 Update SublimeEthereum version
A fix I submitted upstream was merged, and this commit bumps the submodule
to include it.
2021-05-12 11:42:17 +02:00
Ersikan 9eb26b702c Add syntax test for Vyper language 2021-05-12 11:42:17 +02:00
Ersikan c933be926d Add syntax tests for Solidity language. 2021-05-12 11:42:17 +02:00
Ersikan fc88040b31 Add Solidity and Vyper syntax 2021-05-12 11:42:17 +02:00
David Peter 5db3c93057
Merge branch 'master' into syslog 2021-05-12 11:34:35 +02:00
David Peter aa442b5795
Merge branch 'master' into feature/dark_plus_theme 2021-05-12 11:30:49 +02:00
dependabot[bot] 09711cd6f9
Bump assets/syntaxes/02_Extra/Lean from `824213d` to `29a03a8`
Bumps [assets/syntaxes/02_Extra/Lean](https://github.com/leanprover/vscode-lean) from `824213d` to `29a03a8`.
- [Release notes](https://github.com/leanprover/vscode-lean/releases)
- [Commits](824213de37...29a03a8aba)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-12 09:27:14 +00:00
dependabot[bot] b16cacc758 Bump assets/syntaxes/02_Extra/SCSS_Sass from `4868322` to `63819a1`
Bumps [assets/syntaxes/02_Extra/SCSS_Sass](https://github.com/braver/SublimeSass) from `4868322` to `63819a1`.
- [Release notes](https://github.com/braver/SublimeSass/releases)
- [Commits](4868322030...63819a1ab6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-12 11:24:59 +02:00
dependabot[bot] 51451a9636
Bump console from 0.14.0 to 0.14.1
Bumps [console](https://github.com/mitsuhiko/console) from 0.14.0 to 0.14.1.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Changelog](https://github.com/mitsuhiko/console/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/console/compare/0.14.0...0.14.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-12 09:20:10 +00:00
dependabot[bot] fbc03da997
Bump serde from 1.0.124 to 1.0.125
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.124 to 1.0.125.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.124...v1.0.125)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-12 09:20:01 +00:00
dependabot[bot] 1a610dbdd2
Bump bugreport from 0.3.0 to 0.4.0
Bumps [bugreport](https://github.com/sharkdp/bugreport) from 0.3.0 to 0.4.0.
- [Release notes](https://github.com/sharkdp/bugreport/releases)
- [Commits](https://github.com/sharkdp/bugreport/compare/v0.3.0...v0.4.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-12 09:19:52 +00:00
dependabot[bot] a30e3c9066
Bump assets/syntaxes/02_Extra/FSharp from `c18616d` to `9e4645c`
Bumps [assets/syntaxes/02_Extra/FSharp](https://github.com/hoest/sublimetext-fsharp) from `c18616d` to `9e4645c`.
- [Release notes](https://github.com/hoest/sublimetext-fsharp/releases)
- [Commits](c18616d6bd...9e4645c608)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-12 09:19:28 +00:00
dependabot-preview[bot] 613b41e357 Bump assets/syntaxes/02_Extra/Julia from `45a1b6f` to `cc13e7d`
Bumps [assets/syntaxes/02_Extra/Julia](https://github.com/JuliaEditorSupport/Julia-sublime) from `45a1b6f` to `cc13e7d`.
- [Release notes](https://github.com/JuliaEditorSupport/Julia-sublime/releases)
- [Commits](45a1b6fe6c...cc13e7d4ef)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-05-12 11:19:14 +02:00
dependabot-preview[bot] d405aa98d5 Bump console from 0.14.0 to 0.14.1
Bumps [console](https://github.com/mitsuhiko/console) from 0.14.0 to 0.14.1.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Changelog](https://github.com/mitsuhiko/console/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/console/compare/0.14.0...0.14.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-05-12 11:18:46 +02:00
dependabot-preview[bot] 285b1556a9 Upgrade to GitHub-native Dependabot 2021-05-12 11:18:03 +02:00
Marco Ieni 8321cc661c
CI: check docs (#1612) 2021-05-12 07:20:12 +02:00
Keith Hall 848ceb6f10 Remove variable.other from CSV highlighting 2021-05-11 21:04:02 +02:00
Keith Hall 3559079de0 Improvements to CSV highlighting 2021-05-11 21:04:02 +02:00
Keith Hall b3ab843954 add warning highlighting to log file syntax definition 2021-04-09 22:09:01 +03:00
Keith Hall 867cf63dd9 add word boundaries to log syntax highlighting 2021-04-07 22:33:59 +03:00
Ethan P 0b44aa6f68
Merge pull request #1589 from Enselic/include-less-in-diagnostic
Include LESS in --diagnostic
2021-04-06 16:03:26 -07:00
Ethan P aa09a9dc04
Update changelog for #1589 2021-04-06 15:33:34 -07:00
Keith Hall 7c4edacb2b Add independent log syntax 2021-04-06 23:55:22 +03:00
Keith Hall 782ede5db5 improve syslog syntax 2021-04-05 22:24:04 +03:00
Keith Hall 1537733e6b replace Syslog dependency with a custom syntax 2021-04-04 22:47:01 +03:00
Keith Hall ba0d43672b add example syslog file for highlighting tests 2021-04-04 22:41:48 +03:00
msnspk 4384d25c79 Change TheClams/SystemVerilog submodule to use HTTPS
Using SSH to fetch the submodule was causing build failures for me, and as mentioned in #1581, this should be changed to HTTPS
2021-03-27 11:05:00 +01:00
PatriotRossii b6e3786529 Revert "Update of themes.bin that adds Dark+"
This reverts commit 6fff01397d.

Restore themes.bin
2021-03-24 21:27:02 +06:00
PatriotRossii 6fff01397d Update of themes.bin that adds Dark+ 2021-03-24 21:11:29 +06:00
PatriotRossii 0cd52e5be1
Add "Visual Studio Dark+" theme to vec of themes 2021-03-24 18:39:06 +05:00
PatriotRossii c14dd34dca Add Dark+ theme 2021-03-24 17:52:44 +05:00
Martin Nordholts e04fbd1992 Include LESS in --diagnostic
So issues like #1586 are easier to troubleshoot.
2021-03-17 21:10:16 +01:00
Sean McLoughlin d89fa3ebc2 Add SystemVerilog support 2021-03-15 07:21:15 +01:00
Sean Wei db57454f3f Update copyright year 2021-03-10 19:37:21 +01:00
Martin Nordholts 8f93844427 CICD: Remove explicit allow of clippy::match_bool since MSRV 1.45 bump
Now that we are on MSRV 1.45, there is no need to "backport" the change
that reclassified clippy::match_bool as "pedantic".
2021-03-08 07:08:55 +01:00
David Peter 52f84b063c Update dependencies, MSRV: 1.45 2021-03-07 15:33:37 +01:00
David Peter 2e7f2b6c07 'mut self' => 'self', remove pub 2021-03-07 14:59:10 +01:00
Aleksey Kladov 35347c2310 Improve readability
Using `Path`s for paths expresses intent more clearly.
2021-03-07 14:59:10 +01:00
dependabot-preview[bot] b489fc75c9 Bump assets/syntaxes/02_Extra/Crystal from `5e032ff` to `eb63666`
Bumps [assets/syntaxes/02_Extra/Crystal](https://github.com/crystal-lang-tools/sublime-crystal) from `5e032ff` to `eb63666`.
- [Release notes](https://github.com/crystal-lang-tools/sublime-crystal/releases)
- [Commits](5e032ff5f5...eb63666f35)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-01 12:18:40 +01:00
dependabot-preview[bot] fc24cb2a77 Bump assets/syntaxes/02_Extra/LESS from `44632e1` to `a2eae04`
Bumps [assets/syntaxes/02_Extra/LESS](https://github.com/danro/LESS-sublime) from `44632e1` to `a2eae04`.
- [Release notes](https://github.com/danro/LESS-sublime/releases)
- [Commits](44632e19af...a2eae0453e)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-01 12:18:28 +01:00
David Peter 2540311cdf Update bug report issue template (--diagnostic option) 2021-03-01 08:27:07 +01:00
dependabot-preview[bot] 3880888286 Bump nix from 0.19.1 to 0.20.0
Bumps [nix](https://github.com/nix-rust/nix) from 0.19.1 to 0.20.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/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-01 08:25:02 +01:00
dependabot-preview[bot] 5a806c2149 Bump path_abs from 0.5.0 to 0.5.1
Bumps [path_abs](https://github.com/vitiral/path_abs) from 0.5.0 to 0.5.1.
- [Release notes](https://github.com/vitiral/path_abs/releases)
- [Commits](https://github.com/vitiral/path_abs/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-01 08:24:13 +01:00
dependabot-preview[bot] 8a926d511a Bump assets/syntaxes/02_Extra/Julia from `e2b1cb5` to `45a1b6f`
Bumps [assets/syntaxes/02_Extra/Julia](https://github.com/JuliaEditorSupport/Julia-sublime) from `e2b1cb5` to `45a1b6f`.
- [Release notes](https://github.com/JuliaEditorSupport/Julia-sublime/releases)
- [Commits](e2b1cb549d...45a1b6fe6c)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-01 08:23:49 +01:00
dependabot-preview[bot] 8885285b10 Bump assets/syntaxes/02_Extra/Lean from `49d1853` to `824213d`
Bumps [assets/syntaxes/02_Extra/Lean](https://github.com/leanprover/vscode-lean) from `49d1853` to `824213d`.
- [Release notes](https://github.com/leanprover/vscode-lean/releases)
- [Commits](49d185361a...824213de37)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-01 08:23:34 +01:00
dependabot-preview[bot] d1f0181947 Bump assets/themes/zenburn from `7f6fb86` to `702023d`
Bumps [assets/themes/zenburn](https://github.com/colinta/zenburn) from `7f6fb86` to `702023d`.
- [Release notes](https://github.com/colinta/zenburn/releases)
- [Commits](7f6fb86e0d...702023d80d)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-01 08:23:15 +01:00
David Peter b147443c32 Add new unreleased section 2021-02-28 23:28:59 +01:00
Niklas Mohrin b8a18d3ebb Use tempfiles for clircle tests 2021-02-28 23:04:49 +01:00
Niklas Mohrin 694b31909a Change circle detection to use new more conservative method and run in main loop instead of before the loop 2021-02-28 23:04:49 +01:00
David Peter a98811b6d7 Update syntaxes and themes 2021-02-28 18:57:11 +01:00
David Peter cfc505e1e5 Bump version to v0.18.0 2021-02-28 18:57:11 +01:00
Martin Nordholts 3af3549232 integration_tests: Use tempdir() in config_location_when_generating
For cleaner code.

Use the tempdir() function since that is recommended by the crate docs:
https://docs.rs/tempfile/3.2.0/tempfile/index.html
2021-02-28 18:09:44 +01:00
Martin Nordholts 643f0bcbe3 integration_tests.rs: Add test config_location_when_generating
As a complement to #1556 to prevent #1550 from coming back.

The test purposefully fails if ca60937c2e is reverted.
2021-02-28 18:09:44 +01:00
Martin Nordholts 9db9a38565 CICD: Add workflow_dispatch to enable manual builds
Which is useful when you want to test a fix without creating a PR for
it.
2021-02-28 16:27:40 +01:00
David Peter ca60937c2e Do not ignore non-existent BAT_CONFIG_PATH
Do not ignore `BAT_CONFIG_PATH` if it doesn't exist. Both when
generating a new config file with `--generate-config-file` and
when attempting to read the config.

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

closes #1550
2021-02-28 10:08:24 +01:00
David Peter 2aa3ed9da8 Update CHANGELOG 2021-02-28 10:06:56 +01:00
Keith Hall 7768433d09 Improve Monokai Extended JSON key color with a patch 2021-02-28 09:55:24 +01:00
David Peter c569774e1a
Add section about integration with fzf
see #448
2021-02-27 11:47:04 +01:00
Martin Nordholts 0371f55541 CICD: Don't run jobs twice in PRs
Without this change, creating a PR triggers all jobs to run twice. Once
due to a push event and once due to a pull_request event.

Change to only trigger jobs due to push when pushing a tag or to the
master branch, to avoid duplicate jobs for each PR.
2021-02-22 21:45:52 +01:00
David Peter bc35592fd9 CICD: Build step naming 2021-02-21 19:11:42 +01:00
David Peter f5d834407e CICD: Improved job names 2021-02-21 11:16:30 +01:00
David Peter 557a748ac7 CICD: Remove code coverage computation 2021-02-21 10:24:27 +01:00
Martin Nordholts 3f10f71ad2 CICD: Build: Rename 'Check is release' step to 'Check for release'
To get a name that sounds like proper English.
2021-02-18 07:59:10 +01:00
Martin Nordholts 7b6388b19f CICD: Build: Add separate 'Calculate test options' step
And move it down to right before it is needed, to reduce its scope.

For #1474
2021-02-18 07:59:10 +01:00
Martin Nordholts b98ec4bbc5 CICD: Build: Check IS_RELEASE in separate step
And move it closer to where it is actually needed, to reduce its scope.

For #1474
2021-02-18 07:59:10 +01:00
Martin Nordholts 94fd481f36 CICD: Build: Remove unused ${{ matrix.job.cargo-options }} expansions 2021-02-18 07:59:10 +01:00
David Peter 94496df3b0 Fix broken resolv.conf highlighting
closes #1510

The change in `create_highlighted_versions.py` fixes a "unknown theme
"'1337'" warning. The single quotes were wrong. `bat` was always falling
back to the default theme, so let's use that for now.
2021-02-16 22:15:31 +01:00
Martin Nordholts 0e5ea9c354 CICD: Build: Use package-specific staging dir
A common staging dir confuses more than it helps, so let each package
step take care of its own staging dir.

For #1474
2021-02-16 21:53:54 +01:00
David Peter 7eabb5e05a Highlight *.pac files as JavaScript
closes #1515
2021-02-16 21:52:52 +01:00
David Peter 9ad401be87 Fix clippy suggestion 2021-02-16 09:13:22 +01:00
Ethan P f874c8e4db Use less binary specified in bat config for --diagnostic 2021-02-16 09:11:27 +01:00
Ethan P 025c5c061b Make less version check accept a path to the less binary 2021-02-16 09:11:27 +01:00
Caden Haustein 573f34d757
Update dependencies; replace unmaintained (#1522)
* Update dependencies; replace unmaintained

* Fix errors

* Revert dependency changes

* Revert git2 to 0.13.15

Co-authored-by: David Peter <mail@david-peter.de>
2021-02-16 08:50:41 +01:00
Martin Nordholts eac36dd3b5 CICD: Build: Introduce and use new 'Strip release bin' step
So that we don't have to duplicate that logic in both 'Debian package'
and 'Package' steps.

For #1474
2021-02-16 07:27:44 +01:00
David Peter 70cf8a4ec5 Wording 2021-02-15 22:39:48 +01:00
Martin Nordholts 37d0d8984c README.md: Warn about buggy snap packages
As discussed in #1519, the batcat snap package is too problematic for
official endorsement, so withdraw recommendation from README.me (and
remove section from CHANGELOG.md since a release with it has not been
made yet).
2021-02-15 22:39:48 +01:00
Keith Hall 2e8c0a39db Add support for env vars and manpage refs with dots to Manpage syntax 2021-02-15 22:30:42 +01:00
dependabot-preview[bot] deec2902e4 Bump assets/syntaxes/02_Extra/Svelte from `aee0676` to `c71f129`
Bumps [assets/syntaxes/02_Extra/Svelte](https://github.com/corneliusio/svelte-sublime) from `aee0676` to `c71f129`.
- [Release notes](https://github.com/corneliusio/svelte-sublime/releases)
- [Commits](aee0676f37...c71f1290b0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-07 22:35:00 +01:00
dependabot-preview[bot] e3343759b7 Bump assets/themes/onehalf from `8992311` to `141c775`
Bumps [assets/themes/onehalf](https://github.com/sonph/onehalf) from `8992311` to `141c775`.
- [Release notes](https://github.com/sonph/onehalf/releases)
- [Commits](89923117bc...141c775ace)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-07 22:34:44 +01:00
dependabot-preview[bot] fa72f86e17 Bump assets/syntaxes/02_Extra/CMake from `21e9698` to `7d6231c`
Bumps [assets/syntaxes/02_Extra/CMake](https://github.com/zyxar/Sublime-CMakeLists) from `21e9698` to `7d6231c`.
- [Release notes](https://github.com/zyxar/Sublime-CMakeLists/releases)
- [Commits](21e96989d6...7d6231c934)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-07 22:34:03 +01:00
dependabot-preview[bot] 6527126e50 Bump assets/syntaxes/02_Extra/Lean from `7e99440` to `49d1853`
Bumps [assets/syntaxes/02_Extra/Lean](https://github.com/leanprover/vscode-lean) from `7e99440` to `49d1853`.
- [Release notes](https://github.com/leanprover/vscode-lean/releases)
- [Commits](7e99440b33...49d185361a)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-07 22:33:40 +01:00
dependabot-preview[bot] 4aec022065 Bump serde from 1.0.118 to 1.0.123
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.118 to 1.0.123.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.118...v1.0.123)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-07 22:33:12 +01:00
dependabot-preview[bot] a26c5b8219 Bump predicates from 1.0.6 to 1.0.7
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 1.0.6 to 1.0.7.
- [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/v1.0.6...v1.0.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-07 22:33:05 +01:00
Martin Nordholts d36b091fd7 CICD: Build: Move PKG_* vars to 'Package' step
For improved modularization of CICD script.

For #1474
2021-01-11 22:18:49 +01:00
Martin Nordholts 3dcf02549e CICD: Build: Move DPKG_* vars to 'Debian package' step
For cleaner CICD script. Note that we can't use outputs defined in our
own step, so also change to shell vars intead.

For #1474
2021-01-11 22:18:49 +01:00
Martin Nordholts e402011a73 CICD: Build: Split out dir creation into the individual package steps
It's cleaner because we can reuse helper vars and create the dirs closer
in time to when they are needed.

For #1474
2021-01-11 22:18:49 +01:00
Martin Nordholts dc1620d1f0 get_pager(): Simplify use_less_instead expression 2021-01-11 21:56:10 +01:00
Martin Nordholts c48e779e8a CHANGELOG.md: Add entry for #1413 2021-01-11 21:56:10 +01:00
Martin Nordholts dd0d44bbb3 Fix #1413 Can't use `bat` at all! (Error: Use of bat as a pager is disallowed...)
Fixed by implementing the proposal by sharkdp:

* Allow PAGER=bat, but ignore the setting in bat and simply default to
  less. Unless of course, BAT_PAGER or --pager is used to overwrite the
  value of PAGER.

* Disallow the usage of bat within BAT_PAGER and --pager.
2021-01-11 21:56:10 +01:00
sharkdp 060b9981b5 Remove deprecated PrettyPrinter methods 2021-01-11 21:36:08 +01:00
Keith Hall b25713938d
Fix typo in bug report template 2021-01-11 15:40:03 +02:00
Keith Hall 5b09561114 Update map-syntax text in manpage to match --help 2021-01-10 22:24:32 +01:00
Keith Hall fcde4824d5 Add missing command line options to the manpage 2021-01-10 22:24:32 +01:00
sharkdp b0e5828d3f Add comment regarding use of bat as a library, closes #953 2021-01-10 22:24:32 +01:00
sharkdp b7d499d1be Add 'batcat' comment in MANPAGER suggestion, closes #1434 2021-01-10 22:24:32 +01:00
sharkdp 1ae16fca90 Improve --map-syntax documentation, see #1386 2021-01-10 22:24:32 +01:00
sharkdp 0e2bef3b79 Fix minor mistakes in --map-syntax documentation 2021-01-10 22:24:32 +01:00
Martin Nordholts 221c9815a5 CICD: Build: Split up into separate 'Debian package' step
Make sure to ignore whitespace changes when diffing.

For #1474
2021-01-10 20:44:03 +01:00
Martin Nordholts c5c683f67c Explicitly allow clippy::match_bool until we bump MSRV
Since we run clippy on Rust 1.42.0 we still get warnings about the
presence of clippy::match_bool lints. That lint has been moved from
'Style' to 'Pedantic' in Rust 1.45.0 and onwards however, so let's
silent it in our clippy runs too.
2021-01-10 20:38:16 +01:00
David Peter 149a0177cd
Update number of syntaxes 2021-01-10 16:12:46 +01:00
David Peter 252e5a6b13
Merge pull request #1402 from Enselic/fix-1063
Fix #1063: Do not use 'more' or 'most' PAGER, as they are not compatible with bats output
2021-01-10 14:51:29 +01:00
sharkdp faa27ed6e3 CICD: simply use 'sed' to extract crate information 2021-01-10 14:44:46 +01:00
sharkdp f3227c259e Use cache for faster install 2021-01-10 14:44:46 +01:00
sharkdp 2cfeebab90 CICD: Use 'cargo get' to extract crate metadata 2021-01-10 14:44:46 +01:00
Martin Nordholts 8dd67cca0c Revert accidental change to assets/syntaxes/02_Extra/VimL 2021-01-10 14:11:57 +01:00
Martin Nordholts eda72c31b2 tests: Move 'mocked pagers' utils to separate file 2021-01-10 14:05:39 +01:00
Martin Nordholts 7809008016 PagerKind::from(): Simplify 2021-01-10 13:40:07 +01:00
Martin Nordholts c2c2b0211a fn mocked_pager: Simplify with format! 2021-01-10 13:26:40 +01:00
Martin Nordholts dd6f57e107 pager.rs: Some comment fixups 2021-01-10 13:25:18 +01:00
Martin Nordholts dfe7a60140 PagerSource: [Bat]PagerEnvVar -> EnvVar[Bat]Pager 2021-01-10 13:16:09 +01:00
Martin Nordholts fc30277cfa pager.rs: Limit visibilities to pub(crate) 2021-01-10 13:07:37 +01:00
Martin Nordholts 02e6ff4183 Merge remote-tracking branch 'origin/master' into fix-1063 2021-01-10 11:56:03 +01:00
Martin Nordholts e3b1142364 CICD: Build: DEPLOY -> IS_RELEASE and inline it
This simplifies and clarifies the script.

For #1474
2021-01-10 10:56:15 +01:00
Martin Nordholts 8832ff3c6a CICD: Build: Adapt release version regex to bat
All bat tags begin with a small 'v', so no need for a generic pattern in
the CI script. This will also help us ensure we keep the same format on
future tags.
2021-01-10 10:56:15 +01:00
Martin Nordholts 505ff10dc6 CICD: Build: Always build and upload Debian packages
Not only when a release tag is pushed. Also publish these Debian
packages as artifacts. This makes PR workflows more similar to release
work flows, and reduces risk of build system regressions that we don't
detect until we make a new release.

For #1474
2021-01-10 10:56:15 +01:00
Martin Nordholts 9a3a5545e7 CICD: Build: Use Cargo.toml version instead of tag
This enables us to later always build Debian packages. If you try to use
a git sha as Debian package version you will get an error:

    dpkg-deb: error: parsing file '_staging/dpkg/DEBIAN/control' near line 2 package 'bat':
     error in 'Version' field string 'd2963ce4': version number does not start with digit

so we need to use a version that is always available.

We duplicate the bat version in another place here which is a bit bad,
but it is already duplicated a lot, so we don't make things
significantly worse. It is still kind of nice to not have to figure out
a good and robust way to parse out the version from Cargo.toml in the CI
script.

For #1474
2021-01-10 10:56:15 +01:00
Martin Nordholts 43919066ad CICD: Use fixed OS versions instead of 'latest' ones
This reduces the risk of the build suddenly breaking, and fixes this
current warning:

    Ubuntu-latest workflows will use Ubuntu-20.04 soon.
    For more details, see https://github.com/actions/virtual-environments/issues/1816

I've use the mapping found at
https://github.com/actions/virtual-environments, so there should be no
actual change in OS versions, only semantically so.
2021-01-10 10:46:45 +01:00
sharkdp 7ada963ec2 Add ChangeLog entry 2021-01-09 22:35:50 +01:00
sharkdp 4c523af1ab Add gnuplot syntax
closes #1431
2021-01-09 22:35:50 +01:00
sharkdp c5c28eb05b --diagnostic: add MANPAGER environment variable 2021-01-09 21:56:17 +01:00
David Peter 22924532d0
Fix link in doc/assets.md 2021-01-09 21:43:25 +01:00
sharkdp 7c227169a4 Add note about breaking change 2021-01-09 20:44:44 +01:00
sharkdp 8e4b0b4377 Update dependencies
fixes #1149
fixes #1477
2021-01-09 20:40:23 +01:00
sharkdp 6d27df3b77 Use unstable sort for theme test 2021-01-09 19:43:39 +01:00
sharkdp 73d14f4655 Use BatTester::default instead of BatTester::new 2021-01-09 19:43:39 +01:00
sharkdp 19b8c53c46 Enable clippy::style checks 2021-01-09 19:43:39 +01:00
sharkdp cd7be018fe Fix clippy suggestion: .or_else(|| Some(…)) => .or(Some(…)) 2021-01-09 19:43:39 +01:00
sharkdp 03a2710a08 Use new matches!(…) macro to simplify code 2021-01-09 19:43:39 +01:00
sharkdp 09fbabb0b8 Add a Default implementation for PrettyPrinter 2021-01-09 19:43:39 +01:00
mark chaitin de6cb75f4b Addressed PR feedback. Upped min version and used matches! macro 2021-01-09 15:21:26 +01:00
mark chaitin 83c9cb7907 fix bug where long lines were truncated in plain mode without wrap=never not being set 2021-01-09 15:21:26 +01:00
Martin Nordholts 7ffb04a17a CICD: Build: Make 'Upload build artifacts' more like deploy
The end goal is to upload the same artifacts for a PR as we deploy
during a release, to make a regular PR pipeline as similar as possible
to a deploy.

The first step is to move 'Upload build artifacts' to after 'Package' so
we can upload the same files. Also change the name and artifacts to be
more similar to what we deploy for a release.

For #1474
2021-01-09 14:31:19 +01:00
David Peter c38c186d26
Add Enselic as a maintainer 2021-01-09 14:22:23 +01:00
Martin Nordholts e22a9a69b1 CICD: Build: Stop building on Ubuntu 16.04
End-of-life is in three months, and we already do the same build on
Ubuntu 18.04.
2021-01-09 08:30:54 +01:00
Martin Nordholts 59f9adc706 CICD: Build: Add and use disable-deploy matrix var
This results in a nicer workflow file that is easier to follow.

Also remove the unneccesary doc row that repeats what is already in the
matrix and that is annoying to keep up to date.

For #1474
2021-01-09 08:30:54 +01:00
Csaba Henk fed30b1b36 Fix theme dir hint in --list-themes output 2021-01-08 20:10:45 +01:00
Martin Nordholts 411d68e839 CICD: Build: Remove unused JOB_DO_TESTING var and output
It is CARGO_TEST_OPTIONS that is used to control testing on
cross-compiled builds, so we can remove JOB_DO_TESTING.

For #1474
2021-01-08 19:54:25 +01:00
Martin Nordholts 77d42a17c6 CICD: Build: Remove unused PKG_suffix output var
Only the env var is used, so output variant is not needed.

For #1474
2021-01-08 19:54:25 +01:00
Martin Nordholts e7c55bffe9 CICD: Build: Remove unused TARGET_* vars and outputs
For #1474
2021-01-08 19:54:25 +01:00
Martin Nordholts da10166625 Merge remote-tracking branch 'origin/master' into fix-1063 2021-01-07 12:58:26 +01:00
Martin Nordholts b6b7262962 CICD: Build: Use matrix.job.use-cross directly
There is no need for a var and set-output detour.
2021-01-07 10:55:29 +01:00
Martin Nordholts 3ed83913b2 CICD: Build: Remove unused REF_* outputs
There is no usage of `steps.vars.outputs.REF_*` so no need to setup such
things. Also remove setting up REF_NAME and REF_BRANCH env vars, since
they are never read.
2021-01-07 10:54:00 +01:00
Martin Nordholts 63460f4bf9 CICD: Build: Remove conditional TOOLCHAIN logic
because we always use "stable". If we need to go back to using
matrix.job.toolchain, we should do it like in jobs.coverage, instead of
messing about with vars and outputs.
2021-01-06 23:11:24 +01:00
Martin Nordholts c67b439752 CICD: Build: Enable x86_64-pc-windows-gnu again
All the referenced issues [1] have been Closed, so use "stable" for
everything. Now `i686-w64-mingw32-gcc` fails with this instead

    error: linker `i686-w64-mingw32-gcc` not found

so keep it disabled. There is probably a simple solution for this that
is obvious to someone used to cross-compiling Rust programs on
Windows...

[1]
https://github.com/rust-lang/rust/issues/47048
https://github.com/rust-lang/rust/issues/53454
https://github.com/rust-lang/cargo/issues/6754
2021-01-06 23:11:24 +01:00
sharkdp 2b44940f81 Update CHANGELOG 2021-01-06 22:55:12 +01:00
sharkdp 26136be903 Add --diagnostics alias 2021-01-06 22:53:51 +01:00
sharkdp 6a52f69b58 Update to bugreport 0.3.0 2021-01-06 22:53:51 +01:00
sharkdp 60406c7c2d Exhaustive list of relevant environment variables 2021-01-06 22:53:51 +01:00
sharkdp 2465438ec3 Bump bugreport version 2021-01-06 22:53:51 +01:00
sharkdp 99a61580e1 Add --diagnostic run to CI 2021-01-06 22:53:51 +01:00
sharkdp dec94b4111 Add config file, compile time info and less version 2021-01-06 22:53:51 +01:00
sharkdp ebb97e94a9 Add --diagnostic option to bat 2021-01-06 22:53:51 +01:00
Martin Nordholts 5e1f9fadf4 CICD: Code Coverage: Explain why disabled 2021-01-06 22:34:03 +01:00
Martin Nordholts fe08de846d CICD: Code Coverage: Disable for now 2021-01-06 22:34:03 +01:00
sharkdp 35e3c51b75 Fix unused import warning 2021-01-06 22:09:22 +01:00
sharkdp 59c9105c25 Fix clippy warnings in tests on Windows 2021-01-06 22:08:14 +01:00
Ensar Sarajčić b458292a69
Target VimL upstream .sublime-syntax file (#1483)
* Target VimL upstream .sublime-syntax file

Upstream **VimL Syntax** has been updated
to include `.sublime-syntax` file instead of `.tmLanguage`,
therefore manually added `.sublime-syntax` is no longer needed

* Remove .bin changes
2021-01-06 21:06:57 +01:00
Martin Nordholts 78aed2cb69 CICD: Remove use-cross when host == target 2021-01-06 20:05:53 +01:00
Martin Nordholts 46487b201f Merge remote-tracking branch 'origin/master' into fix-1063 2021-01-06 14:30:55 +01:00
Martin Nordholts 939a6a5f4d
CICD: Remove duplicate set-output calls (#1479)
The ::set-output syntax is the correct one according to
https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#setting-an-output-parameter,
so remove duplicates without that syntax.
2021-01-06 12:30:34 +01:00
Martin Nordholts caf0743811 CICD: Code Coverage: Use matrix.job.toolchain directly
No need for complicated var and set-output logic when we can simply use
matrix.job.toolchain directly.
2021-01-06 11:58:31 +01:00
Martin Nordholts 9ccb667653 Add integration test for unparsable pager
Right now all tests pass even if we e.g. return

    Ok(OutputType::stdout())

instead of doing

    .chain_err(|| "Could not parse pager command.")?

so add a test to make sure this functionality don't break.
2021-01-06 11:58:08 +01:00
Niklas Mohrin b600f62ab6 Add unix specific integration test about running bat without any arguments 2021-01-05 18:21:16 +01:00
Niklas Mohrin ace655e164 Add integration tests for clircle cycle detection 2021-01-05 18:21:16 +01:00
Niklas Mohrin 21ae26cb17 Add cycle detection with clircle, now v0.2 2021-01-05 18:21:16 +01:00
Martin Nordholts 478233f795 Merge remote-tracking branch 'origin/master' into fix-1063 2021-01-04 21:02:51 +01:00
Martin Nordholts e87c554ccd tests: Make mocked pagers work on Windows 2021-01-04 20:22:04 +01:00
Martin Nordholts df33ed05dd Run PATH-dependent tests serially
Since PATH is a shared resource.
2021-01-04 15:45:57 +01:00
Martin Nordholts c9efdd68ed Add integration tests for 'more' and 'most' used as pagers 2021-01-04 10:30:55 +01:00
sharkdp 8381945cb5 Update formatting 2021-01-03 21:18:54 +01:00
David Peter 2046b47739 Move "diagnostics" part to the bottom of the bug report template 2021-01-03 21:16:56 +01:00
Janek 0c302f088a Update bug_report.md 2021-01-03 21:16:56 +01:00
Janek a41db63907 Update bug_report.md 2021-01-03 21:16:56 +01:00
Janek 3573c48e98 bug_report.md: improve wording 2021-01-03 21:16:56 +01:00
Janek e94980bfd0 bug_report.md: move environment prompt back up 2021-01-03 21:16:56 +01:00
Janek 5422982207 Update bug_report.md 2021-01-03 21:16:56 +01:00
David Peter 4fe5497d19
Merge pull request #1268 from eth-p/improved-benchmark
Add option to specify bat target in run-benchmarks.sh
2021-01-03 07:14:12 +01:00
Ethan P 1b549ecc66
Merge branch 'master' into improved-benchmark 2021-01-02 21:35:58 -08:00
sharkdp b5bdba8b16 Svelte syntax test: rename license file 2021-01-02 22:34:15 +01:00
sharkdp 522c97f5ad DotEnv syntax test: add missing newline 2021-01-02 22:34:15 +01:00
sharkdp 7fbb3a5352 Add Zig entry in ChangeLog, see #1470 2021-01-02 21:37:11 +01:00
sharkdp b3f34529b5 Update Zig syntax test output 2021-01-02 21:34:25 +01:00
Paul Smith d388d07e9f Delete erroneously added Sublime file 2021-01-02 21:34:25 +01:00
Paul Smith c76e27851c Add support for Zig
Adds syntax support for source code for the Zig programming
language. https://ziglang.org/
2021-01-02 21:34:25 +01:00
sharkdp 8c0dcf3b57 Update syntax test instructions 2021-01-02 21:21:28 +01:00
sharkdp 962b3a78c0 Add step-by-step guide to add syntax tests, see #1211 2021-01-02 10:21:02 +01:00
sharkdp aa5b941ed5 Add ChangeLog entry 2021-01-02 09:46:58 +01:00
Julian Berman af8a8035e8 Add a Lean highlighting test file. 2021-01-02 09:45:19 +01:00
Julian Berman 037a66c57b Add the Lean submodule. 2021-01-02 09:45:19 +01:00
Julian Berman 1a04dcf10f Add Lean.sublime-syntax.
Covers syntax for Lean 3, an interactive theorem prover
at https://leanprover-community.github.io/ whose users
mostly use VSCode.
2021-01-02 09:45:19 +01:00
David Peter 2eae8b578e
Fix repology badge 2021-01-01 23:07:13 +01:00
dependabot-preview[bot] 17189fce9b Bump assets/themes/zenburn from `cb746f6` to `7f6fb86`
Bumps [assets/themes/zenburn](https://github.com/colinta/zenburn) from `cb746f6` to `7f6fb86`.
- [Release notes](https://github.com/colinta/zenburn/releases)
- [Commits](cb746f6962...7f6fb86e0d)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-01 08:14:47 +01:00
dependabot-preview[bot] a0225018e6 Bump assets/syntaxes/02_Extra/TypeScript from `603ebb4` to `a607ddf`
Bumps [assets/syntaxes/02_Extra/TypeScript](https://github.com/Microsoft/TypeScript-Sublime-Plugin) from `603ebb4` to `a607ddf`.
- [Release notes](https://github.com/Microsoft/TypeScript-Sublime-Plugin/releases)
- [Commits](603ebb48b1...a607ddfec9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-01 08:14:16 +01:00
dependabot-preview[bot] 361b7aa0da Bump console from 0.13.0 to 0.14.0
Bumps [console](https://github.com/mitsuhiko/console) from 0.13.0 to 0.14.0.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Changelog](https://github.com/mitsuhiko/console/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/console/compare/0.13.0...0.14.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-01 08:14:00 +01:00
dependabot-preview[bot] 334590932a Bump syntect from 4.4.0 to 4.5.0
Bumps [syntect](https://github.com/trishume/syntect) from 4.4.0 to 4.5.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/v4.4.0...v4.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-01 08:10:49 +01:00
dependabot-preview[bot] 3f4638204f Bump git2 from 0.13.12 to 0.13.15
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.13.12 to 0.13.15.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/compare/0.13.12...0.13.15)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-01 08:10:32 +01:00
dependabot-preview[bot] 5e7061b9f6 Bump predicates from 1.0.5 to 1.0.6
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 1.0.5 to 1.0.6.
- [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/v1.0.5...v1.0.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-01 08:10:03 +01:00
dependabot-preview[bot] 7a1cd5226f Bump serde from 1.0.117 to 1.0.118
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.117 to 1.0.118.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.117...v1.0.118)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-01 08:09:55 +01:00
dependabot-preview[bot] 285ac75738 Bump assets/syntaxes/02_Extra/Julia from `6c0d770` to `e2b1cb5`
Bumps [assets/syntaxes/02_Extra/Julia](https://github.com/JuliaEditorSupport/Julia-sublime) from `6c0d770` to `e2b1cb5`.
- [Release notes](https://github.com/JuliaEditorSupport/Julia-sublime/releases)
- [Commits](6c0d770fc7...e2b1cb549d)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-01 08:09:25 +01:00
dependabot-preview[bot] 00ff54be4e Bump assets/syntaxes/02_Extra/SCSS_Sass from `bc6332c` to `4868322`
Bumps [assets/syntaxes/02_Extra/SCSS_Sass](https://github.com/braver/SublimeSass) from `bc6332c` to `4868322`.
- [Release notes](https://github.com/braver/SublimeSass/releases)
- [Commits](bc6332c1be...4868322030)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-01 08:08:29 +01:00
dependabot-preview[bot] aab35e3faa Bump assets/themes/dracula-sublime from `26c57ec` to `c2de0ac`
Bumps [assets/themes/dracula-sublime](https://github.com/dracula/sublime) from `26c57ec` to `c2de0ac`.
- [Release notes](https://github.com/dracula/sublime/releases)
- [Commits](26c57ec282...c2de0acf5a)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-01 08:08:00 +01:00
Martin Nordholts bfa5342331 Also replace 'more' from PAGER with 'less'
But first do some quite significant refactorings to keep the code clean
and easy to understand.
2020-12-30 17:59:30 +01:00
Martin Nordholts c0d945c0ac Allow clippy::style lints
Turns out GitHub is clever enough to pick up clippy warnings from us
just running it, and showing them in PRs under a "Unchanged files with
check annotations (beta)" header.

The only warnings currently shown are style warnings, and we agreed we
don't want to risk putting off contributors over style issues. So
explicitly allow (don't warn in the logs for) this category of clippy
lints.

This means that the only clippy categories left that prints warnings
(Warn) are:

    clippy::complexity
    clippy::perf

And the only category of lints that fails the CI build (Deny) remains to
be:

    clippy::correctness

See https://rust-lang.github.io/rust-clippy/master/index.html for a
catalog of all lints.
2020-12-30 11:46:56 +01:00
Martin Nordholts 22bdc7c20f When PAGER=most, don't print a warning to stderr, silently use less instead 2020-12-30 08:25:39 +01:00
Ethan P 3ed0081f1f
Improve benchmark script to support cargo/config target-dir 2020-12-29 15:07:22 -08:00
sharkdp 6d0e7650c3 Add .resource extension for Robot Framework 2020-12-29 09:04:34 +01:00
Martin Nordholts 552545fe5f Merge remote-tracking branch 'origin/master' into fix-1063 2020-12-28 22:48:52 +01:00
Martin Nordholts dcfe883f4b Simplify and polish pager.rs and related code 2020-12-28 22:39:34 +01:00
Martin Nordholts f45fa5e187 CHANGELOG.md: Add bugfix entry for #614 2020-12-28 22:32:56 +01:00
Martin Nordholts 05e9da390f bat cache --build: Print syntect error message for themes if any
This will fix #614 by making it clear what is wrong by showing the
following error message:

    Failed to load one or more themes from
    '/Users/me/.config/bat/themes' (reason: 'Invalid syntax theme
    settings')

We also need to add a check if theme_dir.exists(), otherwise an absent
dir will seem like an error:

    Failed to load one or more themes from
    '/Users/me/.config/bat/themes' (reason: 'IO error for
    operation on /Users/me/.config/bat/themes: No such file or
    directory (os error 2)')

(This is the same check we already have for syntax_dir.)
2020-12-28 22:32:56 +01:00
Martin Nordholts cc0f8ca813 Merge remote-tracking branch 'origin/master' into fix-1063 2020-12-28 21:57:38 +01:00
Martin Nordholts 9c16571347 bat --list-languages: remove unnecessary format!() call
To trigger/verify the changed code, run

    bat --list-languages   # or -L

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

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

so by fixing it it becomes easier to spot when a new warning is
introduced (that does not belong to the clippy category clippy::style).
And by making it easy to spot new warnings, we increase chance of such
regressions not ending up in the code base.
2020-12-28 20:28:24 +01:00
Martin Nordholts 2765c6ba3b clippy: Only enforce 'correctness' lints, just print the rest
Only the 'correctness' category of lints are 'deny' by default. This is
the only clippy lints we want to enforce for now. The other ones we just
want to print in the logs. So remove any --deny and --allow arguments.
See discussion in #1410.
2020-12-28 14:22:56 +01:00
Martin Nordholts 28f3f3c9c9 Add Clippy linter step to CICD
Run the linter on the minimum supported rust version; otherwise we will
get lint warnings for things that require a too high Rust toolchain
version to fix.

Allow the following checks, since we already violate them our code:
- clippy::new-without-default
- clippy::match-bool
- clippy::if_same_then_else

Eventually we should fix these lint issues and then disallow them to
prevent them from coming back in other places.

The clippy args used is recommended here:
https://github.com/rust-lang/rust-clippy#travis-ci
2020-12-28 14:22:56 +01:00
sharkdp 73d9a95862 Update CHANGELOG 2020-12-28 09:36:49 +01:00
Ensar Sarajčić 9c9a9ac452 Update VimL syntax upstream 2020-12-28 09:33:32 +01:00
Ensar Sarajčić 29ea396c31 Improve VimL regex highlighting
**NOTES:**
- PR is not yet merged in upstream repository (https://github.com/SalGnt/Sublime-VimL/pull/12),
but sublime-syntax file is already updated with changes.
- Updated syntax test files are added as well

This fixes #1064
2020-12-28 09:33:32 +01:00
Ensar Sarajčić 171d215f91 Add case from #1604 to VimL syntax-test source 2020-12-28 09:33:32 +01:00
Ensar Sarajčić cc6109a751 Add syntax highlighting tests for VimL
Adds a syntax highlighting test for VimL
with source file based on parts of my own configuration
changed to cover as much of syntax as possible.

**NOTES:**
Last line of source (`syntax enable`) does not get highlighted,
since `syntax` keyword is not part of highlighting rules.

Related to #1213
2020-12-28 09:33:32 +01:00
Martin Nordholts 47bb4a9c0f Introduce bat_warning! helper macro
This macro is intended to be package-internal and is not to be
considered part of the public lib API.

Use it in three places to reduce code duplication. However, main reason
for this refactoring is to allow us to fix #1063 without duplicating the
code yet another time.

The macro can also be used for the "Binary content from {} will not be
printed to the terminal" message if that message starts to use eprintln!
instead (if ever).

To trigger/verify the changed code, the following commands can be used:

    cargo run -- --theme=ansi-light tests/examples/single-line.txt
    cargo run -- --theme=does-not-exist tests/examples/single-line.txt
    cargo run -- --style=grid,rule tests/examples/single-line.txt
2020-12-28 09:27:40 +01:00
Marco Ieni b149ea91dd Cargo.toml: remove "readme" field 2020-12-28 09:26:44 +01:00
Martin Nordholts 6d1c7d5f57 Fix clippy::if_same_then_else warning in --paging=auto logic 2020-12-28 09:21:27 +01:00
David Peter 07bd7503c5 Update CHANGELOG.md 2020-12-21 21:52:04 +01:00
John Meow 1b5af89ddd Move changelog entry to unreleased 2020-12-21 21:52:04 +01:00
John Meow 3d07dec8fd Use Briles/gruvbox .tmTheme files instead of peaceant's port 2020-12-21 21:52:04 +01:00
Martin Nordholts a63bb08eda Add test 'grid_for_file_without_newline' (for issue #299 fix)
This is a regression test for the fix for issue #299. If that fix is
reverted, currently only one test ('header_padding') fails. But that
test is for a different use case, so add a dedicated regression test for
the particular use case issue #299 is about.
2020-12-21 21:45:34 +01:00
sharkdp e0207f8167 Fix test 2020-12-21 17:05:10 +01:00
Mitchell Kember 3099f51ba7 Add ansi theme to replace ansi-light and ansi-dark
This combines ansi-light and ansi-dark into a single theme that works
with both light and dark backgrounds. Instead of specifying white/black,
the ansi theme uses the terminal's default foreground/background color
by setting alpha=01, i.e. #00000001. This is in addition to the alpha=00
encoding where red contains an ANSI color palette number.

Now, `--theme ansi-light` and `--theme ansi-dark` will print a
deprecation notice and use ansi instead (unless the user has a custom
theme named ansi-light or ansi-dark, which would take precedence).
2020-12-21 17:05:10 +01:00
sharkdp 19e7763f35 Add changelog entry 2020-12-21 09:42:06 +01:00
David Peter 73cff42ec9 Remove commented-out line from Cargo.toml 2020-12-21 09:41:29 +01:00
Lovecraftian Horror b349155f2f Remove repeated `contains` calls 2020-12-21 09:41:29 +01:00
sharkdp ab4c120ea5 Highlight 'batcat' note in README, see #1420 2020-12-21 09:36:14 +01:00
David Peter 947133d295 Update CHANGELOG.md 2020-12-21 09:24:56 +01:00
Stefan Kunkel bf96e6e642 make bat -L use plain style 2020-12-21 09:24:56 +01:00
Stefan Kunkel cffacad306 make bat -L use pager 2020-12-21 09:24:56 +01:00
David Peter cc7b89faf8
Merge pull request #1440 from Enselic/fix-1438-newline-can-be-added-even-if-style-plain
Don't add artificial newline to last line if --style=plain
2020-12-21 09:24:26 +01:00
chris48s c1e4746d50 change docs dir name to match package name
i.e: docs for bat-musl go in /usr/share/doc/bat-musl
not /usr/share/doc/bat
2020-12-21 09:23:56 +01:00
chris48s 8331eec7fc include changelog in package
in line with debian changelog/release notes guidance
https://www.debian.org/doc/debian-policy/ch-docs.html#changelog-files-and-release-notes
resolves changelog-file-missing-in-native-package
https://lintian.debian.org/tags/changelog-file-missing-in-native-package.html
2020-12-21 09:23:56 +01:00
chris48s 0547068ed0 include years in copyright notice
This brings the copyright notice into line with the expected format
resolves copyright-without-copyright-notice
https://lintian.debian.org/tags/copyright-without-copyright-notice.html
2020-12-21 09:23:56 +01:00
chris48s 18d8389785 ensure copyright is mode 644
resolves non-standard-file-perm
https://lintian.debian.org/tags/non-standard-file-perm.html
2020-12-21 09:23:56 +01:00
chris48s 165d25d941 remove leading article from description
resolves description-synopsis-starts-with-article
https://lintian.debian.org/tags/description-synopsis-starts-with-article.html
2020-12-21 09:23:56 +01:00
chris48s c4fb77b042 invoke gzip with -n
resolves package-contains-timestamped-gzip
https://lintian.debian.org/tags/package-contains-timestamped-gzip.html
2020-12-21 09:23:56 +01:00
VeryTastyTomato 973ea984c8 fix: warnings of ShellCheck
SC2155: Declare and assign separately to avoid masking return values.
SC2164: Use cd ... || exit in case cd fails.
SC2230: which is non-standard. Use builtin 'command -v' instead.
2020-12-21 09:08:54 +01:00
sharkdp 3e9afe2974 Add integration test for nonexisting newline 2020-12-21 08:34:22 +01:00
David Peter 73c16574e6
Merge branch 'master' into fix-1438-newline-can-be-added-even-if-style-plain 2020-12-21 08:22:01 +01:00
Martin Nordholts 60e00d49a9
Fix #1443 macOS: regression_test.sh: mktemp: illegal option (#1444)
The macOS version of mktemp does not recognize the --suffix option.
Using pure -d should work since, it seems [1], macOS 10.11 however.

So to make the script work on macOS, stop using the --suffix option.

The downside is of course that the temporary dir will have an anonymous
name, but I see no risk of confusion given how short-lived the usage of
the dir is, and given the context it is used.

[1] https://unix.stackexchange.com/questions/30091/fix-or-alternative-for-mktemp-in-os-x
2020-12-21 08:16:49 +01:00
Keith Hall 2d22c705ba
Merge pull request #1439 from rsteube/themes-help-interactive-only
only print themes hint in interactive mode
2020-12-19 23:54:41 +02:00
Martin Nordholts 68d525cd8b Don't add artificial newline to last line if --style=plain
This fixes #1438.

Note however, that using a pager such as less will add a newline itself.
So to actually not print a newline for such files, you need to either
disable paging:

  bat --style=plain --paging=never no-newline-at-end-of-file.txt

or use a "pager" that does not add a newline:

  bat --style=plain --pager=cat no-newline-at-end-of-file.txt

Note that we also update syntax tests file since a bunch of them had
missing newlines on the last lines.
2020-12-19 10:32:50 +01:00
Martin Nordholts c3fc1b88fe replace_nonprintable: Keep \n around
Since it has a functional role, we can not just replace it, we must keep
it around. This also allows us to simplify the code slightly.

We must fix this before we fix #1438 since otherwise the \n will be
missing with --style=plain, since we will stop adding it if it is
missing.
2020-12-19 10:27:06 +01:00
rsteube 84b0702399 only print themes hint in interactive mode 2020-12-17 10:41:07 +01:00
purvesh-linux11 f3489ffa29 add packaging in unreleased section 2020-12-02 08:46:29 +01:00
purvesh-linux11 8e6ba2a3e1 update changelog file 2020-12-02 08:46:29 +01:00
purvesh-linux11 48e799e7a6 changing snap name to batcat 2020-12-02 08:46:29 +01:00
purvesh-linux11 bc01999f0d update chagelog.md 2020-12-02 08:46:29 +01:00
purvesh-linux11 b0fcb3065f add snap installtion command 2020-12-02 08:46:29 +01:00
sharkdp 94d8cd5100 Minor fixes in CONTRIBUTING.md 2020-12-01 19:38:25 +01:00
dependabot-preview[bot] 5596c6133b Bump assets/syntaxes/02_Extra/ssh-config from `1ddcb32` to `201816b`
Bumps [assets/syntaxes/02_Extra/ssh-config](https://github.com/robballou/sublimetext-sshconfig) from `1ddcb32` to `201816b`.
- [Release notes](https://github.com/robballou/sublimetext-sshconfig/releases)
- [Commits](1ddcb320ac...201816b609)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-01 08:05:31 +01:00
dependabot-preview[bot] 304332e380 Bump assets/syntaxes/02_Extra/GraphQL from `c9d8458` to `59304d6`
Bumps [assets/syntaxes/02_Extra/GraphQL](https://github.com/dncrews/GraphQL-SublimeText3) from `c9d8458` to `59304d6`.
- [Release notes](https://github.com/dncrews/GraphQL-SublimeText3/releases)
- [Commits](c9d84587eb...59304d6c7b)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-01 08:05:00 +01:00
dependabot-preview[bot] fb989d8c94 Bump assets/syntaxes/02_Extra/Svelte from `bf92f5b` to `aee0676`
Bumps [assets/syntaxes/02_Extra/Svelte](https://github.com/corneliusio/svelte-sublime) from `bf92f5b` to `aee0676`.
- [Release notes](https://github.com/corneliusio/svelte-sublime/releases)
- [Commits](bf92f5b7b6...aee0676f37)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-01 08:04:28 +01:00
dependabot-preview[bot] 026220b960 Bump assets/syntaxes/02_Extra/AWK from `e593eb6` to `e23926e`
Bumps [assets/syntaxes/02_Extra/AWK](https://github.com/JohnNilsson/awk-sublime) from `e593eb6` to `e23926e`.
- [Release notes](https://github.com/JohnNilsson/awk-sublime/releases)
- [Commits](e593eb6d42...e23926eca1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-01 08:04:08 +01:00
dependabot-preview[bot] 543a253bc1 Bump assets/themes/Coldark from `b4a1c74` to `e44750b`
Bumps [assets/themes/Coldark](https://github.com/ArmandPhilippot/coldark-bat) from `b4a1c74` to `e44750b`.
- [Release notes](https://github.com/ArmandPhilippot/coldark-bat/releases)
- [Commits](b4a1c74d8d...e44750b2a9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-01 08:03:11 +01:00
dependabot-preview[bot] 8f8e44e87a Bump assert_cmd from 1.0.1 to 1.0.2
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 1.0.1 to 1.0.2.
- [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/v1.0.1...v1.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-01 08:02:46 +01:00
Deshdeepak 2da11097f9 Update with termux installation 2020-11-29 16:37:42 +01:00
chris48s d124ebeced only try to publish one set of archives/packages for linux x64 2020-11-29 11:10:37 +01:00
Martin Nordholts 986d0e9777 Ignore PAGER=most by default with a warning to stderr
closes #1063
2020-11-27 06:47:46 +01:00
Martin Nordholts f4202361b4 Add Pager helper with info about where the value comes from
In preparation of fixing issue #1063.
This is a pure refactoring with no intended functional side effects.
2020-11-27 06:42:58 +01:00
sharkdp 6d981498d8 Bump version to 0.17.1 2020-11-24 21:40:11 +01:00
sharkdp bd2e9917da Revert "Add cycle detection integration tests"
This reverts commit ec60d84265.
2020-11-24 21:40:11 +01:00
sharkdp a6810e3353 Revert "Add io cycle detection with clircle"
This reverts commit aa2ae19dfd.
2020-11-24 21:40:11 +01:00
henil 591eba66a3 add new syntax test files 2020-11-23 15:43:58 +01:00
sharkdp a5a9ac83e5 Revert "Update dependencies"
This reverts commit 44a905d135.
2020-11-23 15:03:42 +01:00
sharkdp 15b122a448 Update syntax cache 2020-11-23 14:46:32 +01:00
sharkdp 44a905d135 Update dependencies 2020-11-23 14:44:01 +01:00
sharkdp 8884104e82 Bump version to v0.17.0 2020-11-23 14:41:32 +01:00
David Peter 277cc5fa21 Revert "invoke gzip with -n"
This reverts commit 21de52ebea.
2020-11-23 14:32:30 +01:00
David Peter 0cbd7d583c Revert "remove leading article from description"
This reverts commit 7c730d11c3.
2020-11-23 14:32:30 +01:00
David Peter 3c3fc92863 Revert "ensure copyright is mode 644"
This reverts commit 4a6b4fb632.
2020-11-23 14:32:30 +01:00
David Peter e69d650598 Revert "include years in copyright notice"
This reverts commit 9f91a7d797.
2020-11-23 14:32:30 +01:00
David Peter 9385c81882 Revert "include changelog in package"
This reverts commit 1d4cee11b7.
2020-11-23 14:32:30 +01:00
David Peter 1b84f9f1ae Revert "add Depends line"
This reverts commit 883cc964ae.
2020-11-23 14:32:30 +01:00
David Peter d879fbd8a1 Revert "change docs dir name to match package name"
This reverts commit e4370d8d3f.
2020-11-23 14:32:30 +01:00
sharkdp 1fbdef06aa Use unreachable!(…) 2020-11-23 14:25:01 +01:00
MarcoIeni f5531cc7fa remove all matches 2020-11-23 14:25:01 +01:00
MarcoIeni 2ccff145ed remove unuseful matches expression 2020-11-23 14:25:01 +01:00
MarcoIeni 43b2ee5e71 fix some clippy warnings 2020-11-23 14:25:01 +01:00
sharkdp 51463a4b41 Change Robot syntax name to 'Robot Framework' 2020-11-23 14:16:37 +01:00
Niklas Mohrin 4f0116bee7 Add cycle detection integration tests 2020-11-23 14:06:54 +01:00
Niklas Mohrin 31793cfa62 Add io cycle detection with clircle 2020-11-23 14:06:54 +01:00
Ethan P 6d75540d4e
Merge pull request #1389 from nstickney/master
explain how to use bat as cat (no paging) (closes #1383)
2020-11-21 10:13:28 -08:00
Stick ba5cbe208f
explain how to use bat as cat (no paging) 2020-11-20 11:25:45 -05:00
Janek 2b82203041 Update bug_report.md 2020-11-06 21:45:25 +01:00
sharkdp 35da065445 Add zsh completion fix to CHANGELOG 2020-11-06 21:25:27 +01:00
dependabot-preview[bot] 12a1fe3ad4 Bump git2 from 0.13.11 to 0.13.12
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.13.11 to 0.13.12.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/compare/0.13.11...0.13.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-01 09:53:22 +01:00
dependabot-preview[bot] 91057f2a09 Bump assets/syntaxes/02_Extra/Terraform from `64208ea` to `54d8350`
Bumps [assets/syntaxes/02_Extra/Terraform](https://github.com/alexlouden/Terraform.tmLanguage) from `64208ea` to `54d8350`.
- [Release notes](https://github.com/alexlouden/Terraform.tmLanguage/releases)
- [Commits](64208ea816...54d8350c3c)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-01 09:51:21 +01:00
dependabot-preview[bot] 15060f00a5 Bump assets/syntaxes/02_Extra/Elixir from `4ee539b` to `4fb0189`
Bumps [assets/syntaxes/02_Extra/Elixir](https://github.com/princemaple/elixir-sublime-syntax) from `4ee539b` to `4fb0189`.
- [Release notes](https://github.com/princemaple/elixir-sublime-syntax/releases)
- [Commits](4ee539b43d...4fb01891dd)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-01 09:49:46 +01:00
dependabot-preview[bot] 1a82a03d5d Bump assets/themes/onehalf from `3aa42a3` to `8992311`
Bumps [assets/themes/onehalf](https://github.com/sonph/onehalf) from `3aa42a3` to `8992311`.
- [Release notes](https://github.com/sonph/onehalf/releases)
- [Commits](3aa42a39ed...89923117bc)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-01 09:49:30 +01:00
dependabot-preview[bot] 4674105698 Bump assets/syntaxes/02_Extra/CMake from `aba96a0` to `21e9698`
Bumps [assets/syntaxes/02_Extra/CMake](https://github.com/zyxar/Sublime-CMakeLists) from `aba96a0` to `21e9698`.
- [Release notes](https://github.com/zyxar/Sublime-CMakeLists/releases)
- [Commits](aba96a0862...21e96989d6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-01 09:48:24 +01:00
dependabot-preview[bot] ca3e9a385f Bump serde from 1.0.116 to 1.0.117
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.116 to 1.0.117.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.116...v1.0.117)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-01 09:47:31 +01:00
dependabot-preview[bot] f05c222221 Bump serde_yaml from 0.8.13 to 0.8.14
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml) from 0.8.13 to 0.8.14.
- [Release notes](https://github.com/dtolnay/serde-yaml/releases)
- [Commits](https://github.com/dtolnay/serde-yaml/compare/0.8.13...0.8.14)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-01 09:47:18 +01:00
Byron Alley 3dc5fc54df Import syntax regression test for Ruby Haml 2020-11-01 09:46:54 +01:00
Byron Alley bac84b4c8b Add sshd_config syntax highlighting test 2020-11-01 09:38:03 +01:00
dependabot-preview[bot] a5b9a80216 Bump console from 0.12.0 to 0.13.0
Bumps [console](https://github.com/mitsuhiko/console) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Changelog](https://github.com/mitsuhiko/console/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/console/compare/v0.12.0...v0.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-01 08:51:43 +01:00
dependabot-preview[bot] 142d5e60ec Bump globset from 0.4.5 to 0.4.6
Bumps [globset](https://github.com/BurntSushi/ripgrep) from 0.4.5 to 0.4.6.
- [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.5...globset-0.4.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-01 07:25:24 +01:00
Ethan P 61f947a580
Merge pull request #1276 from tommilligan/style-rule
style: add component 'rule' for horizontal file delimiter
2020-10-31 23:14:00 -07:00
sharkdp c4bbf28862 Highlight ebuild/eclass files with shell syntax
Upstream patch: https://github.com/sublimehq/Packages/pull/2541

closes #1292
2020-10-30 22:33:23 +01:00
David Peter 9befa81e36
Merge pull request #1331 from priner/master
Add Ninja syntax highlighting
2020-10-30 20:06:44 +01:00
David Peter 414c7ac83d
Fix trailing newline 2020-10-30 19:37:10 +01:00
David Peter 3a612f063e
Merge branch 'master' into master 2020-10-30 19:36:27 +01:00
Ján Priner 9daea73bba Add Ninja highlight test 2020-10-30 19:14:51 +01:00
Nicholas L 8e8131590c Use platform based path concatenation 2020-10-30 08:04:14 +01:00
Nicholas L 3acfe790b9 Add extra themes help to output 2020-10-30 08:04:14 +01:00
sharkdp 877d9120c9 Add a new 'Feature request' section 2020-10-29 20:16:33 +01:00
sharkdp c15b88f250 Add new section on Development and New syntaxes/themes 2020-10-29 20:16:33 +01:00
sharkdp 2889e017cd More detailed description for CHANGELOG section 2020-10-29 20:16:33 +01:00
Adrian Rivera 47ea99090f Style changes on CONTRIBUTORS 2020-10-29 20:16:33 +01:00
Adrian Rivera 1c1ba04c41 Adds a CONTRIBUTORS file 2020-10-29 20:16:33 +01:00
Adrian Rivera 456216ab37 Update CHANGELOG.md 2020-10-29 20:16:33 +01:00
Adrian Rivera 49d7bf8c39 From a TODO in #1211. Add documentation for contributors.
This changes the README file and adds a new section `Contributors`.
This section includes instructions to remind contributors to make an
update to the changelog.
2020-10-29 20:16:33 +01:00
David Peter dade4cc6f3
Add reference to batdiff 2020-10-29 19:37:12 +01:00
Adrian Rivera c747ac181d Updates CHANGELOG entry 2020-10-29 19:33:58 +01:00
Adrian Rivera 9837948c3a Throws an error when `bat` is being user as pager.
As mentioned on #1334 `bat` should not be used as a value for `pager`,
this change checks both the balue of `bat` provided as a parameter or
as an environment variable.
2020-10-29 19:33:58 +01:00
Kyle Hubert 072fb380d8
Add Svelte as a syntax 2020-10-29 19:33:09 +01:00
Jessé Vermeulen 85594956cf Bring back delta to me to me 2020-10-29 19:22:38 +01:00
Jesse Vermeulen 88eba56607 Add git diff example to Integration docs
Part of https://github.com/sharkdp/bat/issues/448

Thanks to https://github.com/sharkdp/bat/pull/940
2020-10-29 19:22:38 +01:00
Horki cc6cf48256 1213: org mode highlight testing 2020-10-29 19:21:46 +01:00
Horki e571cb553b 1213: nix; added trailing new line 2020-10-25 21:03:30 +01:00
Horki bf9f6e872d 1312: nix; fixed src 2020-10-25 21:03:30 +01:00
Horki 8348c1b746 1213: nix; fix buildInputs arr 2020-10-25 21:03:30 +01:00
Horki 0a9744ac95 add nix highligh 2020-10-25 21:03:30 +01:00
sharkdp 95954b7c57 Update CHANGELOG 2020-10-25 19:09:52 +01:00
Armand Philippot a707f81726 Add Coldark in New Themes 2020-10-25 08:18:55 +01:00
Armand Philippot dae6664555 Update themes.bin - Coldark themes 2020-10-25 08:18:55 +01:00
sharkdp 9dd807344c Ignore 'all_themes_are_present' unit test by default 2020-10-25 08:18:55 +01:00
Armand Philippot 2ecebf8ff2 Add Coldark themes to unit test 2020-10-25 08:18:55 +01:00
Armand Philippot 6d3cb5f99f Add Coldark themes 2020-10-25 08:18:55 +01:00
Dobe Peter ec8072d51f Add PowerShell syntax test
Part of the work for issue #1213.

A short PowerShell script and the corresponding syntax-highlighted output
has been added. The script exhibits many of the peculiarities of the
PowerShell syntax.
2020-10-25 08:04:27 +01:00
Stefano Probst 7a7bb80e23 Add Git Config syntax test file
cc sharkdp/bat#1213
2020-10-24 14:45:54 +02:00
Alan Berndt 99ac5c3045 Add fairly complex nginx config.
This is to contribute to issue #1213.  I took some of the more
complicated servers I am running as examples.  Everything looks to be
correctly highlighted compared to vim's syntax highlighting.
2020-10-24 14:10:51 +02:00
R1tschY efab00a9de Add Git Attributes syntax test 2020-10-24 14:09:52 +02:00
Keith Hall 9ab0801ee1 Revert accidental regex literal -> unicode char change in Manpage syntax 2020-10-24 12:30:25 +02:00
Keith Hall cfdb853ea6 End highlighting of C code in man pages when no longer relevant 2020-10-24 12:30:25 +02:00
Keith Hall 41e857ea16 Highlight C code in all man pages sections 2020-10-24 12:30:25 +02:00
Frank Schmitt 5b2da2b08d #1213 expanded D test file 2020-10-24 12:28:15 +02:00
Frank Schmitt 5e0a608ea6 #1213 added very basic test file for D 2020-10-24 12:28:15 +02:00
R1tschY 3729aefb6f Add QML syntax test 2020-10-24 12:27:16 +02:00
henil 8a2122b4a4 Add test file for `/etc/group` 2020-10-24 12:26:41 +02:00
Tommaso Pifferi cc6f6fdb1d Add tests for Vue component syntax 2020-10-24 12:25:55 +02:00
Stefano Probst 5ec4936a4f Add Graphviz DOT example files
cc sharkdp/bat#1213
2020-10-24 12:25:09 +02:00
Stefano Probst be84682bcb Add MATLAB syntax test file
cc sharkdp/bat#1213
2020-10-24 12:22:46 +02:00
ubaumann b07f3b4e74 Add Salt State (SLS) test file 2020-10-23 19:40:13 +02:00
Ján Priner fc1f37d3df Add Ninja syntax highlighting 2020-10-20 19:32:14 +02:00
Zachary J. Rollyson a3f037773a feat: include dotfiles (.) in create_highlighted_versions.py search 2020-10-17 17:40:51 +02:00
Zachary J. Rollyson c71c8980cf feat: add syntax sample for dotEnv files 2020-10-17 17:40:51 +02:00
Albert Safin 6bf7b79f13 Fix zsh completion
* Fix completion for -p option (#1320)
* Use prefixed function names to avoid name clash
2020-10-17 16:54:39 +02:00
Keith Hall 5d9adc14e7 Include details about Manpage syntax improvements in the changelog 2020-10-17 16:46:18 +02:00
Keith Hall 575888d81b Fix Manpage C highlighting regression 2020-10-17 16:46:18 +02:00
sharkdp 3539d3e72d Add Manpage syntax regression test for select(2) 2020-10-17 16:46:18 +02:00
Keith Hall bb25111ca9 Improve Manpage syntax 2020-10-17 16:46:18 +02:00
Zachary J. Rollyson 3c756a65a6 feat: add syntax tests for sass 2020-10-17 16:41:11 +02:00
Matthieu Vion 8d574826c9 Added reStructuredText reference for syntax tests 2020-10-16 19:03:20 +02:00
Matthieu Vion 7c7eebbe83 Changed Makefile syntax test source
Now using Makefile from the Redis project
2020-10-16 14:22:59 +02:00
Matthieu Vion 57ad85814b Added Makefile to syntax tests
Make progress in #1213
2020-10-16 14:22:59 +02:00
Benjamin Sinkula 4b2b419400 Add Common Lisp syntax highlighting test files 2020-10-16 08:58:04 +02:00
Celeo b83716f0eb feat: add Nim syntax test file 2020-10-16 08:56:36 +02:00
Keith Hall 6872a4dd7f Fix small grammar mistake/typo in the readme 2020-10-15 09:10:29 +03:00
sharkdp 4d6b2fec13 Add PureScript syntax test 2020-10-14 08:43:11 +02:00
David Peter 57c1a7fd69
Formatting fix 2020-10-14 08:26:02 +02:00
sharkdp bf78b74db4 Minor README improvements 2020-10-14 08:24:20 +02:00
Terence f80fba4d24
Integrate README.md with new assets.md (#1293) 2020-10-14 08:18:11 +02:00
Pablo Santiago Blum de Aguiar d075d2b453 Make logo compatible with light and dark themes 2020-10-14 08:15:08 +02:00
Benjamin Sinkula 5650624822 Add ActionScript 3 syntax test 2020-10-14 08:07:20 +02:00
Saul Blanco Tejero bf07b0be58 Add Perl test file 2020-10-14 07:45:42 +02:00
Sebastian Andersson eeea53759b Add apache httpd.conf example 2020-10-14 07:43:38 +02:00
okezieuc a39f1e0f9b added new syntax highlighting files
I added a sample etc/hosts file and a sample requirements.txt file. I didn't know there was already a sample YAML file because it wasn't ticked in the issue so I added some extra syntax that I had in my own to the previous  example.yaml file.
2020-10-14 07:41:13 +02:00
Tom Milligan 1614f80366
add integration test for grid overriding rule 2020-10-12 09:04:57 +01:00
Tom Milligan e293c58bb0
update man pages 2020-10-12 09:04:57 +01:00
Tom Milligan 3015ebfba1
disable rule when grid enabled, and print warning 2020-10-12 09:04:57 +01:00
Tom Milligan d7da4f5f2b
update changelog 2020-10-12 09:04:56 +01:00
Tom Milligan c1af6ff2e6
Add integration test for style rule 2020-10-12 09:04:27 +01:00
Tom Milligan aa4000cb0d
style: add component 'rule' for horizontal file delimiter 2020-10-12 09:04:27 +01:00
sharkdp 33128d75f2 Use list.extend(…) 2020-10-11 22:18:14 +02:00
sharkdp bf87f37039 Better ask forgiveness than permission 2020-10-11 22:18:14 +02:00
sharkdp 62e715ff5b Formatting 2020-10-11 22:18:14 +02:00
sharkdp b3903175c8 Auto-format Rust code 2020-10-11 21:57:12 +02:00
Logan Saso de47bd2323 Added newline to multicharacter line of plaintext generation script 2020-10-11 21:31:34 +02:00
Logan Saso 19b55706ee Fixed file location in creation script 2020-10-11 21:31:34 +02:00
Logan Saso 6c68198d19 Updated creation script and README to match generation script 2020-10-11 21:31:34 +02:00
Logan Saso f3c760c25f #1244 Use [].copy and path.exists instead of more cumbersome solutions
#1244 Slightly optimized create_highlighted_versions.py so that it won't walk the source path when it should be skipping the file

#1244 Updated README.md in plaintext source folder

#1244 Added extra option loading from `bat_options` file in directory and significantly reduced size of plaintext source

#1244 Updated create_highlighted_versions.py to ignore README.md files and use the --show-all option for manually-defined binary files

#1244 Updated plaintext file with command

bat -A --no-config --style=plain --color=always --theme='1337' --italic-text=always src/Plaintext/plaintext.txt > highlighted/Plaintext/plaintext.txt

#1244 Added example plaintext file
2020-10-11 21:31:34 +02:00
Ethan P 24fe946c06
Merge pull request #1308 from okezieuc/add-php-file
added php test file
2020-10-11 12:25:15 -07:00
sharkdp de6680bdf2 Move syntax mapping section 2020-10-11 21:11:26 +02:00
David Peter 0a28da0cd0
Small improvement to the syntax mapping section 2020-10-11 21:07:56 +02:00
Ethan P a838ff47b5
Merge pull request #1307 from molcay/master
Add syntax tests for CpuInfo and MemInfo filetype
2020-10-11 11:58:59 -07:00
okezieuc 8bd078caeb updated the php commit
I reverted the commit and prevented the vue submodules from being affected
2020-10-11 19:58:53 +01:00
henil bce304a800 made requested changes 2020-10-11 20:54:37 +02:00
henil 206d3e7b91 fix a typo 2020-10-11 20:54:37 +02:00
henil 4be32cf746 add new section for sytax of file in README.md 2020-10-11 20:54:37 +02:00
henil 4ec6075f81 minor update to specify pattern matching on --map-syntax supports glob matching 2020-10-11 20:54:37 +02:00
henil aa00e0a6b0 fix section 2020-10-11 20:54:37 +02:00
henil bb7fae72c9 add a new syntax section 2020-10-11 20:54:37 +02:00
henil 7bd19640a2 add new --map-syntax example 2020-10-11 20:54:37 +02:00
okezieuc b7271a2a6d Revert "added php test file"
This reverts commit ecde418abb.
2020-10-11 19:53:36 +01:00
okezieuc ecde418abb added php test file
I added a sample test.php file that covers a lot of python syntax
2020-10-11 18:48:29 +01:00
M. Olcay TERCANLI 51036ced9d Add MemInfo syntax test 2020-10-11 19:19:11 +03:00
M. Olcay TERCANLI b6c1ec3a24 Add CpuInfo syntax test 2020-10-11 19:18:53 +03:00
Felipe Garcia 46004001cb Add Clojure syntax test. 2020-10-11 09:48:06 +02:00
Zachary J. Rollyson f10c8ce25e Add GraphQl syntax test sample 2020-10-11 09:46:25 +02:00
Ethan P acc370d345
Merge pull request #1305 from grg121/1213-dockerfile-syntax-highlighting-test
Add basic Dockerfile syntax highlighting test files
2020-10-10 15:20:57 -07:00
grg121 457ab84065
Add basic Dockerfile syntax highlighting test files 2020-10-10 21:43:11 +02:00
Zachary J. Rollyson 3bcb5452aa Add HTML syntax test sample 2020-10-10 19:13:55 +02:00
venky 1f0e53a44d Added BibTeX syntax tests 2020-10-10 19:13:05 +02:00
Benjamin Neff 2d5cf1d3cf Remove gitattributes for .bat/.cmd files to make all testfiles eol=lf 2020-10-09 23:28:08 +02:00
sharkdp a81254ed2a Fix line endings 2020-10-09 23:22:30 +02:00
Akshat Gadhwal fdef133d3d Update test.swift 2020-10-09 23:22:30 +02:00
Akshat Gadhwal fd01f0a0ee ADDED swift test file for syntax highlighting 2020-10-09 23:22:30 +02:00
sharkdp 5b095ed6f3 Fix line endings 2020-10-09 23:18:53 +02:00
Akshat Gadhwal e7a3f34959 ADDED test file for R 2020-10-09 23:18:53 +02:00
Daniel Wolbach 06d0c8f056 add CMake syntax highlighting test 2020-10-09 22:50:47 +02:00
Jacky Hui 4064b8ff14 Added test file for Erlang. 2020-10-09 07:38:08 +02:00
gahag 83ecc3d3ac Update changelog 2020-10-08 18:51:42 +02:00
gahag 6615eceb18 Code review: replace `if let` with equals operator 2020-10-08 18:51:42 +02:00
gahag 53f5a37f01 Code review
- Replace bools with enums
- Replace short flag with long flag
2020-10-08 18:51:42 +02:00
gahag bbef2f41ec Add `-S` flag to less when `--wrap=never` (closes #1255)
Prevent less from wrapping lines by setting the proper flag when `--wrap=never`.
If the user set a custom value for `--pager`, no additional flag is set.
2020-10-08 18:51:42 +02:00
Benjamin Neff b6e729abeb Add Diff syntax highlight test 2020-10-08 12:50:09 +02:00
Filip Czaplicki 5fe98689d4 test: x86-64 Assembly NASM syntax test 2020-10-07 18:00:33 +02:00
Daniel Wolbach 8832a96e82 add GLSL syntax highlighting test 2020-10-07 17:58:33 +02:00
R1tschY 09631ed119 Add Batch syntax test 2020-10-07 07:41:42 +02:00
Spencer Williams 9257c7ce20 Regenerate using a fresh latest build of bat 2020-10-07 07:40:15 +02:00
Spencer Williams b30f9a1677 Add sample Crystal file 2020-10-07 07:40:15 +02:00
Felipe Garcia e6c3f96931 Add Groovy syntax test. 2020-10-07 07:38:52 +02:00
Felipe Garcia 85ff81f238 Add Lua syntax test. 2020-10-07 07:37:19 +02:00
Niklas Sombert 5e0b7f013a Add support for comments after section headers (closes #1259)
There's no canonical definition of what's the INI syntax, but Python's `ConfigParser` supports comments after section headers:

```ini
[section] ; comment
```
2020-10-06 19:58:01 +02:00
Thiago Arrais aa205c6a9f Add CSV syntax hightlighting test 2020-10-06 19:47:33 +02:00
scott.eppler 44bfad24a1 Add Terraform example file for Syntax Highlighting 2020-10-06 19:40:41 +02:00
Gede Wahyu 13e01841ca pascal: add syntax highlight file 2020-10-06 07:44:38 +02:00
sharkdp a999975bc9 Add missing newline 2020-10-06 07:17:10 +02:00
Matthew Zegar edf30e1fa1 Added missing highlighted generated test file 2020-10-06 07:17:10 +02:00
Matthew Zegar f41bf2082a Added CSS syntax highlight file and folder 2020-10-06 07:17:10 +02:00
Ethan P 894d3f1722 Replace SCSS example with unlicensed one 2020-10-06 06:51:51 +02:00
Ethan P 83d96e2bbb Rename SASS tests to SCSS, since they're using SCSS syntax 2020-10-06 06:51:51 +02:00
Ethan P e26ec31463
Add option to specify exact binary in run-benchmarks.sh 2020-10-05 15:47:28 -07:00
Ethan P e3bc41dbe6
Add option to specify bat target in run-benchmarks.sh 2020-10-05 15:47:22 -07:00
uabua 7a180e22ff Add SQL syntax highlighting test 2020-10-05 23:39:01 +02:00
David Peter 3609700b5e
Add keith-hall as a maintainer! 2020-10-05 23:11:10 +02:00
Ethan P 389f64df57
Merge pull request #1265 from yimmt/minor-manpage-changes
Fix spelling and use PROJECT_EXECUTABLE more
2020-10-05 13:56:23 -07:00
scott.eppler e85064e4cf Fix mismatch between syntax-test and hightlighted
I needed to re-run `update.sh` script one last time.
2020-10-05 22:03:27 +02:00
scott.eppler dd95f8b5cb Add example file for YAML highlighting
Relates to #1213
2020-10-05 22:03:27 +02:00
Niklas Sombert 975487f630 Add syntax highlighting test file for INI (#1213) 2020-10-05 21:09:24 +02:00
Timmy Xiao 4ba7546c65 Fix spelling and use PROJECT_EXECUTABLE more 2020-10-05 14:45:30 -04:00
sharkdp c97aa55163 Add manually converted syntax 2020-10-05 18:53:49 +02:00
dependabot-preview[bot] 2e1e30705a Bump assets/syntaxes/02_Extra/TypeScript from `f21aba5` to `603ebb4`
Bumps [assets/syntaxes/02_Extra/TypeScript](https://github.com/Microsoft/TypeScript-Sublime-Plugin) from `f21aba5` to `603ebb4`.
- [Release notes](https://github.com/Microsoft/TypeScript-Sublime-Plugin/releases)
- [Commits](f21aba57c5...603ebb48b1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-05 18:53:49 +02:00
Akshat Gadhwal c92ac809a5 added test.dart 2020-10-05 18:53:35 +02:00
DanielVip3 ec842e8d51 Added a JavaScript test file 2020-10-05 17:26:13 +02:00
henil 6d6e3900c3 add LICENSE 2020-10-05 17:25:37 +02:00
henil 0516a0d7a6 add .gitignore test 2020-10-05 17:25:37 +02:00
henil adbbe158db forgot to update highlighted file after changing 2020-10-05 14:24:16 +02:00
henil 6d2be4a305 License attribution not required 2020-10-05 14:24:16 +02:00
henil 78c9a5d45b add julia test file 2020-10-05 14:24:16 +02:00
Mithil Poojary 5fa1645165 Add Java file test 2020-10-05 13:56:43 +02:00
sharkdp bbf6ec0458 Try to fix syntax-detection tests on Windows 2020-10-05 09:07:57 +02:00
Mithil Poojary e58b20f68d Add C file test 2020-10-05 09:06:47 +02:00
Logan Saso 0ce697daba #1241 Added newline to end of example.xml 2020-10-05 09:02:56 +02:00
Logan Saso a2dfadc6c8 #1213 Added example xml file 2020-10-05 09:02:56 +02:00
Mithil Poojary 6df8b3fe72 Print error message if bat not found on path 2020-10-05 09:01:46 +02:00
Mithil Poojary b623adc6df Add Cpp file test 2020-10-05 09:01:34 +02:00
Matthias Reitinger 2f77da7813 Add /etc/passwd syntax test file 2020-10-05 07:22:54 +02:00
Jonatas 9897c99190 Haskell highligth test 2020-10-05 07:20:00 +02:00
Giorgi Beriashvili aebc30447f Add TeX syntax highlighting test files 2020-10-05 07:19:07 +02:00
Giorgi Beriashvili d2bae54ed0 Add C-Sharp (C#) syntax highlighting test files 2020-10-05 07:15:09 +02:00
Logan Saso 501c369f39 #1213 Added example Markdown file 2020-10-05 07:14:09 +02:00
Filip Czaplicki db3468a815 test: ARM Assembly syntax test file 2020-10-05 07:12:24 +02:00
Filip Czaplicki 3aabed44ce test: Kotlin syntax test file 2020-10-05 07:11:52 +02:00
Ethan P 3af7a6b082
Merge pull request #1226 from mdevlamynck/fix-scripts
Shell script improvements
2020-10-04 13:49:50 -07:00
Daniil Baturin 2e985198c6 Add a protobuf syntax sample. 2020-10-04 21:32:09 +02:00
Celeo 74a2ef8138 test: add Jinja2 syntax test file 2020-10-04 21:31:19 +02:00
Daniil Baturin 88ea21b276 Add an SML syntax test file. 2020-10-04 21:25:05 +02:00
Michael 62397dbd0b test: add newline to JSON syntax source file 2020-10-04 21:22:57 +02:00
Michael 317b086f66 test: add json highlight test 2020-10-04 21:22:57 +02:00
Matthias Devlamynck 12340c1d10 Add change dir to script dir to allow running from project root dir 2020-10-04 19:35:32 +02:00
parksb e747199711 Generate highlighted file on latest version 2020-10-04 15:25:39 +02:00
parksb df7ce883c7 Add texts indicating source to LICENSE.md 2020-10-04 15:25:39 +02:00
parksb eb3e2dca24 Add basic typescript test file 2020-10-04 15:25:39 +02:00
Michael 2d9b936b0a test: add asciidoc highlight test 2020-10-04 15:23:49 +02:00
Matthias Devlamynck 66c7aca2f6 Add elm syntax regression test 2020-10-04 15:19:54 +02:00
Nick Anthony Flueckiger 0c3344d0c4 Add a ruby source code syntax test with source and output 2020-10-04 15:15:34 +02:00
Quang Le 0ac211140a document: Update README.md using cargo install --path 2020-10-04 13:29:52 +02:00
Quang Le 5d490664ca fix: update original file in license 2020-10-04 13:26:05 +02:00
Quang Le d170dd305d Add scala code highlight test 2020-10-04 13:26:05 +02:00
Matthias Devlamynck b50bd58795 Replace #!/bin/bash with #!/usr/bin/env bash to improve compatibility with systems where /bin/bash is not available 2020-10-04 11:51:07 +02:00
David Peter 1da279a290 Add link to original source 2020-10-04 11:25:11 +02:00
Quang Le 100b9a470b test: add go highlight test 2020-10-04 11:25:11 +02:00
Daniil Baturin 43c2b36eaa Make tests/syntax-tests/update.sh shell script executable. 2020-10-04 11:17:23 +02:00
Daniil Baturin 203d0bd8ae Add an OCaml file for syntax tests. 2020-10-04 11:16:15 +02:00
Thomas Gotwig 14092fbadb Apply requested changes regarding Homebrew 🍺 2020-10-04 11:14:32 +02:00
Thomas Gotwig 35ad76771d Mention Homebrew on Linux 🍺🐧 2020-10-04 11:14:32 +02:00
Ethan P 96151c44aa Add a batgrep as Bash script syntax tests 2020-10-04 11:00:57 +02:00
Ethan P 02dcb01120 Add a simple Bash script for syntax tests 2020-10-04 11:00:57 +02:00
Ethan P 51d25e5859 Fix syntax highlighting test update.sh to work on Mac OS 2020-10-04 11:00:57 +02:00
henil b8535689d3 update CHANGELOG.md 2020-10-04 06:33:11 +02:00
henil 8ff890635f add an after help NOTE 2020-10-04 06:33:11 +02:00
José Eduardo 29b6ba0758 Added Elixir file example 2020-10-03 22:33:44 +02:00
adgai19 ca5793dbea Added Basic python test file 2020-10-03 22:32:59 +02:00
Yoichi NAKAYAMA 0fdaa8e745 Remove unnecessary white spaces 2020-10-03 17:51:36 +02:00
Yoichi NAKAYAMA 5a71044d5a Merge the change in fca83bf7 and 6e3e7daf 2020-10-03 17:51:36 +02:00
Yoichi NAKAYAMA 8d091051af Merge the change in 1f177f0a 2020-10-03 17:51:36 +02:00
Yoichi NAKAYAMA 34da1ef9d6 less is just an example for PAGER
Merge the change in b0f88412 and febe3358
2020-10-03 17:51:36 +02:00
谭九鼎 e31e35c46b CI: use checkout v2 2020-10-03 13:13:40 +02:00
sharkdp 6258dda0f8 v0.16.0 2020-10-02 23:27:29 +02:00
sharkdp e6565b2134 Update syntaxes 2020-10-02 22:53:31 +02:00
sharkdp 2f9ecf9044 Bump version to 0.16.0 2020-10-02 20:45:29 +02:00
sharkdp a74d35582e Update CHANGELOG for 0.16 2020-10-02 20:45:29 +02:00
sharkdp 8886faa019 Update dependencies 2020-10-02 20:45:29 +02:00
sharkdp 4bd1b157ae Add comment about Mandoc, closes #1145 2020-10-02 20:45:29 +02:00
sharkdp 1ecb70e082 Update email syntax output 2020-10-01 22:58:30 +02:00
sharkdp 9eed16beb4 Add Email example code 2020-10-01 22:58:30 +02:00
dependabot-preview[bot] c432a064a4 Bump assets/syntaxes/02_Extra/Email from `ee3e68f` to `e89d09d`
Bumps [assets/syntaxes/02_Extra/Email](https://github.com/mariozaizar/email.sublime-syntax) from `ee3e68f` to `e89d09d`.
- [Release notes](https://github.com/mariozaizar/email.sublime-syntax/releases)
- [Commits](ee3e68fce2...e89d09d440)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-01 22:58:30 +02:00
Kienyew 2d1a92b7cc Fix zsh completion path 2020-10-01 22:09:59 +02:00
dependabot-preview[bot] cb31127b32 Bump semver from 0.10.0 to 0.11.0
Bumps [semver](https://github.com/steveklabnik/semver) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/steveklabnik/semver/releases)
- [Commits](https://github.com/steveklabnik/semver/compare/v0.10.0...v0.11.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-01 21:54:51 +02:00
sharkdp 2beec1f3ea Add comment about missing man page / completions, see #1198 2020-10-01 21:16:10 +02:00
sharkdp 8d531b6436 Update CHANGELOG 2020-10-01 21:09:46 +02:00
sharkdp 30993a8bfc Simplify code 2020-10-01 21:06:37 +02:00
sharkdp 2258fb2713 Remove .unwrap() in insert call to prevent crashes 2020-10-01 21:06:37 +02:00
sharkdp a46191b8bf Remove .unwrap() to prevent crashes 2020-10-01 21:06:37 +02:00
sharkdp 9c4c3e965b Remove non-working unit test 2020-10-01 21:06:37 +02:00
Ahmed El Gabri 31acbe20d3 Support XDG_CONFIG_HOME git config files 2020-10-01 21:06:37 +02:00
Ethan P fd52c01e78 Add custom languages/themes sections to manpage 2020-10-01 20:57:18 +02:00
dependabot-preview[bot] 6ca5543648 Bump assets/syntaxes/02_Extra/Elixir from `d223f67` to `4ee539b`
Bumps [assets/syntaxes/02_Extra/Elixir](https://github.com/princemaple/elixir-sublime-syntax) from `d223f67` to `4ee539b`.
- [Release notes](https://github.com/princemaple/elixir-sublime-syntax/releases)
- [Commits](d223f67612...4ee539b43d)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-01 20:46:32 +02:00
dependabot-preview[bot] 83afcdcf49 Bump assets/syntaxes/02_Extra/Nginx from `dc70858` to `15a1db1`
Bumps [assets/syntaxes/02_Extra/Nginx](https://github.com/brandonwamboldt/sublime-nginx) from `dc70858` to `15a1db1`.
- [Release notes](https://github.com/brandonwamboldt/sublime-nginx/releases)
- [Commits](dc7085829f...15a1db1510)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-01 20:46:15 +02:00
dependabot-preview[bot] 59ca0069a6 Bump git2 from 0.13.8 to 0.13.11
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.13.8 to 0.13.11.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/compare/0.13.8...0.13.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-01 20:38:44 +02:00
dependabot-preview[bot] 6d6184500e Bump serde from 1.0.114 to 1.0.116
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.114 to 1.0.116.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.114...v1.0.116)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-01 20:37:22 +02:00
sharkdp 1c24ec16e2 Update CHANGELOG 2020-09-30 19:53:36 +02:00
sharkdp 5efc0033a1 Add updated, highlighted output 2020-09-30 19:50:19 +02:00
sharkdp c9237cccab Add AWK file for syntax tests 2020-09-30 19:50:19 +02:00
dependabot-preview[bot] 02cd68db37 Bump assets/syntaxes/02_Extra/AWK from `1ce5f90` to `e593eb6`
Bumps [assets/syntaxes/02_Extra/AWK](https://github.com/JohnNilsson/awk-sublime) from `1ce5f90` to `e593eb6`.
- [Release notes](https://github.com/JohnNilsson/awk-sublime/releases)
- [Commits](1ce5f90d44...e593eb6d42)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-30 19:50:19 +02:00
sharkdp e4df5643dc Highlight crypttab files with fstab highlighting, closes #1073 2020-09-20 21:43:18 +02:00
sharkdp 89b62d579f Add update script 2020-09-20 21:43:18 +02:00
sharkdp 436a16aba6 Add syntax test for /etc/fstab 2020-09-20 21:43:18 +02:00
sharkdp 32d22f464d Improve --style help text, closes #1146 2020-09-20 21:00:04 +02:00
sharkdp 71b2089384 Code formatting 2020-09-20 20:47:21 +02:00
sharkdp 57aa88a13a Improve --file-name help text, closes #1109 2020-09-20 20:43:30 +02:00
sharkdp 5ef35a10cf Re-enable LTO 2020-09-20 19:55:01 +02:00
sharkdp f84aceec3d Fix unwrap error 2020-09-20 19:54:05 +02:00
sharkdp f18009e5d5 Remove 'liquid' dependency 2020-09-20 19:50:39 +02:00
Kienyew 83c7750656 Use unwrap 2020-09-20 12:14:21 +02:00
Kienyew c477e23fe9 Handle file extension conflicts in --list-languages 2020-09-20 12:14:21 +02:00
Kienyew 31fb7087f1 Revert to previous commit 2020-09-20 12:14:21 +02:00
Kienyew 6bc477e88f Update CHANGELOG.md 2020-09-20 12:14:21 +02:00
Kienyew 52d6701f8f Fix undesired behavior 2020-09-20 12:14:21 +02:00
Kienyew f97634011e Handle file extension conflicts in --list-languages (#1076) 2020-09-20 12:14:21 +02:00
sharkdp a4ffc9d5ed Update CHANGELOG 2020-09-14 11:30:47 +02:00
Kienyew a86f3e5b81 Fix packaging and Use parameterized names for zsh completion 2020-09-14 11:28:09 +02:00
Kienyew d9e8bbcb10 Handle zsh completion when packaging 2020-09-14 11:28:09 +02:00
Kienyew 8b0886ac32 Fix typo 2020-09-14 11:28:09 +02:00
Kienyew aa182dad76 Update CHANGELOG.md 2020-09-14 11:28:09 +02:00
Kienyew 41a1952928 use _describe instead of _values on subcommand 2020-09-14 11:28:09 +02:00
Kienyew 9885d4ebf0 add completion for 'cache' subcommand 2020-09-14 11:28:09 +02:00
Kienyew 222e080ce7 Fix character escape problem 2020-09-14 11:28:09 +02:00
Kienyew 046409d7c9 Add zsh completion 2020-09-14 11:28:09 +02:00
sharkdp 5df449bcf3 Remove unnecessary parenthesis 2020-09-14 11:24:14 +02:00
Alexander Karlis 6017989c4c removed printlns, updated Changelog, updated man 2020-09-14 11:24:14 +02:00
Alexander Karlis d349974089 updated PR based on comments 2020-09-14 11:24:14 +02:00
Alexander Karlis ccdea6a429 remove println 2020-09-14 11:24:14 +02:00
Alexander Karlis fdf11326ef added additional alias for color=always when always-decorations flag is triggered 2020-09-14 11:24:14 +02:00
Alexander Karlis 565a80305c Added new alias for 'decoration=always' 2020-09-14 11:24:14 +02:00
Niklas Mohrin 57a8122a6b Document PR in CHANGELOG.md 2020-09-14 10:36:22 +02:00
Niklas Mohrin bc5517da78 Document manual change in Apache sublime syntax file 2020-09-14 10:36:22 +02:00
Niklas Mohrin ad18f070ae Adds custom mapping for nginx and apache config files 2020-09-14 10:36:22 +02:00
Niklas Mohrin e305402212 Add manually generated sublime syntax file for apache configs 2020-09-14 10:36:22 +02:00
Niklas Mohrin d62b99f543 Adds Apache config file syntax highlighting 2020-09-14 10:36:22 +02:00
Niklas Mohrin 4d8133eb34 Adds Nginx config file syntax highlighting 2020-09-14 10:36:22 +02:00
dependabot-preview[bot] 5cba5b9989 Bump assets/syntaxes/02_Extra/SCSS_Sass from `b98a3f3` to `bc6332c`
Bumps [assets/syntaxes/02_Extra/SCSS_Sass](https://github.com/braver/SublimeSass) from `b98a3f3` to `bc6332c`.
- [Release notes](https://github.com/braver/SublimeSass/releases)
- [Commits](b98a3f3ccf...bc6332c1be)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-08 21:24:28 +02:00
dependabot-preview[bot] 31f23123ef Bump clap from 2.33.1 to 2.33.3
Bumps [clap](https://github.com/clap-rs/clap) from 2.33.1 to 2.33.3.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/v2.33.3/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v2.33.1...v2.33.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-08 21:23:54 +02:00
dependabot-preview[bot] b9dac6ca5d Bump syntect from 4.2.0 to 4.4.0
Bumps [syntect](https://github.com/trishume/syntect) from 4.2.0 to 4.4.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/v4.2.0...v4.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-08 20:20:50 +02:00
sharkdp c3f85c8372 Add Less file for syntax tests 2020-09-07 22:25:14 +02:00
sharkdp 7f5d6d9791 Add SASS file for syntax tests 2020-09-07 22:25:14 +02:00
dependabot-preview[bot] 96d4cdb7cb Bump assets/syntaxes/02_Extra/ssh-config from `bee376c` to `1ddcb32`
Bumps [assets/syntaxes/02_Extra/ssh-config](https://github.com/robballou/sublimetext-sshconfig) from `bee376c` to `1ddcb32`.
- [Release notes](https://github.com/robballou/sublimetext-sshconfig/releases)
- [Commits](bee376c896...1ddcb320ac)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-07 22:18:10 +02:00
dependabot-preview[bot] 9f1f3ab5e3 Bump error-chain from 0.12.3 to 0.12.4
Bumps [error-chain](https://github.com/rust-lang-nursery/error-chain) from 0.12.3 to 0.12.4.
- [Release notes](https://github.com/rust-lang-nursery/error-chain/releases)
- [Changelog](https://github.com/rust-lang-nursery/error-chain/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang-nursery/error-chain/compare/0.12.3...0.12.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-07 22:17:19 +02:00
dependabot-preview[bot] 6e90f17a15 Bump console from 0.11.3 to 0.12.0
Bumps [console](https://github.com/mitsuhiko/console) from 0.11.3 to 0.12.0.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Commits](https://github.com/mitsuhiko/console/compare/v0.11.3...v0.12.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-07 22:17:03 +02:00
dependabot-preview[bot] 5b654480f4 Bump liquid from 0.21.1 to 0.21.4
Bumps [liquid](https://github.com/cobalt-org/liquid-rust) from 0.21.1 to 0.21.4.
- [Release notes](https://github.com/cobalt-org/liquid-rust/releases)
- [Changelog](https://github.com/cobalt-org/liquid-rust/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cobalt-org/liquid-rust/compare/liquid-lib-v0.21.1...v0.21.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-07 22:01:48 +02:00
Nikolay Shuyskiy 803447e2a1 Stylistic, spelling and punctuation fixes in README-ru 2020-08-30 19:47:02 +02:00
apotheon 99c04a8740 update README to clarify disjunctive licensing 2020-08-29 10:59:08 +02:00
chris48s e4370d8d3f change docs dir name to match package name
i.e: docs for bat-musl go in /usr/share/doc/bat-musl
not /usr/share/doc/bat
2020-08-12 06:47:58 +02:00
chris48s 883cc964ae add Depends line
Use dpkg-shlibdeps to work out shared library dependencies
and include them in a "Depends:" line

resolves missing-depends-line
https://lintian.debian.org/tags/missing-depends-line.html
2020-08-12 06:47:58 +02:00
chris48s 1d4cee11b7 include changelog in package
in line with debian changelog/release notes guidance
https://www.debian.org/doc/debian-policy/ch-docs.html#changelog-files-and-release-notes
resolves changelog-file-missing-in-native-package
https://lintian.debian.org/tags/changelog-file-missing-in-native-package.html
2020-08-12 06:47:58 +02:00
chris48s 9f91a7d797 include years in copyright notice
This brings the copyright notice into line with the expected format
resolves copyright-without-copyright-notice
https://lintian.debian.org/tags/copyright-without-copyright-notice.html
2020-08-12 06:47:58 +02:00
chris48s 4a6b4fb632 ensure copyright is mode 644
resolves non-standard-file-perm
https://lintian.debian.org/tags/non-standard-file-perm.html
2020-08-12 06:47:58 +02:00
chris48s 7c730d11c3 remove leading article from description
resolves description-synopsis-starts-with-article
https://lintian.debian.org/tags/description-synopsis-starts-with-article.html
2020-08-12 06:47:58 +02:00
chris48s 21de52ebea invoke gzip with -n
resolves package-contains-timestamped-gzip
https://lintian.debian.org/tags/package-contains-timestamped-gzip.html
2020-08-12 06:47:58 +02:00
Kienyew cab5ddf6ae Fix Typo 2020-08-12 06:45:24 +02:00
dependabot-preview[bot] b3657aef2b Bump assets/syntaxes/02_Extra/ssh-config from `3ec06d0` to `bee376c`
Bumps [assets/syntaxes/02_Extra/ssh-config](https://github.com/robballou/sublimetext-sshconfig) from `3ec06d0` to `bee376c`.
- [Release notes](https://github.com/robballou/sublimetext-sshconfig/releases)
- [Commits](3ec06d0e9c...bee376c896)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-03 21:52:58 +02:00
David Peter b0f8841217 Fix typo 2020-08-03 17:48:16 +02:00
Mehrad Mahmoudian febe335831 Clarified which pager is used in docs 2020-08-03 17:48:16 +02:00
sharkdp cbe68ba84c Make sure that environment is properly set up 2020-08-03 15:59:53 +02:00
sharkdp 9110b00e2e Rebuild bat with new assets 2020-08-03 15:59:53 +02:00
sharkdp 4b012de7db Make test script executable 2020-08-03 15:59:53 +02:00
sharkdp 49370e2175 Add CI job 2020-08-03 15:59:53 +02:00
sharkdp 02a89d8ee8 Add comparison script 2020-08-03 15:59:53 +02:00
sharkdp a70efae79b Add proper CLI 2020-08-03 15:59:53 +02:00
sharkdp 78a681f027 Initial version of syntax regression tests 2020-08-03 15:59:53 +02:00
sharkdp 3a85fd767b Update themes.bin 2020-08-03 11:39:49 +02:00
sharkdp 2ffbe08eb1 Add base16-256 theme to unit test 2020-08-03 11:39:49 +02:00
Mitchell Kember f9d5e81f0e Add new theme: base16-256
Bat already has a base16 theme. The new base16-256 theme is for users
of base16-shell, who configure their terminal with a 256-color variant
of a base16 theme. These variants put some of the base16 colors in
elsewhere in the 256-color table to avoid clobbering bright color slots
(ansi codes 8 to 15) with colors that don't respect the ordinary meaning
of that slot (e.g. bright green in ordinary base16 is not green).

For more details, see https://github.com/chriskempson/base16-shell
2020-08-03 11:39:49 +02:00
dependabot-preview[bot] 00d1267bdd Bump dirs from 2.0.2 to 3.0.1
Bumps [dirs](https://github.com/soc/dirs-rs) from 2.0.2 to 3.0.1.
- [Release notes](https://github.com/soc/dirs-rs/releases)
- [Commits](https://github.com/soc/dirs-rs/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-03 11:38:09 +02:00
dependabot-preview[bot] 001ee34d01 Bump assets/themes/onehalf from `970abdf` to `3aa42a3`
Bumps [assets/themes/onehalf](https://github.com/sonph/onehalf) from `970abdf` to `3aa42a3`.
- [Release notes](https://github.com/sonph/onehalf/releases)
- [Commits](970abdf26b...3aa42a39ed)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-02 22:53:04 +02:00
David Peter db157567fd
Use GitHub Actions badge 2020-08-02 21:53:59 +02:00
sharkdp 9e0fab16ff Fix here-doc indentation, part 2 2020-08-02 21:51:23 +02:00
sharkdp a9af4f4ca1 Fix spelling of LICENSE 2020-08-02 21:51:23 +02:00
sharkdp 96d682ca49 Use ansi-dark theme in GA output 2020-08-02 21:51:23 +02:00
sharkdp 7056bea9e0 Add list of languages/themes 2020-08-02 21:51:23 +02:00
sharkdp 63e13d8e54 Colored output 2020-08-02 21:51:23 +02:00
sharkdp 81587b3578 Add checks for all feature combinations 2020-08-02 21:51:23 +02:00
sharkdp 663c7cf1d7 Add bat test run 2020-08-02 21:51:23 +02:00
sharkdp 8705d018fd Fix here-doc indentation 2020-08-02 21:51:23 +02:00
sharkdp 8c33a32256 Add old copyright, control files; add man page and autocompletions 2020-08-02 21:51:23 +02:00
sharkdp 37a720be06 Use recursive checkout 2020-08-02 21:51:23 +02:00
sharkdp aacbdcfc44 Add --path argument 2020-08-02 21:51:23 +02:00
sharkdp 794f3d08f4 Remove --release argument 2020-08-02 21:51:23 +02:00
sharkdp 3147f0536a Add job to run tests with new syntaxes/themes 2020-08-02 21:51:23 +02:00
sharkdp 42de486e94 Adapt job step names 2020-08-02 21:51:23 +02:00
sharkdp 54c9d7cdb2 Remove unneeded i586-* jobs 2020-08-02 21:51:23 +02:00
sharkdp c8e394f3f0 Remove TravisCI and AppVeyor configuration files 2020-08-02 21:51:23 +02:00
sharkdp 4b65e6e443 Change MinSRV => Minimum supported Rust version 2020-08-02 21:51:23 +02:00
sharkdp 5a6c65c589 Disable code-coverage comments 2020-08-02 21:51:23 +02:00
dependabot-preview[bot] 75246fb25b Bump liquid from 0.20.1 to 0.21.1
Bumps [liquid](https://github.com/cobalt-org/liquid-rust) from 0.20.1 to 0.21.1.
- [Release notes](https://github.com/cobalt-org/liquid-rust/releases)
- [Changelog](https://github.com/cobalt-org/liquid-rust/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cobalt-org/liquid-rust/compare/liquid-bin-v0.20.1...liquid-lib-v0.21.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-01 23:06:25 +02:00
dependabot-preview[bot] 0cc1084819 Bump git2 from 0.13.6 to 0.13.8
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.13.6 to 0.13.8.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/compare/0.13.6...0.13.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-01 23:06:14 +02:00
dependabot-preview[bot] 21eedaf76e Bump error-chain from 0.12.2 to 0.12.3
Bumps [error-chain](https://github.com/rust-lang-nursery/error-chain) from 0.12.2 to 0.12.3.
- [Release notes](https://github.com/rust-lang-nursery/error-chain/releases)
- [Changelog](https://github.com/rust-lang-nursery/error-chain/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang-nursery/error-chain/commits/0.12.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-01 10:17:49 +02:00
dependabot-preview[bot] 2656c503a4 Bump predicates from 1.0.4 to 1.0.5
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 1.0.4 to 1.0.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/v1.0.4...v1.0.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-01 09:54:43 +02:00
sharkdp 2b3457e8d6 Update --help text for --color 2020-07-25 22:32:34 +02:00
sharkdp f5d606c4fc Always use 'batcat' in info.sh, if needed 2020-07-25 22:28:22 +02:00
Dash Peters 0e38c1728e Update changelog 2020-07-09 08:15:04 +02:00
Dash Peters 6faf61552e Fix integration test 2020-07-09 08:15:04 +02:00
Dash Peters fcf5ec2f77 Add syntaxes.bin changes 2020-07-09 08:15:04 +02:00
Dash Peters 99819087f1 Switch to "·" (U+00B7) Middle Dot from "•" (U+2022) Bullet 2020-07-09 08:15:04 +02:00
Attila Gonda 3956e96e74 Add clarification about how the indentation works 2020-07-09 08:13:52 +02:00
Attila Gonda a0b89a68d9 Update generated config to reflect pager argument behaviour 2020-07-09 08:13:52 +02:00
AJ ONeal 62014c1094 Make Windows 10 dependencies more clear 2020-07-05 12:20:59 +02:00
David Peter 58dcabffe6
Merge pull request #1082 from LordFlashmeow/master
Add alias for --paging=never
2020-07-02 21:08:23 +02:00
Dash Peters c264f74771 Hide alias in help, update man and completions
A long alias doesn't make sense, since `--paging=never` already exists
2020-07-02 00:07:37 -07:00
Dash Peters f53ea60ed4 Merge remote-tracking branch 'sharkdp/master' 2020-07-02 00:04:55 -07:00
David Peter 05027b7c74
Remove outdated Docker installation method 2020-07-02 08:36:01 +02:00
David Peter 3a62e3d188
Merge pull request #1066 from gsomix/feature/1061-show-all-redirected
Enable non-printable characters for redirected output
2020-07-02 08:21:50 +02:00
David Peter 963d9ee584
Merge pull request #1069 from KyleOndy/add_gruvbox_theme
add peaceant's port of gruvbox themes
2020-07-02 08:07:15 +02:00
David Peter 12e4fd138b Add updated themes.bin
Branch: add_gruvbox_theme
2020-07-02 07:37:00 +02:00
Evgeniy Andreev (gsomix) 3c5ce9f86c Enable non-printable chars for redirected output (#1061) 2020-07-02 09:36:58 +04:00
David Peter 2461d22212 Add new themes to unit test
Branch: add_gruvbox_theme
2020-07-02 07:17:57 +02:00
David Peter 611c6e9c74
Merge branch 'master' into add_gruvbox_theme 2020-07-02 07:02:04 +02:00
dependabot-preview[bot] 38efdb5148 Bump serde_yaml from 0.8.12 to 0.8.13
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml) from 0.8.12 to 0.8.13.
- [Release notes](https://github.com/dtolnay/serde-yaml/releases)
- [Commits](https://github.com/dtolnay/serde-yaml/compare/0.8.12...0.8.13)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-02 06:50:28 +02:00
Dash Peters 5fdeeabb44 Change to name no-paging, add long flag and alias 2020-07-01 21:35:45 -07:00
Dash Peters b0d19752c6 Merge remote-tracking branch 'sharkdp/master' 2020-07-01 21:33:56 -07:00
David Peter a95a577622
Merge pull request #1090 from sharkdp/dependabot/cargo/liquid-0.20.1
Bump liquid from 0.20.0 to 0.20.1
2020-07-01 16:45:51 +02:00
dependabot-preview[bot] ca44a80a42 Bump unicode-width from 0.1.7 to 0.1.8
Bumps [unicode-width](https://github.com/unicode-rs/unicode-width) from 0.1.7 to 0.1.8.
- [Release notes](https://github.com/unicode-rs/unicode-width/releases)
- [Commits](https://github.com/unicode-rs/unicode-width/commits/v0.1.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-01 16:45:35 +02:00
dependabot-preview[bot] bf841e63bd
Bump liquid from 0.20.0 to 0.20.1
Bumps [liquid](https://github.com/cobalt-org/liquid-rust) from 0.20.0 to 0.20.1.
- [Release notes](https://github.com/cobalt-org/liquid-rust/releases)
- [Changelog](https://github.com/cobalt-org/liquid-rust/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cobalt-org/liquid-rust/compare/liquid-bin-v0.20.0...liquid-bin-v0.20.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-01 13:02:54 +00:00
dependabot-preview[bot] d357227e57 Bump serde from 1.0.111 to 1.0.114
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.111 to 1.0.114.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.111...v1.0.114)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-01 15:01:17 +02:00
David Peter 993d703ba0
Merge pull request #1088 from sharkdp/dependabot/cargo/wild-2.0.4
Bump wild from 2.0.3 to 2.0.4
2020-07-01 09:11:36 +02:00
dependabot-preview[bot] b449b82191
Bump wild from 2.0.3 to 2.0.4
Bumps [wild](https://gitlab.com/kornelski/wild) from 2.0.3 to 2.0.4.
- [Release notes](https://gitlab.com/kornelski/wild/tags)
- [Commits](https://gitlab.com/kornelski/wild/commits/master)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-01 02:30:41 +00:00
Dash Peters bfac6fd85c Add integration tests 2020-06-30 12:41:50 -07:00
Dash Peters 2575aae945 Add short flag for --paging=never 2020-06-30 12:19:22 -07:00
David Peter b0191cdf2c
Merge pull request #1070 from caioalonso/master
Adds GLSL syntax
2020-06-29 06:10:19 +02:00
Caio Alonso fc121f0c87 Defaults *.fs to F# 2020-06-26 21:42:05 -03:00
Sergey fa10b48c71 Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey d4db1c6af3 Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey f651e2cfca Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey 9d9f99c2d1 Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey 9c8dda1f9d Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey 89521a5134 Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey d11355f985 Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey 7ccda6e6e9 Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey 1de423c78b Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey 3943857087 Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey 27bb5c5976 Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey 3f614cb274 Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey 1e407d972f Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey 52b3c5fce4 Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey 5d53273ef4 Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey bf9faa9c28 Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey 0356b7f2c3 Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey 19c8558152 Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey a137db86a4 Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey 2a28f04e09 Update doc/README-ru.md
Co-authored-by: Evgeniy Andreev <gsomix@gmail.com>
2020-06-26 19:19:26 +02:00
Sergey 8dfa69fde4 Update README-ru.md 2020-06-26 19:19:26 +02:00
Kyle Ondy 541f014d50
add peaceant's port of gruvbox themes
This adds Martin Radimec's [1] port [2] of the gruvbox theme [3].

Brian Reilly (Briles) [4] has a pretty complete collection of gruvbox
ports [5] but they are all in `sublime-color-scheme` which is not yet
supported in bat, see #759 [6].

[1] https://github.com/peaceant
[2] https://github.com/peaceant/gruvbox
[3] https://github.com/morhetz/gruvbox
[4] https://github.com/Briles
[5] https://github.com/Briles/gruvbox
[6] https://github.com/sharkdp/bat/issues/759
2020-06-22 21:25:51 -04:00
Caio Alonso 233d375983 Adds GLSL syntax 2020-06-22 22:19:48 -03:00
t-mangoe b09d245dea modify japanese doc. 2020-06-21 10:58:59 +02:00
Guido Cella 44deddbbfe Highlight pacman hooks as ini 2020-06-21 10:58:32 +02:00
Guido Cella aa8a2b1769 Highlight systemd files as ini 2020-06-21 10:58:32 +02:00
Guido Cella 4cdac180d8 Revert "Highlight systemd files and Pacman hooks as .ini files"
This reverts commit cde430a1e7.
2020-06-21 10:58:32 +02:00
Guido Cella d079bf86b1 Highlight systemd files and Pacman hooks as .ini files 2020-06-21 10:58:32 +02:00
gemmaro 62b4452057 fix typo in Japanese readme
* typo
* more natural expression
2020-06-14 09:18:53 +02:00
David Peter c3ec92a13f
Remove outdated Ansible installation method 2020-06-07 22:55:32 +02:00
David Peter c3230a68bb
README layout 2020-06-05 22:42:32 +02:00
Sergey Duck d9f163f466 translation update with commit #6e3e7dafcaa840ed72748f2ca1e99e420769907b 2020-06-03 22:21:13 +02:00
Sergey Duck d0da5af810 fix link to translation 2020-06-03 22:21:13 +02:00
Sergey Duck a2b2ec467a minor fixes 2020-06-03 22:21:13 +02:00
Sergey Duck 83b3009f0f full translated 2020-06-03 22:21:13 +02:00
Sergey Duck 4ea70f8409 customization is translated 2020-06-03 22:21:13 +02:00
Sergey Duck 0d2ef02c9e Installation is translated 2020-06-03 22:21:13 +02:00
Sergey Duck 2d7796284b First part of russian translation 2020-06-03 22:21:13 +02:00
sharkdp 19aa878a08 Remove explicit type annotation 2020-06-03 19:44:41 +02:00
sharkdp 9f52012443 Prevent allocation of additional Strings 2020-06-03 19:44:41 +02:00
sharkdp e57e9b6dbb Use 'or_insert_with' 2020-06-03 19:44:41 +02:00
sharkdp 74e8373e34 Return mappings as a slice 2020-06-03 19:44:41 +02:00
sharkdp ec2722d465 Use 'if let' instead of 'match' 2020-06-03 19:44:41 +02:00
Alex Novak 9e2ea5fdd4 Incorporating feedback 2020-06-03 19:44:41 +02:00
Alex Novak 48b4a6a906 Adds a little logic to main to get other mappings from config 2020-06-03 19:44:41 +02:00
Roy Ivy III 92e93682c6 Revert f8ed8aa7 (add test instrumentation to help understand failing tests) per PR feedback/owner request
- reverts commit f8ed8aa74b
2020-06-03 09:13:47 +02:00
Roy Ivy III 99226b745f Revert 9ed8db22c ('windows' pager process execution fix) based on PR feedback/owner request 2020-06-03 09:13:47 +02:00
Roy Ivy III 4840c7cd78 Tests ~ add predicate normalization for tests using `echo` 2020-06-03 09:13:47 +02:00
Roy Ivy III 71ab4a2058 Tests ~ revert to `echo` (after fixed 'windows' pager process execution) 2020-06-03 09:13:47 +02:00
Roy Ivy III a2c09b41bc Fix pager process execution under 'windows'
## [why]

For 'windows' platforms, directly spawning a process (eg, called PATHNAME) bypasses the
usual windows shell machinery for determining which process to execute. Specifically,
the extensions in PATHEXT will not be used to determine the final executable. So,
`PATHNAME.bat`, `PATHNAME.cmd`, ... will *not* be executed even if on they exist on the
PATH; and this is counter to the usual expectation of a Windows user. Additionally,
built-in commands, such as `echo` and `dir`, will never be accessible as they do not
have a PATH to execute and, so, will never be found.

To use the usual machinery, giving access to PATHNAME.bat and `echo`, execute the PATHNAME
using the windows shell, eg `cmd /d/c PATHNAME`. Note this may expose the constructed
command line to the windows shell quoting vagaries (sadly, that may be part of the price).

Following Windows standards, the ComSpec environment variable is used to determine which
shell to use, with a fallback to the "modern", built-in `cmd` shell.
2020-06-03 09:13:47 +02:00
Roy Ivy III 0ef792ac1e Tests ~ (fix) always check out test fixtures with known LF line endings
- fixes windows test failures
- avoids `git` platform-dependent conversion of line endings for checkout of test fixtures (*tests/examples/...*)
2020-06-03 09:13:47 +02:00
Roy Ivy III 01af28b781 Tests ~ add instrumentation to visualize text differences in failing tests 2020-06-03 09:13:47 +02:00
Roy Ivy III 3a7743ffc5 Tests ~ `echo` has portability issues; for CI, replace with `printf`
- using `echo` on 'windows' platforms requires process execution indirectly via the shell
- `printf` is available on all GHA CI platforms
  - `printf` is *not* available on usual 'windows' platforms; so this is just temporizing, awaiting a true fix
2020-06-03 09:13:47 +02:00
Roy Ivy III 9cc8e52512 Fix compiler warning for 'windows' tests (dead_code) 2020-06-03 09:13:47 +02:00
Roy Ivy III 698a6b5acf Maint/CICD ~ GHA - add additional linux builds and packaging support 2020-06-03 09:13:47 +02:00
Roy Ivy III 7a51c7fd30 Maint/CICD ~ GHA - disable windows-gnu builds with unresolvable linker errors
- `undefined reference to `_imp____acrt_iob_func'`

- ref: <https://github.com/rust-lang/rust/issues/68887#issuecomment-615877016>
- ref: <https://users.rust-lang.org/t/linking-with-gcc-failed-exit-code-1/34124>
- ref: <https://www.gitmemory.com/issue/rust-lang/rust/47048/530376978>
- ref: <https://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/?limit=250&page=7>
2020-06-03 09:13:47 +02:00
Roy Ivy III 7c3e9f81cb Maint/CI ~ add GitHub-Actions CI (aka GHA) 2020-06-03 09:13:47 +02:00
Alexander Jackson 6e3e7dafca Clarify more wording when reading from stdin
Update the word 'initial' to be 'first', as this is more ubiquitous and
potentially easier for non-native speakers.

Clarify that it is the highlighting that may not work, and the input
will still be displayed regardless.
2020-06-03 09:01:23 +02:00
Alexander Jackson fca83bf79a Clarify stdin syntax highlighting in the README
Clarify the requirements for automatic syntax highlighting when reading
input from stdin. Fixes #1028.
2020-06-03 09:01:23 +02:00
vwvw b8ffb8d463 fix typo in readme 2020-06-02 21:53:50 +02:00
dependabot-preview[bot] 1dae5bbc95 Bump semver from 0.9.0 to 0.10.0
Bumps [semver](https://github.com/steveklabnik/semver) from 0.9.0 to 0.10.0.
- [Release notes](https://github.com/steveklabnik/semver/releases)
- [Commits](https://github.com/steveklabnik/semver/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 10:40:05 +02:00
dependabot-preview[bot] 1a1932b67a Bump console from 0.11.2 to 0.11.3
Bumps [console](https://github.com/mitsuhiko/console) from 0.11.2 to 0.11.3.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Commits](https://github.com/mitsuhiko/console/compare/0.11.2...v0.11.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 10:39:23 +02:00
dependabot-preview[bot] 8be375e75b Bump git2 from 0.13.5 to 0.13.6
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.13.5 to 0.13.6.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/compare/0.13.5...0.13.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 09:56:01 +02:00
dependabot-preview[bot] e63e4232db Bump serde from 1.0.110 to 1.0.111
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.110 to 1.0.111.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.110...v1.0.111)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 09:55:32 +02:00
sharkdp cef04665eb Manually convert Crystal.sublime-syntax 2020-06-01 09:54:46 +02:00
dependabot-preview[bot] 76569b9527 Bump assets/syntaxes/02_Extra/Crystal from `2ee9d66` to `5e032ff`
Bumps [assets/syntaxes/02_Extra/Crystal](https://github.com/crystal-lang-tools/sublime-crystal) from `2ee9d66` to `5e032ff`.
- [Release notes](https://github.com/crystal-lang-tools/sublime-crystal/releases)
- [Commits](2ee9d667ae...5e032ff5f5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 09:54:46 +02:00
sharkdp 1d46eb8ea3 Manually convert TypeScript.sublime-syntax 2020-06-01 09:50:30 +02:00
dependabot-preview[bot] 6b79ac995e Bump assets/syntaxes/02_Extra/TypeScript from `9cd994a` to `f21aba5`
Bumps [assets/syntaxes/02_Extra/TypeScript](https://github.com/Microsoft/TypeScript-Sublime-Plugin) from `9cd994a` to `f21aba5`.
- [Release notes](https://github.com/Microsoft/TypeScript-Sublime-Plugin/releases)
- [Commits](9cd994af73...f21aba57c5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 09:50:30 +02:00
dependabot-preview[bot] ee928b034e Bump assets/syntaxes/02_Extra/Elixir from `1f010d5` to `d223f67`
Bumps [assets/syntaxes/02_Extra/Elixir](https://github.com/princemaple/elixir-sublime-syntax) from `1f010d5` to `d223f67`.
- [Release notes](https://github.com/princemaple/elixir-sublime-syntax/releases)
- [Commits](1f010d5f63...d223f67612)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 09:31:28 +02:00
dependabot-preview[bot] fc5790eb4a Bump assets/syntaxes/02_Extra/LESS from `3020993` to `44632e1`
Bumps [assets/syntaxes/02_Extra/LESS](https://github.com/danro/LESS-sublime) from `3020993` to `44632e1`.
- [Release notes](https://github.com/danro/LESS-sublime/releases)
- [Commits](3020993658...44632e19af)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 09:30:26 +02:00
dependabot-preview[bot] 5213ffee0e Bump clap from 2.33.0 to 2.33.1
Bumps [clap](https://github.com/clap-rs/clap) from 2.33.0 to 2.33.1.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/v2.33.1/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v2.33.0...v2.33.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 08:44:09 +02:00
sharkdp 5ebf0215c5 Update CHANGELOG 2020-05-29 22:14:20 +02:00
Ethan P 9957da6b93 Remove <font> tag from CHANGELOG.md 2020-05-29 22:13:10 +02:00
Ethan P 342cae2dc6 Change use of 'BatInput' to 'input::Input' 2020-05-29 22:13:10 +02:00
Ethan P d2b26a5f1f Remove unnecessary '-> ()'s 2020-05-29 22:13:10 +02:00
Ethan P 9d08c0102e Replace Input::stdin_as_file with bat-application functions 2020-05-29 22:13:10 +02:00
Ethan P a3357547ea Remove unused with_name for theme preview file 2020-05-29 22:13:10 +02:00
Ethan P 7a9decad70 Remove Input.as_file and add Input::stdin_as_file 2020-05-29 22:13:10 +02:00
Ethan P c4d0d068e4 Update input API example 2020-05-29 22:13:10 +02:00
Ethan P c03a027240 Move PR changes in README to unreleased section 2020-05-29 22:13:10 +02:00
Ethan P a8d7141c4c Improve documentation for Input API 2020-05-29 22:13:10 +02:00
Ethan P 3eb704e016 Update examples 2020-05-29 22:13:10 +02:00
Ethan P 0f06d3b90d Reexport bat::pretty_printer::Input as bat::Input 2020-05-29 22:13:10 +02:00
Ethan P 589c94aa93 Fix regression with --list-themes and --language 2020-05-29 22:13:10 +02:00
Ethan P 798b742617 Refactor InputDescription API into Input API 2020-05-29 22:13:10 +02:00
Ethan P 11a72ab765 Fix a typo 2020-05-29 22:13:10 +02:00
Ethan P 0319149b4d [breaking] Remove special handling for theme previews 2020-05-29 22:13:10 +02:00
Ethan P 2f823d59b0 Add PrettyPrinter::input function 2020-05-29 22:13:10 +02:00
Ethan P 981352992b Add InputDescription API 2020-05-29 22:13:10 +02:00
Ethan P 384ea38bd9 Add documentation to InputDescription 2020-05-29 22:13:10 +02:00
Ryan Tolboom 268c0963b4 Updated AsciiDoc syntax submodule 2020-05-29 22:12:28 +02:00
Ethan P 8b481dd41f Add support for NO_COLOR env var (#1021) 2020-05-28 21:49:10 +02:00
David Peter 6f88ba0e6f
Update CHANGELOG.md 2020-05-27 12:04:31 +02:00
834 changed files with 71366 additions and 5218 deletions

1
.github/.codecov.yml vendored Normal file
View File

@ -0,0 +1 @@
comment: false

1
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1 @@
github: [sharkdp, keith-hall, Enselic]

View File

@ -8,32 +8,57 @@ assignees: ''
---
<!--
Hey there, thanks for creating an issue!
In order to reproduce your issue, we might need to know a little bit more about the environment
which you're running `bat` on.
Hey there, thank you for reporting a bug!
If you're on Linux or MacOS:
Please run the script at https://github.com/sharkdp/bat/blob/master/diagnostics/info.sh and
paste the output at the bottom of the bug report.
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
If you're on Windows:
Please tell us about your Windows Version (e.g. "Windows 10 1908") at the
bottom of the bug report.
-->
**What version of `bat` are you using?**
[paste the output of `bat --version` here]
**What steps will reproduce the bug?**
1. step 1
2. step 2
3. ...
**What happens?**
**Describe the bug you encountered:**
...
**Describe what you expected to happen?**
**What did you expect to happen instead?**
...
**How did you install `bat`?**
apt-get, homebrew, GitHub release, etc.
<!-- apt-get, homebrew, GitHub release, etc. -->
---
[paste the output of `info.sh` here]
**bat version and environment**
<!--
In order to reproduce your issue, please add some information about the environment
in which you're running bat. To do this, run the full `bat` command that demonstrates
the bug, and attach the `--diagnostic` option:
bat [other options and arguments…] --diagnostic
Finally, paste the Markdown output here. Please make sure that it does not reveal any
personal information.
If you are running bat 0.17.1 or older (where --diagnostic is not available), please
run the script at
https://github.com/sharkdp/bat/blob/master/diagnostics/info.sh
(click "Raw" to get the actual source code) and paste the Markdown output here. If you
are on Windows, please let us know your bat version and your Windows version.
-->

View File

@ -1,2 +1 @@
blank_issues_enabled: true

View File

@ -7,4 +7,3 @@ assignees: ''
---

View File

@ -7,4 +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]

24
.github/dependabot.yml vendored Normal file
View File

@ -0,0 +1,24 @@
version: 2
updates:
- package-ecosystem: cargo
directory: "/"
schedule:
interval: monthly
time: "04:00"
timezone: Europe/Berlin
ignore:
- dependency-name: git2
versions:
- 0.13.17
- package-ecosystem: gitsubmodule
directory: "/"
schedule:
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 }}

467
.github/workflows/CICD.yml vendored Normal file
View File

@ -0,0 +1,467 @@
name: CICD
env:
CICD_INTERMEDIATES_DIR: "_cicd-intermediates"
MSRV_FEATURES: --no-default-features --features minimal-application,bugreport,build-assets
on:
workflow_dispatch:
pull_request:
push:
branches:
- master
tags:
- '*'
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: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- 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@v4
with:
submodules: true # we especially want to perform license checks on submodules
- run: tests/scripts/license-checks.sh
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@v4
with:
submodules: true # we need all syntax and theme submodules
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Build and install bat
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
run: cargo install --locked --path .
- name: Run unit tests with new syntaxes and themes
run: cargo test --locked --release
- name: Run ignored-by-default unit tests with new syntaxes and themes
run: cargo test --locked --release --test assets -- --ignored
- name: Syntax highlighting regression test
run: tests/syntax-tests/regression_test.sh
- name: List of languages
run: bat --list-languages
- name: List of themes
run: bat --list-themes
- 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@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Check documentation
env:
RUSTDOCFLAGS: -D warnings
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:
- 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, 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-12, }
- { target: aarch64-apple-darwin , os: macos-14, }
- { 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, 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@v4
- name: Install prerequisites
shell: bash
run: |
case ${{ matrix.job.target }} in
arm-unknown-linux-*) sudo apt-get -y update ; sudo apt-get -y install gcc-arm-linux-gnueabihf ;;
aarch64-unknown-linux-gnu) sudo apt-get -y update ; sudo apt-get -y install gcc-aarch64-linux-gnu ;;
esac
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
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
run: |
gcc --version || true
rustup -V
rustup toolchain list
rustup default
cargo -V
rustc -V
- name: Build
shell: bash
run: $BUILD_CMD build --locked --release --target=${{ matrix.job.target }}
- name: Set binary name & path
id: bin
shell: bash
run: |
# Figure out suffix of binary
EXE_suffix=""
case ${{ matrix.job.target }} in
*-pc-windows-*) EXE_suffix=".exe" ;;
esac;
# Setup paths
BIN_NAME="${{ needs.crate_metadata.outputs.name }}${EXE_suffix}"
BIN_PATH="target/${{ matrix.job.target }}/release/${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
shell: bash
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 ${{ needs.crate_metadata.outputs.name }}" ;; esac;
echo "CARGO_TEST_OPTIONS=${CARGO_TEST_OPTIONS}" >> $GITHUB_OUTPUT
- name: Run tests
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
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)
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"
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"
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"
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"
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"
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=${{ needs.crate_metadata.outputs.name }}-v${{ needs.crate_metadata.outputs.version }}-${{ matrix.job.target }}
PKG_NAME=${PKG_BASENAME}${PKG_suffix}
echo "PKG_NAME=${PKG_NAME}" >> $GITHUB_OUTPUT
PKG_STAGING="${{ env.CICD_INTERMEDIATES_DIR }}/package"
ARCHIVE_DIR="${PKG_STAGING}/${PKG_BASENAME}/"
mkdir -p "${ARCHIVE_DIR}"
mkdir -p "${ARCHIVE_DIR}/autocomplete"
# Binary
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/${{ 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
case ${{ matrix.job.target }} in
*-pc-windows-*) 7z -y a "${PKG_NAME}" "${PKG_BASENAME}"/* | tail -2 ;;
*) tar czf "${PKG_NAME}" "${PKG_BASENAME}"/* ;;
esac;
popd >/dev/null
# Let subsequent steps know where to find the compressed package
echo "PKG_PATH=${PKG_STAGING}/${PKG_NAME}" >> $GITHUB_OUTPUT
- name: Create Debian package
id: debian-package
shell: bash
if: startsWith(matrix.job.os, 'ubuntu')
run: |
COPYRIGHT_YEARS="2018 - "$(date "+%Y")
DPKG_STAGING="${{ env.CICD_INTERMEDIATES_DIR }}/debian-package"
DPKG_DIR="${DPKG_STAGING}/dpkg"
mkdir -p "${DPKG_DIR}"
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 "DPKG_NAME=${DPKG_NAME}" >> $GITHUB_OUTPUT
# Binary
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/${{ 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/${{ 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"
install -Dm644 "LICENSE-MIT" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/LICENSE-MIT"
install -Dm644 "LICENSE-APACHE" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/LICENSE-APACHE"
install -Dm644 "CHANGELOG.md" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/changelog"
gzip -n --best "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/changelog"
cat > "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/copyright" <<EOF
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: ${{ needs.crate_metadata.outputs.name }}
Source: ${{ needs.crate_metadata.outputs.homepage }}
Files: *
Copyright: ${{ needs.crate_metadata.outputs.maintainer }}
Copyright: $COPYRIGHT_YEARS ${{ needs.crate_metadata.outputs.maintainer }}
License: Apache-2.0 or MIT
License: Apache-2.0
On Debian systems, the complete text of the Apache-2.0 can be found in the
file /usr/share/common-licenses/Apache-2.0.
License: MIT
Permission is hereby granted, free of charge, to any
person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the
Software without restriction, including without
limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software
is furnished to do so, subject to the following
conditions:
.
The above copyright notice and this permission notice
shall be included in all copies or substantial portions
of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
EOF
chmod 644 "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/copyright"
# control file
mkdir -p "${DPKG_DIR}/DEBIAN"
cat > "${DPKG_DIR}/DEBIAN/control" <<EOF
Package: ${DPKG_BASENAME}
Version: ${DPKG_VERSION}
Section: utils
Priority: optional
Maintainer: ${{ needs.crate_metadata.outputs.maintainer }}
Homepage: ${{ needs.crate_metadata.outputs.homepage }}
Architecture: ${DPKG_ARCH}
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 "DPKG_PATH=${DPKG_PATH}" >> $GITHUB_OUTPUT
# build dpkg
fakeroot dpkg-deb --build "${DPKG_DIR}" "${DPKG_PATH}"
- name: "Artifact upload: tarball"
uses: actions/upload-artifact@master
with:
name: ${{ steps.package.outputs.PKG_NAME }}
path: ${{ steps.package.outputs.PKG_PATH }}
- name: "Artifact upload: Debian package"
uses: actions/upload-artifact@master
if: steps.debian-package.outputs.DPKG_NAME
with:
name: ${{ steps.debian-package.outputs.DPKG_NAME }}
path: ${{ steps.debian-package.outputs.DPKG_PATH }}
- name: Check for release
id: is-release
shell: bash
run: |
unset IS_RELEASE ; if [[ $GITHUB_REF =~ ^refs/tags/v[0-9].* ]]; then IS_RELEASE='true' ; fi
echo "IS_RELEASE=${IS_RELEASE}" >> $GITHUB_OUTPUT
- name: Publish archives and packages
uses: softprops/action-gh-release@v2
if: steps.is-release.outputs.IS_RELEASE
with:
files: |
${{ steps.package.outputs.PKG_PATH }}
${{ 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"

2
.gitignore vendored
View File

@ -2,6 +2,8 @@
**/*.rs.bk
# Generated files
/assets/completions/bat.bash
/assets/completions/bat.fish
/assets/completions/bat.zsh
/assets/manual/bat.1
/assets/metadata.yaml

107
.gitmodules vendored
View File

@ -61,18 +61,12 @@
[submodule "assets/syntaxes/Puppet"]
path = assets/syntaxes/02_Extra/Puppet
url = https://github.com/russCloak/SublimePuppet
[submodule "assets/syntaxes/CSV"]
path = assets/syntaxes/02_Extra/CSV
url = https://github.com/wadetb/Sublime-Text-Advanced-CSV
[submodule "assets/themes/onehalf"]
path = assets/themes/onehalf
url = https://github.com/sonph/onehalf
[submodule "assets/syntaxes/JavaScript (Babel)"]
path = assets/syntaxes/02_Extra/JavaScript (Babel)
url = https://github.com/babel/babel-sublime
[submodule "assets/syntaxes/Dart"]
path = assets/syntaxes/02_Extra/Dart
url = https://github.com/guillermooo/dart-sublime-bundle
[submodule "assets/syntaxes/FSharp"]
path = assets/syntaxes/02_Extra/FSharp
url = https://github.com/hoest/sublimetext-fsharp
@ -94,16 +88,9 @@
[submodule "assets/themes/sublime-snazzy"]
path = assets/themes/sublime-snazzy
url = https://github.com/greggb/sublime-snazzy
[submodule "assets/syntaxes/AsciiDoc"]
path = assets/syntaxes/02_Extra/AsciiDoc
url = https://github.com/SublimeText/AsciiDoc.git
[submodule "assets/syntaxes/Assembly (ARM)"]
path = assets/syntaxes/02_Extra/Assembly (ARM)
url = https://github.com/tvi/Sublime-ARM-Assembly
[submodule "assets/syntaxes/syslog-syntax"]
path = assets/syntaxes/02_Extra/Syslog
url = https://github.com/caos21/syslog-syntax.git
branch = master
[submodule "assets/syntaxes/protobuf-syntax-highlighting"]
path = assets/syntaxes/02_Extra/Protobuf
url = https://github.com/VcamX/protobuf-syntax-highlighting.git
@ -123,9 +110,6 @@
[submodule "assets/syntaxes/Org mode"]
path = assets/syntaxes/02_Extra/Org mode
url = https://github.com/jezcope/Org.tmbundle.git
[submodule "assets/syntaxes/requirementstxt"]
path = assets/syntaxes/02_Extra/requirementstxt
url = https://github.com/wuub/requirementstxt
[submodule "assets/syntaxes/DotENV"]
path = assets/syntaxes/02_Extra/DotENV
url = https://github.com/zaynali53/DotENV
@ -185,3 +169,94 @@
[submodule "assets/syntaxes/02_Extra/QML"]
path = assets/syntaxes/02_Extra/QML
url = https://github.com/skozlovf/Sublime-QML
[submodule "assets/syntaxes/02_Extra/AsciiDoc"]
path = assets/syntaxes/02_Extra/AsciiDoc
url = https://github.com/asciidoctor/sublimetext-asciidoc.git
[submodule "assets/syntaxes/02_Extra/GLSL"]
path = assets/syntaxes/02_Extra/GLSL
url = https://github.com/euler0/sublime-glsl
[submodule "assets/syntaxes/02_Extra/Nginx"]
path = assets/syntaxes/02_Extra/Nginx
url = https://github.com/brandonwamboldt/sublime-nginx
[submodule "assets/syntaxes/02_Extra/Apache"]
path = assets/syntaxes/02_Extra/Apache
url = https://github.com/colinta/ApacheConf.tmLanguage
[submodule "assets/syntaxes/02_Extra/Ninja"]
path = assets/syntaxes/02_Extra/Ninja
url = https://github.com/pope/SublimeNinja.git
[submodule "assets/syntaxes/02_Extra/Svelte"]
path = assets/syntaxes/02_Extra/Svelte
url = https://github.com/corneliusio/svelte-sublime
[submodule "assets/themes/Coldark"]
path = assets/themes/Coldark
url = https://github.com/ArmandPhilippot/coldark-bat.git
[submodule "assets/themes/gruvbox"]
path = assets/themes/gruvbox
url = https://github.com/subnut/gruvbox-tmTheme.git
branch = bat-source
[submodule "assets/syntaxes/02_Extra/Lean"]
path = assets/syntaxes/02_Extra/Lean
url = https://github.com/leanprover/vscode-lean.git
[submodule "assets/syntaxes/02_Extra/LiveScript"]
path = assets/syntaxes/02_Extra/LiveScript
url = https://github.com/paulmillr/LiveScript.tmbundle
[submodule "assets/syntaxes/02_Extra/Zig"]
path = assets/syntaxes/02_Extra/Zig
url = https://github.com/ziglang/sublime-zig-language.git
[submodule "assets/syntaxes/02_Extra/gnuplot"]
path = assets/syntaxes/02_Extra/gnuplot
url = https://github.com/hesstobi/sublime_gnuplot
[submodule "assets/syntaxes/02_Extra/SystemVerilog"]
path = assets/syntaxes/02_Extra/SystemVerilog
url = https://github.com/TheClams/SystemVerilog.git
[submodule "assets/themes/visual-studio-dark-plus"]
path = assets/themes/visual-studio-dark-plus
url = https://github.com/vidann1/visual-studio-dark-plus.git
[submodule "assets/syntaxes/02_Extra/SublimeEthereum"]
path = assets/syntaxes/02_Extra/SublimeEthereum
url = https://github.com/davidhq/SublimeEthereum.git
[submodule "assets/syntaxes/02_Extra/Groff"]
path = assets/syntaxes/02_Extra/Groff
url = https://github.com/carsonoid/sublime_man_page_support
[submodule "assets/syntaxes/02_Extra/http-request-response"]
path = assets/syntaxes/02_Extra/http-request-response
url = https://github.com/keith-hall/http-request-response-syntax.git
[submodule "assets/syntaxes/02_Extra/LLVM"]
path = assets/syntaxes/02_Extra/LLVM
url = https://github.com/ioncodes/LLVM.tmBundle
[submodule "assets/syntaxes/02_Extra/Slim"]
path = assets/syntaxes/02_Extra/Slim
url = https://github.com/slim-template/ruby-slim.tmbundle.git
[submodule "assets/syntaxes/02_Extra/Racket"]
path = assets/syntaxes/02_Extra/Racket
url = https://github.com/follesoe/sublime-racket.git
[submodule "assets/syntaxes/02_Extra/MediaWiki"]
path = assets/syntaxes/02_Extra/MediaWiki
url = https://github.com/tosher/Mediawiker.git
[submodule "assets/syntaxes/02_Extra/Dart"]
path = assets/syntaxes/02_Extra/Dart
url = https://github.com/elMuso/Dartlight.git
[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

View File

@ -1,106 +0,0 @@
language: rust
matrix:
include:
# Stable channel.
- os: linux
rust: stable
env: TARGET=x86_64-unknown-linux-gnu
- os: linux
rust: stable
env:
- TARGET=x86_64-unknown-linux-musl
- CC_x86_64_unknown_linux_musl=/usr/bin/musl-gcc
- os: linux
rust: stable
env: TARGET=i686-unknown-linux-gnu
- os: osx
rust: stable
env: TARGET=x86_64-apple-darwin
- os: linux
rust: stable
env:
- TARGET=arm-unknown-linux-gnueabihf
- CC_arm_unknown_linux_gnueabihf=/usr/bin/arm-linux-gnueabihf-gcc-4.8
- CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc-4.8
- os: linux
rust: stable
env:
- TARGET=aarch64-unknown-linux-gnu
- CC_aarch64-unknown-linux-gnu=/usr/bin/aarch64-linux-gnu-gcc-4.8
- CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc-4.8
# Minimum Rust supported channel.
- os: linux
rust: 1.40.0
env: TARGET=x86_64-unknown-linux-gnu
- os: linux
rust: 1.40.0
env:
- TARGET=x86_64-unknown-linux-musl
- CC_x86_64_unknown_linux_musl=/usr/bin/musl-gcc
- os: osx
rust: 1.40.0
env: TARGET=x86_64-apple-darwin
# Disable nightly for now
# # Code formatting check
# - os: linux
# rust: nightly
# # skip the global install step
# install:
# - cargo install --debug --force rustfmt-nightly
# script: cargo fmt -- --check
sudo: required
before_install:
- ci/before_install.bash
env:
global:
# Default target on travis-ci.
# Used as conditional check in the install stage
- HOST=x86_64-unknown-linux-gnu
# Used on the deployment script
- PROJECT_NAME=bat
install:
# prevent target re-add error from rustup
- if [[ $TRAVIS_OS_NAME = linux && $HOST != $TARGET ]]; then rustup target add $TARGET; fi
script:
- ci/script.bash
before_deploy:
- bash ci/before_deploy.bash
deploy:
provider: releases
# NOTE updating the `api_key.secure`
# - go to: https://github.com/settings/tokens/new
# - generate new token using `public_repo` scope
# - encrypt it using: `travis encrypt API_KEY_HERE`
# - paste the output below
api_key:
secure: "GZL8nYk+/MZGEqejpP0UMMGVmwUEdxiF9CflFIGccu+/tznDyHnHOpyJmbH3M5IKWIxa7xFgqOE8pHuD4oQXt4mzyJGB0KMKKEFLW7ckbTYKya5bw0heKznaqGnS0Yz+vpfqYR25eiPFYCz7mDsGsCzH5QZqt3cdn9MDQGu1D0IaxPjuBNH3T9kBblR0ifBd3Diy0JYhiVcMSI3V1rkel18F1yBHO2GQ95hkWxVgjANQnefq5+zdzbx4ki539ewYENShA8N0w6ULJVY9LmWRWJIp90ggOD3JCH6Nz/fBpYBqwfABO6Dr7Csw7IRm7pM4IVkFZS1taiDYFX9thxZh3UTmI4YYtSTPxH9NGV47kxPipbf4vAXFwW+1VcHKMpBzz+5IVsHnk1Pfx9/GZsXbqXM3PUWCStec36Xtqh5vQapDKEg9khkEs4b1X7/E73gvpRuQl9gbnyufSVWgDsXIWqM+0aDbqQz1FpLmVxz6eij0cB9vR+8kbNoe/CEPHPO9ZllvAHseukOeHPzSBd8rILORXaaGmQausXz2wWgSsffUSYz4705P8joI0zFCfmkHjL+kA1ZUx5SxLCc1ID7CFFZChhAxHoPL7xc21snswwr8QeheERdwvuzKNaerBGZEw8dmMMx98YkjftIj65DDySr2mRZuufBQeQpmMhFyIT4="
# for uploading multiple files
file_glob: true
# NOTE explanation on each env variable
# - PROJECT_NAME: name of the project, set on the `env.global` above
# - TRAVIS_TAG: tag name that the build is being deployed for, usually the version number
# - TARGET: target triple of the build
file:
- $PROJECT_NAME-$TRAVIS_TAG-$TARGET.*
- $PROJECT_NAME*.deb
# don't delete artifacts from previous stage
skip_cleanup: true
on:
# deploy only if we push a tag
tags: true
# deploy only on stable channel that has TARGET env variable sets
condition: $TRAVIS_RUST_VERSION = stable && $TARGET != ""
notifications:
email:
on_success: never

View File

@ -1,14 +1,495 @@
# unreleased
## 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)
## 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)
## Other
## New syntaxes
## New themes
- 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)
## 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).
- Added auto detect syntax for `.jsonc` #2795 (@mxaddict)
- Added auto detect syntax for `.aws/{config,credentials}` #2795 (@mxaddict)
- Add syntax mapping for Wireguard config #2874 (@cyqsimon)
## Themes
## `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)
# 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)
## `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
- New style component `header-filesize` to show size of the displayed file in the header. See #1988 (@mdibaiee)
- Use underline for line highlighting on ANSI, see #1730 (@mdibaiee)
## Bugfixes
- Fix bash completion on bash 3.x and bash-completion 1.x. See #2066 (@joshpencheon)
## Syntaxes
- `GraphQL`: Add support for interfaces implementing interfaces and consider ampersand an operator. See #2000
- Associate `_vimrc` and `_gvimrc` files with the `VimL` syntax. See #2002
- Associate `poetry.lock` files with the `TOML` syntax. See #2049
- Associate `.mesh`, `.task`, `.rgen`, `.rint`, `.rahit`, `.rchit`, `.rmiss`, and `.rcall` with the `GLSL` syntax. See #2050
- Added support for `JQ` syntax, see #2072
- Properly associate global git config files rooted in `$XDG_CONFIG_HOME/git/` or `$HOME/.config/git/`. See #2067 (@cyqsimon)
## `bat` as a library
- Exposed `get_syntax_set` and `get_theme` methods on `HighlightingAssets`. See #2030 (@dandavison)
- Added `HeaderFilename` and `HeaderFilesize` to `StyleComponent` enum, and mark it `#[non_exhaustive]`. See #1988 (@mdibaiee)
# v0.19.0
## Performance
- Reduce startup time in loop-through mode (e.g. when redirecting output) by 90%. See #1747 (@Enselic)
- Load themes lazily to make bat start 25% faster when disregarding syntax load time. See #1969 (@Enselic)
- Python syntax highlighting no longer suffers from abysmal performance in specific scenarios. See #1688 (@keith-hall)
- Fix for poor performance when ANSI escape sequences are piped to `bat`, see #1596 (@eth-p)
- Fix for incorrect handling of ANSI escape sequences when using `--wrap=never`, see #1596 (@eth-p)
- Load custom assets as fast as integrated assets, see #1753 (@Enselic)
## Features
- Support for `x:-delta` (minus) syntax in line ranges (e.g. `20:-10`). See #1901 (@bojan88)
- Support for `--ignored-suffix` argument. See #1892 (@bojan88)
- `$BAT_CONFIG_DIR` is now a recognized environment variable. It has precedence over `$XDG_CONFIG_HOME`, see #1727 (@billrisher)
- Support for `x:+delta` syntax in line ranges (e.g. `20:+10`). See #1810 (@bojan88)
- Add new `--acknowledgements` option that gives credit to theme and syntax definition authors. See #1971 (@Enselic)
- Include git hash in `bat -V` and `bat --version` output if present. See #1921 (@Enselic)
## Bugfixes
- First line not shown in diff context. See #1891 (@divagant-martian)
- Do not ignore syntaxes that handle file names with a `*.conf` extension. See #1703 (@cbolgiano)
## Other
- Add PowerShell completion, see #1826 (@rashil2000)
- Minimum supported Rust version (MSRV) bumped to 1.51, see #1994 (@mdibaiee)
## Syntaxes
- Groff, see #1685 (@scop)
- HTTP Requests and Responses, see #1748 (@keith-hall)
- LLVM, see #1777 (@ioncodes)
- Highlight for `vimrc` and `gvimrc` files, see #1763 (@SuperSandro2000)
- Syslog highlighting improvements, see #1793 (@scop)
- Added support for `slim` syntax, see #1693 (@mfinelli)
- Racket, see #1884 (@jubnzv)
- LiveScript, see #1915 (@Enselic)
- MediaWiki, see #1925 (@sorairolake)
- The `requirements.txt` syntax has been removed due to incompatible license requirements.
- Dart, new highlighter, see #1959 (@Ersikan)
- SCSS and Sass syntaxes updated, see #1766 (@Enselic)
- PowerShell syntax updated, see #1935 (@Enselic)
- TypeScript syntax updated, see #1834 (@Enselic)
## `bat` as a library
- Deprecate `HighlightingAssets::syntaxes()` and `HighlightingAssets::syntax_for_file_name()`. Use `HighlightingAssets::get_syntaxes()` and `HighlightingAssets::get_syntax_for_path()` instead. They return a `Result` which is needed for upcoming lazy-loading work to improve startup performance. They also return which `SyntaxSet` the returned `SyntaxReference` belongs to. See #1747, #1755, #1776, #1862 (@Enselic)
- Remove `HighlightingAssets::from_files` and `HighlightingAssets::save_to_cache`. Instead of calling the former and then the latter you now make a single call to `bat::assets::build`. See #1802, #1971 (@Enselic)
- Replace the `error::Error(error::ErrorKind, _)` struct and enum with an `error::Error` enum. `Error(ErrorKind::UnknownSyntax, _)` becomes `Error::UnknownSyntax`, etc. Also remove the `error::ResultExt` trait. These changes stem from replacing `error-chain` with `thiserror`. See #1820 (@Enselic)
- Add new `MappingTarget` enum variant `MapExtensionToUnknown`. Refer to its documentation for more information. Also mark `MappingTarget` as `#[non_exhaustive]` since more enum variants might be added in the future. See #1703 (@cbolgiano), #2012 (@Enselic)
# v0.18.3
## Bugfixes
- Bump `git2` dependency to fix build with Rust 1.54, see #1761
# v0.18.2
## Features
- Ignore known backup/template filename suffixes when selecting the syntax, see #1687 (@scop)
## Bugfixes
- Fix for a security vulnerability on Windows. Prior to this release, `bat` would execute programs called `less`/`less.exe` from the current working directory (instead of the one from `PATH`) with priority. An attacker might be able to use this by placing a malicious program in a shared directory where the user would execute `bat`. `bat` users on Windows are advised to upgrade to this version. See #1724 and #1472 (@Ry0taK).
## Other
- Add bash completion, see #1678 (@scop)
- Fix Clippy lints, see #1661 (@mohamed-abdelnour)
- Add syntax highlighting test files, see #1213 and #1668 (@mohamed-abdelnour)
## Syntaxes
- Upgraded Julia syntax to fix a highlighting bug, see #1692
- Added support for `dash` syntax, see #1654 (@mohamed-abdelnour)
- Added support for `XAML` syntax, see #1590 and #1655 (@mohamed-abdelnour)
- Apply `DotENV` syntax also for `.env.default` and `.env.defaults` files, see #1669
# v0.18.1
## Bugfixes
- Mouse support and screen clearing broken for `less` versions with minor version number (581.2), see #1629 and #1639 (@aswild)
## Other
- `Input::ordinary_file` and `Input::with_name` now accept `Path` rather than `OsStr` see #1571 (@matklad)
- The `LESS` environment variable is now included in `bat --diagnostic`, see #1589 (@Enselic)
- Increased min. required Rust version to 1.45
## Syntaxes
- Improved the Syslog syntax highlighting, see #1606 (@keith-hall)
- Replaced "Advanced CSV" with a custom CSV syntax definition written especially for `bat`; see #1574 (@keith-hall)
- Added SystemVerilog file syntax, see #1580 (@SeanMcLoughlin)
- Added Solidity and Vyper syntax, see #1602 (@Ersikan)
## New themes
- Dark+ VS Code theme, see #1588 and #1598 (@PatriotRossii)
# v0.18.0
## Features
- Use a pager when `bat --list-languages` is called, see #1394 (@stku1985)
## Bugfixes
- If the last line doesn't end with a newline character, don't add it if `--style=plain`, see #1438 (@Enselic)
- Only print themes hint in interactive mode (`bat --list-themes`), see #1439 (@rsteube)
- Make ./tests/syntax-tests/regression_test.sh work on recent versions of macOS, see #1443 (@Enselic)
- VimL syntax highlighting fix, see #1450 (@esensar)
- Print an 'Invalid syntax theme settings' error message if a custom theme is broken, see #614 (@Enselic)
- If plain mode is set and wrap is not explicitly opted in, long lines will no be truncated, see #1426
- If `PAGER` (but not `BAT_PAGER` or `--pager`) is `more` or `most`, silently use `less` instead to ensure support for colors, see #1063 (@Enselic)
- If `PAGER` is `bat`, silently use `less` to prevent recursion. For `BAT_PAGER` or `--pager`, exit with error, see #1413 (@Enselic)
- Manpage highlighting fix, see #1511 (@keith-hall)
- `BAT_CONFIG_PATH` ignored by `bat` if non-existent, see #1550 (@sharkdp)
## Other
- Performance improvements, see #1421 (@LovecraftianHorror)
- Added a new `--diagnostic` option to collect information for bug reports, see #1459 (@sharkdp)
- Modified default theme colors to differentiate between a JSON key and a string value, see #1400 (@keith-hall)
- Upped min required Rust version to 1.42
## Syntaxes
- Added Zig syntax, see #1470 (@paulsmith)
- Added Lean syntax, see #1446 (@Julian)
- Added `.resource` extension for Robot Framework files, see #1386
- Added `gnuplot` syntax, see #1431 (@sharkdp)
- Highlight *.pac (Proxy auto-config) files as JavaScript, see #1515 (@sharkdp)
## New themes
- `ansi` replaces `ansi-dark` and `ansi-light`, see #1104 and #1412 (@mk12). **Breaking change:** users that were previously using one of the `ansi-*` themes should switch to `ansi`.
- The Gruvbox theme has been updated, see #1291 (@j0hnmeow). **Breaking change:** users that were previously using `gruvbox` or `gruvbox-white` should update and use `gruvbox-dark`/`gruvbox-light` instead.
## `bat` as a library
- The following `PrettyPrinter` methods have been removed (they were previously deprecated):
- `input_stdin_with_name`
- `input_from_bytes_with_name`
- `input_from_reader_with_name`
- `vcs_modification_markers` (if the `git` feature is not enabled)
# v0.17.1
## Bugfixes
- Running `bat` without arguments fails ("output file is also an input"), see #1396
# v0.17.0
## Features
- Added a new `--style` value, `rule`, which adds a simple horizontal ruled line between files, see #1276 (@tommilligan)
- Pass `-S` ("chop long lines") to `less` if `--wrap=never` is set in `bat`, see #1255 (@gahag)
## Bugfixes
- Detect infinite loop when input and output are the same, see #1193 and #1197 (@niklasmohrin)
- Throw an error when `bat` is being used as `pager`, see #1343 (@adrian-rivera)
- Bash syntax highlighting not selected for `*.ebuild` and `*.eclass` files, see #1292 (@sharkdp)
- Fix `zsh` completion when using `-p`, see #1320 (@xzfc)
## Other
- Add note to refer to see detailed help with `--help` (and vice versa with `-h`), see #1215 (@henil)
- Add a `Contributors` section to `README`, see #1348 (@adrian-rivera)
## Syntaxes
- Manpage syntax highlighting has been improved, see #1315 (@keith-hall)
- Add Svelte file syntax, see #1285 (@kjmph)
## New themes
- Coldark, see #1329 (@armandphilippot)
# v0.16.0
## Features
- Added support for the `NO_COLOR` environment variable, see #1021 and #1031 (@eth-p)
- Added `-P` short flag to disable paging, see #1075 and #1082 (@LordFlashmeow)
- Added `--force-colorization`/`-f` flag to provide an alias for forced color and decoration output, see #1141 (@alexanderkarlis)
## Bugfixes
- Fixed non-printable characters display for redirected output, see #1061 (@gsomix)
- Handle file extension conflicts in `--list-languages`, see #1076 and #1135 (@Kienyew)
## Other
- Switched to "·" (U+00B7) Middle Dot from "•" (U+2022) Bullet for non-printing spaces, see #1056 and #1100 (@LordFlashmeow)
- Added zsh shell completion script, see #1136 (@Kienyew)
- Improved `--help` text (@sharkdp)
- Added custom languages/themes sections to manpage (@eth-p)
## Syntaxes
- Update AsciiDoc syntax, see #1034 (@rxt1077)
- GLSL (@caioalonso)
- Add Nginx and Apache config file syntax, see #1137 (@kjmph, @niklasmohrin)
- Use `fstab` syntax for `crypttab` files, see #1073 (@sharkdp)
- Support syntax highlighting for files in `$XDG_CONFIG_HOME/git/`, see #1191 (@ahmedelgabri)
## New themes
- Gruvbox, see #1069 (@kyleondy)
- base16-256 for [base16-shell](https://github.com/chriskempson/base16-shell) users, see #1111 (@mk12)
## `bat` as a library
- Add APIs to provide `Input` descriptions with `InputDescription` (@eth-p)
- Add function to directly provide `Input`s to `PrettyPrinter` (@eth-p)
- **Breaking:** `Input::theme_preview_file` is no longer available. (@eth-p)
## Packaging
# v0.15.3
- Removed build dependency on `liquid` (@sharkdp).
# v0.15.4
## Bugfixes
@ -371,7 +852,7 @@ You can see the API documentation here: https://docs.rs/bat/
- Added `BAT_CONFIG_PATH` environment variable to set a non-default path for `bat`s configuration file, see #375 (@deg4uss3r)
- Allow for multiple occurences of `--style` to allow for the configuration
- Allow for multiple occurrences of `--style` to allow for the configuration
of styles from the config file, see #367 (@sindreij)
- Allow for multiple `--line-range` arguments, see #23

91
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,91 @@
# Contributing
Thank you for considering to contribute to `bat`!
## Add an entry to the changelog
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 must follow this format:
```
- Short description of what has been changed, see #123 (@user)
```
Please replace `#123` with the number of your pull request (not issue) and
`@user` by your GitHub username.
## Development
Please check out the [Development](https://github.com/sharkdp/bat#development)
section in the README.
## Adding a new feature
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 details and specifics of the potential new feature before you go and build it.
## Adding new syntaxes/languages or themes
Before you make a pull request that adds a new syntax or theme, please read
the [Customization](https://github.com/sharkdp/bat#customization) section
in the README first.
If you really think that a particular syntax or theme should be added for all
users, please read the corresponding
[documentation](https://github.com/sharkdp/bat/blob/master/doc/assets.md)
first.
## Regression tests
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.
* 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
[`tests/integration_tests.rs`](https://github.com/sharkdp/bat/blob/master/tests/integration_tests.rs).
Look at existing tests to know how to write a new test. In short, you will
invoke the `bat` binary with a certain set of arguments, and then assert on
stdout/stderr.
To learn how to write regression tests for theme and syntax changes, read the
[Syntax
tests](https://github.com/sharkdp/bat/blob/master/doc/assets.md#syntax-tests)
section in `assets.md`.

1971
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,86 +1,123 @@
[package]
authors = ["David Peter <mail@david-peter.de>"]
categories = ["command-line-utilities"]
description="A cat(1) clone with wings."
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"
readme = "README.md"
repository = "https://github.com/sharkdp/bat"
version = "0.15.4"
exclude = [
"assets/syntaxes/*",
"assets/themes/*",
]
build = "build.rs"
edition = '2018'
version = "0.24.0"
exclude = ["assets/syntaxes/*", "assets/themes/*"]
build = "build/main.rs"
edition = '2021'
rust-version = "1.70"
[features]
default = ["application"]
# Feature required for bat the application. Should be disabled when depending on
# bat as a library.
application = [
"atty",
"clap",
"dirs",
"bugreport",
"build-assets",
"git",
"lazy_static",
"liquid",
"minimal-application",
]
# Mainly for developers that want to iterate quickly
# Be aware that the included features might change in the future
minimal-application = [
"clap",
"etcetera",
"paging",
"wild",
"regex-onig",
"wild",
]
git = ["git2"] # Support indicating git modifications
paging = ["shell-words"] # Support applying a pager on the output
paging = ["shell-words", "grep-cli"] # Support applying a pager on the output
lessopen = ["run_script", "os_str_bytes"] # 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.0"
console = "0.11.2"
dirs = { version = "2.0", optional = true }
lazy_static = { version = "1.4", optional = true }
wild = { version = "2.0", optional = true }
nu-ansi-term = "0.50.0"
ansi_colours = "^1.2"
bincode = "1.0"
console = "0.15.8"
flate2 = "1.0"
once_cell = "1.19"
thiserror = "1.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.7"
shell-words = { version = "1.1.0", optional = true }
unicode-width = "0.1.11"
globset = "0.4"
serde = { version = "1.0", features = ["derive"] }
serde_yaml = "0.8"
semver = "0.9"
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.5"
bugreport = { version = "0.5.0", optional = true }
etcetera = { version = "0.8.0", optional = true }
grep-cli = { version = "0.1.10", optional = true }
regex = { version = "1.10.2", optional = true }
walkdir = { version = "2.4", optional = true }
bytesize = { version = "1.3.0" }
encoding_rs = "0.8.33"
os_str_bytes = { version = "~7.0", optional = true }
run_script = { version = "^0.10.1", optional = true}
[dependencies.git2]
version = "0.13"
version = "0.18"
optional = true
default-features = false
[dependencies.syntect]
version = "4.2.0"
version = "5.2.0"
default-features = false
features = ["parsing", "yaml-load", "dump-load", "dump-create"]
features = ["parsing"]
[dependencies.clap]
version = "2.33"
version = "4.4.12"
optional = true
default-features = false
features = ["suggestions", "color", "wrap_help"]
features = ["wrap_help", "cargo"]
[dependencies.error-chain]
version = "0.12"
default-features = false
[target.'cfg(target_os = "macos")'.dependencies]
home = "0.5.9"
plist = "1.6.0"
[dev-dependencies]
tempdir = "0.3"
assert_cmd = "1.0.1"
assert_cmd = "2.0.12"
expect-test = "1.4.1"
serial_test = { version = "2.0.0", default-features = false }
predicates = "3.1.0"
wait-timeout = "0.2.0"
tempfile = "3.8.1"
serde = { version = "1.0", features = ["derive"] }
[target.'cfg(unix)'.dev-dependencies]
nix = { version = "0.26.4", default-features = false, features = ["term"] }
[build-dependencies]
clap = { version = "2.33", optional = true }
liquid = { version = "0.20", optional = true }
anyhow = "1.0.78"
indexmap = { version = "2.2.6", features = ["serde"] }
itertools = "0.13.0"
once_cell = "1.18"
regex = "1.10.2"
serde = "1.0"
serde_derive = "1.0"
serde_with = { version = "3.8.1", default-features = false, features = ["macros"] }
toml = { version = "0.8.9", features = ["preserve_order"] }
walkdir = "2.4"
[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-2020 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

6
NOTICE Normal file
View File

@ -0,0 +1,6 @@
Copyright (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.
See the LICENSE-APACHE and LICENSE-MIT files for license details.

423
README.md
View File

@ -1,7 +1,6 @@
<p align="center">
<img src="doc/logo-header.svg" alt="bat - a cat clone with wings"><br>
<a href="https://travis-ci.org/sharkdp/bat"><img src="https://travis-ci.org/sharkdp/bat.svg?branch=master" alt="Build Status"></a>
<a href="https://ci.appveyor.com/project/sharkdp/bat"><img src="https://ci.appveyor.com/api/projects/status/cptsmtbiwbnr2vhf/branch/master?svg=true"></a>
<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>
A <i>cat(1)</i> clone with syntax highlighting and Git integration.
@ -12,10 +11,37 @@
<a href="#how-to-use">How To Use</a>
<a href="#installation">Installation</a>
<a href="#customization">Customization</a>
<a href="#project-goals-and-alternatives">Project goals, alternatives</a>
Translation [<a href="https://github.com/chinanf-boy/bat-zh">中文</a>][<a href="doc/README-ja.md">日本語</a>][<a href="doc/README-ko.md">한국어</a>]
<a href="#project-goals-and-alternatives">Project goals, alternatives</a><br>
[English]
[<a href="doc/README-zh.md">中文</a>]
[<a href="doc/README-ja.md">日本語</a>]
[<a href="doc/README-ko.md">한국어</a>]
[<a href="doc/README-ru.md">Русский</a>]
</p>
### 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">
<br>
<strong>Your app, enterprise-ready.</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>
</a>
<a href="https://www.warp.dev/?utm_source=github&utm_medium=referral&utm_campaign=bat_20231001">
<img src="doc/sponsors/warp-logo.png" width="200" alt="Warp">
<br>
<strong>Warp is a modern, Rust-based terminal with AI built in<br>so you and your team can build great software, faster.</strong>
<br>
<sub>Feel more productive on the command line with parameterized commands,</sub>
<br>
<sup>autosuggestions, and an IDE-like text editor.</sup>
</a>
### Syntax highlighting
`bat` supports syntax highlighting for a large number of programming and markup
@ -39,14 +65,14 @@ characters:
### Automatic paging
`bat` can pipe its own output to `less` if the output is too large for one screen.
By default, `bat` pipes its own output to a pager (e.g. `less`) if the output is too large for one screen.
If you would rather `bat` work like `cat` all the time (never page output), you can set `--paging=never` as an option, either on the command line or in your configuration file.
If you intend to alias `cat` to `bat` in your shell configuration, you can use `alias cat='bat --paging=never'` to preserve the default behavior.
### File concatenation
#### File concatenation
Oh.. you can also use it to concatenate files :wink:. Whenever
`bat` detects a non-interactive terminal (i.e. when you pipe into another process
or into a file), `bat` will act as a drop-in replacement for `cat` and
fall back to printing the plain file contents.
Even with a pager set, you can still use `bat` to concatenate files :wink:.
Whenever `bat` detects a non-interactive terminal (i.e. when you pipe into another process or into a file), `bat` will act as a drop-in replacement for `cat` and fall back to printing the plain file contents, regardless of the `--pager` option's value.
## How to use
@ -62,7 +88,9 @@ Display multiple files at once
> bat src/*.rs
```
Read from stdin, determine the syntax automatically
Read from stdin, determine the syntax automatically (note, highlighting will
only work if the syntax can be determined from the first line of the file,
usually through a shebang such as `#!/bin/sh`)
```bash
> curl -s https://sh.rustup.rs | bat
@ -93,14 +121,28 @@ bat f - g # output 'f', then stdin, then 'g'.
### Integration with other tools
#### `fzf`
You can use `bat` as a previewer for [`fzf`](https://github.com/junegunn/fzf). To do this,
use `bat`s `--color=always` option to force colorized output. You can also use `--line-range`
option to restrict the load times for long files:
```bash
fzf --preview "bat --color=always --style=numbers --line-range=:500 {}"
```
For more information, see [`fzf`'s `README`](https://github.com/junegunn/fzf#preview-window).
#### `find` or `fd`
You can use the `-exec` option of `find` to preview all search results with `bat`:
```bash
find … -exec bat {} +
```
If you happen to use [`fd`](https://github.com/sharkdp/fd), you can use the `-X`/`--exec-batch` option to do the same:
```bash
fd … -X bat
```
@ -116,9 +158,11 @@ batgrep needle src/
#### `tail -f`
`bat` can be combined with `tail -f` to continuously monitor a given file with syntax highlighting.
```bash
tail -f /var/log/pacman.log | bat --paging=never -l log
```
Note that we have to switch off paging in order for this to work. We have also specified the syntax
explicitly (`-l log`), as it can not be auto-detected in this case.
@ -126,11 +170,23 @@ explicitly (`-l log`), as it can not be auto-detected in this case.
You can combine `bat` with `git show` to view an older version of a given file with proper syntax
highlighting:
```bash
git show v0.6.0:src/main.rs | bat -l rs
```
Note that syntax highlighting within diffs is currently not supported. If you are looking for this, check out [`delta`](https://github.com/dandavison/delta).
#### `git diff`
You can combine `bat` with `git diff` to view lines around code changes with proper syntax
highlighting:
```bash
batdiff() {
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).
If you are looking for more support for git and diff operations, check out [`delta`](https://github.com/dandavison/delta).
#### `xclip`
@ -151,6 +207,7 @@ bat main.cpp | xclip
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
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.
@ -159,31 +216,59 @@ If you prefer to have this bundled in a new command, you can also use [`batman`]
Note that the [Manpage syntax](assets/syntaxes/02_Extra/Manpage.sublime-syntax) is developed in this repository and still needs some work.
Also, note that this will [not work](https://github.com/sharkdp/bat/issues/1145) with Mandocs `man` implementation.
#### `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`.
#### 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'
```
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.svg)](https://repology.org/project/bat/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.*
`bat` is making its way through the [Ubuntu](https://packages.ubuntu.com/eoan/bat) and
[Debian](https://packages.debian.org/sid/bat) package release process, and is available
for Ubuntu as of Eoan 19.10. On Debian `bat` is currently only available on the unstable
"Sid" branch.
`bat` is available on [Ubuntu since 20.04 ("Focal")](https://packages.ubuntu.com/search?keywords=bat&exact=1) and [Debian since August 2021 (Debian 11 - "Bullseye")](https://packages.debian.org/bullseye/bat).
If your Ubuntu/Debian installation is new enough you can simply run:
```bash
apt install bat
sudo apt install bat
```
If you install `bat` this way, please note that the executable may be installed as `batcat` instead of `bat` (due to [a name
clash with another package](https://github.com/sharkdp/bat/issues/982)). You can set up a `bat -> batcat` symlink or alias to prevent any issues that may come up because of this and to be consistent with other distrutions:
**Important**: If you install `bat` this way, please note that the executable may be installed as `batcat` instead of `bat` (due to [a name
clash with another package](https://github.com/sharkdp/bat/issues/982)). You can set up a `bat -> batcat` symlink or alias to prevent any issues that may come up because of this and to be consistent with other distributions:
``` bash
mkdir -p ~/.local/bin
ln -s /usr/bin/batcat ~/.local/bin/bat
@ -197,7 +282,7 @@ the most recent release of `bat`, download the latest `.deb` package from the
[release page](https://github.com/sharkdp/bat/releases) and install it via:
```bash
sudo dpkg -i bat_0.15.4_amd64.deb # adapt version number and architecture
sudo dpkg -i bat_0.18.3_amd64.deb # adapt version number and architecture
```
### On Alpine Linux
@ -211,7 +296,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
@ -226,6 +311,14 @@ You can install [the `bat` package](https://koji.fedoraproject.org/koji/packagei
dnf install bat
```
### On Funtoo Linux
You can install [the `bat` package](https://github.com/funtoo/dev-kit/tree/1.4-release/sys-apps/bat) from dev-kit.
```bash
emerge sys-apps/bat
```
### On Gentoo Linux
You can install [the `bat` package](https://packages.gentoo.org/packages/sys-apps/bat)
@ -242,6 +335,13 @@ You can install `bat` via xbps-install:
xbps-install -S bat
```
### On Termux
You can install `bat` via pkg:
```bash
pkg install bat
```
### On FreeBSD
You can install a precompiled [`bat` package](https://www.freshports.org/textproc/bat) with pkg:
@ -257,6 +357,14 @@ cd /usr/ports/textproc/bat
make install
```
### On OpenBSD
You can install `bat` package using [`pkg_add(1)`](https://man.openbsd.org/pkg_add.1):
```bash
pkg_add bat
```
### Via nix
You can install `bat` using the [nix package manager](https://nixos.org/nix):
@ -273,14 +381,21 @@ You can install `bat` with zypper:
zypper install bat
```
### On macOS
### Via snap package
You can install `bat` with [Homebrew](http://braumeister.org/formula/bat):
There is currently no recommended snap package available.
Existing packages may be available, but are not officially supported and may contain [issues](https://github.com/sharkdp/bat/issues/1519).
### On macOS (or Linux) via Homebrew
You can install `bat` with [Homebrew](https://formulae.brew.sh/formula/bat):
```bash
brew install bat
```
### On macOS via MacPorts
Or install `bat` with [MacPorts](https://ports.macports.org/port/bat/summary):
```bash
@ -292,6 +407,18 @@ port install bat
There are a few options to install `bat` on Windows. Once you have installed `bat`,
take a look at the ["Using `bat` on Windows"](#using-bat-on-windows) section.
#### Prerequisites
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):
@ -306,50 +433,12 @@ You can install `bat` via [scoop](https://scoop.sh/):
scoop install bat
```
You will need to install the [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) package.
#### From prebuilt binaries:
You can download prebuilt binaries from the [Release page](https://github.com/sharkdp/bat/releases),
You will need to install the [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) package.
### Via Docker
There is a [Docker image](https://hub.docker.com/r/danlynn/bat/) that you can use to run `bat` in a container:
```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'
```
### Via Ansible
You can install `bat` with [Ansible](https://www.ansible.com/):
```bash
# Install role on local machine
ansible-galaxy install aeimer.install_bat
```
```yaml
---
# Playbook to install bat
- host: all
roles:
- aeimer.install_bat
```
- [Ansible Galaxy](https://galaxy.ansible.com/aeimer/install_bat)
- [GitHub](https://github.com/aeimer/ansible-install-bat)
This should work with the following distributions:
- Debian/Ubuntu
- ARM (eg. Raspberry PI)
- Arch Linux
- Void Linux
- FreeBSD
- MacOS
### From binaries
Check out the [Release page](https://github.com/sharkdp/bat/releases) for
@ -358,13 +447,16 @@ 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.40 or
If you want to build `bat` from source, you need Rust 1.70.0 or
higher. You can then use `cargo` to build everything:
```bash
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`).
## Customization
### Highlighting theme
@ -387,6 +479,26 @@ light background, some themes like `GitHub` or `OneHalfLight` will work better f
You can also use a custom theme by following the
['Adding new themes' section below](https://github.com/sharkdp/bat#adding-new-themes).
### 8-bit themes
`bat` has three themes that always use [8-bit colors](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors),
even when truecolor support is available:
- `ansi` looks decent on any terminal. It uses 3-bit colors: black, red, green,
yellow, blue, magenta, cyan, and white.
- `base16` is designed for [base16](https://github.com/chriskempson/base16) terminal themes. It uses
4-bit colors (3-bit colors plus bright variants) in accordance with the
[base16 styling guidelines](https://github.com/chriskempson/base16/blob/master/styling.md).
- `base16-256` is designed for [base16-shell](https://github.com/chriskempson/base16-shell).
It replaces certain bright colors with 8-bit colors from 16 to 21. **Do not** use this simply
because you have a 256-color terminal but are not using base16-shell.
Although these themes are more restricted, they have three advantages over truecolor themes. They:
- Enjoy maximum compatibility. Some terminal utilities do not support more than 3-bit colors.
- Adapt to terminal theme changes. Even for already printed output.
- Visually harmonize better with other terminal software.
### Output style
You can use the `--style` option to control the appearance of `bat`s output.
@ -397,35 +509,45 @@ variable to make these changes permanent or use `bat`s
### Adding new syntaxes / language definitions
Should you find that a particular syntax is not available within `bat`, you can follow these
instructions to easily add new syntaxes to your current `bat` installation.
`bat` uses the excellent [`syntect`](https://github.com/trishume/syntect/)
library for syntax highlighting. `syntect` can read any
[Sublime Text `.sublime-syntax` file](https://www.sublimetext.com/docs/3/syntax.html)
and theme. To add new syntax definitions, do the following.
and theme.
Create a folder with syntax definition files:
A good resource for finding Sublime Syntax packages is [Package Control](https://packagecontrol.io/). Once you found a
syntax:
```bash
mkdir -p "$(bat --config-dir)/syntaxes"
cd "$(bat --config-dir)/syntaxes"
1. Create a folder with syntax definition files:
# Put new '.sublime-syntax' language definition files
# in this folder (or its subdirectories), for example:
git clone https://github.com/tellnobody1/sublime-purescript-syntax
```
```bash
mkdir -p "$(bat --config-dir)/syntaxes"
cd "$(bat --config-dir)/syntaxes"
Now use the following command to parse these files into a binary cache:
# Put new '.sublime-syntax' language definition files
# in this folder (or its subdirectories), for example:
git clone https://github.com/tellnobody1/sublime-purescript-syntax
```
```bash
bat cache --build
```
2. Now use the following command to parse these files into a binary cache:
Finally, use `bat --list-languages` to check if the new languages are available.
```bash
bat cache --build
```
If you ever want to go back to the default settings, call:
3. Finally, use `bat --list-languages` to check if the new languages are available.
```bash
bat cache --clear
```
If you ever want to go back to the default settings, call:
```bash
bat cache --clear
```
4. If you think that a specific syntax should be included in `bat` by default, please
consider opening a "syntax request" ticket after reading the policies and
instructions [here](doc/assets.md): [Open Syntax Request](https://github.com/sharkdp/bat/issues/new?labels=syntax-request&template=syntax_request.md).
### Adding new themes
@ -445,6 +567,34 @@ bat cache --build
Finally, use `bat --list-themes` to check if the new themes are available.
### Adding or changing file type associations
You can add new (or change existing) file name patterns using the `--map-syntax`
command line option. The option takes an argument of the form `pattern:syntax` where
`pattern` is a glob pattern that is matched against the file name and
the absolute file path. The `syntax` part is the full name of a supported language
(use `bat --list-languages` for an overview).
**Note:** You probably want to use this option as [an entry in `bat`'s configuration file](#configuration-file)
for persistence instead of passing it on the command line as a one-off. Generally
you'd just use `-l` if you want to manually specify a language for a file.
Example: To use "INI" syntax highlighting for all files with a `.conf` file extension, use
```bash
--map-syntax='*.conf:INI'
```
Example: To open all files called `.ignore` (exact match) with the "Git Ignore" syntax, use:
```bash
--map-syntax='.ignore:Git Ignore'
```
Example: To open all `.conf` files in subfolders of `/etc/apache2` with the "Apache Conf"
syntax, use (this mapping is already built in):
```bash
--map-syntax='/etc/apache2/**/*.conf:Apache Conf'
```
### Using a different pager
`bat` uses the pager that is specified in the `PAGER` environment variable. If this variable is not
@ -452,6 +602,9 @@ 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.
If you want to pass command-line arguments to the pager, you can also set them via the
`PAGER`/`BAT_PAGER` variables:
@ -461,20 +614,47 @@ 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
`bat` expands tabs to 4 spaces by itself, not relying on the pager. To change this, simply add the
`--tabs` argument with the number of spaces you want to be displayed.
**Note**: Defining tab stops for the pager (via the `--pager` argument by `bat`, or via the `LESS`
environment variable for `less`) won't be taken into account because the pager will already get
expanded spaces instead of tabs. This behaviour is added to avoid indentation issues caused by the
sidebar. Calling `bat` with `--tabs=0` will override it and let tabs be consumed by the pager.
### Dark mode
@ -486,11 +666,12 @@ and the `GitHub` theme when in the _light mode_.
alias cat="bat --theme=\$(defaults read -globalDomain AppleInterfaceStyle &> /dev/null && echo default || echo GitHub)"
```
## Configuration file
`bat` can also be customized with a configuration file. The location of the file is dependent
on your operating system. To get the default path for your system, call
```
```bash
bat --config-file
```
@ -505,6 +686,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.
@ -520,17 +705,18 @@ Example configuration file:
# Use italic text on the terminal (not supported on all terminals)
--italic-text=always
# Use C++ syntax for .ino files
# Use C++ syntax for Arduino .ino files
--map-syntax "*.ino:C++"
# Use ".gitignore"-style highlighting for ".ignore" files
--map-syntax ".ignore:Git Ignore"
```
## Using `bat` on Windows
`bat` mostly works out-of-the-box on Windows, but a few features may need extra configuration.
### Prerequisites
You will need to install the [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) package.
### Paging
Windows only includes a very limited pager in the form of `more`. You can download a Windows binary
@ -545,9 +731,7 @@ Windows 10 natively supports colors in both `conhost.exe` (Command Prompt) and P
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/).
**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
@ -571,11 +755,19 @@ bat() {
## Troubleshooting
### Garbled output
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
passing the `--color=never --wrap=never` options to `bat`.
### Terminals & colors
`bat` handles terminals *with* and *without* truecolor support. However, the colors in the syntax
highlighting themes are not optimized for 8-bit colors and it is therefore strongly recommended
that you use a terminal with 24-bit truecolor support (`terminator`, `konsole`, `iTerm2`, ...).
`bat` handles terminals *with* and *without* truecolor support. However, the colors in most syntax
highlighting themes are not optimized for 8-bit colors. It is therefore strongly recommended
that you use a terminal with 24-bit truecolor support (`terminator`, `konsole`, `iTerm2`, ...),
or use one of the basic [8-bit themes](#8-bit-themes) designed for a restricted set of colors.
See [this article](https://gist.github.com/XVilka/8346728) for more details and a full list of
terminals with truecolor support.
@ -614,17 +806,32 @@ cargo build --bins
cargo test
# Install (release version)
cargo install --locked
cargo install --path . --locked
# Build a bat binary with modified syntaxes and themes
bash assets/create.sh
cargo install --locked --force
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.
## Contributing
Take a look at the [`CONTRIBUTING.md`](CONTRIBUTING.md) guide.
## 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`.
## Project goals and alternatives
@ -639,8 +846,8 @@ 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-2020 [bat-developers](https://github.com/sharkdp/bat).
Copyright (c) 2018-2023 [bat-developers](https://github.com/sharkdp/bat).
`bat` is distributed under the terms of both the MIT License and the Apache License 2.0.
`bat` is made available under the terms of either the MIT License or the Apache License 2.0, at your option.
See the [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT) files for license details.

View File

@ -1,49 +0,0 @@
environment:
global:
TARGET: x86_64-pc-windows-msvc
RUST_VERSION: stable
CRATE_NAME: bat
CARGO_HOME: "c:\\cargo"
RUSTUP_HOME: "c:\\rustup"
install:
- appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe
- rustup-init.exe -y --default-host %TARGET% --profile minimal
- set PATH=%PATH%;C:\cargo\bin
- rustc -Vv
- cargo -V
build: false
test_script:
- cargo test --target %TARGET% --verbose
- cargo run --target %TARGET% -- src/bin/bat/main.rs README.md --paging=never
before_deploy:
# Generate artifacts for release
- cargo build --bins --release --verbose
- ps: ci\before_deploy.ps1
deploy:
description: 'Automatically deployed release'
artifact: /.*\.zip/
# Here's how:
# - Go to 'https://github.com/settings/tokens/new' and generate a Token with only the
# `public_repo` scope enabled
# - Then go to 'https://ci.appveyor.com/tools/encrypt' and enter the newly generated token.
# - Enter the "encrypted value" below
auth_token:
secure: oO4/J+hcFXgXcEqEc8gzlQNqLG0IxU78s4EyH+uczGdsyWajb3yipxPR6nXUvmoj
provider: GitHub
on:
RUST_VERSION: stable
appveyor_repo_tag: true
cache:
- C:\Users\appveyor\.cargo\registry
- target
notifications:
- provider: Email
on_build_success: false
on_build_failure: false
on_build_status_changed: false

51
assets/README.md vendored
View File

@ -1,51 +0,0 @@
## Syntax Highlighting in bat
`bat` uses the [syntect](https://github.com/trishume/syntect) library to highlight source
code. As a basis, syntect uses [Sublime Text](https://www.sublimetext.com/) syntax definitions
in the `.sublime-syntax` format.
In order to add new syntaxes to `bat`, follow these steps:
1. Find a Sublime Text syntax for the given language, preferably in a separate Git repository
which can be included as a submodule (under `assets/syntaxes`).
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.
3. Run the `create.sh` script. It calls `bat cache --build` to parse all available
`.sublime-syntax` files and serialize them to a `syntaxes.bin` file (in this folder).
4. Re-compile `bat`. At compilation time, the `syntaxes.bin` file will be stored inside the
`bat` binary.
5. If you send a pull request with your changes, please do *not* include the changed `syntaxes.bin`
file. A new binary cache file will be created once before every new release of `bat`.
### Troubleshooting
Make sure that the local cache does not interfere with the internally stored syntaxes and
themes (`bat cache --clear`).
### Manual modifications
The following files have been manually modified after converting from a `.tmLanguage` file:
* `Dart.sublime-syntax` => removed `#regex.dart` include.
* `INI.sublime-syntax` => added `.hgrc`, `hgrc`, and `desktop` file types.
* `Org mode.sublime-syntax` => removed `task` file type.
* `SML.sublime_syntax` => removed `ml` file type.
### Non-submodule additions
* `Assembly (x86_64)` has been manually added from https://github.com/13xforever/x86-assembly-textmate-bundle due to `git clone` recursion problems
* `Nim.sublime-syntax` has been added manually from https://github.com/getzola/zola/blob/master/sublime_syntaxes/Nim.sublime-syntax as there was no suitable Git repository for it. The original syntax seems to originate from https://github.com/Varriount/NimLime
* `Rego.sublime-syntax` has been added manually from https://github.com/open-policy-agent/opa/blob/master/misc/syntax/sublime/rego.sublime-syntax
as it is not kept in a standalone repository. The file is generated from
https://github.com/open-policy-agent/opa/blob/master/misc/syntax/textmate/Rego.tmLanguage
* `SML.sublime_syntax` has been added manually from
https://github.com/seanjames777/SML-Language-Definitiona as it is not
kept in a standalone repository. The file generated is from
https://github.com/seanjames777/SML-Language-Definition/blob/master/sml.tmLanguage
* `Cabal.sublime_syntax` has been added manually from
https://github.com/SublimeHaskell/SublimeHaskell/ - we don't want to include the whole submodule because it includes other syntaxes ("Haskell improved") as well.

BIN
assets/acknowledgements.bin vendored Normal file

Binary file not shown.

95
assets/completions/_bat.ps1.in vendored Normal file
View File

@ -0,0 +1,95 @@
using namespace System.Management.Automation
using namespace System.Management.Automation.Language
Register-ArgumentCompleter -Native -CommandName '{{PROJECT_EXECUTABLE}}' -ScriptBlock {
param($wordToComplete, $commandAst, $cursorPosition)
$commandElements = $commandAst.CommandElements
$command = @(
'{{PROJECT_EXECUTABLE}}'
for ($i = 1; $i -lt $commandElements.Count; $i++) {
$element = $commandElements[$i]
if ($element -isnot [StringConstantExpressionAst] -or
$element.StringConstantType -ne [StringConstantType]::BareWord -or
$element.Value.StartsWith('-')) {
break
}
$element.Value
}) -join ';'
$completions = @(switch ($command) {
'{{PROJECT_EXECUTABLE}}' {
[CompletionResult]::new('-l', 'l', [CompletionResultType]::ParameterName, 'Set the language for syntax highlighting.')
[CompletionResult]::new('--language', 'language', [CompletionResultType]::ParameterName, 'Set the language for syntax highlighting.')
[CompletionResult]::new('-H', 'H', [CompletionResultType]::ParameterName, 'Highlight lines N through M.')
[CompletionResult]::new('--highlight-line', 'highlight-line', [CompletionResultType]::ParameterName, 'Highlight lines N through M.')
[CompletionResult]::new('--file-name', 'file-name', [CompletionResultType]::ParameterName, 'Specify the name to display for a file.')
[CompletionResult]::new('--diff-context', 'diff-context', [CompletionResultType]::ParameterName, 'diff-context')
[CompletionResult]::new('--tabs', 'tabs', [CompletionResultType]::ParameterName, 'Set the tab width to T spaces.')
[CompletionResult]::new('--wrap', 'wrap', [CompletionResultType]::ParameterName, 'Specify the text-wrapping mode (*auto*, never, character).')
[CompletionResult]::new('--terminal-width', 'terminal-width', [CompletionResultType]::ParameterName, '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''.')
[CompletionResult]::new('--color', 'color', [CompletionResultType]::ParameterName, 'When to use colors (*auto*, never, always).')
[CompletionResult]::new('--italic-text', 'italic-text', [CompletionResultType]::ParameterName, 'Use italics in output (always, *never*)')
[CompletionResult]::new('--decorations', 'decorations', [CompletionResultType]::ParameterName, 'When to show the decorations (*auto*, never, always).')
[CompletionResult]::new('--paging', 'paging', [CompletionResultType]::ParameterName, 'Specify when to use the pager, or use `-P` to disable (*auto*, never, always).')
[CompletionResult]::new('--pager', 'pager', [CompletionResultType]::ParameterName, 'Determine which pager to use.')
[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 (*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, ..).')
[CompletionResult]::new('--show-all', 'show-all', [CompletionResultType]::ParameterName, 'Show non-printable characters (space, tab, newline, ..).')
[CompletionResult]::new('-p', 'p', [CompletionResultType]::ParameterName, 'Show plain style (alias for ''--style=plain'').')
[CompletionResult]::new('--plain', 'plain', [CompletionResultType]::ParameterName, 'Show plain style (alias for ''--style=plain'').')
[CompletionResult]::new('-d', 'd', [CompletionResultType]::ParameterName, 'Only show lines that have been added/removed/modified.')
[CompletionResult]::new('--diff', 'diff', [CompletionResultType]::ParameterName, 'Only show lines that have been added/removed/modified.')
[CompletionResult]::new('-n', 'n', [CompletionResultType]::ParameterName, 'Show line numbers (alias for ''--style=numbers'').')
[CompletionResult]::new('--number', 'number', [CompletionResultType]::ParameterName, 'Show line numbers (alias for ''--style=numbers'').')
[CompletionResult]::new('-f', 'f', [CompletionResultType]::ParameterName, 'f')
[CompletionResult]::new('--force-colorization', 'force-colorization', [CompletionResultType]::ParameterName, 'force-colorization')
[CompletionResult]::new('-P', 'P', [CompletionResultType]::ParameterName, 'Alias for ''--paging=never''')
[CompletionResult]::new('--no-paging', 'no-paging', [CompletionResultType]::ParameterName, 'Alias for ''--paging=never''')
[CompletionResult]::new('--list-themes', 'list-themes', [CompletionResultType]::ParameterName, 'Display all supported highlighting themes.')
[CompletionResult]::new('-L', 'L', [CompletionResultType]::ParameterName, 'Display all supported languages.')
[CompletionResult]::new('--list-languages', 'list-languages', [CompletionResultType]::ParameterName, 'Display all supported languages.')
[CompletionResult]::new('-u', 'u', [CompletionResultType]::ParameterName, 'u')
[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.')
[CompletionResult]::new('--cache-dir', 'cache-dir', [CompletionResultType]::ParameterName, 'Show bat''s cache directory.')
[CompletionResult]::new('--diagnostic', 'diagnostic', [CompletionResultType]::ParameterName, 'Show diagnostic information for bug reports.')
[CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print this help message.')
[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.')
## 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' {
[CompletionResult]::new('--source', 'source', [CompletionResultType]::ParameterName, 'Use a different directory to load syntaxes and themes from.')
[CompletionResult]::new('--target', 'target', [CompletionResultType]::ParameterName, 'Use a different directory to store the cached syntax and theme set.')
[CompletionResult]::new('-b', 'b', [CompletionResultType]::ParameterName, 'Initialize (or update) the syntax/theme cache.')
[CompletionResult]::new('--build', 'build', [CompletionResultType]::ParameterName, 'Initialize (or update) the syntax/theme cache.')
[CompletionResult]::new('-c', 'c', [CompletionResultType]::ParameterName, 'Remove the cached syntax definitions and themes.')
[CompletionResult]::new('--clear', 'clear', [CompletionResultType]::ParameterName, 'Remove the cached syntax definitions and themes.')
[CompletionResult]::new('--blank', 'blank', [CompletionResultType]::ParameterName, 'Create completely new syntax and theme sets (instead of appending to the default sets).')
[CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Prints help information')
[CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Prints help information')
[CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Prints version information')
[CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Prints version information')
break
}
})
$completions.Where{ $_.CompletionText -like "$wordToComplete*" } |
Sort-Object -Property ListItemText
}

192
assets/completions/bat.bash.in vendored Normal file
View File

@ -0,0 +1,192 @@
# shellcheck disable=SC2207
# Requires https://github.com/scop/bash-completion
# Macs have bash3 for which the bash-completion package doesn't include
# _init_completion. This is a minimal version of that function.
__bat_init_completion()
{
COMPREPLY=()
_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 split=false
if declare -F _init_completion >/dev/null 2>&1; then
_init_completion -s || return 0
else
__bat_init_completion -n "=" || return 0
_split_longopt && split=true
fi
if [[ ${words[1]-} == cache ]]; then
case $prev in
--source | --target)
_filedir -d
return 0
;;
esac
COMPREPLY=($(compgen -W "
--build
--clear
--source
--target
--blank
--help
" -- "$cur"))
return 0
fi
case $prev in
-l | --language)
local IFS=$'\n'
COMPREPLY=($(compgen -W "$(
"$1" --list-languages | while IFS=: read -r lang _; do
printf "%s\n" "$lang"
done
)" -- "$cur"))
__bat_escape_completions
return 0
;;
-H | --highlight-line | \
--diff-context | \
--tabs | \
--terminal-width | \
-m | --map-syntax | \
--ignored-suffix | \
--list-themes | \
--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
;;
--file-name)
_filedir
return 0
;;
--wrap)
COMPREPLY=($(compgen -W "auto never character" -- "$cur"))
return 0
;;
--color | --decorations | --paging)
COMPREPLY=($(compgen -W "auto never always" -- "$cur"))
return 0
;;
--italic-text)
COMPREPLY=($(compgen -W "always never" -- "$cur"))
return 0
;;
--pager)
COMPREPLY=($(compgen -c -- "$cur"))
return 0
;;
--theme)
local IFS=$'\n'
COMPREPLY=($(compgen -W "$("$1" --list-themes)" -- "$cur"))
__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
--force-colorization
--paging
--pager
--map-syntax
--ignored-suffix
--theme
--list-themes
--style
--line-range
--list-languages
--lessopen
--diagnostic
--acknowledgements
--help
--version
--cache-dir
--config-dir
--config-file
--generate-config-file
" -- "$cur"))
return 0
fi
_filedir
## 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,76 +1,230 @@
# 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
'
# 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 color -x -a "$color_opts" -d "When to use colored output" -n __bat_no_excl_args
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 config-dir -f -d "Display location of configuration directory" -n __fish_is_first_arg
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-file -f -d "Display location of configuration file" -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 decorations -x -a "$decorations_opts" -d "When to use --style decorations" -n __bat_no_excl_args
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 diagnostic -d "Print diagnostic info for bug reports" -n __fish_is_first_arg
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 -s d -l diff -d "Only show lines with Git changes" -n __bat_no_excl_args
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 -l diff-context -x -d "Show N context lines around Git changes" -n "__fish_seen_argument -s d -l diff"
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 generate-config-file -f -d "Generates a default configuration file" -n __fish_is_first_arg
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 file-name -x -d "Specify the display name" -n __bat_no_excl_args
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 -s f -l force-colorization -d "Force color and decorations" -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 h -d "Print a concise overview" -n __fish_is_first_arg
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 -l help -f -d "Print all help information" -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 -s H -l highlight-line -x -d "Highlight line(s) N[:M]" -n __bat_no_excl_args
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 -l ignored-suffix -x -d "Ignore extension" -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 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 grid numbers" -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 "(command $bat --list-themes | command cat)" -d "Set the syntax highlighting theme" -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

106
assets/completions/bat.zsh.in vendored Normal file
View File

@ -0,0 +1,106 @@
#compdef {{PROJECT_EXECUTABLE}}
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='[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
}
(( $+functions[_{{PROJECT_EXECUTABLE}}_main] )) ||
_{{PROJECT_EXECUTABLE}}_main() {
local -a args
args=(
'(-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 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:->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]'
"--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 && ret=0
case "$state" in
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 && ret=0
;;
themes)
local -a themes expl
themes=( ${(f)"$(_call_program themes {{PROJECT_EXECUTABLE}} --list-themes)"} )
_wanted themes expl 'theme' compadd -a themes && ret=0
;;
esac
return ret
}
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

24
assets/create.sh vendored
View File

@ -1,11 +1,11 @@
#!/bin/bash
#!/usr/bin/env bash
set -euo pipefail
ASSET_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
REPO_DIR="$ASSET_DIR/.."
# Ensure submodules are initialized.
function update_submodules() {
update_submodules() {
local submodule
local submodule_prompt=unspecified
local submodule_path
@ -46,6 +46,7 @@ bat cache --clear
# - Remove the JavaDoc patch once https://github.com/trishume/syntect/issues/222 has been fixed
# - Remove the C# patch once https://github.com/sublimehq/Packages/pull/2331 has been merged
# Apply patches
(
cd "$ASSET_DIR"
for patch in patches/*.patch; do
@ -53,11 +54,16 @@ bat cache --clear
done
)
bat cache --build --blank --source="$ASSET_DIR" --target="$ASSET_DIR"
reverse_patches() {
(
cd "$ASSET_DIR"
for patch in patches/*.patch; do
patch --strip=0 --reverse <"$patch"
done
)
}
(
cd "$ASSET_DIR"
for patch in patches/*.patch; do
patch --strip=0 --reverse < "$patch"
done
)
# Make sure to always reverse patches, even if the `bat cache` command fails or aborts
trap reverse_patches EXIT
bat cache --build --blank --acknowledgements --source="$ASSET_DIR" --target="$ASSET_DIR"

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

@ -1,4 +1,4 @@
.TH {{PROJECT_EXECUTABLE | upcase}} "1"
.TH {{PROJECT_EXECUTABLE_UPPERCASE}} "1"
.SH NAME
{{PROJECT_EXECUTABLE}} \- a cat(1) clone with syntax highlighting and Git integration.
.SH "USAGE"
@ -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
@ -40,7 +52,7 @@ language names and file extensions.
.HP
\fB\-H\fR, \fB\-\-highlight\-line\fR <N:M>...
.IP
Highlight the specified line ranges with a different background color For example:
Highlight the specified line ranges with a different background color. For example:
.RS
.IP "\-\-highlight\-line 40"
highlights line 40
@ -50,8 +62,22 @@ highlights lines 30 to 40
highlights lines 1 to 40
.IP "\-\-highlight\-line 40:"
highlights lines 40 to the end of the file
.IP "\-\-highlight\-line 30:+10"
highlights lines 30 to 40
.RE
.HP
\fB\-\-file\-name\fR <name>...
.IP
Specify the name to display for a file. Useful when piping data to {{PROJECT_EXECUTABLE}} from STDIN when {{PROJECT_EXECUTABLE}} does not otherwise know the filename. Note that the provided file name is also used for syntax detection.
.HP
\fB\-d\fR, \fB\-\-diff\fR
.IP
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.
.HP
\fB\-\-diff\-context\fR <N>...
.IP
Include N lines of context around added/removed/modified lines when using '\-\-diff'.
.HP
\fB\-\-tabs\fR <T>
.IP
Set the tab width to T spaces. Use a width of 0 to pass tabs through directly
@ -87,18 +113,25 @@ Specify when to use the decorations that have been specified via '\-\-style'. Th
automatic mode only enables decorations if an interactive terminal is detected. Possible
values: *auto*, never, always.
.HP
\fB\-f\fR, \fB\-\-force\-colorization\fR
.IP
Alias for '--decorations=always --color=always'. This is useful \
if the output of {{PROJECT_EXECUTABLE}} is piped to another program, but you want \
to keep the colorization/decorations.
.HP
\fB\-\-paging\fR <when>
.IP
Specify when to use the pager. To control which pager is used, set the PAGER or
BAT_PAGER environment variables (the latter takes precedence) or use the '\-\-pager'
option. To disable the pager permanently, set BAT_PAGER to an empty string or set
\&'\-\-paging=never' in the configuration file. Possible values: *auto*, never, always.
Specify when to use the pager. To disable the pager, use \&'\-\-paging=never' or its alias,
\fB-P\fR. To disable the pager permanently, set BAT_PAGER to an empty string. To control
which pager is used, see the '\-\-pager' option. Possible values: *auto*, never, always.
.HP
\fB\-\-pager\fR <command>
.IP
Determine which pager is used. This option will overwrite the PAGER and BAT_PAGER
environment variables. The default pager is 'less'. To disable the pager completely, use
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 \fB\-RF\fR"'.
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'. 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.
.HP
\fB\-m\fR, \fB\-\-map\-syntax\fR <glob-pattern:syntax-name>...
.IP
@ -106,6 +139,7 @@ Map a glob pattern to an existing syntax name. The glob pattern is matched on th
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.
.HP
\fB\-\-theme\fR <theme>
.IP
@ -124,7 +158,8 @@ 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: *auto*, full, plain, changes, header, grid, numbers, snip.
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>...
.IP
@ -136,6 +171,8 @@ prints lines 30 to 40
prints lines 1 to 40
.IP "\-\-line\-range 40:"
prints lines 40 to the end of the file
.IP "\-\-line\-range 30:+10"
prints lines 30 to 40
.RE
.HP
\fB\-L\fR, \fB\-\-list\-languages\fR
@ -169,5 +206,62 @@ is dependent on your operating system. To get the default path for your system,
\fB{{PROJECT_EXECUTABLE}} --config-file\fR
Alternatively, you can use the BAT_CONFIG_PATH environment variable to point bat to a non-default
Alternatively, you can use the BAT_CONFIG_PATH environment variable to point {{PROJECT_EXECUTABLE}} to a non-default
location of the configuration file.
To generate a default configuration file, call:
\fB{{PROJECT_EXECUTABLE}} --generate-config-file\fR
.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
files to `\fB$({{PROJECT_EXECUTABLE}} --config-dir)/syntaxes\fR` and run `\fB{{PROJECT_EXECUTABLE}} cache --build\fR`.
\fBExample:\fR
.RS 0.5i
mkdir -p "$({{PROJECT_EXECUTABLE}} --config-dir)/syntaxes"
.br
cd "$({{PROJECT_EXECUTABLE}} --config-dir)/syntaxes"
# Put new '.sublime-syntax' language definition files
.br
# in this folder (or its subdirectories), for example:
.br
git clone https://github.com/tellnobody1/sublime-purescript-syntax
# And then build the cache.
.br
{{PROJECT_EXECUTABLE}} cache --build
.RE
Once the cache is built, the new language will be visible in `\fB{{PROJECT_EXECUTABLE}} --list-languages\fR`.
.br
If you ever want to remove the custom languages, you can clear the cache with `\fB{{PROJECT_EXECUTABLE}} cache --clear\fR`.
.SH "ADDING CUSTOM THEMES"
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
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:
.br
\fBhttps://github.com/sharkdp/bat\fR

View File

@ -0,0 +1,16 @@
diff --git syntaxes/02_Extra/Groff/Man Page/Man Page.sublime-syntax syntaxes/02_Extra/Groff/Man Page/Man Page.sublime-syntax
index 57834af..6648664 100644
--- syntaxes/02_Extra/Groff/Man Page/Man Page.sublime-syntax
+++ syntaxes/02_Extra/Groff/Man Page/Man Page.sublime-syntax
@@ -4,9 +4,9 @@
# - man-pages(7)
# - groff(7)
---
-name: Man Page (groff/troff)
+name: Groff/troff
scope: text.groff
-file_extensions: [man, groff, troff, '1', '2', '3', '4', '5', '6', '7']
+file_extensions: [groff, troff, '1', '2', '3', '4', '5', '6', '7', '8', '9']
contexts:
main:

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..6afd87ae 100644
index 19dc685d..44440c7f 100644
--- syntaxes/01_Packages/Markdown/Markdown.sublime-syntax
+++ syntaxes/01_Packages/Markdown/Markdown.sublime-syntax
@@ -24,7 +24,6 @@ variables:
@ -166,3 +166,12 @@ index 19dc685d..6afd87ae 100644
- match: ^\s*$\n?
scope: invalid.illegal.non-terminated.bold-italic.markdown
pop: true
@@ -1152,7 +1110,7 @@ contexts:
- match: |-
(?x)
{{fenced_code_block_start}}
- ((?i:rust))
+ ((?i:rust|rs))
{{fenced_code_block_trailing_infostring_characters}}
captures:
0: meta.code-fence.definition.begin.rust.markdown-gfm

View File

@ -0,0 +1,13 @@
diff --git syntaxes/02_Extra/MediaWiki/MediawikiNG.sublime-syntax syntaxes/02_Extra/MediaWiki/MediawikiNG.sublime-syntax
index f542c9e..8eaf020 100644
--- syntaxes/02_Extra/MediaWiki/MediawikiNG.sublime-syntax
+++ syntaxes/02_Extra/MediaWiki/MediawikiNG.sublime-syntax
@@ -1,7 +1,7 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
-name: Mediawiki NG
+name: MediaWiki
file_extensions: [mediawiki, wikipedia, wiki]
scope: text.html.mediawiki

View File

@ -0,0 +1,36 @@
diff --git themes/sublime-monokai-extended/Monokai\ Extended.tmTheme themes/sublime-monokai-extended/Monokai\ Extended.tmTheme
index 9c2aa3e..180cbbf 100644
--- themes/sublime-monokai-extended/Monokai Extended.tmTheme
+++ themes/sublime-monokai-extended/Monokai Extended.tmTheme
@@ -810,11 +810,11 @@
<key>name</key>
<string>JSON String</string>
<key>scope</key>
- <string>meta.structure.dictionary.json string.quoted.double.json</string>
+ <string>meta.mapping.key.json string.quoted.double.json, punctuation.separator.sequence.csv</string>
<key>settings</key>
<dict>
<key>foreground</key>
- <string>#cfcfc2</string>
+ <string>#fd971f</string>
</dict>
</dict>
<dict>
@@ -1027,7 +1027,7 @@
<key>name</key>
<string>Invalid</string>
<key>scope</key>
- <string>invalid</string>
+ <string>invalid, markup.error</string>
<key>settings</key>
<dict>
<key>background</key>
@@ -1042,7 +1042,7 @@
<key>name</key>
<string>Invalid deprecated</string>
<key>scope</key>
- <string>invalid.deprecated</string>
+ <string>invalid.deprecated, markup.warning</string>
<key>settings</key>
<dict>
<key>background</key>

View File

@ -0,0 +1,15 @@
diff --git syntaxes/01_Packages/Python/Python.sublime-syntax syntaxes/01_Packages/Python/Python.sublime-syntax
index 2acd86d8..86257f7b 100644
--- syntaxes/01_Packages/Python/Python.sublime-syntax
+++ syntaxes/01_Packages/Python/Python.sublime-syntax
@@ -988,10 +988,6 @@ contexts:
- match: \}
scope: punctuation.section.mapping-or-set.end.python
set: after-expression
- - match: (?={{simple_expression}}:|\s*\*\*)
- set: inside-dictionary
- - match: (?={{simple_expression}}[,}]|\s*\*)
- set: inside-set
- match: ','
scope: punctuation.separator.set.python
set: inside-set

View File

@ -0,0 +1,20 @@
diff --git syntaxes/01_Packages/ShellScript/Bash.sublime-syntax syntaxes/01_Packages/ShellScript/Bash.sublime-syntax
index e973e319..07c170a7 100644
--- syntaxes/01_Packages/ShellScript/Bash.sublime-syntax
+++ syntaxes/01_Packages/ShellScript/Bash.sublime-syntax
@@ -30,12 +30,12 @@ file_extensions:
- .zshenv
- .zshrc
- PKGBUILD # https://jlk.fjfi.cvut.cz/arch/manpages/man/PKGBUILD.5
- - .ebuild
- - .eclass
+ - ebuild
+ - eclass
first_line_match: |
(?x)
- ^\#! .* \b(bash|zsh|sh|tcsh|ash)\b
+ ^\#! .* \b(bash|zsh|sh|tcsh|ash|dash)\b
| ^\# \s* -\*- [^*]* mode: \s* shell-script [^*]* -\*-
#-------------------------------------------------------------------------------

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.

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

@ -0,0 +1,20 @@
diff --git themes/TwoDark/TwoDark.tmTheme themes/TwoDark/TwoDark.tmTheme
index 87fd358..56376d3 100644
--- themes/TwoDark/TwoDark.tmTheme
+++ themes/TwoDark/TwoDark.tmTheme
@@ -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>

12
assets/patches/XML.sublime-syntax.patch vendored Normal file
View File

@ -0,0 +1,12 @@
diff --git syntaxes/01_Packages/XML/XML.sublime-syntax syntaxes/01_Packages/XML/XML.sublime-syntax
index ad7d9c87..af4a00f0 100644
--- syntaxes/01_Packages/XML/XML.sublime-syntax
+++ syntaxes/01_Packages/XML/XML.sublime-syntax
@@ -12,6 +12,7 @@ file_extensions:
- rss
- opml
- svg
+ - xaml
first_line_match: |-
(?x:
^(?:

BIN
assets/syntaxes.bin vendored

Binary file not shown.

@ -1 +1 @@
Subproject commit 1ce5f90d444d80b12af41bc051507e914730d4ef
Subproject commit e23926eca1b6a0bd0b572b7191aead9f77c748d1

1
assets/syntaxes/02_Extra/Ada vendored Submodule

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

1
assets/syntaxes/02_Extra/Apache vendored Submodule

@ -0,0 +1 @@
Subproject commit 163bc03ae8998a237dfb4be353d0aea198ea17f5

View File

@ -0,0 +1,221 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: Apache Conf
file_extensions:
- envvars
- htaccess
- HTACCESS
- htgroups
- HTGROUPS
- htpasswd
- HTPASSWD
- .htaccess
- .HTACCESS
- .htgroups
- .HTGROUPS
- .htpasswd
- .HTPASSWD
scope: source.apacheconf
contexts:
main:
- match: ^(\s)*(#).*$\n?
scope: comment.line.hash.ini
captures:
1: punctuation.definition.comment.apacheconf
- match: (<)(Proxy|ProxyMatch|IfVersion|Directory|DirectoryMatch|Files|FilesMatch|IfDefine|IfModule|Limit|LimitExcept|Location|LocationMatch|VirtualHost|Macro|If|Else|ElseIf)(\s(.+?))?(>)
captures:
1: punctuation.definition.tag.apacheconf
2: entity.tag.apacheconf
4: string.value.apacheconf
5: punctuation.definition.tag.apacheconf
- match: (</)(Proxy|ProxyMatch|IfVersion|Directory|DirectoryMatch|Files|FilesMatch|IfDefine|IfModule|Limit|LimitExcept|Location|LocationMatch|VirtualHost|Macro|If|Else|ElseIf)(>)
captures:
1: punctuation.definition.tag.apacheconf
2: entity.tag.apacheconf
3: punctuation.definition.tag.apacheconf
- match: (?<=(Rewrite(Rule|Cond)))\s+(.+?)\s+(.+?)($|\s)
captures:
3: string.regexp.apacheconf
4: string.replacement.apacheconf
- match: (?<=RedirectMatch)(\s+(\d\d\d|permanent|temp|seeother|gone))?\s+(.+?)\s+((.+?)($|\s))?
captures:
2: entity.status.apacheconf
3: string.regexp.apacheconf
5: string.path.apacheconf
- match: (?<=Redirect)(\s+(\d\d\d|permanent|temp|seeother|gone))?\s+(.+?)\s+((.+?)($|\s))?
captures:
2: entity.status.apacheconf
3: string.path.apacheconf
5: string.path.apacheconf
- match: (?<=ScriptAliasMatch|AliasMatch)\s+(.+?)\s+((.+?)\s)?
captures:
1: string.regexp.apacheconf
3: string.path.apacheconf
- match: (?<=RedirectPermanent|RedirectTemp|ScriptAlias|Alias)\s+(.+?)\s+((.+?)($|\s))?
captures:
1: string.path.apacheconf
3: string.path.apacheconf
- match: \b(AcceptPathInfo|AccessFileName|AddDefaultCharset|AddOutputFilterByType|AllowEncodedSlashes|AllowOverride|AuthName|AuthType|CGIMapExtension|ContentDigest|DefaultType|Define|DocumentRoot|EnableMMAP|EnableSendfile|ErrorDocument|ErrorLog|FileETag|ForceType|HostnameLookups|IdentityCheck|Include(Optional)?|KeepAlive|KeepAliveTimeout|LimitInternalRecursion|LimitRequestBody|LimitRequestFields|LimitRequestFieldSize|LimitRequestLine|LimitXMLRequestBody|LogLevel|MaxKeepAliveRequests|Mutex|NameVirtualHost|Options|Require|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScriptInterpreterSource|ServerAdmin|ServerAlias|ServerName|ServerPath|ServerRoot|ServerSignature|ServerTokens|SetHandler|SetInputFilter|SetOutputFilter|Time(O|o)ut|TraceEnable|UseCanonicalName|Use|ErrorLogFormat|GlobalLog|PHPIniDir|SSLHonorCipherOrder|SSLCompression|SSLUseStapling|SSLStapling\w+|SSLCARevocationCheck|SSLSRPVerifierFile|SSLSessionTickets|RequestReadTimeout|ProxyHTML\w+|MaxRanges)\b
captures:
1: keyword.core.apacheconf
- match: \b(AcceptMutex|AssignUserID|BS2000Account|ChildPerUserID|CoreDumpDirectory|EnableExceptionHook|Group|Listen|ListenBacklog|LockFile|MaxClients|MaxConnectionsPerChild|MaxMemFree|MaxRequestsPerChild|MaxRequestsPerThread|MaxRequestWorkers|MaxSpareServers|MaxSpareThreads|MaxThreads|MaxThreadsPerChild|MinSpareServers|MinSpareThreads|NumServers|PidFile|ReceiveBufferSize|ScoreBoardFile|SendBufferSize|ServerLimit|StartServers|StartThreads|ThreadLimit|ThreadsPerChild|ThreadStackSize|User|Win32DisableAcceptEx)\b
captures:
1: keyword.mpm.apacheconf
- match: \b(Allow|Deny|Order)\b
captures:
1: keyword.access.apacheconf
- match: \b(Action|Script)\b
captures:
1: keyword.actions.apacheconf
- match: \b(Alias|AliasMatch|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ScriptAlias|ScriptAliasMatch)\b
captures:
1: keyword.alias.apacheconf
- match: \b(AuthAuthoritative|AuthGroupFile|AuthUserFile|AuthBasicProvider|AuthBasicFake|AuthBasicAuthoritative|AuthBasicUseDigestAlgorithm)\b
captures:
1: keyword.auth.apacheconf
- match: \b(Anonymous|Anonymous_Authoritative|Anonymous_LogEmail|Anonymous_MustGiveEmail|Anonymous_NoUserID|Anonymous_VerifyEmail)\b
captures:
1: keyword.auth_anon.apacheconf
- match: \b(AuthDBMAuthoritative|AuthDBMGroupFile|AuthDBMType|AuthDBMUserFile)\b
captures:
1: keyword.auth_dbm.apacheconf
- match: \b(AuthDigestAlgorithm|AuthDigestDomain|AuthDigestFile|AuthDigestGroupFile|AuthDigestNcCheck|AuthDigestNonceFormat|AuthDigestNonceLifetime|AuthDigestQop|AuthDigestShmemSize|AuthDigestProvider)\b
captures:
1: keyword.auth_digest.apacheconf
- match: \b(AuthLDAPAuthoritative|AuthLDAPBindDN|AuthLDAPBindPassword|AuthLDAPCharsetConfig|AuthLDAPCompareDNOnServer|AuthLDAPDereferenceAliases|AuthLDAPEnabled|AuthLDAPFrontPageHack|AuthLDAPGroupAttribute|AuthLDAPGroupAttributeIsDN|AuthLDAPRemoteUserIsDN|AuthLDAPUrl)\b
captures:
1: keyword.auth_ldap.apacheconf
- match: \b(AddAlt|AddAltByEncoding|AddAltByType|AddDescription|AddIcon|AddIconByEncoding|AddIconByType|DefaultIcon|HeaderName|IndexIgnore|IndexOptions|IndexOrderDefault|IndexStyleSheet|IndexHeadInsert|ReadmeName)\b
captures:
1: keyword.autoindex.apacheconf
- match: \b(BalancerMember|BalancerGrowth|BalancerPersist|BalancerInherit)\b
captures:
1: keyword.filter.apacheconf
- match: \b(CacheDefaultExpire|CacheDisable|CacheEnable|CacheForceCompletion|CacheIgnoreCacheControl|CacheIgnoreHeaders|CacheIgnoreNoLastMod|CacheLastModifiedFactor|CacheMaxExpire)\b
captures:
1: keyword.cache.apacheconf
- match: \b(MetaDir|MetaFiles|MetaSuffix)\b
captures:
1: keyword.cern_meta.apacheconf
- match: \b(ScriptLog|ScriptLogBuffer|ScriptLogLength)\b
captures:
1: keyword.cgi.apacheconf
- match: \b(ScriptLog|ScriptLogBuffer|ScriptLogLength|ScriptSock)\b
captures:
1: keyword.cgid.apacheconf
- match: \b(CharsetDefault|CharsetOptions|CharsetSourceEnc)\b
captures:
1: keyword.charset_lite.apacheconf
- match: \b(Dav|DavDepthInfinity|DavMinTimeout|DavLockDB)\b
captures:
1: keyword.dav.apacheconf
- match: \b(DeflateBufferSize|DeflateCompressionLevel|DeflateFilterNote|DeflateMemLevel|DeflateWindowSize)\b
captures:
1: keyword.deflate.apacheconf
- match: \b(DirectoryIndex|DirectorySlash|FallbackResource)\b
captures:
1: keyword.dir.apacheconf
- match: \b(CacheDirLength|CacheDirLevels|CacheExpiryCheck|CacheGcClean|CacheGcDaily|CacheGcInterval|CacheGcMemUsage|CacheGcUnused|CacheMaxFileSize|CacheMinFileSize|CacheRoot|CacheSize|CacheTimeMargin)\b
captures:
1: keyword.disk_cache.apacheconf
- match: \b(DumpIOInput|DumpIOOutput)\b
captures:
1: keyword.dumpio.apacheconf
- match: \b(PassEnv|SetEnv|UnsetEnv)\b
captures:
1: keyword.env.apacheconf
- match: \b(ExpiresActive|ExpiresByType|ExpiresDefault)\b
captures:
1: keyword.expires.apacheconf
- match: \b(ExtFilterDefine|ExtFilterOptions)\b
captures:
1: keyword.ext_filter.apacheconf
- match: \b(CacheFile|MMapFile)\b
captures:
1: keyword.file_cache.apacheconf
- match: \b(AddOutputFilterByType|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace)\b
captures:
1: keyword.filter.apacheconf
- match: \b(Header|RequestHeader)\b
captures:
1: keyword.headers.apacheconf
- match: \b(ImapBase|ImapDefault|ImapMenu)\b
captures:
1: keyword.imap.apacheconf
- match: \b(SSIEndTag|SSIErrorMsg|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|XBitHack)\b
captures:
1: keyword.include.apacheconf
- match: \b(ISAPIAppendLogToErrors|ISAPIAppendLogToQuery|ISAPICacheFile|ISAPIFakeAsync|ISAPILogNotSupported|ISAPIReadAheadBuffer)\b
captures:
1: keyword.isapi.apacheconf
- match: \b(LDAPCacheEntries|LDAPCacheTTL|LDAPConnectionTimeout|LDAPOpCacheEntries|LDAPOpCacheTTL|LDAPSharedCacheFile|LDAPSharedCacheSize|LDAPTrustedCA|LDAPTrustedCAType)\b
captures:
1: keyword.ldap.apacheconf
- match: \b(BufferedLogs|CookieLog|CustomLog|LogFormat|TransferLog|ForensicLog)\b
captures:
1: keyword.log.apacheconf
- match: \b(MCacheMaxObjectCount|MCacheMaxObjectSize|MCacheMaxStreamingBuffer|MCacheMinObjectSize|MCacheRemovalAlgorithm|MCacheSize)\b
captures:
1: keyword.mem_cache.apacheconf
- match: \b(AddCharset|AddEncoding|AddHandler|AddInputFilter|AddLanguage|AddOutputFilter|AddType|DefaultLanguage|ModMimeUsePathInfo|MultiviewsMatch|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|TypesConfig)\b
captures:
1: keyword.mime.apacheconf
- match: \b(ProtocolEcho|Example|AddModuleInfo|MimeMagicFile|CheckSpelling|ExtendedStatus|SuexecUserGroup|UserDir)\b
captures:
1: keyword.misc.apacheconf
- match: \b(CacheNegotiatedDocs|ForceLanguagePriority|LanguagePriority)\b
captures:
1: keyword.negotiation.apacheconf
- match: \b(NWSSLTrustedCerts|NWSSLUpgradeable|SecureListen)\b
captures:
1: keyword.nw_ssl.apacheconf
- match: \b(AllowCONNECT|NoProxy|ProxyBadHeader|ProxyBlock|ProxyDomain|ProxyErrorOverride|ProxyFtpDirCharset|ProxyIOBufferSize|ProxyMaxForwards|ProxyPass|ProxyPassMatch|ProxyPassReverse|ProxyPreserveHost|ProxyReceiveBufferSize|ProxyRemote|ProxyRemoteMatch|ProxyRequests|ProxyTimeout|ProxyVia)\b
captures:
1: keyword.proxy.apacheconf
- match: \b(RewriteBase|RewriteCond|RewriteEngine|RewriteLock|RewriteLog|RewriteLogLevel|RewriteMap|RewriteOptions|RewriteRule)\b
captures:
1: keyword.rewrite.apacheconf
- match: \b(BrowserMatch|BrowserMatchNoCase|SetEnvIf|SetEnvIfNoCase)\b
captures:
1: keyword.setenvif.apacheconf
- match: \b(LoadFile|LoadModule)\b
captures:
1: keyword.so.apacheconf
- match: \b(SSLCACertificateFile|SSLCACertificatePath|SSLCARevocationFile|SSLCARevocationPath|SSLCertificateChainFile|SSLCertificateFile|SSLCertificateKeyFile|SSLCipherSuite|SSLEngine|SSLMutex|SSLOptions|SSLPassPhraseDialog|SSLProtocol|SSLProxyCACertificateFile|SSLProxyCACertificatePath|SSLProxyCARevocationFile|SSLProxyCARevocationPath|SSLProxyCipherSuite|SSLProxyEngine|SSLProxyMachineCertificateFile|SSLProxyMachineCertificatePath|SSLProxyProtocol|SSLProxyVerify|SSLProxyVerifyDepth|SSLRandomSeed|SSLRequire|SSLRequireSSL|SSLSessionCache|SSLSessionCacheTimeout|SSLUserName|SSLVerifyClient|SSLVerifyDepth|SSLInsecureRenegotiation|SSLOpenSSLConfCmd)\b
captures:
1: keyword.ssl.apacheconf
- match: \b(Substitute|SubstituteInheritBefore|SubstituteMaxLineLength)\b
captures:
1: keyword.substitute.apacheconf
- match: \b(CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking)\b
captures:
1: keyword.usertrack.apacheconf
- match: \b(VirtualDocumentRoot|VirtualDocumentRootIP|VirtualScriptAlias|VirtualScriptAliasIP)\b
captures:
1: keyword.vhost_alias.apacheconf
- match: \b(php_value|php_flag|php_admin_value|php_admin_flag)\b(\s+(.+?)(\s+(".+?"|.+?))?)?\s
captures:
1: keyword.php.apacheconf
3: entity.property.apacheconf
5: string.value.apacheconf
- match: '(%\{)((HTTP_USER_AGENT|HTTP_REFERER|HTTP_COOKIE|HTTP_FORWARDED|HTTP_HOST|HTTP_PROXY_CONNECTION|HTTP_ACCEPT|REMOTE_ADDR|REMOTE_HOST|REMOTE_PORT|REMOTE_USER|REMOTE_IDENT|REQUEST_METHOD|SCRIPT_FILENAME|PATH_INFO|QUERY_STRING|AUTH_TYPE|DOCUMENT_ROOT|SERVER_ADMIN|SERVER_NAME|SERVER_ADDR|SERVER_PORT|SERVER_PROTOCOL|SERVER_SOFTWARE|TIME_YEAR|TIME_MON|TIME_DAY|TIME_HOUR|TIME_MIN|TIME_SEC|TIME_WDAY|TIME|API_VERSION|THE_REQUEST|REQUEST_URI|REQUEST_FILENAME|IS_SUBREQ|HTTPS)|(.*?))(\})'
captures:
1: punctuation.variable.apacheconf
3: variable.env.apacheconf
4: variable.misc.apacheconf
5: punctuation.variable.apacheconf
- match: \b((text|image|application|video|audio)/.+?)\s
captures:
1: entity.mime-type.apacheconf
- match: \b(?i)(export|from|unset|set|on|off)\b
captures:
1: entity.helper.apacheconf
- match: \b(\d+)\b
captures:
1: constant.numeric.integer.decimal.apacheconf
- match: '\s(\[)(.*?)(\])\s'
captures:
1: punctuation.definition.flag.apacheconf
2: string.flag.apacheconf
3: punctuation.definition.flag.apacheconf

@ -1 +1 @@
Subproject commit d0089991e5db83a6cb2c505b2ea3548f559ed2af
Subproject commit e316a0a85c67c3edb73a46fc3a3ec4a9dfbbba40

File diff suppressed because it is too large Load Diff

@ -1 +1 @@
Subproject commit aba96a0862369e9f960bb63a38e2d7563ea6475e
Subproject commit eb40ede56c2d4d5a4a129b2a5bc7095a2df46bb1

@ -1 +0,0 @@
Subproject commit 4786d037a761bc45e516f6b0624a839919ec6d05

View File

@ -1,46 +1,78 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: Advanced CSV
# See http://www.sublimetext.com/docs/3/syntax.html
name: Comma Separated Values
file_extensions:
- csv
- tsv
scope: text.advanced_csv
scope: text.csv
variables:
field_separator: (?:[,;\t])
record_separator: (?:$\n?)
contexts:
prototype:
- match: (?={{record_separator}})
pop: true
fields:
- match: ''
push:
- field_or_record_separator
- field4
- field_or_record_separator
- field3
- field_or_record_separator
- field2
- field_or_record_separator
- field1
main:
- match: (\")
captures:
1: string.quoted.double.advanced_csv
push:
- meta_scope: meta.quoted.advanced_csv
- match: (\")
captures:
1: string.quoted.double.advanced_csv
pop: true
- include: main
- match: '(\[([+-]?\d*)(\:)?([+-]?\d*)(\,)?([+-]?\d*)(\:)?([+-]?\d*)\])?\s*([<>v^])?\s*(=)'
captures:
1: keyword.operator.advanced_csv
2: constant.numeric.formula.advanced_csv
4: constant.numeric.formula.advanced_csv
6: constant.numeric.formula.advanced_csv
8: constant.numeric.formula.advanced_csv
9: keyword.operator.advanced_csv
10: keyword.operator.advanced_csv
push:
- meta_scope: meta.range.advanced_csv
- match: (?=(\")|$)
pop: true
- include: scope:source.python
- match: '(?<=^|,|\s|\")([0-9.eE+-]+)(?=$|,|\s|\")'
scope: meta.number.advanced_csv
captures:
1: constant.numeric.advanced_csv
- match: '(?<=^|,|\s|\")([^, \t\"]+)(?=$|,|\s|\")'
scope: meta.nonnumber.advanced_csv
captures:
1: storage.type.advanced_csv
- match: (\,)
scope: meta.delimiter.advanced_csv
captures:
1: keyword.operator.advanced_csv
- meta_include_prototype: false
- match: '^'
set: fields
field_or_record_separator:
- meta_include_prototype: false
- match: '{{record_separator}}'
scope: punctuation.terminator.record.csv
pop: true
- match: '{{field_separator}}'
scope: punctuation.separator.sequence.csv
pop: true
field_contents:
- match: '"'
scope: punctuation.definition.string.begin.csv
push: 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
pop: true
field1:
- match: ''
set:
- meta_content_scope: meta.field-1.csv support.type
- 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

1
assets/syntaxes/02_Extra/Crontab vendored Submodule

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

@ -1 +1 @@
Subproject commit 2ee9d667aeb9e90846244b5a74e78826014676de
Subproject commit eb63666f35c259733d4c7fcec9adbd82e5a91dda

View File

@ -108,7 +108,7 @@ contexts:
- match: (?<!\.)\belse(\s)+if\b
comment: else if is a common mistake carried over from other languages. it works if you put in a second end, but its never what you want.
scope: invalid.deprecated.crystal
- match: '(?<!\.)\b(BEGIN|alias|as|begin|case|select|abstract|class|END|ensure|for|fun|if|ifdef|in|lib|module|of|out|private|protected|rescue|struct|with|union|enum|macro|then|type|unless|until|while)\b(?![?!])'
- match: '(?<!\.)\b(BEGIN|alias|as|begin|case|select|abstract|class|END|ensure|for|fun|if|ifdef|in|lib|module|of|out|private|protected|rescue|struct|with|union|enum|macro|then|unless|until|while)\b(?![?!])|(?<!\.)\btype\b\s*(?=[A-Z])'
comment: everything being a reserved word, not a value and needing a 'end' is a..
scope: keyword.control.primary.crystal
- match: '(?<!\.)\b(when|else|elsif)\b(?![?!])'
@ -131,7 +131,7 @@ contexts:
scope: keyword.control.pseudo-method.crystal
- match: '\b(nil|true|false)\b(?![?!])'
scope: constant.language.crystal
- match: '\b(__(DIR|FILE|LINE|END_LINE)__|self)\b(?![?!])'
- match: '\b(__(DIR|FILE|LINE|END_LINE)__|self)\b(?![?!])|self[?]'
scope: variable.language.crystal
- match: '\b(initialize|new|loop|include|extend|raise|getter|setter|property|class_getter|class_setter|class_property|describe|context|it|with|delegate|def_hash|def_equals|def_equals_and_hash|forward_missing_to|record|assert_responds_to|spawn|annotation|verbatim)\b[!?]?'
comment: everything being a method but having a special function is a..
@ -190,7 +190,7 @@ contexts:
push:
- meta_scope: meta.function.method.with-arguments.crystal
- meta_content_scope: variable.parameter.function.crystal
- match: \)\s*$|\)\s*:|\)\s*;
- match: \)
captures:
0: punctuation.definition.parameters.crystal
pop: true
@ -705,6 +705,7 @@ contexts:
0: punctuation.definition.string.end.crystal
pop: true
- include: heredoc
- include: scope:text.html.basic
- include: scope:source.js
- include: interpolated_crystal
- include: escaped_char

@ -1 +1 @@
Subproject commit d891fb36c98ca0b111a35cba109b05a16b6c4b83
Subproject commit 2734901b014191f5a7f71c3f48678adf31239098

View File

@ -1,6 +1,6 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
# http://www.sublimetext.com/docs/syntax.html
name: Dart
file_extensions:
- dart
@ -9,7 +9,7 @@ contexts:
main:
- match: ^(#!.*)$
scope: meta.preprocessor.script.dart
- match: ^\s*\b(library|import|export|part of|part)\b
- match: ^\w*\b(library|import|part of|part|export)\b
captures:
0: keyword.other.import.dart
push:
@ -19,242 +19,114 @@ contexts:
0: punctuation.terminator.dart
pop: true
- include: strings
- match: \b(as|show|hide|deferred)\b
- include: comments
- match: \b(as|show|hide)\b
scope: keyword.other.import.dart
- include: comments
- include: constants-and-special-vars
- include: punctuation
- include: annotations
- include: decl-typedef
- include: decl-class
- include: decl-enum
- include: decl-function
- include: keywords
- include: constants-and-special-vars
- include: strings
annotations:
- match: '^(?:\s*)((@)([a-zA-Z0-9_]+))'
captures:
1: annotation.dart
2: entity.name.function.annotation.dart
3: support.type.dart
- match: '@[a-zA-Z]+'
scope: storage.type.annotation.dart
comments:
- match: /\*\*/
scope: comment.block.empty.dart
captures:
0: punctuation.definition.comment.dart
- include: comments-doc-oldschool
- include: comments-doc
- include: comments-inline
comments-inline:
comments-block:
- match: /\*
push:
- meta_scope: comment.block.dart
- match: \*/
pop: true
- include: scope:text.dart-doccomments
- match: (///)
captures:
1: marker.dart
- include: comments-block
comments-doc:
- match: ///
push:
- meta_scope: comment.line.triple-slash.dart
- match: $
- meta_scope: comment.block.documentation.dart
- match: .*
pop: true
- include: scope:text.dart-doccomments
- match: (//)
captures:
1: marker.dart
- include: dartdoc
comments-doc-oldschool:
- match: /\*\*
push:
- meta_scope: comment.line.double-slash.dart
- match: $
- meta_scope: comment.block.documentation.dart
- match: \*/
pop: true
- include: scope:text.dart-doccomments
- include: comments-doc-oldschool
- include: comments-block
- include: dartdoc
comments-inline:
- include: comments-block
- match: ((//).*)$
captures:
1: comment.line.double-slash.dart
constants-and-special-vars:
- match: \b(true|false|null)\b
- match: (?<!\$)\b(true|false|null)\b(?!\$)
scope: constant.language.dart
- match: \b(this|super)\b
- match: (?<!\$)\b(this|super)\b(?!\$)
scope: variable.language.dart
- match: '\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b'
- match: '(?<!\$)\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b(?!\$)'
scope: constant.numeric.dart
decl-class:
- match: \bclass\b
- match: '(?<![a-zA-Z0-9_$])([_$]*[A-Z][a-zA-Z0-9_$]*|bool\b|num\b|int\b|double\b|dynamic\b)'
scope: support.class.dart
- match: '([_$]*[a-z][a-zA-Z0-9_$]*)(<|\(|\s+=>)'
captures:
0: keyword.control.new.dart
1: entity.name.function.dart
dartdoc:
- match: '(\[.*?\])'
captures:
0: variable.name.source.dart
- match: '^ {4,}(?![ \*]).*'
captures:
0: variable.name.source.dart
- match: '```.*?$'
push:
- meta_scope: meta.declaration.class.dart
- match: "(?={)"
- meta_content_scope: variable.other.source.dart
- match: '```'
pop: true
- include: keywords
- match: "[A-Za-z_][A-Za-z0-9_]*"
scope: class.name.dart
decl-enum:
- match: \benum\b
- match: (`.*?`)
captures:
0: keyword.declaration.dart
push:
- meta_scope: meta.declaration.enum.dart
- match: "(?={)"
pop: true
- include: keywords
- match: "[A-Za-z_][A-Za-z0-9_]*"
scope: enum.name.dart
decl-function:
- match: ^\s*(?:\b(void|bool|num|int|double|dynamic|var|String|List|Map)\b)\s+(get)\s+(\w+)\s+(?==>)
comment: A getter with a primitive return type.
scope: meta.declaration.function.dart
0: variable.other.source.dart
- match: (`.*?`)
captures:
1: storage.type.primitive.dart
2: keyword.declaration.dart
3: function.name.dart
- match: ^\s*(?:\b(\w+)\b\s+)?(get)\s+(\w+)\s+(?==>)
comment: A getter with a user-defined return type or no return type.
scope: meta.declaration.function.dart
0: variable.other.source.dart
- match: (\* (( ).*))$
captures:
1: type.user-defined.dart
2: keyword.declaration.dart
3: function.name.dart
- match: ^\s*(set)\s+(\w+)(?=\()
comment: A setter.
captures:
1: keyword.declaration.dart
2: function.name.dart
push:
- meta_scope: meta.declaration.function.dart
- match: \)
pop: true
- include: comments-inline
- include: decl-function-parameter
- include: strings
- include: keywords
- match: ^\s*(?:\b(void|bool|num|int|double|dynamic|var|String|List|Map)\b)\s+(\w+)(?=\()
comment: A function with a primitive return type.
captures:
1: storage.type.primitive.dart
2: function.name.dart
push:
- meta_scope: meta.declaration.function.dart
- match: \)
pop: true
- include: comments-inline
- include: decl-function-parameter
- include: strings
- include: keywords
- match: ^\s*(?:\b(return)\b)\s+(\w+)(?=\()
comment: A function invocation after 'return'
captures:
1: keyword.control.dart
2: function.name.dart
push:
- meta_scope: meta.invocation.function.dart
- match: \)
pop: true
- include: comments-inline
- include: decl-function-parameter
- include: strings
- include: keywords
- match: ^\s*\b(new)\b\s+(\w+)(?=\()
comment: A class instantiation after 'new'
captures:
1: keyword.declaration.dart
2: function.name.dart
push:
- meta_scope: meta.invocation.function.dart
- match: \)
pop: true
- include: comments-inline
- include: decl-function-parameter
- include: strings
- include: keywords
decl-function-parameter:
- include: constants-and-special-vars
- match: (?:\b(void|bool|num|int|double|dynamic|var|String|List|Map)\b)\s+(\w+)(?=\()
comment: A function with a primitive return type.
captures:
1: storage.type.primitive.dart
2: function.name.dart
push:
- meta_scope: meta.parameter.function.dart
- match: \)
pop: true
- include: decl-function-parameter
- include: strings
- include: keywords
- match: \b(new)\b\s+(\w+)(?=\()
comment: A class instantiation after 'new'
captures:
1: keyword.declaration.dart
2: function.name.dart
push:
- meta_scope: meta.invocation.function.dart
- match: \)
pop: true
- include: decl-function-parameter
- include: strings
- include: keywords
- match: (?:\b(\w+)\b)\s+(\w+)(?=\()
comment: A function with a user-defined return type.
captures:
1: type.user-defined.dart
2: function.name.dart
push:
- meta_scope: meta.parameter.function.dart
- match: \)
pop: true
- include: decl-function-parameter
- include: strings
- include: keywords
- match: (\w+)(?=\()
comment: A function with no return type.
captures:
1: function.name.dart
push:
- meta_scope: meta.parameter.function.dart
- match: \)
pop: true
- include: decl-function-parameter
- include: strings
- include: keywords
decl-typedef:
- match: typedef
captures:
0: keyword.control.new.dart
push:
- meta_scope: meta.declaration.typedef.dart
- match: ;
captures:
0: punctuation.terminator.dart
pop: true
- match: '(?:\b(void|bool|num|int|double|dynamic|var|String|List|Map)\b|([a-zA-Z_][a-zA-Z0-9_]*))\s+([a-zA-Z_][a-zA-Z0-9_]+)'
captures:
1: storage.type.primitive.dart
2: typedef.return.dart
3: typedef.name.dart
- match: \(
push:
- meta_scope: typedef.params.dart
- match: \)
pop: true
- include: keywords
2: variable.other.source.dart
- match: (\* .*)$
keywords:
- match: \bassert\b
scope: keyword.control.assert.dart
- match: \bas\b
- match: (?<!\$)\bas\b(?!\$)
scope: keyword.cast.dart
- match: \b(try|catch|finally|throw|on|rethrow)\b
- match: (?<!\$)\b(try|on|catch|finally|throw|rethrow)\b(?!\$)
scope: keyword.control.catch-exception.dart
- match: \s+\?\s+|\s+:\s+
scope: keyword.control.ternary.dart
- match: \b(break|case|continue|default|do|else|for|if|in|return|switch|while)\b
- match: (?<!\$)\b(break|case|continue|default|do|else|for|if|in|return|switch|while)\b(?!\$)
scope: keyword.control.dart
- match: \b(async\*|async|await\*|await|yield)\b
scope: keyword.control.async.dart
- match: \b(new)\b
- match: (?<!\$)\b(sync(\*)?|async(\*)?|await|yield(\*)?)\b(?!\$)
scope: keyword.control.dart
- match: (?<!\$)\bassert\b(?!\$)
scope: keyword.control.dart
- match: (?<!\$)\b(new)\b(?!\$)
scope: keyword.control.new.dart
- match: \b(abstract|extends|external|factory|implements|with|interface|get|native|operator|set|typedef)\b
- match: (?<!\$)\b(abstract|class|enum|extends|external|factory|implements|get|mixin|native|operator|set|typedef|with|covariant)\b(?!\$)
scope: keyword.declaration.dart
- match: \b(is\!?)\b
- match: (?<!\$)\b(is\!?)\b(?!\$)
scope: keyword.operator.dart
- match: '\?|:'
scope: keyword.operator.ternary.dart
- match: (<<|>>>?|~|\^|\||&)
scope: keyword.operator.bitwise.dart
- match: ((&|\^|\||<<|>>>?)=)
scope: keyword.operator.assignment.bitwise.dart
- match: (===?|!==?|<=?|>=?)
- match: (=>)
scope: keyword.operator.closure.dart
- match: (==|!=|<=?|>=?)
scope: keyword.operator.comparison.dart
- match: '(([+*/%-]|\~)=)'
scope: keyword.operator.assignment.arithmetic.dart
@ -266,56 +138,22 @@ contexts:
scope: keyword.operator.arithmetic.dart
- match: (!|&&|\|\|)
scope: keyword.operator.logical.dart
- match: (?<!\$)\b(static|final|const)\b(?!\$)
scope: storage.modifier.dart
- match: (?<!\$)\b(?:void|var)\b(?!\$)
scope: storage.type.primitive.dart
punctuation:
- match: ','
scope: punctuation.comma.dart
- match: ;
scope: punctuation.terminator.dart
- match: \b(static|final|const)\b
scope: storage.modifier.dart
- match: \b(?:void|bool|num|int|double|dynamic|var|String|List|Map)\b
scope: storage.type.primitive.dart
regexp:
- match: '\\[^''"]'
scope: constant.character.escaped.regex.dart
- match: \(
push:
- meta_content_scope: meta.capture.regex.dart
- match: \)
pop: true
- match: \?(:|=|!)
scope: ignore.capture.regex.dart
- match: \*|\+|\?|\.|\|
scope: keyword.other.regex.dart
- match: \^|\$
scope: keyword.other.regex.dart
- match: \.
scope: constant.other.regex.dart
- match: '\[(\^)?'
captures:
1: keyword.other.negation.regex.dart
push:
- meta_scope: constant.character.range.regex.dart
- match: '\]'
pop: true
- match: '\\[^"'']'
scope: constant.character.escaped.regex.dart
- match: '\{(?:\d+)?,(?:\d+)?\}'
scope: keyword.other.regex.dart
scope: punctuation.dot.dart
string-interp:
- match: '(\$)(\{)'
- match: '\$((\w+)|\{([^{}]+)\})'
captures:
1: keyword.other.dart
2: keyword.other.dart
push:
- meta_scope: interpolation.dart
- meta_content_scope: source.dart
- match: '(\})'
captures:
1: keyword.other.dart
pop: true
- include: main
- match: (\$)(\w+)
captures:
1: keyword.other.dart
2: variable.parameter.dart
3: variable.parameter.dart
- match: \\.
scope: constant.character.escape.dart
strings:
@ -328,7 +166,7 @@ contexts:
- match: (?<!r)'''
push:
- meta_scope: string.interpolated.triple.single.dart
- match: "'''(?!')"
- match: '''''''(?!'')'
pop: true
- include: string-interp
- match: r"""
@ -339,9 +177,9 @@ contexts:
- match: r'''
push:
- meta_scope: string.quoted.triple.single.dart
- match: "'''(?!')"
- match: '''''''(?!'')'
pop: true
- match: (?<!\\|r)"
- match: (?<!\|r)"
push:
- meta_scope: string.interpolated.double.dart
- match: '"'
@ -354,16 +192,20 @@ contexts:
- meta_scope: string.quoted.double.dart
- match: '"'
pop: true
- include: regexp
- match: \n
scope: invalid.string.newline
- match: (?<!\|r)'
push:
- meta_scope: string.interpolated.single.dart
- match: "'"
pop: true
- match: \n
scope: invalid.string.newline
- include: string-interp
- match: r'
push:
- meta_scope: string.quoted.single.dart
- match: "'"
pop: true
- include: regexp
- match: \n
scope: invalid.string.newline

@ -1 +1 @@
Subproject commit 9e9a518aed93031042c54710f8f02c839301de26
Subproject commit 0f6b7bc87acf684f7b0790fd480731ffb4615b87

@ -1 +1 @@
Subproject commit a1c917633d3f3c4222cdcfac5b46831abff54d65
Subproject commit 58201ba2abbbe6a12b2f6d0595efea3b388c1e38

View File

@ -4,11 +4,11 @@
name: DotENV
file_extensions:
- .env
- .envrc
- .env.dist
- .env.local
- .env.sample
- .env.example
- .env.template
- .env.test
- .env.test.local
- .env.testing
@ -19,8 +19,15 @@ file_extensions:
- .env.production
- .env.production.local
- .env.dusk.local
- .flaskenv
- .env.staging
- .env.default
- .env.defaults
- .envrc
- .flaskenv
- env
- env.example
- env.sample
- env.template
scope: source.env
contexts:
main:

@ -1 +1 @@
Subproject commit 1f010d5f63f20aa8eafa57aaaeafe736e0748dca
Subproject commit 4fb01891dd17434dde42887bc821917a30f4e010

@ -1 +1 @@
Subproject commit ee3e68fce26cb7ab6ad8c8bf7ca45cfe2a70c07a
Subproject commit e89d09d440f342b753a490918f2c9777c64836b3

@ -1 +1 @@
Subproject commit c18616d6bd55b188672276da837837070170d967
Subproject commit 9e4645c6085871d6fe4ae8dbcbafe93cb155b074

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

View File

@ -4,6 +4,8 @@
name: fstab
file_extensions:
- fstab
- crypttab
- mtab
scope: source.fstab
contexts:
@ -93,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
@ -105,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

1
assets/syntaxes/02_Extra/GLSL vendored Submodule

@ -0,0 +1 @@
Subproject commit 59a5f8a3120358657cefdc4b830b4a883ebfbf77

@ -1 +1 @@
Subproject commit c9d84587eb1a6eb34457a875f21b9b1a29306be3
Subproject commit 9b6f6d0a86d7e7ef1d44490b107472af7fb4ffaf

1
assets/syntaxes/02_Extra/Groff vendored Submodule

@ -0,0 +1 @@
Subproject commit 651091c7e266e05c0a529b137b6efd43d717894c

@ -1 +1 @@
Subproject commit 77def406d70b90dff33d006478198b729e23d22c
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
@ -25,12 +28,13 @@ contexts:
scope: comment.line.semicolon.ini
captures:
1: punctuation.definition.comment.ini
- match: '^\s*(\[)(.*?)(\])'
- match: '^\s*(\[)(.*?)(\])\s*(;.*)?$\n?'
scope: meta.tag.section.ini
captures:
1: punctuation.definition.section.ini
2: entity.section.ini
3: punctuation.definition.section.ini
4: comment.definition.section.ini
- match: '^(\s*(["'']?)(.+?)(\2)\s*(=))?\s*((["'']?)(.*?)(\7))\s*(;.*)?$\n?'
scope: meta.declaration.ini
captures:

@ -1 +1 @@
Subproject commit 6c0d770fc74e6bc037c70cae1f94fe113b60fd95
Subproject commit 3366b10be91aaab7a61ae0bc0a5af5cc375e58d1

@ -1 +1 @@
Subproject commit 302099365866daca49d25288111696a30a4b4e03
Subproject commit 836b47ec61a9c6a6445b4007e8353337fe63e2c9

1
assets/syntaxes/02_Extra/LLVM vendored Submodule

@ -0,0 +1 @@
Subproject commit 274126faa9febfb649981cc97ecd499fcd7f5b90

1
assets/syntaxes/02_Extra/Lean vendored Submodule

@ -0,0 +1 @@
Subproject commit 29a03a8abaa884bde65b3c3dd1e46e87bb0fbfc4

View File

@ -0,0 +1,125 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: Lean
file_extensions:
- lean
scope: source.lean
contexts:
main:
- include: comments
- match: '\b(?<!\.)(inductive|coinductive|structure|theorem|axiom|axioms|abbreviation|lemma|definition|def|instance|class|constant)\b\s+(\{[^}]*\})?'
captures:
1: keyword.other.definitioncommand.lean
push:
- meta_scope: meta.definitioncommand.lean
- match: '(?=\bwith\b|\bextends\b|[:\|\(\[\{⦃<>])'
pop: true
- include: comments
- include: definitionName
- match: ","
- match: \b(Prop|Type|Sort)\b
scope: storage.type.lean
- match: '\battribute\b\s*\[[^\]]*\]'
scope: storage.modifier.lean
- match: '@\[[^\]]*\]'
scope: storage.modifier.lean
- match: \b(?<!\.)(private|meta|mutual|protected|noncomputable)\b
scope: keyword.control.definition.modifier.lean
- match: \b(sorry)\b
scope: invalid.illegal.lean
- match: '#print\s+(def|definition|inductive|instance|structure|axiom|axioms|class)\b'
scope: keyword.other.command.lean
- match: '#(print|eval|reduce|check|help|exit|find|where)\b'
scope: keyword.other.command.lean
- match: \b(?<!\.)(import|export|prelude|theory|definition|def|abbreviation|instance|renaming|hiding|exposing|parameter|parameters|begin|constant|constants|lemma|variable|variables|theorem|example|open|axiom|inductive|coinductive|with|structure|universe|universes|alias|precedence|reserve|postfix|prefix|infix|infixl|infixr|notation|end|using|namespace|section|local|set_option|extends|include|omit|class|classes|instances|raw|run_cmd|restate_axiom)(?!\.)\b
scope: keyword.other.lean
- match: \b(?<!\.)(calc|have|this|match|do|suffices|show|by|in|at|let|forall|fun|exists|assume|from|obtain|haveI|λ)(?!\.)\b
scope: keyword.other.lean
- match: «
push:
- meta_content_scope: entity.name.lean
- match: »
pop: true
- match: \b(?<!\.)(if|then|else)\b
scope: keyword.control.lean
- match: '"'
captures:
0: punctuation.definition.string.begin.lean
push:
- meta_scope: string.quoted.double.lean
- match: '"'
captures:
0: punctuation.definition.string.end.lean
pop: true
- match: '\\[\\"nt'']'
scope: constant.character.escape.lean
- match: '\\x[0-9A-Fa-f][0-9A-Fa-f]'
scope: constant.character.escape.lean
- match: '\\u[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f]'
scope: constant.character.escape.lean
- match: '''[^\\'']'''
scope: string.quoted.single.lean
- match: '''(\\(x..|u....|.))'''
scope: string.quoted.single.lean
captures:
1: constant.character.escape.lean
- match: '`+[^\[(]\S+'
scope: entity.name.lean
- match: '\b([0-9]+|0([xX][0-9a-fA-F]+))\b'
scope: constant.numeric.lean
blockComment:
- match: /-
push:
- meta_scope: comment.block.lean
- match: "-/"
pop: true
- include: scope:source.lean.markdown
- include: blockComment
comments:
- include: dashComment
- include: docComment
- include: stringBlock
- include: modDocComment
- include: blockComment
dashComment:
- match: (--)
captures:
0: punctuation.definition.comment.lean
push:
- meta_scope: comment.line.double-dash.lean
- match: $
pop: true
- include: scope:source.lean.markdown
definitionName:
- match: '\b[^:«»\(\)\{\}[:space:]=→λ∀?][^:«»\(\)\{\}[:space:]]*'
scope: entity.name.function.lean
- match: «
push:
- meta_content_scope: entity.name.function.lean
- match: »
pop: true
docComment:
- match: /--
push:
- meta_scope: comment.block.documentation.lean
- match: "-/"
pop: true
- include: scope:source.lean.markdown
- include: blockComment
modDocComment:
- match: /-!
push:
- meta_scope: comment.block.documentation.lean
- match: "-/"
pop: true
- include: scope:source.lean.markdown
- include: blockComment
stringBlock:
- match: /-"
push:
- meta_scope: comment.block.string.lean
- match: '"-/'
pop: true
- include: scope:source.lean.markdown
- include: blockComment

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

View File

@ -0,0 +1,400 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: LiveScript
comment: "LiveScript Syntax: version 1"
file_extensions:
- ls
- Slakefile
- ls.erb
first_line_match: ^#!.*\bls
scope: source.livescript
contexts:
main:
- match: |-
(?x)
!?[~-]{1,2}>\*?
|<[~-]{1,2}!?
|\(\s* (?= instanceof[\s)]|and[\s)]|or[\s)]|is[\s)]|isnt[\s)]|in[\s)]|import[\s)]|import\ all[\s)] |\.|[-+/*%^&<>=|][\b\s)\w$]|\*\*|\%\%)
| (?<=[\s(]instanceof|[\s(]and|[\s(]or|[\s(]is|[\s(]isnt|[\s(]in|[\s(]import|[\s(]import\ all|[\s(]do|\.|\*\*|\%\%|[\b\s(\w$][-+/*%^&<>=|]) \s*\)
scope: storage.type.function.livescript
- match: \/\*
captures:
0: punctuation.definition.comment.livescript
push:
- meta_scope: comment.block.livescript
- match: \*\/
captures:
0: punctuation.definition.comment.livescript
pop: true
- match: '@\w*'
scope: storage.type.annotation.livescriptscript
- match: '(#)(?!\{).*$\n?'
scope: comment.line.number-sign.livescript
captures:
1: punctuation.definition.comment.livescript
- match: '((?:!|~|!~|~!)?function\*?)\s+([$\w\-]*[$\w]+)'
captures:
1: storage.type.function.livescript
2: entity.name.function.livescript
- match: (new)\s+(\w+(?:\.\w*)*)
captures:
1: keyword.operator.new.livescript
2: entity.name.type.instance.livescript
- match: \b(package|private|protected|public|interface|enum|static)(?!-)\b
scope: keyword.illegal.livescript
- match: "'''"
captures:
0: punctuation.definition.string.begin.livescript
push:
- meta_scope: string.quoted.heredoc.livescript
- match: "'''"
captures:
0: punctuation.definition.string.end.livescript
pop: true
- match: '"""'
captures:
0: punctuation.definition.string.begin.livescript
push:
- meta_scope: string.quoted.double.heredoc.livescript
- match: '"""'
captures:
0: punctuation.definition.string.end.livescript
pop: true
- match: \\.
scope: constant.character.escape.livescript
- include: interpolated_livescript
- match: "``"
captures:
0: punctuation.definition.string.begin.livescript
push:
- meta_scope: string.quoted.script.livescript
- match: "``"
captures:
0: punctuation.definition.string.end.livescript
pop: true
- match: '\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)'
scope: constant.character.escape.livescript
- match: '<\['
push:
- meta_scope: string.array-literal.livescript
- match: '\]>'
pop: true
- match: '/{2}(?![\s=/*+{}?]).*?[^\\]/[igmy]{0,4}(?![a-zA-Z0-9])/{2}'
scope: string.regexp.livescript
- match: '/{2}\n'
push:
- meta_scope: string.regexp.livescript
- match: "/{2}[imgy]{0,4}"
pop: true
- include: embedded_spaced_comment
- include: interpolated_livescript
- match: "/{2}"
push:
- meta_scope: string.regexp.livescript
- match: "/{2}[imgy]{0,4}"
pop: true
- match: '\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)'
scope: constant.character.escape.livescript
- include: interpolated_livescript
- match: '/(?![\s=/*+{}?]).*?[^\\]/[igmy]{0,4}(?![a-zA-Z0-9])'
scope: string.regexp.livescript
- match: |-
(?x)
\b(?<![\.\$\-@])(
instanceof|new|delete|typeof|and|or|is|isnt|not
)(?!\-|\s*:)\b
scope: keyword.operator.livescript
- match: <\||\|>
scope: keyword.operator.livescript
- match: "=>"
scope: keyword.control.livescript
- match: |-
(?x)
\b(?<![\.\$\-@])(?:
return|break|continue|throw
|try|if|while|for|for\s+own|switch|unless|until
|catch|finally|else|nobreak|case|default|fallthrough|when|otherwise|then
|yield
)(?!\-|\s*:)\b
scope: keyword.control.livescript
- match: |-
(?x)
and=|or=|%|&|\^|\*|\/|(?<![a-zA-Z$_])(\-)?\-(?!\-?>)|\+\+|\+|
~(?!~?>)|==|=|!=|<=|>=|<<=|>>=|
>>>=|<>|<(?!\[)|(?<!\])>|(?<!\w)!(?!([~\-]+)?>)|&&|\.\.(\.)?|\s\.\s|\?|\|\||\:|\*=|(?<!\()/=|%=|\+=|\-=|\.=|&=
|\^=
scope: keyword.operator.livescript
- match: |-
(?x)
\b(?<![\.\$\-@])(?:
function
)(?!\-|\s*:)\b
scope: storage.type.function.livescript
- match: |-
(?x)
\b(?<![\.\$\-@])(?:
this|throw|then|try|typeof!?|til|to
|continue|const|case|catch|class
|in|instanceof|import|import\s+all|implements|if|is
|default|delete|debugger|do
|for|for\s+own|finally|function|from|fallthrough
|super|switch
|else|nobreak|extends|export|eval
|and|arguments
|new|not
|unless|until
|while|with|when
|of|or|otherwise
|let|var|loop
|match
|by|yield
)(?!\-|\s*:)\b
scope: keyword.other.livescript
- match: '([a-zA-Z\$_](?:[\w$.-])*)\s*(?!\::)((:)|(=(?!>)))\s*(?!(\s*!?\s*\(.*\))?\s*(!?[~-]{1,2}>\*?))'
captures:
1: variable.assignment.livescript
3: punctuation.separator.key-value, keyword.operator.livescript
4: keyword.operator.livescript
- match: '(?<=\s|^)([\[\{])(?=.*?[\]\}]\s+[:=])'
captures:
0: keyword.operator.livescript
push:
- meta_scope: meta.variable.assignment.destructured.livescript
- match: '([\]\}]\s*[:=])'
captures:
0: keyword.operator.livescript
pop: true
- include: variable_name
- include: instance_variable
- include: single_quoted_string
- include: double_quoted_string
- include: numeric
- match: |-
(?x)
(\s*)
(?=[a-zA-Z\$_])
([a-zA-Z\$_]([\w$.:-])*)\s*
(?=[:=](\s*!?\s*\(.*\))?\s*(!?[~-]{1,2}>\*?))
scope: meta.function.livescript
captures:
2: entity.name.function.livescript
3: entity.name.function.livescript
4: variable.parameter.function.livescript
5: storage.type.function.livescript
- match: \b(?<!\.)(true|on|yes)(?!\s*:)\b
scope: constant.language.boolean.true.livescript
- match: \b(?<!\.)(false|off|no)(?!\s*:)\b
scope: constant.language.boolean.false.livescript
- match: \b(?<!\.)(null|void)(?!\s*:)\b
scope: constant.language.null.livescript
- match: \b(?<!\.)(super|this|extends)(?!\s*:)\b
scope: variable.language.livescript
- match: '(class\b)\s+(@?[a-zA-Z$_][\w$.-]*)?(?:\s+(extends)\s+(@?[a-zA-Z$_][\w$.-]*))?'
scope: meta.class.livescript
captures:
1: storage.type.class.livescript
2: entity.name.type.class.livescript
3: keyword.control.inheritance.livescript
4: entity.other.inherited-class.livescript
- match: \b(debugger|\\)\b
scope: keyword.other.livescript
- match: |-
(?x)\b(
Array|ArrayBuffer|Blob|Boolean|Date|document|event|Function|
Int(8|16|32|64)Array|Math|Map|Number|
Object|Proxy|RegExp|Set|String|WeakMap|
window|Uint(8|16|32|64)Array|XMLHttpRequest
)\b
scope: support.class.livescript
- match: \b(console)\b
scope: entity.name.type.object.livescript
- match: \b(Infinity|NaN|undefined)\b
scope: constant.language.livescript
- match: \;
scope: punctuation.terminator.statement.livescript
- match: ',[ |\t]*'
scope: meta.delimiter.object.comma.livescript
- match: \.
scope: meta.delimiter.method.period.livescript
- match: '\{|\}'
scope: meta.brace.curly.livescript
- match: \(|\)
scope: meta.brace.round.livescript
- match: '\[|\]\s*'
scope: meta.brace.square.livescript
- include: instance_variable
- include: backslash_string
- include: single_quoted_string
- include: double_quoted_string
- include: numeric
- match: '()(@|@@|[$\w\-]*[$\w]+)\s*(`)'
captures:
1: keyword.operator.livescript
2: meta.function-call.livescript
3: keyword.operator.livescript
- match: "`"
scope: keyword.operator.livescript
- match: '()(@|@@|[$\w\-]*[$\w]+)(?:(\??\!)|[(])'
captures:
1: keyword.operator.livescript
2: meta.function-call.livescript
3: keyword.operator.livescript
- match: '(@|@@|[$\w\-]*[$\w]+)(\?)? (?!\s*(((by|of|and|or|with|when|unless|if|is|isnt|else|nobreak|for|from|not in|in|catch|til|to|then|import|extends|implements|instanceof)\b)|[=:.*\/+\-%\^<>][ =)]|[`}%*)]|/(?!.*?/)|&&|[.][^.]|=>|\/ +|\||\|\||\-\-|\+\+|\|>|<|\||$|\n|\#|/\*))'
captures:
1: meta.function-call.livescript
2: keyword.operator.livescript
- match: \| _
scope: keyword.control.livescript
- match: '\|(?![.])'
scope: keyword.control.livescript
- match: \|
scope: keyword.operator.livescript
- match: ((?<=console\.)(debug|warn|info|log|error|time(End|-end)|assert))\b
scope: support.function.console.livescript
- match: |-
(?x)\b(
decodeURI(Component)?|encodeURI(Component)?|eval|parse(Float|Int)|require
)\b
scope: support.function.livescript
- match: |-
(?x)(?<![.-])\b(
map|filter|reject|partition|find|each|head|tail|last|initial|empty|
values|keys|length|cons|append|join|reverse|fold(l|r)?1?|unfoldr|
and(List|-list)|or(List|-list)|any|all|unique|sum|product|mean|compact|
concat(Map|-map)?|maximum|minimum|scan(l|r)?1?|replicate|slice|apply|
split(At|-at)?|take(While|-while)?|drop(While|-while)?|span|first|
break(It|-it)|list(ToObj|-to-obj)|obj(ToFunc|-to-func)|
pairs(ToObj|-to-obj)|obj(ToPairs|-to-pairs|ToLists|-to-lists)|
zip(All|-all)?(With|-with)?|compose|curry|partial|flip|fix|
sort(With|-with|By|-by)?|group(By|-by)|break(List|-list|Str|-str)|
difference|intersection|union|average|flatten|chars|unchars|repeat|
lines|unlines|words|unwords|max|min|negate|abs|signum|quot|rem|div|mod|
recip|pi|tau|exp|sqrt|ln|pow|sin|cos|tan|asin|acos|atan|atan2|truncate|
round|ceiling|floor|is(It|-it)NaN|even|odd|gcd|lcm|disabled__id
)\b(?![.-])
comment: |
Generated by DOM query from http://gkz.github.com/prelude-ls/:
[].slice
.call(document.querySelectorAll(".nav-pills li a"))
.map(function(_) {return _.innerText})
.filter(function(_) {return _.trim() !== '})
.slice(2)
.join("|")
scope: support.function.prelude.livescript
- match: '(?x)(?<![.-])\b(that|it|e|_)\b'
scope: support.function.semireserved.livescript
- match: |-
(?x)((?<=(\.|\]|\)))(
apply|call|concat|every|filter|for(Each|-each)|
from|has(Own|-own)(Property|-property)|index(Of|-of)|
is(Prototype|-prototype)(Of|-of)|join|last(Index|-index)(Of|-of)|
map|of|pop|property(Is|-is)(Enumerable|-enumerable)|push|
reduce(Right|-right)?|reverse|shift|slice|some|sort|
splice|to(Locale|-locale)?(String|-string)|unshift|valueOf
))\b(?!-)
scope: support.function.method.array.livescript
- match: |-
(?x)((?<=Array\.)(
isArray
))\b
scope: support.function.static.array.livescript
- match: |-
(?x)((?<=Object\.)(
create|define(Propert|-propert)(ies|y)|freeze|
get(Own|-own)(Property|-property)(Descriptors?|Names)|
get(Property|-property)(Descriptor|Names)|getPrototypeOf|
is((Extensible|-extensible)|(Frozen|-frozen)|(Sealed|-sealed))?|
keys|prevent(Extensions|-extensions)|seal
))\b
scope: support.function.static.object.livescript
- match: |-
(?x)((?<=Math\.)(
abs|acos|acosh|asin|asinh|atan|atan2|atanh|ceil|cos|cosh|exp|expm1|floor|
hypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|
tan|tanh|trunc
))\b
scope: support.function.static.math.livescript
- match: |-
(?x)((?<=Number\.)(
is(Finite|Integer|NaN)|to(Integer|-integer)
))\b
scope: support.function.static.number.livescript
- match: '[\$\w][\w-]*'
scope: variable.other.livescript
backslash_string:
- match: '\\([\\)\s,\};\]])?'
captures:
0: string.quoted.single.livescript
push:
- meta_content_scope: string.quoted.single.livescript
- match: '([\\)\s,\};\]])'
captures:
0: punctuation.definition.string.end.livescript
pop: true
constructor_variable:
- match: '([a-zA-Z$_][\w$-]*)(@{2})([a-zA-Z$_][\w$-]*)?'
scope: variable.other.readwrite.constructor.livescript
double_quoted_string:
- match: '"'
captures:
0: punctuation.definition.string.begin.livescript
push:
- meta_scope: string.quoted.double.livescript
- match: '"'
captures:
0: punctuation.definition.string.end.livescript
pop: true
- match: '\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)'
scope: constant.character.escape.livescript
- include: interpolated_livescript
embedded_comment:
- match: (?<!\\)(#).*$\n
scope: comment.line.number-sign.livescript
captures:
1: punctuation.definition.comment.livescript
embedded_spaced_comment:
- match: (?<!\\)(#\s).*$\n
scope: comment.line.number-sign.livescript
captures:
1: punctuation.definition.comment.livescript
instance_variable:
- match: '(?<![$\w\-])(@)'
scope: variable.other.readwrite.instance.livescript
interpolated_livescript:
- match: '\#\{'
captures:
0: punctuation.section.embedded.livescript
push:
- meta_scope: source.livescript.embedded.source
- match: '\}'
captures:
0: punctuation.section.embedded.livescript
pop: true
- include: main
- match: '\#'
push:
- meta_scope: source.livescript.embedded.source.simple
- match: ""
pop: true
- include: main
numeric:
- match: '(?<![\$@a-zA-Z_])(([0-9]+r[0-9_]+)|((16r|0[xX])[0-9a-fA-F_]+)|([0-9]+(\.[0-9]+[0-9_]*)?(e[+\-]?[0-9_]+)?)[_a-zA-Z0-9]*)'
scope: constant.numeric.livescript
single_quoted_string:
- match: "'"
captures:
0: punctuation.definition.string.begin.livescript
push:
- meta_scope: string.quoted.single.livescript
- match: "'"
captures:
0: punctuation.definition.string.end.livescript
pop: true
- match: '\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)'
scope: constant.character.escape.livescript
variable_name:
- match: '([a-zA-Z\$_][\w$-]*(\.\w+)*)(?!\-)'
scope: variable.assignment.livescript
captures:
1: variable.assignment.livescript

View File

@ -7,47 +7,196 @@ file_extensions:
scope: source.man
variables:
section_heading: '^\S.*$'
section_heading: '^(?!#)\S.*$'
command_line_option: '(--?[A-Za-z0-9][_A-Za-z0-9-]*)'
contexts:
prototype:
# ignore syntax test lines
- match: '^#'
push:
- meta_scope: comment.syntax-test.man
- match: $\n?
pop: true
main:
- match: ^
push: first_line
first_line:
- match: '([A-Z0-9_\-]+)(\()([^)]+)(\))'
- match: '([A-Z0-9_\-]+)(\()([^)]+)(\))\s*'
captures:
1: meta.preprocessor
2: keyword.operator
3: string.quoted.other
4: keyword.operator
- match: '$'
push: body
body:
- match: '^(SYNOPSIS|SYNTAX|SINTASSI|SKŁADNIA|СИНТАКСИС|書式)'
push: Packages/C/C.sublime-syntax
scope: markup.heading
with_prototype:
- match: '(?={{section_heading}})'
1: meta.preprocessor.man
2: keyword.operator.man
3: string.quoted.other.man
4: keyword.operator.man
push:
- match: (?:[\w'-]+|\s(?!\s))
scope: markup.heading.title.man
- match: \s\s
pop: true
- match: '(?=\S|$)'
pop: true
- match: '^\S.*$'
scope: markup.heading
- match: '$'
set: body
- match: '\b([A-Za-z0-9_\-]+)(\()([^)]*)(\))'
body:
# English, ..., ..., ..., Russian, ...
- match: '^(?:SYNOPSIS|SYNTAX|SINTASSI|SKŁADNIA|СИНТАКСИС|書式)'
scope: markup.heading.synopsis.man
embed: synopsis
escape: '(?={{section_heading}})'
- match: '^(?:USAGE)'
scope: markup.heading.synopsis.man
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
escape: '(?={{section_heading}})'
function-call:
- match: '\b([A-Za-z0-9_\-]+\.)?([A-Za-z0-9_\-]+)(\()([^)]*)(\))'
captures:
1: entity.name.function
2: keyword.operator
3: constant.numeric
4: keyword.operator
1: entity.name.function.man
2: entity.name.function.man
3: keyword.operator.man
4: constant.numeric.man
5: keyword.operator.man
env-var:
- match: '(\$)(?!\d)(\w+)\b'
captures:
1: punctuation.definition.variable.man
2: constant.other.man
options:
# command-line options like --option=value, --some-flag, or -x
- match: '(?:[^a-zA-Z0-9_-]|^|\s)(--?[A-Za-z0-9][A-Za-z0-9-]*)(?:(=)?("?)([A-Za-z0-9]+)("?))?'
- match: '^[ ]{7}(?=-|\+)'
push: expect-command-line-option
- match: '(?:[^a-zA-Z0-9_-]|^|\s){{command_line_option}}'
captures:
1: entity.name
2: keyword.operator
3: punctuation.definition.string.begin
4: variable.parameter
3: punctuation.definition.string.end
1: entity.name.command-line-option
push:
- match: '='
scope: keyword.operator.man
set:
- match: '[^],.() ]+'
scope: variable.parameter.man
pop: true
- match: $
pop: true
- match: ''
pop: true
- include: function-call
- include: c-code
- include: env-var
expect-command-line-option:
- match: '[A-Za-z0-9-\.\?:#\$\+]+'
scope: entity.name.command-line-option.man
- match: '(\[)(=)'
captures:
1: punctuation.section.brackets.begin.man
2: keyword.operator.man
push: [command-line-option-or-pipe, expect-parameter]
- match: '\['
push:
- meta_scope: entity.name.command-line-option.man
- match: '\]'
pop: true
- match: '='
scope: keyword.operator.man
push: expect-parameter
- match: (?=.*\.)
pop: true
- match: '\s'
push: expect-parameter
- match: '(,)\s*'
captures:
1: punctuation.separator.man
- match: $|(?=\])
pop: true
expect-parameter:
- match: '[A-Za-z0-9-_]+'
scope: variable.parameter.man
- match: (?=\s+\|)
pop: true
- match: \|
scope: keyword.operator.logical.man
- match: '\['
scope: punctuation.section.brackets.begin.man
push:
- match: '\]'
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
c-code:
- match: '^(?=\s+(?:#include\b|#define\b|/\*|struct\s+(\w+\s*)?\{))'
embed: scope:source.c
#embed_scope: source.c.embedded.man
#escape: ^(?!#|\1|\s*(?:$|/\*|#include\b|#define\b))
escape: ^(?=\s*(?:\(.*\.\)\s*$|[A-Z](?![A-Z])))
synopsis:
- include: c-code
- match: \[
scope: punctuation.section.brackets.begin.man
push: command-line-option-or-pipe
- include: options
command-line-option-or-pipe:
- match: (\|)\s*
captures:
1: keyword.operator.logical.man
#- match: (?={{command_line_option}})
- match: \w+-\w+
- match: (?=-)
push:
- match: (?=\s*\|)
pop: true
- include: expect-command-line-option
- match: \]
scope: punctuation.section.brackets.end.man
pop: true
- 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
assets/syntaxes/02_Extra/MediaWiki vendored Submodule

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

1
assets/syntaxes/02_Extra/NSIS vendored Submodule

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

1
assets/syntaxes/02_Extra/Nginx vendored Submodule

@ -0,0 +1 @@
Subproject commit 65f5a63c0d1760c5db2264e50e3b14a7a4567cc0

View File

@ -5,6 +5,7 @@ name: Nim
file_extensions:
- nim
- nims
- nimble
scope: source.nim
contexts:
main:

1
assets/syntaxes/02_Extra/Ninja vendored Submodule

@ -0,0 +1 @@
Subproject commit 25830aaec9316b7fca6600000535214164525d7a

View File

@ -0,0 +1,52 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: Ninja
file_extensions:
- ninja
scope: source.ninja
contexts:
main:
- match: (#).*$\n?
comment: Comment line.
scope: comment.line.number-sign.ninja
captures:
1: punctuation.definition.comment.ninja
- match: ^(rule)\b
comment: Rule keyword and keywords for a rule.
captures:
1: keyword.other.ninja
push:
- match: ^(?=\S)
pop: true
- include: main
- match: \b(?:command|deps|depfile|description|generator|pool|restat|rspfile|rspfile_content)\b
scope: keyword.other.ninja
- match: ^(pool)\b
comment: Pool keyword and keywords for a pool.
captures:
1: keyword.other.ninja
push:
- match: ^(?=\S)
pop: true
- include: main
- match: \b(?:depth)\b
scope: keyword.other.ninja
- match: ^(?:build|rule|default|include|subninja)\b
comment: Other Keywords.
scope: keyword.other.ninja
- match: '(?:[=:]|\|{1,2})(?=\s)'
comment: Operators for variable assignment (=), rule definition (:), implicit (|) and order only (||) dependencies.
scope: keyword.operator.ninja
- match: \$$
comment: Line wrap.
scope: keyword.operator.ninja
- match: \$\$
comment: Dollar literal.
scope: keyword.operator.ninja
- match: '\$[[:alnum:]_-]+'
comment: Simple variables, e.g. $var.
scope: variable.other.ninja
- match: '\${[[:alnum:]_.-]+}'
comment: "Variables, e.g. ${some.var.name}."
scope: variable.other.ninja

@ -1 +1 @@
Subproject commit 4a0a076661d26473cac71b9a17e6a759e9b1c643
Subproject commit c0372a1d2df136ca6b3d1a9f7b85031dedf117f9

View File

@ -24,7 +24,7 @@ contexts:
- include: commands
- include: commentLine
- include: variable
- include: interpolatedStringContent
- include: subexpression
- include: function
- include: attribute
- include: UsingDirective
@ -33,32 +33,38 @@ contexts:
- include: doubleQuotedString
- include: scriptblock
- include: doubleQuotedStringEscapes
- match: (?<!')'
- match: '[''\x{2018}-\x{201B}]'
captures:
0: punctuation.definition.string.begin.powershell
push:
- meta_scope: string.quoted.single.powershell
- match: "'(?!')"
- match: '[''\x{2018}-\x{201B}]{2}'
scope: constant.character.escape.powershell
- match: '[''\x{2018}-\x{201B}]'
captures:
0: punctuation.definition.string.end.powershell
pop: true
- match: "''"
scope: constant.character.escape.powershell
- match: \@"(?=$)
- match: '(@["\x{201C}-\x{201E}])\s*$'
captures:
1: punctuation.definition.string.begin.powershell
push:
- meta_scope: string.quoted.double.heredoc.powershell
- match: ^"@
- match: '^["\x{201C}-\x{201E}]@'
captures:
0: punctuation.definition.string.end.powershell
pop: true
- include: variableNoProperty
- include: doubleQuotedStringEscapes
- include: interpolation
- match: \@'(?=$)
- match: '(@[''\x{2018}-\x{201B}])\s*$'
captures:
1: punctuation.definition.string.begin.powershell
push:
- meta_scope: string.quoted.single.heredoc.powershell
- match: ^'@
- match: '^[''\x{2018}-\x{201B}]@'
captures:
0: punctuation.definition.string.end.powershell
pop: true
- match: "''"
scope: constant.character.escape.powershell
- include: numericConstant
- match: (@)(\()
captures:
@ -71,11 +77,12 @@ contexts:
0: punctuation.section.group.end.powershell
pop: true
- include: main
- match: (\$)(\()
- match: ((\$))(\()
comment: "TODO: move to repo; make recursive."
captures:
1: punctuation.definition.variable.powershell
2: punctuation.section.group.begin.powershell
1: keyword.other.substatement.powershell
2: punctuation.definition.subexpression.powershell
3: punctuation.section.group.begin.powershell
push:
- meta_scope: meta.group.complex.subexpression.powershell
- match: \)
@ -85,7 +92,7 @@ contexts:
- include: main
- match: '(\b(([A-Za-z0-9\-_\.]+)\.(?i:exe|com|cmd|bat))\b)'
scope: support.function.powershell
- match: (?<!\w|-|\.)((?i:begin|break|catch|continue|data|default|define|do|dynamicparam|else|elseif|end|exit|finally|for|from|if|in|inlinescript|parallel|param|process|return|sequence|switch|throw|trap|try|until|var|while)|%|\?)(?!\w)
- match: (?<!\w|-|\.)((?i:begin|break|catch|clean|continue|data|default|define|do|dynamicparam|else|elseif|end|exit|finally|for|from|if|in|inlinescript|parallel|param|process|return|sequence|switch|throw|trap|try|until|var|while)|%|\?)(?!\w)
scope: keyword.control.powershell
- match: '(?<!\w|-|[^\)]\.)((?i:(foreach|where)(?!-object))|%|\?)(?!\w)'
scope: keyword.control.powershell
@ -135,7 +142,7 @@ contexts:
- meta_scope: meta.requires.powershell
- match: $
pop: true
- match: \-(?i:Modules|PSSnapin|RunAsAdministrator|ShellId|Version)
- match: \-(?i:Modules|PSSnapin|RunAsAdministrator|ShellId|Version|Assembly|PSEdition)
scope: keyword.other.powershell
- match: '(?<!-)\b\p{L}+|\d+(?:\.\d+)*'
scope: variable.parameter.powershell
@ -187,51 +194,53 @@ contexts:
comment: Builtin cmdlets with reserved verbs
scope: support.function.powershell
commentEmbeddedDocs:
- match: ^(?i:(?:\s?|#)+(\.)(COMPONENT|DESCRIPTION|EXAMPLE|EXTERNALHELP|FORWARDHELPCATEGORY|FORWARDHELPTARGETNAME|FUNCTIONALITY|INPUTS|LINK|NOTES|OUTPUTS|REMOTEHELPRUNSPACE|ROLE|SYNOPSIS))
- match: (?:^|\G)(?i:\s*(\.)(COMPONENT|DESCRIPTION|EXAMPLE|FUNCTIONALITY|INPUTS|LINK|NOTES|OUTPUTS|ROLE|SYNOPSIS))\s*$
comment: these embedded doc keywords do not support arguments, must be the only thing on the line
scope: comment.documentation.embedded.powershell
captures:
1: constant.string.documentation.powershell
2: keyword.operator.documentation.powershell
- match: '(?i:\s?(\.)(PARAMETER|FORWARDHELPTARGETNAME|FORWARDHELPCATEGORY|REMOTEHELPRUNSPACE|EXTERNALHELP)\s+([a-z0-9-_]+))'
- match: (?:^|\G)(?i:\s*(\.)(EXTERNALHELP|FORWARDHELP(?:CATEGORY|TARGETNAME)|PARAMETER|REMOTEHELPRUNSPACE))\s+(.+?)\s*$
comment: these embedded doc keywords require arguments though the type required may be inconsistent, they may not all be able to use the same argument match
scope: comment.documentation.embedded.powershell
captures:
1: constant.string.documentation.powershell
2: keyword.operator.documentation.powershell
3: keyword.operator.documentation.powershell
commentLine:
- match: '(?<![`\\-])#'
- match: '(?<![`\\-])(#)#*'
captures:
0: punctuation.definition.comment.powershell
1: punctuation.definition.comment.powershell
push:
- meta_scope: comment.line.powershell
- match: $\n?
captures:
0: punctuation.definition.comment.powershell
1: punctuation.definition.comment.powershell
pop: true
- include: commentEmbeddedDocs
- include: RequiresDirective
doubleQuotedString:
- match: (?<!(?<!`)")"
- match: '["\x{201C}-\x{201E}]'
captures:
0: punctuation.definition.string.begin.powershell
push:
- meta_scope: string.quoted.double.powershell
- match: '"(?!")'
captures:
0: punctuation.definition.string.end.powershell
pop: true
- match: '(?i)\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,64}\b'
- include: variableNoProperty
- include: doubleQuotedStringEscapes
- match: '["\x{201C}-\x{201E}]{2}'
scope: constant.character.escape.powershell
- include: interpolation
- match: '`\s*$'
scope: keyword.other.powershell
- match: '["\x{201C}-\x{201E}]'
captures:
0: punctuation.definition.string.end.powershell
pop: true
doubleQuotedStringEscapes:
- match: '`[`0abefnrtv"''$]'
- match: '`[`0abefnrtv''"\x{2018}-\x{201E}$]'
scope: constant.character.escape.powershell
- include: unicodeEscape
- match: '""'
scope: constant.character.escape.powershell
function:
- match: '^(?:\s*+)(?i)(function|filter|configuration|workflow)\s+(?:(global|local|script|private):)?((?:\p{L}|\d|_|-|\.)+)'
captures:
@ -263,33 +272,23 @@ contexts:
4: keyword.operator.assignment.powershell
- include: scriptblock
- include: main
interpolatedStringContent:
- match: \(
captures:
0: punctuation.section.group.begin.powershell
push:
- meta_content_scope: interpolated.simple.source.powershell
- match: \)
captures:
0: punctuation.section.group.end.powershell
pop: true
- include: main
- include: interpolation
- include: interpolatedStringContent
interpolation:
- match: (\$)(\()
- match: (((\$)))((\())
captures:
1: punctuation.definition.variable.powershell
2: punctuation.section.group.begin.powershell
1: keyword.other.substatement.powershell
2: punctuation.definition.substatement.powershell
3: punctuation.section.embedded.substatement.begin.powershell
4: punctuation.section.group.begin.powershell
5: punctuation.section.embedded.substatement.begin.powershell
push:
- meta_scope: meta.embedded.substatement.powershell
- meta_content_scope: interpolated.complex.source.powershell
- match: \)
- match: (\))
captures:
0: punctuation.section.group.end.powershell
1: punctuation.section.embedded.substatement.end.powershell
pop: true
- include: main
- include: interpolation
- include: interpolatedStringContent
numericConstant:
- match: '(?<!\w)([-+]?0(?:x|X)[0-9a-fA-F_]+(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\b'
captures:
@ -330,6 +329,17 @@ contexts:
0: punctuation.section.braces.end.powershell
pop: true
- include: main
subexpression:
- match: \(
captures:
0: punctuation.section.group.begin.powershell
push:
- meta_scope: meta.group.simple.subexpression.powershell
- match: \)
captures:
0: punctuation.section.group.end.powershell
pop: true
- include: main
type:
- match: '\['
captures:

1
assets/syntaxes/02_Extra/Racket vendored Submodule

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

View File

@ -0,0 +1,52 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: Racket
file_extensions:
- rkt
scope: source.racket
contexts:
main:
- match: '[^\\](\"[^\"]*\")'
captures:
1: string.quoted.double.source.racket
- match: '\((define)\s+([a-zA-Z0-9_\-?\+^]+)\s*'
scope: meta.variable.source.racket
captures:
1: keyword.source.racket
2: entity.name.variable.source.racket
- match: '\((define)\s+\(([a-zA-Z0-9_\-?\+^]+)\s*'
scope: meta.function.source.racket
captures:
1: keyword.source.racket
2: entity.name.function
- match: '\((struct)\s+([a-zA-Z0-9_\-?\+^]+)\s+'
scope: meta.struct.source.racket
captures:
1: keyword.source.racket
2: entity.name.type
- match: '[\s\(](if|lambda|cond|define|type-case|let|letrec|let!|\#lang|require|test|else|first|rest|define-type|define-type-alias|define-struct|not|local|error|lang)[\s\)]'
scope: meta.keywords.source.racket
captures:
1: keyword.source.racket
- match: '[\s\(](true|false|empty|null)[\s\)]'
captures:
1: constant.language.source.racket
- match: '[\s\(\[\{](#t|#true|#f|#false)[\s\)\]\}]'
captures:
1: constant.language.source.racket
- match: '(#\\[a-zA-Z0-9_\-?\+\.\!\"]+)'
captures:
1: constant.language.source.racket
- match: '\b(0|([1-9][0-9_]*))\b'
scope: constant.numeric.integer.source.racket
- match: ;
push:
- meta_scope: comment.line.documentation.source.racket
- match: $\n
pop: true
- match: '#\|'
push:
- meta_scope: comment.block.source.racket
- match: '\|#'
pop: true

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

View File

@ -1,9 +1,10 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: Robot Framework syntax highlighting.
name: Robot Framework
file_extensions:
- robot
- resource
scope: source.robot
contexts:
main:

@ -1 +1 @@
Subproject commit b98a3f3ccff0134c38544d9bc41caf7f61048cdf
Subproject commit d3d94046409db6fbbc9d51dea52b589ecc9d3d48

1
assets/syntaxes/02_Extra/Slim vendored Submodule

@ -0,0 +1 @@
Subproject commit 3b1441f89fde40678c3c0ada6d75ce46417a35b6

View File

@ -0,0 +1,306 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/syntax.html
name: Ruby Slim
file_extensions:
- slim
- skim
scope: text.slim
contexts:
main:
- match: ^(\s*)(ruby):$
captures:
2: constant.language.name.ruby.filter.slim
push:
- meta_scope: text.ruby.filter.slim
- match: ^(?!(\1\s)|\s*$)
pop: true
- include: scope:source.ruby
- match: ^(\s*)(javascript):$
captures:
2: constant.language.name.javascript.filter.slim
push:
- meta_scope: source.js.filter.slim
- match: ^(?!(\1\s)|\s*$)
pop: true
- include: scope:source.js
- match: ^(---)\s*\n
captures:
1: storage.frontmatter.slim
push:
- meta_scope: source.yaml.meta.slim
- match: ^(---)\s*\n
captures:
1: storage.frontmatter.slim
pop: true
- include: scope:source.yaml
- match: ^(\s*)(coffee):$
captures:
2: constant.language.name.coffeescript.filter.slim
push:
- meta_scope: text.coffeescript.filter.slim
- match: ^(?!(\1\s)|\s*$)
pop: true
- include: scope:source.coffee
- match: ^(\s*)(markdown):$
captures:
2: constant.language.name.markdown.filter.slim
push:
- meta_scope: text.markdown.filter.slim
- match: ^(?!(\1\s)|\s*$)
pop: true
- include: scope:text.html.markdown
- match: ^(\s*)(css):$
captures:
2: constant.language.name.css.filter.slim
push:
- meta_scope: text.css.filter.slim
- match: ^(?!(\1\s)|\s*$)
pop: true
- include: scope:source.css
- match: ^(\s*)(sass):$
captures:
2: constant.language.name.sass.filter.slim
push:
- meta_scope: text.sass.filter.slim
- match: ^(?!(\1\s)|\s*$)
pop: true
- include: scope:source.sass
- match: ^(\s*)(scss):$
captures:
2: constant.language.name.scss.filter.slim
push:
- meta_scope: text.scss.filter.slim
- match: ^(?!(\1\s)|\s*$)
pop: true
- include: scope:source.scss
- match: ^(\s*)(less):$
captures:
2: constant.language.name.less.filter.slim
push:
- meta_scope: text.less.filter.slim
- match: ^(?!(\1\s)|\s*$)
pop: true
- include: scope:source.less
- match: ^(\s*)(erb):$
captures:
2: constant.language.name.erb.filter.slim
push:
- meta_scope: text.erb.filter.slim
- match: ^(?!(\1\s)|\s*$)
pop: true
- include: scope:source.erb
- match: ^(! )($|\s.*)
scope: meta.prolog.slim
captures:
1: punctuation.definition.prolog.slim
- match: ^(\s*)(/)\s*.*$
captures:
2: comment.line.slash.slim
push:
- meta_scope: comment.block.slim
- match: ^(?!(\1\s)|\s*$)
pop: true
- match: ^\s*(?=-)
push:
- match: $
pop: true
- include: rubyline
- match: (?==+|~)
push:
- match: $
pop: true
- include: rubyline
- include: tag-attribute
- include: embedded-ruby
- match: ^(\s*)(\||')\s*
comment: Verbatim text (can include HTML tags and copied lines)
push:
- match: ^(?!(\1\s)|\s*$)
pop: true
- include: scope:text.html.basic
- include: embedded-ruby
- match: '^\s*(\.|#|[-a-zA-Z0-9]+)([\w-]+)?'
comment: '1 - dot OR hash OR any combination of word, number; 2 - OPTIONAL any combination of word, number, dash or underscore (following a . or'
captures:
1: entity.name.tag.slim
2: entity.other.attribute-name.event.slim
push:
- meta_scope: meta.tag
- match: '$|(?!\.|#|:|-|~|/|\}|\]|\*|\s?[\*\{])'
captures:
1: entity.name.tag.slim
2: entity.other.attribute-name.event.slim
pop: true
- match: '(:[\w\d]+)+'
comment: XML
push:
- meta_scope: entity.name.tag.slim
- match: $|\s
pop: true
- match: '(:\s)(\.|#|[a-zA-Z0-9]+)([\w-]+)?'
comment: Inline HTML / 1 - colon; 2 - dot OR hash OR any combination of word, number; 3 - OPTIONAL any combination of word, number, dash or underscore (following a . or
captures:
1: punctuation.definition.tag.end.slim
2: entity.name.tag.slim
3: entity.other.attribute-name.event.slim
push:
- match: '$|(?!\.|#|=|-|~|/|\}|\]|\*|\s?[\*\{])'
captures:
1: punctuation.definition.tag.end.slim
2: entity.name.tag.slim
3: entity.other.attribute-name.event.slim
pop: true
- include: root-class-id-tag
- include: tag-attribute
- match: '(\*\{)(?=.*\}|.*\|\s*$)'
comment: Splat attributes
captures:
1: punctuation.section.embedded.ruby
push:
- meta_scope: source.ruby.embedded.slim
- match: '(\})|$|^(?!.*\|\s*$)'
captures:
1: punctuation.section.embedded.ruby
pop: true
- include: embedded-ruby
- include: root-class-id-tag
- include: rubyline
- match: /
scope: punctuation.terminator.tag.slim
- match: ^\s*(\\.)
captures:
1: meta.escape.slim
- match: ^\s*(?=\||')
push:
- match: $
pop: true
- include: embedded-ruby
- include: scope:text.html.basic
- match: '(?=<[\w\d\:]+)'
comment: Inline and root-level HTML tags
push:
- match: $|\/\>
pop: true
- include: scope:text.html.basic
continuation:
- match: '([\\,])\s*\n'
captures:
1: punctuation.separator.continuation.slim
delimited-ruby-a:
- match: '=\('
push:
- meta_scope: source.ruby.embedded.slim
- match: \)(?=( \w|$))
pop: true
- include: scope:source.ruby.rails
delimited-ruby-b:
- match: '=\['
push:
- meta_scope: source.ruby.embedded.slim
- match: '\](?=( \w|$))'
pop: true
- include: scope:source.ruby.rails
delimited-ruby-c:
- match: '=\{'
push:
- meta_scope: source.ruby.embedded.slim
- match: '\}(?=( \w|$))'
pop: true
- include: scope:source.ruby.rails
embedded-ruby:
- match: '(?<!\\)#\{{1,2}'
captures:
0: punctuation.section.embedded.ruby
push:
- meta_scope: source.ruby.embedded.html
- match: '\}{1,2}'
captures:
0: punctuation.section.embedded.ruby
pop: true
- include: scope:source.ruby.rails
entities:
- match: '(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)'
scope: constant.character.entity.html
captures:
1: punctuation.definition.entity.html
3: punctuation.definition.entity.html
- match: '&'
scope: invalid.illegal.bad-ampersand.html
interpolated-ruby:
- match: '=(?=\b)'
push:
- meta_scope: source.ruby.embedded.html
- match: \s|\w$
pop: true
root-class-id-tag:
- match: '(\.|#)([\w\d\-]+)'
captures:
1: punctuation.separator.key-value.html
2: entity.other.attribute-name.html
rubyline:
- match: (==|=)(<>|><|<'|'<|<|>)?|-
comment: Hack to thwart Sublime's Ruby highlighter. It thinks do without a variable continues the next line (this can be muted with a / at the end of the line). For things like yields, do is unnecessary without an argument, so this hack will suffice
push:
- meta_scope: meta.line.ruby.slim
- meta_content_scope: source.ruby.embedded.slim
- match: (do\s*\n$)|(?<!\\|,|,\n|\\\n)$
captures:
1: keyword.control.start-block.ruby
pop: true
- match: '#.*$'
comment: Hack to let ruby comments work in this context properly
scope: comment.line.number-sign.ruby
- include: continuation
- include: scope:source.ruby.rails
string-double-quoted:
- match: (")(?=.*")
captures:
0: punctuation.definition.string.begin.html
push:
- meta_scope: string.quoted.double.html
- meta_content_scope: meta.toc-list.id.html
- match: '"'
captures:
0: punctuation.definition.string.end.html
pop: true
- include: embedded-ruby
- include: entities
string-single-quoted:
- match: (')(?=.*')
captures:
0: punctuation.definition.string.begin.html
push:
- meta_scope: string.quoted.single.html
- meta_content_scope: meta.toc-list.id.html
- match: "'"
captures:
0: punctuation.definition.string.end.html
pop: true
- include: embedded-ruby
- include: entities
tag-attribute:
- match: '([\w.#_-]+)(=)(?!\s)(true|false|nil)?(\s*\(|\{)?'
captures:
1: entity.other.attribute-name.event.slim
2: punctuation.separator.key-value.html
3: constant.language.slim
push:
- meta_scope: meta.attribute-with-value.slim
- match: '\}|\)|$'
captures:
1: entity.other.attribute-name.event.slim
2: punctuation.separator.key-value.html
3: constant.language.slim
pop: true
- include: tag-stuff
- include: string-double-quoted
- include: string-single-quoted
tag-stuff:
- include: tag-attribute
- include: interpolated-ruby
- include: delimited-ruby-a
- include: delimited-ruby-b
- include: delimited-ruby-c
- include: rubyline
- include: embedded-ruby

View File

@ -197,7 +197,7 @@ contexts:
scope: entity.other.attribute-name.stylus
- match: |-
(?x) # multi-line regex definition mode
(?<=^|;|{)\s* # starts after begining of line, '{' or ';''
(?<=^|;|{)\s* # starts after beginning of line, '{' or ';''
(?= # lookahead for
(
[a-zA-Z0-9_-] # then a letter
@ -207,7 +207,7 @@ contexts:
(/\*.*?\*/) # comment
)+
\s*[:\s]\s* # value is separted by colon or space
\s*[:\s]\s* # value is separated by colon or space
(?!(\s*\{)) # if there are only spaces afterwards

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

1
assets/syntaxes/02_Extra/SublimeJQ vendored Submodule

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

1
assets/syntaxes/02_Extra/Svelte vendored Submodule

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

@ -1 +0,0 @@
Subproject commit 7628d4e0b89d3b4f0dcc014bfb4a3e3433f5133a

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

@ -1 +1 @@
Subproject commit 0f14b7caf3c775a5d18551a9563a9debdb10c9a9
Subproject commit fd0bf3e5d6c9e6397c0dc9639a0514d9bf55b800

@ -1 +1 @@
Subproject commit 64208ea816d940e4b9c93f4a6b67d64c02a09825
Subproject commit 54d8350c3c5929c921ea7561c932aa15e7d96c48

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