Commit Graph

2233 Commits

Author SHA1 Message Date
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