Commit Graph

508 Commits (b33e33fe260f44074f4bcac21a0798530b377228)

Author SHA1 Message Date
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.
3 years ago
Martin Nordholts ce89fb2751 CICD: Add check for accidental inclusion of GPL:ed code 3 years ago
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.
3 years ago
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
3 years ago
Martin Nordholts 206bf5b8d6 run-benchmarks.sh: Add new test 'Startup time with syntax highlighting' 3 years ago
David Peter d2175d6382 Add test for ANSI sequence loop-through 3 years ago
David Peter b3aefd2d41 Add Python highlighting test 3 years ago
David Peter f7eb55aa01 Rename jquery file 3 years ago
David Peter 5e63d67960 Remove jquery-3.3.1.min.js benchmark 3 years ago
David Peter 6fd78ea3f6 Clean benchmarking environment 3 years ago
David Peter b12503a46a Markdown (and JSON) reports 3 years ago
David Peter ea2faf45e4 Simplify cargo-target-dir extraction 3 years ago
David Peter 1822c981da Move comparison.sh benchmark script to documentation 3 years ago
Shun Sakai 619cf6e6d6 Add MediaWiki syntax 3 years ago
Bojan Đurđević d6ed5e6746
Support for ignored-suffix CLI arguments (#1892) 3 years ago
David Peter 0b63ad5e8b create_highlighted_versions: fix misleading/wrong error message 3 years ago
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.
3 years ago
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.
3 years ago
Diva M 2339d78bf4 update snapshot tests 3 years ago
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
3 years ago
Georgy Komarov d04a83de7b Add Racket syntax 3 years ago
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.
3 years ago
Martin Nordholts 9ed9a6fc3d
Simplify HighlightingAssets::get_syntax() first_line logic (#1852)
And make self.get_first_line_syntax() be called lazily.
3 years ago
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.
3 years ago
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
3 years ago
Ville Skyttä 7c41bd72da assets: add Debian ucf backups to ignored suffixes
Refs https://manpages.debian.org/bullseye/ucf/ucf.1.en.html
3 years ago
a1346054 51edacb5eb style: trim excess whitespace 3 years ago
a1346054 5197ef9048 fix: spelling 3 years ago
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.
3 years ago
Martin Nordholts f5c1cb2dff Run 'cargo fmt' 3 years ago
Keith Hall 133b06e945 Fix syslog syntax highlighting when no colon after "process" 3 years ago
Mario Finelli 699f1e65cc Add slim syntax test 3 years ago
Bill Risher 6c62ed5608 revamped integration test, made CHANGELOG changes 3 years ago
Bill Risher bf78288e9e feat(config): added recognition of $BAT_CONFIG_DIR 3 years ago
Ville Skyttä 2d92a4dbb3 Allow colon in syslog loghost
Makes it work with IPv6 addresses.
3 years ago
Ville Skyttä f508ddf66d Allow period in syslog loghost
Makes it work with FQDN's and IPv4 addresses.
3 years ago
Ville Skyttä 02218c916c Allow period in syslog process name 3 years ago
Martin Nordholts 89217e0d58 Make --no-paging and --no-pager work again 3 years ago
Martin Nordholts bd797c75a4 integration_tests: Add diagnostic_sanity_check() 3 years ago
Layle | Luca 51c7eb7ac1
Included LLVM syntax highlighting submodule and added regression tests 3 years ago
Keith Hall 6d5ff671e7 Add HTTP Request/Response syntax as a git submodule 3 years ago
Martin Nordholts b040efff79 Support a hidden arg --no-custom-assets that skips loading assets from the cache 3 years ago
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.
3 years ago
Sarvesh MD f464b1ba39 Update battest.py
Add decorator test `@classmethod` and fixed spellings.
3 years ago
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.
3 years ago
David Peter 64763eafbe Update Julia syntax test 3 years ago
Ville Skyttä ddb39ef2f6 Add syntax tests for ignored filename suffixes 3 years ago
Mohamed Abdelnour 12ecb325c9 Modify Linguist overrides 3 years ago
Mohamed Abdelnour c18afcb01a Add Verilog syntax test file 3 years ago
Mohamed Abdelnour 63043d4a60 Add varlink syntax test file 3 years ago
Mohamed Abdelnour 76034880ae Add TypeScriptReact syntax test file 3 years ago
Mohamed Abdelnour 768189859a Add Stylus syntax test file 3 years ago
Mohamed Abdelnour 6e5a2a5c51 Add Strace syntax test file 3 years ago
Mohamed Abdelnour 9935c4984c Add Robot Framework syntax test file 3 years ago
Mohamed Abdelnour a0a5e30c39 Add Rego syntax test file 3 years ago
Mohamed Abdelnour 4126bbeead Add Puppet syntax test file 3 years ago
Mohamed Abdelnour a5b79295d7 Add NAnt Build File syntax test file 3 years ago
Mohamed Abdelnour e917784932 Add Literate Haskell syntax test file 3 years ago
Mohamed Abdelnour f46b90d28d Add jsonnet syntax test file 3 years ago
Mohamed Abdelnour 64cbfbed47 Add Java Server Page (JSP) syntax test file 3 years ago
Mohamed Abdelnour 1ced35ec76 Add 'NOTICE' to list of file names to skip 3 years ago
Mohamed Abdelnour 16d346773b Add Fortran Namelist syntax test file 3 years ago
Mohamed Abdelnour b02120cf66 Add Fortran (Fixed Form) syntax test file 3 years ago
Mohamed Abdelnour 702b5caf2d Add Fortran (Modern) syntax test file 3 years ago
Mohamed Abdelnour d395f64f58 Add F# syntax test file 3 years ago
Mohamed Abdelnour c9627040cc Add CoffeeScript syntax test file 3 years ago
Mohamed Abdelnour b1f69434f9 Add Cabal syntax test file 3 years ago
Mohamed Abdelnour 8435cad602 Merge master 3 years ago
Mohamed Abdelnour 8b6341458b Add XAML test file 3 years ago
Mohamed Abdelnour 8b787b4f70 Add dash test file 3 years ago
David Peter bfa9c3bef6
Merge branch 'master' into feature/dark_plus_theme 3 years ago
David Peter 2904f24ea8
Merge pull request #1606 from sharkdp/syslog
Improve Syslog and general log file highlighting
3 years ago
Ersikan e219c8fc03 Update SublimeEthereum version
A fix I submitted upstream was merged, and this commit bumps the submodule
to include it.
3 years ago
Ersikan 9eb26b702c Add syntax test for Vyper language 3 years ago
Ersikan c933be926d Add syntax tests for Solidity language. 3 years ago
David Peter 5db3c93057
Merge branch 'master' into syslog 3 years ago
David Peter aa442b5795
Merge branch 'master' into feature/dark_plus_theme 3 years ago
Keith Hall 848ceb6f10 Remove variable.other from CSV highlighting 3 years ago
Keith Hall 3559079de0 Improvements to CSV highlighting 3 years ago
Keith Hall 7c4edacb2b Add independent log syntax 3 years ago
Keith Hall 782ede5db5 improve syslog syntax 3 years ago
Keith Hall 1537733e6b replace Syslog dependency with a custom syntax 3 years ago
Keith Hall ba0d43672b add example syslog file for highlighting tests 3 years ago
PatriotRossii 0cd52e5be1
Add "Visual Studio Dark+" theme to vec of themes 3 years ago
Sean McLoughlin d89fa3ebc2 Add SystemVerilog support 3 years ago
Niklas Mohrin b8a18d3ebb Use tempfiles for clircle tests 3 years ago
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
3 years ago
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.
3 years ago
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
3 years ago
Keith Hall 7768433d09 Improve Monokai Extended JSON key color with a patch 3 years ago
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.
3 years ago
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>
3 years ago
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.
4 years ago
Martin Nordholts eda72c31b2 tests: Move 'mocked pagers' utils to separate file 4 years ago
Martin Nordholts c2c2b0211a fn mocked_pager: Simplify with format! 4 years ago
Martin Nordholts dd6f57e107 pager.rs: Some comment fixups 4 years ago
Martin Nordholts 02e6ff4183 Merge remote-tracking branch 'origin/master' into fix-1063 4 years ago
sharkdp 4c523af1ab Add gnuplot syntax
closes #1431
4 years ago
sharkdp 6d27df3b77 Use unstable sort for theme test 4 years ago
sharkdp 73d14f4655 Use BatTester::default instead of BatTester::new 4 years ago
Martin Nordholts da10166625 Merge remote-tracking branch 'origin/master' into fix-1063 4 years ago
sharkdp 35e3c51b75 Fix unused import warning 4 years ago
sharkdp 59c9105c25 Fix clippy warnings in tests on Windows 4 years ago
Martin Nordholts 46487b201f Merge remote-tracking branch 'origin/master' into fix-1063 4 years ago
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.
4 years ago
Niklas Mohrin b600f62ab6 Add unix specific integration test about running bat without any arguments 4 years ago
Niklas Mohrin ace655e164 Add integration tests for clircle cycle detection 4 years ago
Martin Nordholts 478233f795 Merge remote-tracking branch 'origin/master' into fix-1063 4 years ago
Martin Nordholts e87c554ccd tests: Make mocked pagers work on Windows 4 years ago
Martin Nordholts df33ed05dd Run PATH-dependent tests serially
Since PATH is a shared resource.
4 years ago
Martin Nordholts c9efdd68ed Add integration tests for 'more' and 'most' used as pagers 4 years ago
Ethan P 1b549ecc66
Merge branch 'master' into improved-benchmark 4 years ago
sharkdp b5bdba8b16 Svelte syntax test: rename license file 4 years ago
sharkdp 522c97f5ad DotEnv syntax test: add missing newline 4 years ago
sharkdp b3f34529b5 Update Zig syntax test output 4 years ago
Paul Smith c76e27851c Add support for Zig
Adds syntax support for source code for the Zig programming
language. https://ziglang.org/
4 years ago
Julian Berman af8a8035e8 Add a Lean highlighting test file. 4 years ago
Martin Nordholts 22bdc7c20f When PAGER=most, don't print a warning to stderr, silently use less instead 4 years ago
Ethan P 3ed0081f1f
Improve benchmark script to support cargo/config target-dir 4 years ago
Martin Nordholts dcfe883f4b Simplify and polish pager.rs and related code 4 years ago
Martin Nordholts cc0f8ca813 Merge remote-tracking branch 'origin/master' into fix-1063 4 years ago
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
4 years ago
Ensar Sarajčić 171d215f91 Add case from #1604 to VimL syntax-test source 4 years ago
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
4 years ago
John Meow 3d07dec8fd Use Briles/gruvbox .tmTheme files instead of peaceant's port 4 years ago
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.
4 years ago
sharkdp e0207f8167 Fix test 4 years ago
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
4 years ago
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.
4 years ago
sharkdp 3e9afe2974 Add integration test for nonexisting newline 4 years ago
David Peter 73c16574e6
Merge branch 'master' into fix-1438-newline-can-be-added-even-if-style-plain 4 years ago
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
4 years ago
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.
4 years ago
Martin Nordholts 986d0e9777 Ignore PAGER=most by default with a warning to stderr
closes #1063
4 years ago
sharkdp bd2e9917da Revert "Add cycle detection integration tests"
This reverts commit ec60d84265.
4 years ago
henil 591eba66a3 add new syntax test files 4 years ago
Niklas Mohrin 4f0116bee7 Add cycle detection integration tests 4 years ago
Byron Alley 3dc5fc54df Import syntax regression test for Ruby Haml 4 years ago
Byron Alley bac84b4c8b Add sshd_config syntax highlighting test 4 years ago
Ethan P 61f947a580
Merge pull request #1276 from tommilligan/style-rule
style: add component 'rule' for horizontal file delimiter
4 years ago
David Peter 3a612f063e
Merge branch 'master' into master 4 years ago
Ján Priner 9daea73bba Add Ninja highlight test 4 years ago
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.
4 years ago
Kyle Hubert 072fb380d8
Add Svelte as a syntax 4 years ago
Horki cc6cf48256 1213: org mode highlight testing 4 years ago
Horki e571cb553b 1213: nix; added trailing new line 4 years ago
Horki bf9f6e872d 1312: nix; fixed src 4 years ago
Horki 8348c1b746 1213: nix; fix buildInputs arr 4 years ago
Horki 0a9744ac95 add nix highligh 4 years ago
sharkdp 9dd807344c Ignore 'all_themes_are_present' unit test by default 4 years ago