1
0
mirror of https://github.com/sharkdp/bat synced 2026-08-03 18:51:44 +00:00

Compare commits

...

368 Commits

Author SHA1 Message Date
sharkdp 59ca933aee Update dependencies 2020-04-22 23:59:35 +02:00
sharkdp 793af6b911 Add a syntax mapping for bats own config file 2020-04-22 23:58:41 +02:00
sharkdp c8abe3f235 Update CHANGELOG 2020-04-22 23:56:20 +02:00
sharkdp 5d71056209 Fix import in app 2020-04-22 23:55:28 +02:00
sharkdp eb7d4d002a Update documentation 2020-04-22 23:55:28 +02:00
sharkdp 62b32bd848 Make module private 2020-04-22 23:55:28 +02:00
sharkdp 8961f7aef8 Move PagingMode to separate module 2020-04-22 23:55:28 +02:00
sharkdp 17f3a3b95d Simpler highlight method 2020-04-22 23:55:28 +02:00
sharkdp 261a7ea154 Add *_with_name methods 2020-04-22 23:55:28 +02:00
sharkdp 53a973e9dd Add syntaxes and themes method 2020-04-22 23:55:28 +02:00
sharkdp cba9df746e Add paging to advanced example 2020-04-22 23:55:28 +02:00
sharkdp 12eee0c590 Fix warnings for --no-default-features mode 2020-04-22 23:55:28 +02:00
sharkdp b76f5e72d4 Use unwrap 2020-04-22 23:55:28 +02:00
sharkdp 702cb198da Rename error module 2020-04-22 23:55:28 +02:00
sharkdp 5f826419d1 Add YAML example 2020-04-22 23:55:28 +02:00
sharkdp 13f671b499 Update examples 2020-04-22 23:55:28 +02:00
sharkdp 49f4322054 Fix example 2020-04-22 23:55:28 +02:00
sharkdp 0c9e044e41 Update 'cat' example 2020-04-22 23:55:28 +02:00
sharkdp 74d4377ed2 Add advanced example 2020-04-22 23:55:28 +02:00
sharkdp 6a124591df Easier configuration of style components 2020-04-22 23:55:28 +02:00
sharkdp 7a87315b94 Fix #937 2020-04-22 23:55:28 +02:00
sharkdp 0cde4e9121 Numbers => LineNumbers 2020-04-22 23:55:28 +02:00
sharkdp 36dde9275a Simplify style_components 2020-04-22 23:55:28 +02:00
sharkdp a8f759c080 Rename wrap => wrapping 2020-04-22 23:55:28 +02:00
sharkdp f034be71e7 rename run => print 2020-04-22 23:55:28 +02:00
sharkdp eee35e54e9 Update documentation 2020-04-22 23:55:28 +02:00
sharkdp ec0ce05455 Better API for highlighting lines 2020-04-22 23:55:28 +02:00
sharkdp 13e6b3fac7 Reduce public API 2020-04-22 23:55:28 +02:00
sharkdp 26c951fec4 Fix warnings, sort imports, input from string 2020-04-22 23:55:28 +02:00
sharkdp 590960f7f5 Completely refactor 'input' module 2020-04-22 23:55:28 +02:00
sharkdp b4d54106fe Fix comment 2020-04-22 23:55:28 +02:00
sharkdp f3b90ddb38 Add InputDescription 2020-04-22 23:55:28 +02:00
sharkdp 3bacfc5184 Allow fluent style 2020-04-22 23:55:28 +02:00
sharkdp f8d0956893 Rename InputFile => Input 2020-04-22 23:55:28 +02:00
sharkdp 1dc328ad49 Separate inputs from config 2020-04-22 23:55:28 +02:00
sharkdp 5e5cb89da6 Add all builder options 2020-04-22 23:55:28 +02:00
sharkdp 057e4eced1 Large refactoring towards a better builder structure 2020-04-22 23:55:28 +02:00
sharkdp 27974616bf Initial verison of PrettyPrinter builder 2020-04-22 23:55:28 +02:00
sharkdp 319ab779ee Use 4-bit ANSI codes for base16 theme
closes #865
2020-04-22 10:22:11 +02:00
Brice Dutheil 37831cdcb3 Fix README phrasing about dark mode 2020-04-21 22:37:24 +02:00
sharkdp 70480ee9d4 Bump version to v0.14.0 2020-04-21 18:21:22 +02:00
sharkdp 371c929ede Update CHANGELOG 2020-04-21 18:21:12 +02:00
sharkdp 864656bd11 Pass --no-init on Windows if less version < 559
We used to call `less` with
``` bash
less --RAW-CONTROL-CHARS --quit-if-one-screen --no-init
```
We only passed `--no-init` because there was a bug with previous versions
of `less` which required the use of `--no-init` in combination with
`--quit-if-one-screen` to prevent this "no output" issue from happening.

Since bat 0.13, [we omit the `--no-init` option](https://github.com/sharkdp/bat/blob/0ecc94956b88beed27ca13a130c8ba09f1a220d8/src/output.rs#L85-L97)
if we can detect that the version of `less` is higher than or equal to 530. We
did that because `--no-init` breaks mouse support and because [less 530 fixed
the above-mentioned bug](http://www.greenwoodsoftware.com/less/news.530.html).
However, it seems that this bug was *not* fixed on Windows!

According to @gwsw, the issue should be fixed with less 559 on Windows.

closes #887
2020-04-21 18:18:03 +02:00
sharkdp 2e9cf63a5f Fix compilation of library 2020-04-21 18:14:31 +02:00
sharkdp 886b22e0ee Do not store metadata.yaml file in git 2020-04-21 18:14:31 +02:00
sharkdp 72618db179 Add metadata information to cached assets
When saving/reading user-provided syntaxes or themes, `bat` will now maintain a
`metadata.yaml` file which includes information about the `bat` version which was
used to create the cached files. When loading cached files, we now print an error
if they have been created with an incompatible version

closes #882
2020-04-21 18:14:31 +02:00
sharkdp c8273369cc Make get_cache_dir private 2020-04-21 18:14:31 +02:00
sharkdp 95a56a2795 Typo in CHANGELOG 2020-04-21 17:49:36 +02:00
sharkdp 859ff50766 Update default config file, add comment about tmux mouse scrolling support 2020-04-21 17:45:14 +02:00
sharkdp ce583eb9bf Revert "Pass '--mouse' to less versions >= 551"
This reverts commit cb21b74ecd.
2020-04-21 17:29:01 +02:00
sharkdp 3a195be14e Revert "Only enable --mouse when running from tmux, see #904"
This reverts commit 5f6e310152.
2020-04-21 17:28:37 +02:00
sharkdp 5f6e310152 Only enable --mouse when running from tmux, see #904 2020-04-21 16:15:02 +02:00
sharkdp 5449472f15 Remove invalid UTF-8 file from repo, use temp file instead 2020-04-21 16:02:28 +02:00
sharkdp 82e20bfe14 Fix bug for file with invalid-utf8 filenames 2020-04-21 14:09:18 +02:00
sharkdp 47abb192bc Patch Rust syntax file
closes #924
2020-04-21 13:45:26 +02:00
sharkdp 03a7d6be92 Disable Travis caching 2020-04-21 13:44:51 +02:00
sharkdp a927815292 Update CHANGELOG 2020-04-21 11:50:26 +02:00
sharkdp 3447a03433 Update dependencies 2020-04-21 11:50:26 +02:00
sharkdp 03c2281828 Add do-not-panic! regression tests 2020-04-21 11:50:26 +02:00
sharkdp c386cb35fb Pass '--mouse' to less versions >= 551
When using `less` version 551 or newer, `bat` will now pass the `--mouse` argument, allowing
for (better) mouse scrolling support in some terminals.

closes #904
2020-04-21 10:00:32 +02:00
sharkdp 97ea3dd4dc Update CHANGELOG 2020-04-21 08:58:38 +02:00
sharkdp a6d9d1551f Improve error message 2020-04-21 08:57:15 +02:00
sharkdp 34619a2e89 Small refactoring, handle invalid UTF-8 filenames 2020-04-21 08:57:15 +02:00
Kyle Criddle 83d408bab3 Extract common syntax functionality to helper fns 2020-04-21 08:57:15 +02:00
sharkdp 8067fd9eda Fix build on 1.37 2020-04-21 08:57:15 +02:00
sharkdp 98ba9e0101 Use to_string_lossy 2020-04-21 08:57:15 +02:00
sharkdp 1b8ce60054 Pass stdin as a generic BufRead, fix stdin tests 2020-04-21 08:57:15 +02:00
sharkdp d5a31dc2ec Remove commented-out code 2020-04-21 08:57:15 +02:00
sharkdp 051dd4ba87 Make filename method private 2020-04-21 08:57:15 +02:00
sharkdp 2ad1848859 Do not take optional as argument 2020-04-21 08:57:15 +02:00
sharkdp 90e7d2fe33 Rename field name, new constructors 2020-04-21 08:57:15 +02:00
Kyle Criddle 04fa84aea7 Moved user_provided_filename to be contained within OrdinaryFile struct 2020-04-21 08:57:15 +02:00
Kyle Criddle a3f8140fbe Use --file-name to detect syntax highlighting
Closes #891
2020-04-21 08:57:15 +02:00
Ethan P 96aedf6240 Add cat alias detection to info.sh (#911) 2020-04-21 08:33:44 +02:00
Michael Diamond 4cc2989fe9 Clarify the Ubuntu/Debian install instructions
A cursory reading of the existing text would lead a reader to think `bat`should be available on Debian, which isn't really true. Most users are not running Sid, so `bat` isn't yet available to them.
2020-04-17 14:10:08 +02:00
sharkdp 0ecc94956b Add performance patch for Makefile syntax
Thanks to @keith-hall!

closes #750
2020-04-13 10:38:22 +02:00
David Peter 61e47e0c13 Add Stylus syntax (#917)
closes #915
2020-04-12 19:42:36 +02:00
sharkdp f5145ef130 Move Rego syntax 2020-04-12 19:20:28 +02:00
sharkdp edd27645d0 Add a way to directly search for a pattern 2020-04-12 19:19:33 +02:00
sharkdp fc6f4f31dd Add documentation 2020-04-12 19:19:33 +02:00
sharkdp f2cef702a0 Add script to find slow-to-highlight files 2020-04-12 19:19:33 +02:00
sharkdp 8b3d54ce29 Update CHANGELOG 2020-04-11 23:55:27 +02:00
sharkdp 47a3721890 Add patch for C# syntax 2020-04-11 23:55:27 +02:00
sharkdp 495fab24a5 cargo fmt 2020-04-11 19:40:04 +02:00
sharkdp fccbe4f4f2 Add regex-onig feature to 'cargo check' tests 2020-04-11 10:33:53 +02:00
sharkdp 9793bb3938 Update to syntect 4.1, fancy-regex support 2020-04-11 10:33:53 +02:00
sharkdp 496dd29cb9 Add -i option for bash/zsh to output wrapper function 2020-04-09 09:20:03 +02:00
Ethan P 116d76a00f Reformat info.sh 2020-04-09 09:20:03 +02:00
Ethan P dd336e6fb2 Fix wrapper detection failing on non-English LANG in info.sh 2020-04-09 09:20:03 +02:00
Ethan P c33af3581a Fix missing shell '-i' option when checking for wrapper in info.sh 2020-04-09 09:20:03 +02:00
Ethan P 2f4ecf8fc5 Add zsh wrapper detection to info.sh 2020-04-09 09:20:03 +02:00
Ethan P e037afeaca Add custom theme/syntax detection to info.sh 2020-04-09 09:02:23 +02:00
sharkdp 7b87af1748 Update dependencies, closes #476 2020-04-08 09:31:50 +02:00
dependabot-preview[bot] 0eee26fb09 Bump assert_cmd from 0.12.0 to 1.0.1
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 0.12.0 to 1.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/v0.12.0...v1.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-01 07:50:24 +02:00
sharkdp 3355aeba22 Update CHANGELOG 2020-03-31 09:33:58 +02:00
David Tolnay 42e3825daf Updates for review of PR 899 2020-03-31 09:27:56 +02:00
David Tolnay 014d754588 Move paging support behind a feature 2020-03-31 09:27:56 +02:00
David Tolnay 4e11abdf9b Move git changes support behind a feature 2020-03-31 09:27:56 +02:00
David Tolnay 570805bc98 Strip dependencies of bat-as-a-library 2020-03-31 09:27:56 +02:00
David Tolnay e7e1967bb0 Allow using bat-as-a-library with older syntect 2020-03-30 22:01:18 +02:00
sharkdp 9a050cd87f Update CHANGELOG 2020-03-27 07:33:56 +01:00
Patrick East d39507889a Add OPA Rego syntax
This adds syntax support for Rego, the declarative policy language
used by the Open Policy Agent:

https://github.com/open-policy-agent/opa

Generated from:

https://github.com/open-policy-agent/opa/blob/master/misc/syntax/textmate/Rego.tmLanguage

Using:

https://github.com/aziz/SublimeSyntaxConvertor

Signed-off-by: Patrick East <east.patrick@gmail.com>
2020-03-27 07:33:07 +01:00
sharkdp 3e8d444c78 Fix for Rust 1.37 2020-03-26 10:01:02 +01:00
sharkdp 522ab7a83c CHANGELOG: Add entries for upcoming release 2020-03-26 09:55:21 +01:00
David Peter 0c5b4fcd4a Add CHANGELOG to the repository 2020-03-26 09:55:21 +01:00
David Peter 37b3b8730d Merge pull request #871 from neuronull/fix_654_stdin_filename
Implement --file-name<name> option
2020-03-26 09:35:01 +01:00
Josh Mickley 7c50fe5fec Document the --generate-config-file option 2020-03-26 09:14:40 +01:00
Josh Mickley 40a827ebcb Graceful handling of error conditions 2020-03-26 09:14:40 +01:00
Josh Mickley 376c556862 Add option to generate a default config file, fixes #870 2020-03-26 09:14:40 +01:00
Kyle Criddle 83772bd2cf Minor --file-name code hygeine 2020-03-25 18:58:05 -06:00
Marco Ieni 4aef8c180a README: fix manpage syntax link 2020-03-25 20:07:50 +01:00
Kyle Criddle 131d113ff5 Merge branch 'fix_654_stdin_filename' of github.com:neuronull/bat into fix_654_stdin_filename 2020-03-24 19:14:07 -06:00
Kyle Criddle 38178fedf4 Merge branch 'master' into fix_654_stdin_filename 2020-03-24 19:08:43 -06:00
Kyle Criddle 59f2e2d58d Implemented --file-name for multiple files + tests 2020-03-24 18:26:00 -06:00
Samuel FORESTIER 8d3136eb6f Adds Homepage to Debian package control file 2020-03-24 08:36:13 +01:00
Igor Raits 136a745c5d chore: Update liquid to 0.20
Signed-off-by: Igor Raits <i.gnatenko.brain@gmail.com>
2020-03-22 21:37:14 +01:00
sharkdp 5edd8260e8 Fix path to assets 2020-03-22 13:16:47 +01:00
sharkdp 02f2b55d5f Write completions and manfile to cargo outdir (cargo publish restriction) 2020-03-22 11:33:50 +01:00
sharkdp 6386a4b812 Update dependencies, see #845 2020-03-22 11:23:19 +01:00
sharkdp c13935f3c0 Bump version to 0.13, see #845 2020-03-22 11:23:16 +01:00
Kyle Criddle fb3c775c8b --file-name for normal files. integration tests. 2020-03-22 11:10:27 +01:00
Kyle Criddle 8adce9fae8 Implement --file-name<name> option
- can specify filename to be displayed when printing.
- useful for when piping data from STDIN

Closes #654
2020-03-22 11:10:27 +01:00
sharkdp eb2f3ddb7c Rename test methods 2020-03-22 11:02:51 +01:00
sharkdp dfd3ef022e Add more default mappings, reverse traversal 2020-03-22 11:02:51 +01:00
sharkdp 978def2d40 Update documentation 2020-03-22 11:02:51 +01:00
sharkdp 57aed07814 Use absolute path for lookup in database 2020-03-22 11:02:51 +01:00
sharkdp bd8a13dbc9 Initial implementation of glob-based syntax mapping 2020-03-22 11:02:51 +01:00
sharkdp ba29e07636 Remove superfluous files 2020-03-22 00:04:33 +01:00
sharkdp 32346612b7 Move syntaxes, fixes #874 2020-03-21 23:53:53 +01:00
sharkdp 0550a286bd Cargo fmt 2020-03-21 23:53:53 +01:00
sharkdp dfe5eb3e98 Add an even simple example 2020-03-21 22:21:23 +01:00
sharkdp 2c2861db6a Further simplify module structure 2020-03-21 22:21:23 +01:00
sharkdp bb0a3d586e Simplify public API module structure 2020-03-21 22:21:23 +01:00
sharkdp 90397a8aac Hide SyntaxMapping::replace 2020-03-21 22:21:23 +01:00
sharkdp 84ba323b1c Rename output component to 'style compinent', move wrap to separate module 2020-03-21 22:21:23 +01:00
sharkdp a8851e1307 Hide methods from line_range 2020-03-21 22:21:23 +01:00
sharkdp d4a39f99d2 Hide API of InputFileReader 2020-03-21 22:21:23 +01:00
sharkdp 8c500a7e40 Hide get_syntax, move tests to module 2020-03-21 22:21:23 +01:00
sharkdp acf51bd7b3 Rename methods and parameters 2020-03-21 22:21:23 +01:00
sharkdp 83dc13a86d Add fallback theme, remove BAT_THEME_DEFAULT 2020-03-21 22:21:23 +01:00
sharkdp 094c526a0e Hide some methods from HighlightingAssets 2020-03-21 22:21:23 +01:00
sharkdp 62f2d0c100 Do not export syntax_set and theme_set 2020-03-21 22:21:23 +01:00
sharkdp fc1ca0875a Move error handling to a callback 2020-03-21 22:21:23 +01:00
sharkdp a7338e2ea2 Run cargo fmt 2020-03-21 22:21:23 +01:00
sharkdp 9b8ddb24d1 move Config struct to separate file 2020-03-21 22:21:23 +01:00
sharkdp 7e0115641d Move error module to separate file 2020-03-21 22:21:23 +01:00
sharkdp fedd32173e Restructure and fix bug in line range module 2020-03-21 19:19:15 +01:00
sharkdp 4855a47105 Rename enum field 2020-03-21 19:19:15 +01:00
sharkdp 06b7be7ee9 Major restructuring of theme/syntax handling 2020-03-21 19:19:15 +01:00
Kyle Criddle cfa2cb6ec7 --file-name for normal files. integration tests. 2020-03-19 20:46:19 -06:00
Kyle Criddle b1b8addf7e remove unnecessary Some() 2020-03-18 17:03:03 +01:00
Kyle Criddle 4be5adc6f5 remove absolute path restraint from BAT_CACHE_PATH 2020-03-18 17:03:03 +01:00
Kyle Criddle a9a31dca7f Specify cache dir with BAT_CACHE_DIR
- if set, BAT_CACHE_DIR is used. otherwise use OS default.
2020-03-18 17:03:03 +01:00
Kyle Criddle 517be5c7bc Implement --file-name<name> option
- can specify filename to be displayed when printing.
- useful for when piping data from STDIN

Closes #654
2020-03-17 20:29:01 -06:00
sharkdp 9a9902bf9b Remove custom .github settings 2020-03-16 07:54:55 +01:00
sharkdp 4e40d4c720 Major update for the man page, closes #573 2020-03-15 23:15:30 +01:00
sharkdp 916c1e4359 Update assets 2020-03-15 22:33:26 +01:00
sharkdp 439be03634 Remove duplicate F# syntax 2020-03-15 22:33:26 +01:00
sharkdp b611d2aef4 Add no-duplicate-extensions unit test 2020-03-15 22:33:26 +01:00
sharkdp a2075b0f24 Update git dependency 2020-03-15 21:00:23 +01:00
sharkdp 3c1dd8558d Update links 2020-03-15 12:03:25 +01:00
sharkdp 17382d36b7 Update dependencies 2020-03-15 11:46:24 +01:00
cheese.cake 2e07aabb74 fix links 2020-03-15 10:38:45 +01:00
cheese.cake f525fb974e fix typo and broken links 2020-03-15 10:38:45 +01:00
cheese.cake edf62953c4 add README-ko.md 2020-03-15 10:38:45 +01:00
k-ta-yamada 260c5dcb75 fix: doc/README-ja.md
- Synchronized the contents of `README.md`.
- Fixed `README.md` to match the line number of text.
- Translated to Japanese.
- Fixed menu link anchor.
2020-03-11 22:36:09 +01:00
sharkdp 1bc62cd7b5 Add syntax detection unit tests 2020-03-11 10:08:11 +01:00
sharkdp b1183f72a5 Update to new assert_cmd 2020-03-09 21:30:46 +01:00
dependabot-preview[bot] a5e98146fb Bump assert_cmd from 0.11.1 to 0.12.0
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 0.11.1 to 0.12.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/v0.11.1...v0.12.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-09 21:30:46 +01:00
dependabot-preview[bot] 6d32d3dbec Bump assert_cmd from 0.11.1 to 0.12.0
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 0.11.1 to 0.12.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/v0.11.1...v0.12.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-09 21:30:46 +01:00
dependabot-preview[bot] c6bbca62ef Bump console from 0.9.2 to 0.10.0
Bumps [console](https://github.com/mitsuhiko/console) from 0.9.2 to 0.10.0.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Commits](https://github.com/mitsuhiko/console/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-09 06:35:56 +01:00
sharkdp dd9755f223 Update dependencies 2020-03-06 23:54:58 +01:00
sharkdp 61e39158de Install fish completions into 'vendor_completions.d', fixes #651 2020-03-06 23:47:26 +01:00
dependabot-preview[bot] 65023a987e Bump assets/syntaxes/Packages from 71fd0ec to 759d6ee
Bumps [assets/syntaxes/Packages](https://github.com/sublimehq/Packages) from `71fd0ec` to `759d6ee`.
- [Release notes](https://github.com/sublimehq/Packages/releases)
- [Commits](https://github.com/sublimehq/Packages/compare/71fd0ec9e4b42c73e560d088a05ccc14ef0f54fc...759d6eed9b4beed87e602a23303a121c3a6c2fb3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-06 23:43:34 +01:00
sharkdp 91843f6f65 Update 'JavaScript (Babel).sublime-syntax' 2020-03-06 23:43:16 +01:00
dependabot-preview[bot] 696547b646 Bump assets/syntaxes/JavaScript (Babel) from a9a908f to f4579f9
Bumps [assets/syntaxes/JavaScript (Babel)](https://github.com/babel/babel-sublime) from `a9a908f` to `f4579f9`.
- [Release notes](https://github.com/babel/babel-sublime/releases)
- [Commits](https://github.com/babel/babel-sublime/compare/a9a908fe1d39ec84893e6edcbb146f09e9e60cc6...f4579f9107996c16208466248a85dc2296083a5f)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-06 23:43:16 +01:00
sharkdp 4d2682325b Update TypeScript.sublime-syntax 2020-03-06 23:40:53 +01:00
dependabot-preview[bot] 65811d9034 Bump assets/syntaxes/TypeScript from ab51614 to 9cd994a
Bumps [assets/syntaxes/TypeScript](https://github.com/Microsoft/TypeScript-Sublime-Plugin) from `ab51614` to `9cd994a`.
- [Release notes](https://github.com/Microsoft/TypeScript-Sublime-Plugin/releases)
- [Commits](https://github.com/Microsoft/TypeScript-Sublime-Plugin/compare/ab51614c07db60dd674d6d9905f74c03d1c35473...9cd994af73c58371a14dbe64fd69fcaa782bb321)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-06 23:40:53 +01:00
sharkdp f2b7c060a3 Add link to Choco package 2020-03-06 23:39:17 +01:00
sharkdp 08dd251b9c Update Windows install instructions 2020-03-06 23:38:07 +01:00
Anthony Cerruti d081473261 Update README.md 2020-03-06 23:38:07 +01:00
Anthony Cerruti 3901480c59 Move VC++ to Windows section 2020-03-06 23:38:07 +01:00
Anthony Cerruti 1cad3f56ec Explain how to fix no output issue
I just ran into this so I figured it might be helpful for others.
2020-03-06 23:38:07 +01:00
sharkdp 147503bd56 Add CoffeeScript syntax, closes #833 2020-03-06 23:29:08 +01:00
sharkdp d1b0e955ea Update dependencies 2020-03-06 23:29:08 +01:00
Pavel Aslanov 4021cf8128 Support combination of multiple styles at the same time
Old version of the code did not allowed for `bold italic` or `bold underline` styles
2020-03-04 23:28:53 +01:00
Ethan P 7155f76963 Merge pull request #854 from eth-p/master
Fix broken link in issue template.
2020-03-03 13:41:18 -08:00
Ethan P b63f31e15d Fix broken link in issue template. 2020-03-03 13:09:31 -08:00
dependabot-preview[bot] 9c3d8c4028 Bump assets/syntaxes/ssh-config from e84b78f to 16e19d5
Bumps [assets/syntaxes/ssh-config](https://github.com/robballou/sublimetext-sshconfig) from `e84b78f` to `16e19d5`.
- [Release notes](https://github.com/robballou/sublimetext-sshconfig/releases)
- [Commits](https://github.com/robballou/sublimetext-sshconfig/compare/e84b78f9f9d3dd4455fc7c085f8515ec7846d932...16e19d5da48a7c4d30fdded8ac4c97ff643f5d7b)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-01 11:00:18 +01:00
dependabot-preview[bot] d33b7071e3 Bump assets/syntaxes/GraphQL from 66ce871 to c9d8458
Bumps [assets/syntaxes/GraphQL](https://github.com/dncrews/GraphQL-SublimeText3) from `66ce871` to `c9d8458`.
- [Release notes](https://github.com/dncrews/GraphQL-SublimeText3/releases)
- [Commits](https://github.com/dncrews/GraphQL-SublimeText3/compare/66ce8713d8915e74a2822c6f052cc9d3449cde0d...c9d84587eb1a6eb34457a875f21b9b1a29306be3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-01 10:59:58 +01:00
sharkdp ca066bf7cd Run 'cargo fmt' 2020-02-28 10:27:06 +01:00
sharkdp 4ac3161c19 Rename label syntax-request 2020-02-28 09:47:27 +01:00
sharkdp d479e07bcb Rename label 2020-02-28 09:46:33 +01:00
sharkdp 369ba7bb0a Remove title prefix (we already have labels for that) 2020-02-28 09:39:38 +01:00
sharkdp 9df85edc4c Add 'question' template 2020-02-28 09:36:46 +01:00
David Peter d007caf39c Add simple "Feature request" template 2020-02-28 09:32:47 +01:00
sharkdp 7d453dfdc5 Simplify issue templates 2020-02-28 09:30:28 +01:00
Kogia-sima 60f48a0c91 Update test data
Avoid using existing text
2020-02-28 09:06:51 +01:00
Kogia-sima 25640a8a81 Fix bug where max_width is not initialized after line break 2020-02-28 09:06:51 +01:00
Kogia-sima 944866affd Fix wrapping method to support unicode text
Related issues:
- #787
- #811
2020-02-28 09:06:51 +01:00
Kogia-sima 22ded00824 Add test for unicode wrapping 2020-02-28 09:06:51 +01:00
Kogia-sima 85e84ab3eb Add unicode-width dependency 2020-02-28 09:06:51 +01:00
Ethan P 993b76654d Change bug_report template to accomodate info.sh output 2020-02-28 08:03:13 +01:00
Ethan P 2b2743b120 Change output format of info.sh to markdown 2020-02-28 08:03:13 +01:00
Ethan P f01263bcff Fix typo causing missing command warning in info.sh 2020-02-28 08:03:13 +01:00
Ethan P 8648b86a73 Add detection of a wrapper function to info.sh 2020-02-28 08:03:13 +01:00
Ethan P 39d9343a7d Change a word in bug_report.md 2020-02-28 08:03:13 +01:00
Ethan P 5faf7ca158 Change ISSUE_TEMPLATE files based on feedback in #837 2020-02-28 08:03:13 +01:00
Ethan P ebe475247c Change consent banner (and fix tput) in info.sh 2020-02-28 08:03:13 +01:00
Ethan P 63f6343cf1 Add issue templates 2020-02-28 08:03:13 +01:00
Ethan P ad42b275a9 Add script to use for diagnosing issues 2020-02-28 08:03:13 +01:00
Ethan P 2dac1c8785 Add @sharkdp's regression test for #798 2020-02-28 07:56:24 +01:00
Ethan P 1225e65299 Fix #798 2020-02-28 07:56:24 +01:00
sharkdp d1bb47d741 Bump min. required Rust version to 1.36 2020-02-27 23:09:03 +01:00
dependabot-preview[bot] f079c14068 Bump git2 from 0.11.0 to 0.12.0
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/compare/git2-curl-0.11.0...git2-curl-0.12.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-27 23:09:03 +01:00
wt-l00 388f4c71fd Add ja-transration of Paging on Using bat on Windows 2020-02-27 21:51:50 +01:00
chaaaaarlotte b675e1bb61 Add Vue syntax 2020-02-25 20:12:33 +01:00
dependabot-preview[bot] f96220f33d Bump error-chain from 0.12.1 to 0.12.2
Bumps [error-chain](https://github.com/rust-lang-nursery/error-chain) from 0.12.1 to 0.12.2.
- [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)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-22 12:10:39 +01:00
dependabot-preview[bot] 6739230039 Bump assets/syntaxes/ssh-config from fcd4378 to e84b78f
Bumps [assets/syntaxes/ssh-config](https://github.com/robballou/sublimetext-sshconfig) from `fcd4378` to `e84b78f`.
- [Release notes](https://github.com/robballou/sublimetext-sshconfig/releases)
- [Commits](https://github.com/robballou/sublimetext-sshconfig/compare/fcd4378567e0b607109a8d301f19de61e0096900...e84b78f9f9d3dd4455fc7c085f8515ec7846d932)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-16 18:56:35 +01:00
dependabot-preview[bot] 710018b845 Bump assets/syntaxes/Fish from ad6a6ca to 2c254cc
Bumps [assets/syntaxes/Fish](https://github.com/Phidica/sublime-fish) from `ad6a6ca` to `2c254cc`.
- [Release notes](https://github.com/Phidica/sublime-fish/releases)
- [Commits](https://github.com/Phidica/sublime-fish/compare/ad6a6ca83c50570cefc121ad375f8ef63c26b1f4...2c254cc8512d53b7af306e4379fc9744ee5b4aee)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-16 18:44:27 +01:00
sharkdp 7779d9f622 Allow for non-unicode filenames, closes #225 2020-02-13 08:25:04 +01:00
dependabot-preview[bot] e98f34b1e8 Bump assets/syntaxes/LESS from 8cd08e3 to 3020993
Bumps [assets/syntaxes/LESS](https://github.com/danro/LESS-sublime) from `8cd08e3` to `3020993`.
- [Release notes](https://github.com/danro/LESS-sublime/releases)
- [Commits](https://github.com/danro/LESS-sublime/compare/8cd08e30e68a82f75c4d40806ae29fa071f674fe...302099365866daca49d25288111696a30a4b4e03)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-10 20:23:01 +01:00
dependabot-preview[bot] 9ace915d71 Bump assets/themes/dracula-sublime from c31934f to 811a634
Bumps [assets/themes/dracula-sublime](https://github.com/dracula/sublime) from `c31934f` to `811a634`.
- [Release notes](https://github.com/dracula/sublime/releases)
- [Commits](https://github.com/dracula/sublime/compare/c31934f43f3d0c3d62665c00e8587cc97d764ec1...811a634420a0cb9023bb7afd1c8968a5aaf6a753)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-10 19:54:04 +01:00
dependabot-preview[bot] e5c415555d Bump console from 0.9.1 to 0.9.2
Bumps [console](https://github.com/mitsuhiko/console) from 0.9.1 to 0.9.2.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Commits](https://github.com/mitsuhiko/console/compare/0.9.1...0.9.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-27 06:56:43 +01:00
Liam Kalir 5ef1c6cce2 Grammar touch-ups, more descriptive error message for invalid line
ranges
2020-01-27 06:54:00 +01:00
Liam Kalir 93881d9a64 Adds range syntax for line highlights 2020-01-27 06:54:00 +01:00
dependabot-preview[bot] 87776ae07e Bump assets/syntaxes/TypeScript from 1d5160e to ab51614
Bumps [assets/syntaxes/TypeScript](https://github.com/Microsoft/TypeScript-Sublime-Plugin) from `1d5160e` to `ab51614`.
- [Release notes](https://github.com/Microsoft/TypeScript-Sublime-Plugin/releases)
- [Commits](https://github.com/Microsoft/TypeScript-Sublime-Plugin/compare/1d5160e8a1ab1e2804736b90a52f7661e04591a6...ab51614c07db60dd674d6d9905f74c03d1c35473)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-26 13:52:14 +01:00
dependabot-preview[bot] 6c71a4324b Bump assets/syntaxes/Terraform from c683495 to 64208ea
Bumps [assets/syntaxes/Terraform](https://github.com/alexlouden/Terraform.tmLanguage) from `c683495` to `64208ea`.
- [Release notes](https://github.com/alexlouden/Terraform.tmLanguage/releases)
- [Commits](https://github.com/alexlouden/Terraform.tmLanguage/compare/c683495c6414a172c58a39beaa952c822cbbcc84...64208ea816d940e4b9c93f4a6b67d64c02a09825)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-26 13:51:59 +01:00
Shun Sakai 90ee939671 Add information about the license to README files 2020-01-18 20:45:56 +01:00
Shun Sakai cae06bf649 Fix invalid link 2020-01-18 20:45:56 +01:00
Shun Sakai 89220da47b Update copyright year of the MIT License file 2020-01-18 20:45:56 +01:00
David Peter 903af3ee09 Show master state 2020-01-12 10:59:24 +01:00
dependabot-preview[bot] 0418e6294b Bump atty from 0.2.13 to 0.2.14
Bumps [atty](https://github.com/softprops/atty) from 0.2.13 to 0.2.14.
- [Release notes](https://github.com/softprops/atty/releases)
- [Changelog](https://github.com/softprops/atty/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/atty/compare/0.2.13...0.2.14)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-06 08:14:51 +01:00
sharkdp eabd100dad Simplify Travis caching 2020-01-04 16:02:57 +01:00
dependabot-preview[bot] f66a5bfa42 Bump assets/themes/dracula-sublime from 1d068cb to c31934f
Bumps [assets/themes/dracula-sublime](https://github.com/dracula/sublime) from `1d068cb` to `c31934f`.
- [Release notes](https://github.com/dracula/sublime/releases)
- [Commits](https://github.com/dracula/sublime/compare/1d068cb1ba6e5dc25524803c23810ce4b4920a9d...c31934f43f3d0c3d62665c00e8587cc97d764ec1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-27 18:34:13 +01:00
sharkdp 8d0b8a227b Add test for less 529 2019-12-23 13:01:14 +01:00
sharkdp e400ebd1bd Also pass '--no-init' if version could not be retrieved 2019-12-23 12:45:23 +01:00
sharkdp 6684c0b07a Remove example line from config file 2019-12-23 12:45:23 +01:00
sharkdp 6568d03924 Update README 2019-12-23 12:45:23 +01:00
sharkdp 67fe804256 Do not pass '--no-init' on newer less versions
With this change, we do not pass the `--no-init` option in newer
versions of less (530 or higher).

This fixes #749
2019-12-23 12:45:23 +01:00
sharkdp 126729f87a Enable LTO
closes #719
2019-12-22 16:46:55 +01:00
sharkdp 0aca27511a Add simple /proc/meminfo syntax, see #593 2019-12-22 16:25:39 +01:00
sharkdp 77ff853739 Add simple /proc/cpuinfo syntax, see #593 2019-12-22 16:22:32 +01:00
sharkdp 20ba984c6d Update help text, closes #713 2019-12-22 16:05:00 +01:00
fusillicode 6311ca22f9 Add check for terminal-width in output_wrap config value in not interactive case
Co-authored-by: allevo <tomallevi@gmail.com>
Co-authored-by: gildo <gildo.fiorito@gmail.com>
2019-12-22 15:20:34 +01:00
Ryota Kayanuma 41d547532f Fix '日本文' to '日本語' 2019-12-21 10:03:53 +01:00
dependabot-preview[bot] e9156f8090 Bump assets/syntaxes/SCSS_Sass from 0e8e0f9 to b98a3f3
Bumps [assets/syntaxes/SCSS_Sass](https://github.com/braver/SublimeSass) from `0e8e0f9` to `b98a3f3`.
- [Release notes](https://github.com/braver/SublimeSass/releases)
- [Commits](https://github.com/braver/SublimeSass/compare/0e8e0f9d2ffa56981fcb6a0beee3648e5e27c851...b98a3f3ccff0134c38544d9bc41caf7f61048cdf)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-20 17:57:16 +01:00
dependabot-preview[bot] 1eaa681c7e Bump assets/themes/dracula-sublime from b7e8961 to 1d068cb
Bumps [assets/themes/dracula-sublime](https://github.com/dracula/sublime) from `b7e8961` to `1d068cb`.
- [Release notes](https://github.com/dracula/sublime/releases)
- [Commits](https://github.com/dracula/sublime/compare/b7e8961afa4c11d620ad26abe28d76929c7ff90b...1d068cb1ba6e5dc25524803c23810ce4b4920a9d)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-20 17:57:02 +01:00
dependabot-preview[bot] d96ae099ef Bump assets/syntaxes/Elixir from 044d9af to 89b3bad
Bumps [assets/syntaxes/Elixir](https://github.com/princemaple/elixir-sublime-syntax) from `044d9af` to `89b3bad`.
- [Release notes](https://github.com/princemaple/elixir-sublime-syntax/releases)
- [Commits](https://github.com/princemaple/elixir-sublime-syntax/compare/044d9af8a1cc5c4da234e60f4a22ce8603b2d772...89b3bada3262bc58e0a5393d12a82f725d5063ad)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-20 17:56:33 +01:00
sharkdp 40e5befdc7 Minor change 2019-12-15 20:55:48 +01:00
Franco Victorio f94ff93953 Accept "default" as a theme 2019-12-15 20:55:48 +01:00
Mohamad Barbar 3523f60299 Leave blank lines blank terminal output.
Would add some ANSI colour codes previously.
2019-12-15 20:32:02 +01:00
Steve Huff 83dc8468b0 feat(theme): Solarized light and dark themes 2019-12-15 20:10:32 +01:00
dependabot-preview[bot] 826624c9fa Bump git2 from 0.10.2 to 0.11.0
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.10.2 to 0.11.0.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/compare/0.10.2...git2-curl-0.11.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-15 19:30:34 +01:00
dependabot-preview[bot] 0fed098c53 Bump assets/syntaxes/LESS from 4eada94 to 8cd08e3
Bumps [assets/syntaxes/LESS](https://github.com/danro/LESS-sublime) from `4eada94` to `8cd08e3`.
- [Release notes](https://github.com/danro/LESS-sublime/releases)
- [Commits](https://github.com/danro/LESS-sublime/compare/4eada94009ae7185b1f518d3f4b0d4db2b2b217c...8cd08e30e68a82f75c4d40806ae29fa071f674fe)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-15 19:05:10 +01:00
dependabot-preview[bot] cc7eafb7fb Bump assets/syntaxes/TypeScript from 8bfce29 to 1d5160e
Bumps [assets/syntaxes/TypeScript](https://github.com/Microsoft/TypeScript-Sublime-Plugin) from `8bfce29` to `1d5160e`.
- [Release notes](https://github.com/Microsoft/TypeScript-Sublime-Plugin/releases)
- [Commits](https://github.com/Microsoft/TypeScript-Sublime-Plugin/compare/8bfce299be3b899e996663f8a27e2013bd2e65b8...1d5160e8a1ab1e2804736b90a52f7661e04591a6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-15 19:04:46 +01:00
dependabot-preview[bot] f35c41ba13 Bump assets/syntaxes/Fish from 0f7d31b to ad6a6ca
Bumps [assets/syntaxes/Fish](https://github.com/Phidica/sublime-fish) from `0f7d31b` to `ad6a6ca`.
- [Release notes](https://github.com/Phidica/sublime-fish/releases)
- [Commits](https://github.com/Phidica/sublime-fish/compare/0f7d31b43e260bb3c7fe3fbc9d8f0024c1b39cf4...ad6a6ca83c50570cefc121ad375f8ef63c26b1f4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-15 19:03:49 +01:00
dependabot-preview[bot] 1f4246eb3c Bump assets/syntaxes/ssh-config from 17e23d7 to fcd4378
Bumps [assets/syntaxes/ssh-config](https://github.com/robballou/sublimetext-sshconfig) from `17e23d7` to `fcd4378`.
- [Release notes](https://github.com/robballou/sublimetext-sshconfig/releases)
- [Commits](https://github.com/robballou/sublimetext-sshconfig/compare/17e23d7d38e5cf1c63e5c0242514965ffb080499...fcd4378567e0b607109a8d301f19de61e0096900)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-15 19:03:34 +01:00
dependabot-preview[bot] 9300392c43 Bump assets/themes/zenburn from b7f27e2 to cb746f6
Bumps [assets/themes/zenburn](https://github.com/colinta/zenburn) from `b7f27e2` to `cb746f6`.
- [Release notes](https://github.com/colinta/zenburn/releases)
- [Commits](https://github.com/colinta/zenburn/compare/b7f27e2f6567813991496b387fe902a3a2ef0747...cb746f69624e635f6f4d127fa9244658e690c34b)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-15 19:03:06 +01:00
sharkdp 8d3ce5f88a Manually convert PowerShell.sublime-syntax 2019-12-09 23:40:31 +01:00
dependabot-preview[bot] a1d18d8c8c Bump assets/syntaxes/PowerShell from 12b7d72 to 4a0a076
Bumps [assets/syntaxes/PowerShell](https://github.com/PowerShell/EditorSyntax) from `12b7d72` to `4a0a076`.
- [Release notes](https://github.com/PowerShell/EditorSyntax/releases)
- [Commits](https://github.com/PowerShell/EditorSyntax/compare/12b7d7257eb493e45a9af0af9094ec0c2a996712...4a0a076661d26473cac71b9a17e6a759e9b1c643)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-09 23:40:31 +01:00
sharkdp d43431d8f1 Manually convert Crystal.sublime-syntax 2019-12-09 23:39:07 +01:00
dependabot-preview[bot] 8baa76aa8f Bump assets/syntaxes/Crystal from 2f96cec to 2ee9d66
Bumps [assets/syntaxes/Crystal](https://github.com/crystal-lang-tools/sublime-crystal) from `2f96cec` to `2ee9d66`.
- [Release notes](https://github.com/crystal-lang-tools/sublime-crystal/releases)
- [Commits](https://github.com/crystal-lang-tools/sublime-crystal/compare/2f96cec2cae2f1efee17a2f82e82f7175290c6f6...2ee9d667aeb9e90846244b5a74e78826014676de)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-09 23:39:07 +01:00
sharkdp 01846fad30 Manually convert Nix.sublime-syntax 2019-12-09 23:37:41 +01:00
dependabot-preview[bot] 18255f9835 Bump assets/syntaxes/Nix from ebf0657 to 9032bd6
Bumps [assets/syntaxes/Nix](https://github.com/wmertens/sublime-nix) from `ebf0657` to `9032bd6`.
- [Release notes](https://github.com/wmertens/sublime-nix/releases)
- [Commits](https://github.com/wmertens/sublime-nix/compare/ebf06571f3cc2b30a7f88bbd4eb371b72ce828c2...9032bd613746b9c135223fd6f26a5fa555f18946)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-09 23:37:41 +01:00
sharkdp 7b94f2c1d7 Manually convert Cabal.sublime-syntax 2019-12-09 23:36:28 +01:00
dependabot-preview[bot] 7ca73c2e79 Bump assets/syntaxes/Cabal from 1c054d9 to 2d98cb7
Bumps [assets/syntaxes/Cabal](https://github.com/SublimeHaskell/SublimeHaskell) from `1c054d9` to `2d98cb7`.
- [Release notes](https://github.com/SublimeHaskell/SublimeHaskell/releases)
- [Commits](https://github.com/SublimeHaskell/SublimeHaskell/compare/1c054d9b3684d4f8278f934099614674217fea4d...2d98cb79ebf76c3e9ef884675005ed96226ad07e)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-09 23:36:28 +01:00
sharkdp 75cb1ce196 Manually convert Robot.sublime-syntax 2019-12-09 23:34:50 +01:00
dependabot-preview[bot] 35026a033a Bump assets/syntaxes/Robot from 8e5a349 to fcd3323
Bumps [assets/syntaxes/Robot](https://github.com/andriyko/sublime-robot-framework-assistant) from `8e5a349` to `fcd3323`.
- [Release notes](https://github.com/andriyko/sublime-robot-framework-assistant/releases)
- [Commits](https://github.com/andriyko/sublime-robot-framework-assistant/compare/8e5a349a3ea64f2e75d224f6ed1dcef6b9fbc525...fcd3323b5631d4abe61e8e8c728d0f4329640a64)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-09 23:34:50 +01:00
Shun Sakai 48031f282c Update Japanese README file
The beginning part of untranslated was translated into Japanese text.
2019-12-06 20:09:34 +01:00
crabique 7b2e98d5b7 added Nord color theme 2019-12-04 22:05:26 +01:00
Takayuki Nakata fb71b67a8d Remove the already translated line
This line was already translated at 159f234.
2019-11-24 23:27:33 +01:00
dependabot-preview[bot] d48f51e39d Bump git2 from 0.10.1 to 0.10.2
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.10.1 to 0.10.2.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/compare/git2-curl-0.10.1...0.10.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-24 23:09:35 +01:00
dependabot-preview[bot] 9b1930b2b3 Bump assets/syntaxes/Packages from d1494f4 to 71fd0ec
Bumps [assets/syntaxes/Packages](https://github.com/sublimehq/Packages) from `d1494f4` to `71fd0ec`.
- [Release notes](https://github.com/sublimehq/Packages/releases)
- [Commits](https://github.com/sublimehq/Packages/compare/d1494f4a5a2bf8c6ae2f3e7ad762a05273df97ef...71fd0ec9e4b42c73e560d088a05ccc14ef0f54fc)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-08 10:44:29 +01:00
dependabot-preview[bot] 96d8013581 Bump assets/syntaxes/Docker from 6e521ea to 9e9a518
Bumps [assets/syntaxes/Docker](https://github.com/asbjornenge/Docker.tmbundle) from `6e521ea` to `9e9a518`.
- [Release notes](https://github.com/asbjornenge/Docker.tmbundle/releases)
- [Commits](https://github.com/asbjornenge/Docker.tmbundle/compare/6e521ead6cd39013b8d8b95d6d2e2c9e5a548464...9e9a518aed93031042c54710f8f02c839301de26)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-08 10:38:32 +01:00
dependabot-preview[bot] 46b345f2c2 Bump assets/syntaxes/Jsonnet from 80775c6 to e2c917e
Bumps [assets/syntaxes/Jsonnet](https://github.com/gburiola/sublime-jsonnet-syntax) from `80775c6` to `e2c917e`.
- [Release notes](https://github.com/gburiola/sublime-jsonnet-syntax/releases)
- [Commits](https://github.com/gburiola/sublime-jsonnet-syntax/compare/80775c616ee21051a72c8e62427f0a249150457d...e2c917ed7d6020e2ba6c18b06c7278c094db03f7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-08 10:37:48 +01:00
dependabot-preview[bot] 4e5b40e274 Bump assets/syntaxes/SCSS_Sass from 1195db9 to 0e8e0f9
Bumps [assets/syntaxes/SCSS_Sass](https://github.com/braver/SublimeSass) from `1195db9` to `0e8e0f9`.
- [Release notes](https://github.com/braver/SublimeSass/releases)
- [Commits](https://github.com/braver/SublimeSass/compare/1195db9f16e07a478a20df17a7aa8a6f0ed366a2...0e8e0f9d2ffa56981fcb6a0beee3648e5e27c851)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-08 10:36:43 +01:00
dependabot-preview[bot] d0e7ca159a Bump assets/syntaxes/Julia from 581805e to 0ca4cc2
Bumps [assets/syntaxes/Julia](https://github.com/JuliaEditorSupport/Julia-sublime) from `581805e` to `0ca4cc2`.
- [Release notes](https://github.com/JuliaEditorSupport/Julia-sublime/releases)
- [Commits](https://github.com/JuliaEditorSupport/Julia-sublime/compare/581805e47c7af5ab0a880aaef5b27f8c1ccc29aa...0ca4cc29907e9476cb603fed00d1d5fd9dc13c9c)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-08 10:35:57 +01:00
sharkdp e981e97407 Manually convert DotENV.sublime-syntax 2019-11-06 20:23:07 +01:00
dependabot-preview[bot] a8ec3b826c Bump assets/syntaxes/DotENV from f6cad11 to a1c9176
Bumps [assets/syntaxes/DotENV](https://github.com/zaynali53/DotENV) from `f6cad11` to `a1c9176`.
- [Release notes](https://github.com/zaynali53/DotENV/releases)
- [Commits](https://github.com/zaynali53/DotENV/compare/f6cad1140ccc0a108278748a493f51c8f2d1d7f5...a1c917633d3f3c4222cdcfac5b46831abff54d65)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-06 20:23:07 +01:00
sharkdp f4a59d74f1 Manually convert TypeScript.sublime-syntax 2019-11-06 20:21:53 +01:00
dependabot-preview[bot] b9b6d9e31e Bump assets/syntaxes/TypeScript from 19a599a to 8bfce29
Bumps [assets/syntaxes/TypeScript](https://github.com/Microsoft/TypeScript-Sublime-Plugin) from `19a599a` to `8bfce29`.
- [Release notes](https://github.com/Microsoft/TypeScript-Sublime-Plugin/releases)
- [Commits](https://github.com/Microsoft/TypeScript-Sublime-Plugin/compare/19a599ad0e2edfb13c107db4305cf07b82cdc023...8bfce299be3b899e996663f8a27e2013bd2e65b8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-06 20:21:53 +01:00
sharkdp d65ae517dd Rename Fish syntax folder 2019-11-06 20:19:01 +01:00
sharkdp bb675e57c7 Remove manually converted fish syntax 2019-11-06 20:16:25 +01:00
dependabot-preview[bot] 9fe38e200e Bump assets/syntaxes/sublime-fish from 0795764 to 0f7d31b
Bumps [assets/syntaxes/sublime-fish](https://github.com/Phidica/sublime-fish) from `0795764` to `0f7d31b`.
- [Release notes](https://github.com/Phidica/sublime-fish/releases)
- [Commits](https://github.com/Phidica/sublime-fish/compare/079576415af7e25116f1cec0a508a3a43344416b...0f7d31b43e260bb3c7fe3fbc9d8f0024c1b39cf4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-06 20:16:25 +01:00
dependabot-preview[bot] a2fcb09d7a Bump assets/syntaxes/Protobuf from 5115c1c to 726e21d
Bumps [assets/syntaxes/Protobuf](https://github.com/VcamX/protobuf-syntax-highlighting) from `5115c1c` to `726e21d`.
- [Release notes](https://github.com/VcamX/protobuf-syntax-highlighting/releases)
- [Commits](https://github.com/VcamX/protobuf-syntax-highlighting/compare/5115c1c59aec63c89a872166686d23b7390cea12...726e21d74dac23cbb036f2fbbd626decdc954060)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-06 20:03:57 +01:00
dependabot-preview[bot] 8c7916e128 Bump assets/themes/sublime-monokai-extended from 1658f51 to 0ca4e75
Bumps [assets/themes/sublime-monokai-extended](https://github.com/jonschlinkert/sublime-monokai-extended) from `1658f51` to `0ca4e75`.
- [Release notes](https://github.com/jonschlinkert/sublime-monokai-extended/releases)
- [Commits](https://github.com/jonschlinkert/sublime-monokai-extended/compare/1658f51c15400978b3f6ba7cf5ed6b171e71058c...0ca4e75291515c4d47e2d455e598e03e0dc53745)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-06 20:03:21 +01:00
dependabot-preview[bot] 3d23daa7b4 Bump assets/syntaxes/LESS from d3ddfe7 to 4eada94
Bumps [assets/syntaxes/LESS](https://github.com/danro/LESS-sublime) from `d3ddfe7` to `4eada94`.
- [Release notes](https://github.com/danro/LESS-sublime/releases)
- [Commits](https://github.com/danro/LESS-sublime/compare/d3ddfe7b51e01140db209f57af3bc47d04d9ac0a...4eada94009ae7185b1f518d3f4b0d4db2b2b217c)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-05 20:42:09 +01:00
dependabot-preview[bot] 572cbb00e2 Bump assets/syntaxes/PureScript from 42a61e3 to 5acebc1
Bumps [assets/syntaxes/PureScript](https://github.com/tellnobody1/sublime-purescript-syntax) from `42a61e3` to `5acebc1`.
- [Release notes](https://github.com/tellnobody1/sublime-purescript-syntax/releases)
- [Commits](https://github.com/tellnobody1/sublime-purescript-syntax/compare/42a61e39adf52806acc48fd7fd8e37d4f11d62d6...5acebc18503697be09df047591964e68e80fcf8e)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-05 20:41:54 +01:00
dependabot-preview[bot] dedaebdf15 Bump assets/syntaxes/Terraform from 3227a2d to c683495
Bumps [assets/syntaxes/Terraform](https://github.com/alexlouden/Terraform.tmLanguage) from `3227a2d` to `c683495`.
- [Release notes](https://github.com/alexlouden/Terraform.tmLanguage/releases)
- [Commits](https://github.com/alexlouden/Terraform.tmLanguage/compare/3227a2d2a25dcb2625805ed4de04145c6cfbe912...c683495c6414a172c58a39beaa952c822cbbcc84)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-05 20:41:47 +01:00
dependabot-preview[bot] 3d90c6adee Bump assets/syntaxes/ssh-config from 86bfd1b to 17e23d7
Bumps [assets/syntaxes/ssh-config](https://github.com/robballou/sublimetext-sshconfig) from `86bfd1b` to `17e23d7`.
- [Release notes](https://github.com/robballou/sublimetext-sshconfig/releases)
- [Commits](https://github.com/robballou/sublimetext-sshconfig/compare/86bfd1b09043053437d39c6bf61dc683e79d8940...17e23d7d38e5cf1c63e5c0242514965ffb080499)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-05 20:41:37 +01:00
dependabot-preview[bot] 06a521ec34 Bump assets/themes/onehalf from 2516b37 to fdcbffe
Bumps [assets/themes/onehalf](https://github.com/sonph/onehalf) from `2516b37` to `fdcbffe`.
- [Release notes](https://github.com/sonph/onehalf/releases)
- [Commits](https://github.com/sonph/onehalf/compare/2516b37c3f201f3d9f2ee194f00fbb20c1ca7413...fdcbffe3175c29bb78d19dcaf9b2a456482fcf1e)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-05 20:41:26 +01:00
sharkdp 37f7c94ba4 Properly add Twig submodule, closes #721 2019-11-05 20:33:16 +01:00
sharkdp 396e1ac6b6 Add simple pattern for command-line options 2019-11-05 07:13:33 +01:00
sharkdp 49e2073910 Highlight capitalized function calls / man page references 2019-11-05 07:13:33 +01:00
dependabot-preview[bot] 7d18649284 Bump console from 0.9.0 to 0.9.1
Bumps [console](https://github.com/mitsuhiko/console) from 0.9.0 to 0.9.1.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Commits](https://github.com/mitsuhiko/console/compare/0.9.0...0.9.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-04 20:38:01 +01:00
sharkdp 850677f121 Remove 'advanced' example 2019-10-30 19:47:51 +01:00
sharkdp c132e19e74 Make a few modules private 2019-10-30 19:47:51 +01:00
sharkdp 3334f74b72 Remove custom 'transpose' function 2019-10-30 19:47:51 +01:00
sharkdp b9ce3c248c Simplify 'using_controller' example 2019-10-30 19:47:51 +01:00
David Peter 310654d49f Format "delta" like the other programs. 2019-10-30 19:47:37 +01:00
Dan Davison 3f37d292ec Point to delta in usage-with-git section of README 2019-10-30 19:47:37 +01:00
sharkdp 0a42d2b897 Add Nim syntax, closes #542 2019-10-30 19:47:24 +01:00
Helder M 3b5fcf4619 Update options sort order in --help and manpage file
This commit updates the sort order of --help options in order to improve
usability/importance putting most useful/used commands on top. In
addition to that, similar options were grouped together.
2019-10-29 19:54:25 +01:00
Ethan P ab2a6ad1d5 Add more colors to fstab syntax 2019-10-29 09:20:14 +01:00
Ethan P 7db30f9123 Merge pull request #705 from MarcoFalke/patch-1
doc: Add Ubuntu/Debian bat package to Readme
2019-10-28 15:44:06 -07:00
Ethan P 59f2b30768 Merge pull request #696 from flopp/fstab-syntax
Add fstab syntax definitions
2019-10-28 15:41:56 -07:00
Anubhab Ghosh 9fb14d78e1 Add syntax highlighting for /etc/resolv.conf 2019-10-28 21:29:29 +01:00
MarcoFalke 921a65f0a1 Update README.md 2019-10-28 16:26:28 -04:00
MarcoFalke b9c07e52e8 doc: Add Ubuntu/Debian bat package to Readme
Documentation update to fix #323
2019-10-26 10:33:17 -04:00
Anubhab Ghosh edbb4b2fc9 Add syntax highlighting for /etc/passwd file 2019-10-24 08:20:46 +02:00
Anubhab Ghosh 15b1676b72 Add syntax highlighting for /etc/group file 2019-10-24 08:20:46 +02:00
Florian Pigorsch 753a124ef2 Add some comments 2019-10-21 22:00:39 +02:00
Florian Pigorsch 58a4d009fa Add fstab file syntax 2019-10-21 21:56:24 +02:00
Fahmi Akbar Wildana 4664fb6f91 Remove comment in both examples
```diff
-// add_file()
```
2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana e287594654 Fix compile-error on Rust v1.35.0 2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana 1e19404736 Add 2 examples 2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana 2253d07341 Derive fmt::Debug whenever possible 2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana 7208a63a49 Implement trait Default for struct Config 2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana 0273848f54 Run cargo fmt 2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana e542621125 Move back printer.rs and others into lib
others:
bin/bat/{controller,decorations,output,printer}.rs
2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana 26439b41d2 Move Config,PagingMode from app.rs into lib.rs 2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana a2ee753b25 Move config.rs into src/bin/bat/ 2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana d3243903c0 Add --bins flag in CI before_deploy 2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana cf68b13322 Fix CI 'src/main.rs': No such file or directory 2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana 837d0998da Remove unused macros in bin/bat 2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana 23d80f9e84 Fix all compile errors in bin/bat
* Change `mod errors` in lib.rs to public

* Add `fn handle_error` in lib.rs errors module
2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana e981bd88c1 Move src/bin/* into src/bin/bat/
This will limit [[bin]] to *bat* only which will make:
- `cargo run` works without specifying --bin
- prevent `cargo build --bins` to produce multiple binaries (app,clap_app,...)
2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana 710a1df4ff Fix all compile warnings in lib.rs 2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana cfd33168af Fix all compile errors in lib.rs 🚚
* Move {controller,output,printer,decorations}.rs into src/bin/

* Add `mod errors` from main.rs
2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana eefdb186b8 Add lib.rs 2019-10-20 21:43:51 +02:00
Fahmi Akbar Wildana fc0ad4db2e Move {main,app,clap_app}.rs into src/bin/ 2019-10-20 21:43:51 +02:00
sharkdp f03b45f3e5 Update TOML syntax 2019-10-20 20:48:14 +02:00
sharkdp 9a74bf1a88 Disable nightly build 2019-10-19 18:20:15 +02:00
David Peter ff0b331dd6 Add llvm/libclang install instructions. 2019-10-15 21:40:38 +02:00
sharkdp 00bfbbf884 Add section concerning file encodings, see #568 2019-10-11 21:47:40 +02:00
Clar Fon e44045a71a Add Dracula theme 2019-10-11 20:18:22 +02:00
Ethan P 962abcef80 Update create.sh to quickly check for and update missing submodules 2019-10-10 23:49:39 +02:00
Ethan P 95f2e5bbb7 Ensure submodules are updated before creating asset cache 2019-10-10 23:49:39 +02:00
David Peter f46123e149 Add sponsor links as an experiment :-) 2019-10-07 19:43:36 +02:00
Martin Polreich f0f77b1673 Add SaltStack SLS syntax 2019-10-06 21:26:46 +02:00
Rogelio Domínguez Hernández 39112e80c3 cmake and libz are not needed to install bat
Closes sharkdp#649
2019-10-06 20:34:14 +02:00
Rogelio Domínguez Hernández a84c598e2c cmake and libz are not needed to install bat
Closes #649
2019-10-06 20:34:14 +02:00
Bernard Niset 6b2f78ec51 Add MacPorts instructions 2019-09-30 21:21:43 +02:00
Ethan P 938005864f Merge pull request #676 from sharkdp/dependabot/cargo/liquid-0.19.0
Bump liquid from 0.18.2 to 0.19.0
2019-09-30 10:37:13 -07:00
dependabot-preview[bot] 3a5f8ece49 Bump liquid from 0.18.2 to 0.19.0
Bumps [liquid](https://github.com/cobalt-org/liquid-rust) from 0.18.2 to 0.19.0.
- [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/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-30 02:17:48 +00:00
Ethan P 047a6f3b85 Merge pull request #673 from eth-p/fix-659
Parameterized documentation.
2019-09-28 18:58:35 -07:00
Ethan P f09b75dafa Revert changing generated file names based on parameters
It should be handled by a packaging script, not a build script.
2019-09-27 12:34:08 -07:00
Ethan P 54ec2e7bd0 Fix CI before_deploy to use parameterized names 2019-09-27 12:29:22 -07:00
Ethan P e57b2e9528 Add generated files to gitignore 2019-09-27 12:14:43 -07:00
Ethan P ea2179b352 Update fish completions to use parameterized names 2019-09-27 12:13:55 -07:00
Ethan P c8478cedc5 Update manual page to use parameterized names 2019-09-27 12:06:54 -07:00
Ethan P 1692e5fef7 Merge pull request #669 from sharkdp/fix-666
Fix 'bat cache other-arg'
2019-09-27 10:57:01 -07:00
Ben Iofel 7ba5bc78b7 Update sublimehq/Packages to master 2019-09-23 08:58:56 +02:00
dependabot-preview[bot] 25c2e1725e Bump syntect from 3.2.1 to 3.3.0
Bumps [syntect](https://github.com/trishume/syntect) from 3.2.1 to 3.3.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/v3.2.1...v3.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-23 08:14:41 +02:00
Luna 853e48e3f3 Allow underscores and dashes in page names to fix highlighting issues with pages such as signal-safety or posix_openpt. 2019-09-22 22:26:58 +02:00
sharkdp f5d359927a Fix 'bat cache other-arg', closes #666 2019-09-21 09:10:12 +02:00
sharkdp 4df5973fde Replace 'Printer' by 'needle' 2019-09-21 09:01:54 +02:00
sharkdp 45f3c73331 Extend 'man' integration section 2019-09-21 08:51:26 +02:00
sharkdp 4102175d98 Add '-x' flag for 'col', see #652, see #667 2019-09-21 08:44:26 +02:00
Ethan P 30ee2a464f Add eth-p/bat-extras integrations to README 2019-09-21 08:42:56 +02:00
Ethan P 7a5d1f27e7 Fix missing and inconsistent code fences in REAMDE 2019-09-21 08:42:56 +02:00
dependabot-preview[bot] ac5ff9d454 Bump console from 0.8.0 to 0.9.0
Bumps [console](https://github.com/mitsuhiko/console) from 0.8.0 to 0.9.0.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Commits](https://github.com/mitsuhiko/console/compare/0.8.0...0.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-15 22:10:29 +02:00
David Peter c9c3341a38 Use bash syntax highlighting 2019-09-15 15:54:44 +02:00
Jerguš Lejko a736889ef1 add dark mode script 2019-09-15 15:54:44 +02:00
dependabot-preview[bot] ea5e096705 Bump git2 from 0.10.0 to 0.10.1
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.10.0 to 0.10.1.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/compare/git2-curl-0.10.0...git2-curl-0.10.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-14 09:31:34 +02:00
Martin Polreich 12330fd154 Add Jinja2 syntax 2019-09-09 20:13:21 +02:00
David Peter 337ee568b1 Add list of maintainers to README 2019-09-07 08:57:07 +02:00
189 changed files with 8567 additions and 4202 deletions
+39
View File
@@ -0,0 +1,39 @@
---
name: Bug Report
about: Report a bug.
title: ""
labels: bug
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.
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.
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]
**Describe the bug you encountered:**
...
**Describe what you expected to happen?**
...
**How did you install `bat`?**
apt-get, homebrew, GitHub release, etc.
---
[paste the output of `info.sh` here]
+2
View File
@@ -0,0 +1,2 @@
blank_issues_enabled: true
+10
View File
@@ -0,0 +1,10 @@
---
name: Feature Request
about: Suggest an idea for this project.
title: ''
labels: feature-request
assignees: ''
---
+10
View File
@@ -0,0 +1,10 @@
---
name: Question
about: Ask a question about 'bat'.
title: ''
labels: question
assignees: ''
---
+29
View File
@@ -0,0 +1,29 @@
---
name: Syntax Request
about: Request adding a new syntax to bat.
title: ""
labels: syntax-request
assignees: ''
---
<!--
BEFORE YOU MAKE A REQUEST:
Are you looking to add a new syntax to use on one of your devices?
Bat supports locally-installed language definitions. See the link below:
https://github.com/sharkdp/bat#adding-new-syntaxes--language-definitions
If you think adding this syntax would help others as well, please make sure that it meets our
guidelines for adding new syntaxes:
- 10,000 downloads on packagecontrol.io
-->
**Syntax:**
[Name or description of the syntax/language here]
**Guideline Criteria:**
[packagecontro.io link here]
+5 -1
View File
@@ -1,3 +1,7 @@
/target/ /target/
**/*.rs.bk **/*.rs.bk
# Generated files
/assets/completions/bat.fish
/assets/manual/bat.1
/assets/metadata.yaml
+71 -45
View File
@@ -1,32 +1,32 @@
[submodule "assets/syntaxes/Elixir"] [submodule "assets/syntaxes/Elixir"]
path = assets/syntaxes/Elixir path = assets/syntaxes/02_Extra/Elixir
url = https://github.com/princemaple/elixir-sublime-syntax/ url = https://github.com/princemaple/elixir-sublime-syntax/
[submodule "assets/syntaxes/Packages"] [submodule "assets/syntaxes/Packages"]
path = assets/syntaxes/Packages path = assets/syntaxes/01_Packages
url = https://github.com/sublimehq/Packages/ url = https://github.com/sublimehq/Packages/
[submodule "assets/syntaxes/TOML"] [submodule "assets/syntaxes/TOML"]
path = assets/syntaxes/TOML path = assets/syntaxes/02_Extra/TOML
url = https://github.com/jasonwilliams/sublime_toml_highlighting url = https://github.com/jasonwilliams/sublime_toml_highlighting
[submodule "assets/syntaxes/Julia"] [submodule "assets/syntaxes/Julia"]
path = assets/syntaxes/Julia path = assets/syntaxes/02_Extra/Julia
url = https://github.com/JuliaEditorSupport/Julia-sublime url = https://github.com/JuliaEditorSupport/Julia-sublime
[submodule "assets/themes/sublime-monokai-extended"] [submodule "assets/themes/sublime-monokai-extended"]
path = assets/themes/sublime-monokai-extended path = assets/themes/sublime-monokai-extended
url = https://github.com/jonschlinkert/sublime-monokai-extended url = https://github.com/jonschlinkert/sublime-monokai-extended
[submodule "assets/syntaxes/Docker"] [submodule "assets/syntaxes/Docker"]
path = assets/syntaxes/Docker path = assets/syntaxes/02_Extra/Docker
url = https://github.com/asbjornenge/Docker.tmbundle url = https://github.com/asbjornenge/Docker.tmbundle
[submodule "assets/syntaxes/VimL"] [submodule "assets/syntaxes/VimL"]
path = assets/syntaxes/VimL path = assets/syntaxes/02_Extra/VimL
url = https://github.com/SalGnt/Sublime-VimL url = https://github.com/SalGnt/Sublime-VimL
[submodule "assets/syntaxes/INI"] [submodule "assets/syntaxes/INI"]
path = assets/syntaxes/INI path = assets/syntaxes/02_Extra/INI
url = https://github.com/clintberry/sublime-text-2-ini url = https://github.com/clintberry/sublime-text-2-ini
[submodule "assets/syntaxes/CMake"] [submodule "assets/syntaxes/CMake"]
path = assets/syntaxes/CMake path = assets/syntaxes/02_Extra/CMake
url = https://github.com/zyxar/Sublime-CMakeLists url = https://github.com/zyxar/Sublime-CMakeLists
[submodule "assets/syntaxes/LESS"] [submodule "assets/syntaxes/LESS"]
path = assets/syntaxes/LESS path = assets/syntaxes/02_Extra/LESS
url = https://github.com/danro/LESS-sublime url = https://github.com/danro/LESS-sublime
[submodule "assets/themes/DarkNeon"] [submodule "assets/themes/DarkNeon"]
path = assets/themes/DarkNeon path = assets/themes/DarkNeon
@@ -41,115 +41,141 @@
path = assets/themes/TwoDark path = assets/themes/TwoDark
url = https://github.com/erremauro/TwoDark url = https://github.com/erremauro/TwoDark
[submodule "assets/syntaxes/AWK"] [submodule "assets/syntaxes/AWK"]
path = assets/syntaxes/AWK path = assets/syntaxes/02_Extra/AWK
url = https://github.com/JohnNilsson/awk-sublime url = https://github.com/JohnNilsson/awk-sublime
[submodule "assets/syntaxes/Nix"] [submodule "assets/syntaxes/Nix"]
path = assets/syntaxes/Nix path = assets/syntaxes/02_Extra/Nix
url = https://github.com/wmertens/sublime-nix url = https://github.com/wmertens/sublime-nix
[submodule "assets/themes/zenburn"] [submodule "assets/themes/zenburn"]
path = assets/themes/zenburn path = assets/themes/zenburn
url = https://github.com/colinta/zenburn.git url = https://github.com/colinta/zenburn.git
[submodule "assets/syntaxes/Kotlin"] [submodule "assets/syntaxes/Kotlin"]
path = assets/syntaxes/Kotlin path = assets/syntaxes/02_Extra/Kotlin
url = https://github.com/vkostyukov/kotlin-sublime-package url = https://github.com/vkostyukov/kotlin-sublime-package
[submodule "assets/syntaxes/Elm"] [submodule "assets/syntaxes/Elm"]
path = assets/syntaxes/Elm path = assets/syntaxes/02_Extra/Elm
url = https://github.com/elm-community/SublimeElmLanguageSupport url = https://github.com/elm-community/SublimeElmLanguageSupport
[submodule "assets/syntaxes/TypeScript"] [submodule "assets/syntaxes/TypeScript"]
path = assets/syntaxes/TypeScript path = assets/syntaxes/02_Extra/TypeScript
url = https://github.com/Microsoft/TypeScript-Sublime-Plugin url = https://github.com/Microsoft/TypeScript-Sublime-Plugin
[submodule "assets/syntaxes/Puppet"] [submodule "assets/syntaxes/Puppet"]
path = assets/syntaxes/Puppet path = assets/syntaxes/02_Extra/Puppet
url = https://github.com/russCloak/SublimePuppet url = https://github.com/russCloak/SublimePuppet
[submodule "assets/syntaxes/CSV"] [submodule "assets/syntaxes/CSV"]
path = assets/syntaxes/CSV path = assets/syntaxes/02_Extra/CSV
url = https://github.com/wadetb/Sublime-Text-Advanced-CSV url = https://github.com/wadetb/Sublime-Text-Advanced-CSV
[submodule "assets/themes/onehalf"] [submodule "assets/themes/onehalf"]
path = assets/themes/onehalf path = assets/themes/onehalf
url = https://github.com/sonph/onehalf url = https://github.com/sonph/onehalf
[submodule "assets/syntaxes/JavaScript (Babel)"] [submodule "assets/syntaxes/JavaScript (Babel)"]
path = assets/syntaxes/JavaScript (Babel) path = assets/syntaxes/02_Extra/JavaScript (Babel)
url = https://github.com/babel/babel-sublime url = https://github.com/babel/babel-sublime
[submodule "assets/syntaxes/Cabal"] [submodule "assets/syntaxes/Cabal"]
path = assets/syntaxes/Cabal path = assets/syntaxes/02_Extra/Cabal
url = https://github.com/SublimeHaskell/SublimeHaskell url = https://github.com/SublimeHaskell/SublimeHaskell
[submodule "assets/syntaxes/Dart"] [submodule "assets/syntaxes/Dart"]
path = assets/syntaxes/Dart path = assets/syntaxes/02_Extra/Dart
url = https://github.com/guillermooo/dart-sublime-bundle url = https://github.com/guillermooo/dart-sublime-bundle
[submodule "assets/syntaxes/FSharp"] [submodule "assets/syntaxes/FSharp"]
path = assets/syntaxes/FSharp path = assets/syntaxes/02_Extra/FSharp
url = https://github.com/hoest/sublimetext-fsharp url = https://github.com/hoest/sublimetext-fsharp
[submodule "assets/syntaxes/PureScript"] [submodule "assets/syntaxes/PureScript"]
path = assets/syntaxes/PureScript path = assets/syntaxes/02_Extra/PureScript
url = https://github.com/tellnobody1/sublime-purescript-syntax url = https://github.com/tellnobody1/sublime-purescript-syntax
[submodule "assets/syntaxes/Swift"] [submodule "assets/syntaxes/Swift"]
path = assets/syntaxes/Swift path = assets/syntaxes/02_Extra/Swift
url = https://github.com/quiqueg/Swift-Sublime-Package url = https://github.com/quiqueg/Swift-Sublime-Package
[submodule "assets/syntaxes/Crystal"] [submodule "assets/syntaxes/Crystal"]
path = assets/syntaxes/Crystal path = assets/syntaxes/02_Extra/Crystal
url = https://github.com/crystal-lang-tools/sublime-crystal.git url = https://github.com/crystal-lang-tools/sublime-crystal.git
[submodule "assets/syntaxes/PowerShell"] [submodule "assets/syntaxes/PowerShell"]
path = assets/syntaxes/PowerShell path = assets/syntaxes/02_Extra/PowerShell
url = https://github.com/PowerShell/EditorSyntax url = https://github.com/PowerShell/EditorSyntax
[submodule "assets/syntaxes/Robot"] [submodule "assets/syntaxes/Robot"]
path = assets/syntaxes/Robot path = assets/syntaxes/02_Extra/Robot
url = https://github.com/andriyko/sublime-robot-framework-assistant.git url = https://github.com/andriyko/sublime-robot-framework-assistant.git
[submodule "assets/themes/sublime-snazzy"] [submodule "assets/themes/sublime-snazzy"]
path = assets/themes/sublime-snazzy path = assets/themes/sublime-snazzy
url = https://github.com/greggb/sublime-snazzy url = https://github.com/greggb/sublime-snazzy
[submodule "assets/syntaxes/HTML (Twig)"]
path = assets/syntaxes/HTML (Twig)
url = https://github.com/Anomareh/PHP-Twig.tmbundle.git
[submodule "assets/syntaxes/AsciiDoc"] [submodule "assets/syntaxes/AsciiDoc"]
path = assets/syntaxes/AsciiDoc path = assets/syntaxes/02_Extra/AsciiDoc
url = https://github.com/SublimeText/AsciiDoc.git url = https://github.com/SublimeText/AsciiDoc.git
[submodule "assets/syntaxes/Assembly (ARM)"] [submodule "assets/syntaxes/Assembly (ARM)"]
path = assets/syntaxes/Assembly (ARM) path = assets/syntaxes/02_Extra/Assembly (ARM)
url = https://github.com/tvi/Sublime-ARM-Assembly url = https://github.com/tvi/Sublime-ARM-Assembly
[submodule "assets/syntaxes/syslog-syntax"] [submodule "assets/syntaxes/syslog-syntax"]
path = assets/syntaxes/Syslog path = assets/syntaxes/02_Extra/Syslog
url = https://github.com/caos21/syslog-syntax.git url = https://github.com/caos21/syslog-syntax.git
branch = master branch = master
[submodule "assets/syntaxes/protobuf-syntax-highlighting"] [submodule "assets/syntaxes/protobuf-syntax-highlighting"]
path = assets/syntaxes/Protobuf path = assets/syntaxes/02_Extra/Protobuf
url = https://github.com/VcamX/protobuf-syntax-highlighting.git url = https://github.com/VcamX/protobuf-syntax-highlighting.git
branch = master branch = master
[submodule "assets/syntaxes/Terraform"] [submodule "assets/syntaxes/Terraform"]
path = assets/syntaxes/Terraform path = assets/syntaxes/02_Extra/Terraform
url = https://github.com/alexlouden/Terraform.tmLanguage.git url = https://github.com/alexlouden/Terraform.tmLanguage.git
[submodule "assets/syntaxes/Jsonnet"] [submodule "assets/syntaxes/Jsonnet"]
path = assets/syntaxes/Jsonnet path = assets/syntaxes/02_Extra/Jsonnet
url = https://github.com/gburiola/sublime-jsonnet-syntax.git url = https://github.com/gburiola/sublime-jsonnet-syntax.git
[submodule "assets/syntaxes/varlink"] [submodule "assets/syntaxes/varlink"]
path = assets/syntaxes/varlink path = assets/syntaxes/02_Extra/varlink
url = https://github.com/varlink/syntax-highlight-varlink.git url = https://github.com/varlink/syntax-highlight-varlink.git
[submodule "assets/syntaxes/sublime-fish"] [submodule "assets/syntaxes/sublime-fish"]
path = assets/syntaxes/sublime-fish path = assets/syntaxes/02_Extra/Fish
url = https://github.com/Phidica/sublime-fish.git url = https://github.com/Phidica/sublime-fish.git
[submodule "assets/syntaxes/Org mode"] [submodule "assets/syntaxes/Org mode"]
path = assets/syntaxes/Org mode path = assets/syntaxes/02_Extra/Org mode
url = https://github.com/jezcope/Org.tmbundle.git url = https://github.com/jezcope/Org.tmbundle.git
[submodule "assets/syntaxes/requirementstxt"] [submodule "assets/syntaxes/requirementstxt"]
path = assets/syntaxes/requirementstxt path = assets/syntaxes/02_Extra/requirementstxt
url = https://github.com/wuub/requirementstxt url = https://github.com/wuub/requirementstxt
[submodule "assets/syntaxes/DotENV"] [submodule "assets/syntaxes/DotENV"]
path = assets/syntaxes/DotENV path = assets/syntaxes/02_Extra/DotENV
url = https://github.com/zaynali53/DotENV url = https://github.com/zaynali53/DotENV
[submodule "assets/syntaxes/hosts"] [submodule "assets/syntaxes/hosts"]
path = assets/syntaxes/hosts path = assets/syntaxes/02_Extra/hosts
url = https://github.com/brandonwamboldt/sublime-hosts url = https://github.com/brandonwamboldt/sublime-hosts
[submodule "assets/syntaxes/ssh-config"] [submodule "assets/syntaxes/ssh-config"]
path = assets/syntaxes/ssh-config path = assets/syntaxes/02_Extra/ssh-config
url = https://github.com/robballou/sublimetext-sshconfig.git url = https://github.com/robballou/sublimetext-sshconfig.git
[submodule "assets/syntaxes/GraphQL"] [submodule "assets/syntaxes/GraphQL"]
path = assets/syntaxes/GraphQL path = assets/syntaxes/02_Extra/GraphQL
url = https://github.com/dncrews/GraphQL-SublimeText3.git url = https://github.com/dncrews/GraphQL-SublimeText3.git
[submodule "assets/syntaxes/Verilog"] [submodule "assets/syntaxes/Verilog"]
path = assets/syntaxes/Verilog path = assets/syntaxes/02_Extra/Verilog
url = https://github.com/pro711/sublime-verilog url = https://github.com/pro711/sublime-verilog
[submodule "assets/syntaxes/SCSS_Sass"] [submodule "assets/syntaxes/SCSS_Sass"]
path = assets/syntaxes/SCSS_Sass path = assets/syntaxes/02_Extra/SCSS_Sass
url = https://github.com/braver/SublimeSass url = https://github.com/braver/SublimeSass
[submodule "assets/syntaxes/Strace"] [submodule "assets/syntaxes/Strace"]
path = assets/syntaxes/Strace path = assets/syntaxes/02_Extra/Strace
url = https://github.com/djuretic/SublimeStrace url = https://github.com/djuretic/SublimeStrace
[submodule "assets/syntaxes/Jinja2"]
path = assets/syntaxes/02_Extra/Jinja2
url = https://github.com/Martin819/sublime-jinja2
[submodule "assets/syntaxes/SLS"]
path = assets/syntaxes/02_Extra/SLS
url = https://github.com/saltstack/sublime-text
branch = master
[submodule "assets/themes/dracula-sublime"]
path = assets/themes/dracula-sublime
url = https://github.com/dracula/sublime.git
[submodule "assets/syntaxes/HTML (Twig)"]
path = assets/syntaxes/02_Extra/HTML (Twig)
url = https://github.com/Anomareh/PHP-Twig.tmbundle.git
[submodule "assets/themes/Nord-sublime"]
path = assets/themes/Nord-sublime
url = https://github.com/crabique/Nord-plist.git
[submodule "assets/themes/solarized-sublime"]
path = assets/themes/solarized-sublime
url = https://github.com/paulcpederson/solarized-sublime.git
[submodule "assets/syntaxes/Vue"]
path = assets/syntaxes/02_Extra/Vue
url = https://github.com/vuejs/vue-syntax-highlight.git
branch = new
[submodule "assets/syntaxes/CoffeeScript"]
path = assets/syntaxes/02_Extra/CoffeeScript
url = https://github.com/sustained/CoffeeScript-Sublime-Plugin
[submodule "assets/syntaxes/02_Extra/Stylus"]
path = assets/syntaxes/02_Extra/Stylus
url = https://github.com/billymoon/Stylus
+11 -17
View File
@@ -32,24 +32,25 @@ matrix:
# Minimum Rust supported channel. # Minimum Rust supported channel.
- os: linux - os: linux
rust: 1.35.0 rust: 1.37.0
env: TARGET=x86_64-unknown-linux-gnu env: TARGET=x86_64-unknown-linux-gnu
- os: linux - os: linux
rust: 1.35.0 rust: 1.37.0
env: env:
- TARGET=x86_64-unknown-linux-musl - TARGET=x86_64-unknown-linux-musl
- CC_x86_64_unknown_linux_musl=/usr/bin/musl-gcc - CC_x86_64_unknown_linux_musl=/usr/bin/musl-gcc
- os: osx - os: osx
rust: 1.35.0 rust: 1.37.0
env: TARGET=x86_64-apple-darwin env: TARGET=x86_64-apple-darwin
# Code formatting check # Disable nightly for now
- os: linux # # Code formatting check
rust: nightly # - os: linux
# skip the global install step # rust: nightly
install: # # skip the global install step
- cargo install --debug --force rustfmt-nightly # install:
script: cargo fmt -- --check # - cargo install --debug --force rustfmt-nightly
# script: cargo fmt -- --check
sudo: required sudo: required
@@ -103,10 +104,3 @@ deploy:
notifications: notifications:
email: email:
on_success: never on_success: never
# Caching
cache:
directories:
- /home/travis/.cargo
before_cache:
- rm -rf /home/travis/.cargo/registry
+629
View File
@@ -0,0 +1,629 @@
# Upcoming release
## Features
## Bugfixes
## Other
## `bat` as a library
## New syntaxes
## New themes
## Packaging
# v0.14.0
## Features
- Added a new `--file-name <name>…` option to overwrite the displayed filename(s)
in the header. This is useful when piping input into `bat`. See #654 and #892 (@neuronull).
- Added a new `--generate-config-file` option to create an initial configuration file
at the right place. See #870 (@jmick414)
## Bugfixes
- Performance problems with C# source code have been fixed, see #677 (@keith-hall)
- Performance problems with Makefiles have been fixed, see #750 (@keith-hall)
- Fix bug when highlighting Ruby files with unindented heredocs, see #914 (@keith-hall)
- A highlighting problem with Rust source code has been fixed, see #924 (@keith-hall)
- Windows: short files that do not require paging are displayed and then lost, see #887
- `--highlight-line` did not work correctly in combination with `--tabs=0` and `--wrap=never`,
see #937
## Other
- When saving/reading user-provided syntaxes or themes, `bat` will now maintain a
`metadata.yaml` file which includes information about the `bat` version which was
used to create the cached files. When loading cached files, we now print an error
if they have been created with an incompatible version. See #882
- Updated `liquid` dependency to 0.20, see #880 (@ignatenkobrain)
## `bat` as a library
- A completely new "high level" API has been added that is much more convenient
to use. See the `examples` folder for the updated code. The older "low level"
API is still available (basically everything that is not in the root `bat`
module), but has been refactored quite a bit. It is recommended to only use
the new "high level" API, if possible. This will be much easier to keep stable.
Note that this should still be considered a "beta" release of `bat`-as-a-library.
For more details and some screenshots of the example programs, see #936.
- Stripped out a lot of binary-only dependencies, see #895 and #899 (@dtolnay)
This introduces a `features = ["application"]` which is enabled by default and pulls in
everything required by `bat` the application. When depending on bat as a library, downstream
`Cargo.toml` should disable this feature to cut out inapplicable heavy dependencies:
``` toml
[dependencies]
bat = { version = "0.14", default-features = false }
```
Other optional functionality has also been put behind features: `paging` and `git` support.
- Allow using the library with older syntect, see #896 and #898 (@dtolnay)
## New syntaxes
- Rego, see #872 (@patrick-east)
- Stylo, see #917
# v0.13.0
## `bat` as a library
Beginning with this release, `bat` can be used as a library (#423).
This was a huge effort and I want to thank all people who made this possible: @DrSensor, @mitsuhiko, @mre, @eth-p!
- Initial attempt in #469 (@mitsuhiko)
- Second attempt, complete restructuring of the `bat` crate, see #679 (@DrSensor)
- Updates to example, public API, error handling, further refactoring: #693 #873 #875 (@sharkdp)
I want to stress that this is the very first release of the library. Things are very likely to change. A lot of things are still missing (including the documentation).
That being said, you can start using it! See the example programs in [`examples/`](https://github.com/sharkdp/bat/tree/master/examples).
You can see the API documentation here: https://docs.rs/bat/
## Features
- (**Breaking change**) Glob-based syntax mapping, see #877 and #592. With this change,
users need to update their bat config files (`bat --config-file`), if they have any `--map-syntax` settings
present.
The option now works like this:
```bash
--map-syntax <glob-pattern>:<syntax-name>
```
For more information, see the `--help` text, the man page or the README.
This new feature allows us to properly highlight files like:
* `/etc/profile`
* `~/.ssh/config`
- `--highlight-line` now accepts line ranges, see #809 (@lkalir)
- Proper wrapping support for output with wide Unicode characters, see #811 #787 and #815 (@Kogia-sima)
- A lot of updates to existing syntaxes via #644 (@benwaffle, @keith-hall)
- `BAT_CACHE_PATH` can be used to place cached `bat` assets in a non-standard path, see #829 (@neuronull)
- Support combination of multiple styles at the same time, see #857 (@aslpavel)
## Bugfixes
- Do not pass '--no-init' on newer less versions, see #749 and #786 (@sharkdp)
- 'bat cache' still takes precedence over existing files, see #666 (@sharkdp)
- `.sc` files should be treated as scala files, see #443 (@benwaffle)
- Allow underscores and dashes in page names, see #670 (@LunarLambda)
- Keep empty lines empty, see #601 (@mbarbar)
- Wrapping does not work when piping, see #758 (@fusillicode, @allevo, @gildo)
- Allow for non-unicode filenames, see #225 (@sharkdp)
- Empty file without header produces incomplete grid, see #798 (@eth-p)
- Files named `build` don't respect shebang lines, see #685 (@sharkdp)
## Other
- Parametrizable names for man page and shell completion files, see #659 #673 #656 (@eth-p)
- Enabled LTO, making `bat` about 10% faster, see #719 (@bolinfest, @sharkdp)
- Suggestions non how to configure `bat` for MacOS dark mode, see README (@jerguslejko)
- Extended ["Integration with other tools"](https://github.com/sharkdp/bat#integration-with-other-tools) section (@eth-p)
- Updated [instrutions on how to use `bat` as a `man`-pager](https://github.com/sharkdp/bat#man), see #652, see #667 (@sharkdp)
- Add section concerning file encodings, see #688 and #568 (@sharkdp)
- Updated sort order of command-line options in `--help` text and manpage, see #653 and #700 (@hrlmartins)
- Updates to the man page syntax, see #718 (@sharkdp)
- Japanese documentation updates, see #863 (@k-ta-yamada, @sorairolake and @wt-l00)
- Accept "default" as a theme, see #757 (@fvictorio)
- Updated Windows installation instructions, see #852 (@sorenbug)
- Updated man page, see #573 (@sharkdp)
## New syntaxes
- Jinja2, see #648 (@Martin819)
- SaltStack SLS, see #658 (@Martin819)
- `/etc/fstab`, see #696 (@flopp and @eth-p)
- `/etc/group` and `/etc/passwd`, see #698 (@argentite)
- `/proc/cpuinfo` and `/proc/meminfo`, see #593 (@sharkdp)
- Nim, see #542 (@sharkdp)
- Vue, see #826 (@chaaaaarlotte)
- CoffeScript, see #833 (@sharkdp)
## New themes
- Dracula, see #687 (@clarfon)
- Nord, see #760 (@crabique)
- Solarized light and dark, see #768 (@hakamadare)
## Packaging
- `bat` is now in the official Ubuntu and Debian repositories, see #323 and #705 (@MarcoFalke)
- `bat` can now be installed via MacPorts, see #675 (@bn3t)
- Install fish completions into 'vendor_completions.d', see #651 (@sharkdp)
## Thanks
- To @eth-p for joining me as a maintainer! I'm very grateful for all the work you put into
managing and responding to issues, improving our deployment, adding PR/issue templates (#837) as
well as fixing bugs and implementing new features.
# v0.12.1
## Bugfixes
- Fixes a bug for older Windows versions (*"The procedure entry point `CreateFile2` could not be located"*), see #643 (@rivy)
# v0.12.0
## Features
- Binary file content can now be viewed with `bat -A`, see #623, #640 (@pjsier and @sharkdp)
- `bat` can now be used as a man pager. Take a look at the README and #523 for more details.
- Add new style component to separate multiple `--line-range`s, see #570 (@eth-p)
- Added `-L` as an alias for `--list-languages`
## Bugfixes
- Output looks unbalanced when using '--style=grid,numbers' without 'header', see #571 (@eth-p)
- issues with filenames starting with "cache", see #584
- Can't build cache with new theme without creating cache dir, see #576 (@frm)
- `--terminal-width -10` is parsed incorrectly, see #611
## Other
- Added fish completions to DEB package, see #554
## New syntaxes
- Emacs Org mode, see #36 (@bricewge)
- `requirements.txt`
- DotENV `.env`
- SSH config syntax (`-l ssh_config`), see #582 (@issmirnov)
- `/etc/hosts`, see #583 (@issmirnov)
- GraphQL, see #625 (@dandavison)
- Verilog, see #616
- SCSS and Sass, see #637
- `strace` syntax, see #599
## Packaging
- `bat` is now in the official Gentoo repositories, see #588 (@toku-sa-n)
- `bat` is now in the official Alpine Linux repositories, see #586 (@5paceToast)
- `bat` is in the official Fedora repositories, see #610 (@ignatenkobrain)
# v0.11.0
## Features
- Three new special color themes are available: `ansi-light`, `ansi-dark` and `base16`. These
are useful for people that often switch from dark to light themes in their terminal emulator
or for people that want the colors to match their terminal theme colors. For more details,
see #543 and #490 (@mk12, implementation idea by @trishume)
- Hand-written auto completion script for Fish shell, see #524 and #555 (@ev-dev and @eth-p)
- The `-p`/`--plain` option can now be used twice (typically `-pp`). The first `-p` switches the
`--style` to "plain". The second `-p` disables the pager. See #560 and #552 (@eth-p)
## Bugfixes
- Do not replace arguments to `less` when using `--pager`, see #509
- Binary files will now be indicated by a warning in interactive mode, see #530 #466 #550 (@maxfilov)
- Empty files are (once again) printed with a single header line, see #504 and #566 (@reidwagner
and @sharkdp)
- `--terminal-width=0` is now disallowed, see #559 (@eth-p)
- Accidental printing of files named `cache`, see #557
## Other
- New integration tests, see #500 and #502 (@reidwagner and @sharkdp)
- New ["Integration with other tools"](https://github.com/sharkdp/bat#integration-with-other-tools) section in the README.
- Migrated to Rust 2018 (@expobrain)
## New syntaxes
- F# syntax has been updated, see #531 (@stroborobo)
- Fish shell, see #548 (@sanga)
## Packaging
- `bat` is now available on Chocolatey, see #541 (@rasmuskriest)
# v0.10.0
## Features
- Added new `--highlight-line <N>` option, see #453, #346 and #175 (@tskinn and @sharkdp)
## Changes
- **Change the default configuration directory on macOS** to `~/.config/bat`, see #442 (@lavifb). If you are on macOS, you need to copy your configuration directory from the previous place (`~/Library/Preferences/bat`) to the new place (`~/.config/bat`).
- Completely disabled the generation of shell completion files, see #372
- Properly set arguments to `less` if `PAGER` environment variable contains something like `less -F` (which is missing the `-R` option), see #430 (@majecty)
- Report the name of missing files, see #444 (@ufuji1984)
- Don't start pager if file doesn't exist, see #387
- Rename `bat cache --init` to `bat cache --build`, see #498
- Move the `--config-dir` and `--cache-dir` options from `bat cache` to `bat` and hide them from the help text.
## Bugfixes
- Blank line at the end of output when using `--style=plain`, see #379
- EOF must be sent twice on stdin if no other input is sent, see #477 (@reidwagner)
## New syntaxes
- Twig (@ahmedelgabri)
- `.desktop` files (@jleclanche)
- AsciiDoc (@markusthoemmes)
- Assembly (x86_64 and ARM)
- Log files (@caos21)
- Protobuf and ProtobufText (@caos21)
- Terraform (@caos21)
- Jsonnet (@hfm)
- Varlink (@haraldh)
## Other
- Added Japanese version of README (@sh-tech and @object1037)
- Code improvements (@barskern)
# v0.9.0
## Features
- A new `-A`/`--show-all` option has been added to show and highlight non-printable characters (in analogy to GNU `cat`s option):
![](https://camo.githubusercontent.com/c3e769482ef3184f6be6adaa34bdc8d19c378254/68747470733a2f2f692e696d6775722e636f6d2f324b54486859542e706e67)
see #395 and #381 for more details.
- Added `--pager` option (to configure the pager from the configuration file), see #362 (@majecty)
- 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
of styles from the config file, see #367 (@sindreij)
- Allow for multiple `--line-range` arguments, see #23
- The `--terminal-width` option can now also accept offsets, see #376
## Changes
- Use of italics is now *disabled by default* (see #389 for details). They can be
re-enabled by adding `--italic-text=always` to your configuration file.
- The default tab-width has been set to 4.
- Added new "Sublime Snazzy" theme.
- Shell completions are currently *not* shipped anymore, see #372 for details.
## Bugfixes
- Avoid endless recursion when `PAGER="bat"`, see #383 (@rodorgas)
## Other
- `bat` is now available on openSUSE, see #405 (@dmarcoux)
- Added section about the new configuration file in the README (@deg4uss3r)
- Chinese translation of README (@chinanf-boy)
- Re-written tests for `--tabs` (@choznerol)
- Speed up integration tests, see #394
# v0.8.0
## Features
- Support for a configuration file with the following simple format:
```bash
--tabs=4
--theme="Sublime Snazzy"
# A line-comment
--map-syntax .ignore:.gitignore
--map-syntax PKGBUILD:bash
--map-syntax Podfile:ruby
# Flags and options can also be on a single line:
--wrap=never --paging=never
```
The configuration file path can be accessed via `bat --config-file`. On Linux,
it is stored in `~/.config/bat/config`.
- Support for the `BAT_OPTS` environment variable with the same format as specified
above (in a single line). This takes precedence over the configuration file.
See also #310.
- Support for custom syntax mappings via the `-m`/`--max-syntax` option.
This allows users to (re)map certain file extensions or file names to an existing syntax:
``` bash
bat --map-syntax .config:json ...
```
The option can be use multiple times. Note that you can easily make these mappings permanent by using bats new configuration file.
See #169
- Support pager command-line arguments in `PAGER` and `BAT_PAGER`, see #352 (@Foxboron)
- Add support for wildcards in Windows CMD, see #309 (@zxey)
- First-line syntax detection for all input types, see #205
- Encoding support for UTF-16LE and UTF-16BE, see #285
- New syntaxes: Robot framework (@sanga)
## Changes
- Binary files are now detected and not displayed when the output goes to an interactive terminal, see #205
## Bugfixes
- JavaDoc comments break syntax highlighting in .java files, see #81
- Bat Panics on Haskell Source Code, see #314
## Other
- Better `-h` and `--help` texts.
- Updated documentation on how to configure `bat`s pager
- Updated documentation for light backgrounds, see #328 (@russtaylor)
- Generate shell completions during build, see #115 (@davideGiovannini)
- A lot of new tests have been written
- `bat` is now available via [Termux](https://termux.com/), see #341 (@fornwall)
- `bat` is now available via [nix](https://nixos.org/nix), see #344 (@mgttlinger)
- `bat` is now available via [Docker](https://hub.docker.com/r/danlynn/bat/), see #331 (@danlynn)
# v0.7.1
## Features
- Use the `ansi_colours` package by @mina86 for better true-color approximation on 8 bit color terminals, see #319 and #202.
## Bugfixes
- Bat Panics on Haskell Source Code, see #314
- Disable wrapping when `--style=plain`/`-p` is used, see #289
## Other
- Added Ansible install instructions (@aeimer)
- Added section about Cygwin to the README (@eth-p)
# v0.7.0
## Features
- Tabs are now (optionally) expanded to spaces. This can be controlled with the new
`--tabs` command-line option or the `BAT_TABS` environment variable. The
new feature also closes two bugs #166 and #184. For more information, see #302 (@eth-p).
- Added support for the `BAT_STYLE` environment variable, see #208 (@ms2300)
- Added `OneHalf` theme for terminals with a light-gray background, see #256
- Added new syntaxes for CSV, JSX in JavaScript and TypeScript, Cabal, Dart,
F#, PureScript, Swift, Crystal, PowerShell (Many Thanks to @tobenna and @mimadrid)
## Changes
- Query `git diff` only when needed, see #303 (@ShikChen)
- Disable wrapping when `--plain` is used, see #289 (@eth-p)
## Bugfixes
- Can read files named `cache`, see #275 (@BK1603)
- A lot of bugfixes for Windows, see #252, #264
- Detect `less` reliably and in a portable way, see #271 and #290 (@Aankhen)
- last decoration line is not formatted properly with `--wrap never`, see #299 (@Rogach)
- Do not show file header for directories, see #292
## Other
- Enabled a new `aarch64` build target, see #258 (@rachitchokshi)
- Provide Debian packages for `armhf`, see #280 (@rachitchokshi)
- Added README section about "`bat` on Windows" (@Aankhen)
- Windows installation via scoop (@meltinglava)
# v0.6.1
## Bugfixes
- Fixed panic when running `bat --list-languages | head`, see #232 (@mchlrhw)
- Respect `--color` settings for `--list-themes` and `--list-languages`, see #233
- Git modifications now work on Windows
## Other
- There will be auto-generated Windows releases, starting with this version (@anykao)
# v0.6.0
## Features
- The `--list-themes` option now shows a preview for each highlighting theme (@ms2300)
- Added `-p`/`--plain` as an alias for `--style=plain`, see #212 (@ms2300)
- Major refactorings, enabling some progress on #150. In non-interactive mode, `bat` will now copy input bytes 1:1.
- New languages: Elm, Kotlin, Puppet, TypeScript, see #215 #216 #217 #218
- New syntax highlighting theme: zenburn (@colindean)
## Changes
- New themes in `$BAT_CONFIG_DIR/themes` are now loaded *in addition* to
the default themes (they may also override), see #172
- The `Default.tmTheme` symlink is not necessary anymore.
## Bugfixes
* Using `bat cache --init` leads to duplicated syntaxes, see #206
## Other
* Extended and cleaned-up `--help` text.
* Added initial version of a man page, see #52
* New README sections: *Development* and *Troubleshooting*, see #220
# v0.5.0
## Features
- Added `--line-range n:m` option to print a range of lines, see #159 (@tskinn)
- The syntax highlighting theme can now be controlled by the `BAT_THEME` environment variable, see [README](https://github.com/sharkdp/bat#highlighting-theme) and #177 (@mandx)
- The `PAGER` and `BAT_PAGER` environment variables can be used to control the pager that `bat` uses, see #158 and the [new README section](https://github.com/sharkdp/bat#using-a-different-pager)
- Added syntax highlighting for Nix, see #180
- Added syntax highlighting for AWK (Gert Hulselmans)
## Changes
- The customization of syntax sets and theme sets is now separated. Syntax definitions are now loaded *in addition* to the ones that are stored in the `bat` binary by default. Please refer to these new sections in the README: [Adding new syntaxes](https://github.com/sharkdp/bat#adding-new-syntaxes--language-definitions), [Adding new themes](https://github.com/sharkdp/bat#adding-new-themes), also see #172
- The color for the filename is now the default foreground color. The colors for the grid and the line numbers is now determined from the syntax highlighting theme, which now also works for light backgrounds, see #178.
## Bugfixes
- Escape Sequences get partially stripped, see #182 (@eth-p)
- Use separate Git repository for snapshot testing, see #165 and #161
- Markdown breaking on JavaScript, see #183
## Other
- Binaries for armv7 are now provided, see #196
- `bat` is now in the official [Arch package repositories](https://www.archlinux.org/packages/community/x86_64/bat/).
- Optimizations in the RGB => 8-bit conversion (@mina86)
# v0.4.1
(this is just a small bugfix release, see 0.4.0 for all features and changes)
## Bugfixes
- Fix problem with `cargo test` when `bat` is not checked out in a Git repository, see #161
# v0.4.0
## Features
* Support for line-wrapping, see #54 and #102 (@eth-p)
* New and updated `--style` parameter, see #74 and README (@pitkley)
* Added `--theme` and `--list-themes` options, see #89 (@rleungx)
* Added syntax highlighting for: Julia (@iamed2), Dockerfiles, VimL, CMake, INI, Less
* Added a few popular Sublime Text highlighting themes, see #133
* Support for bold, italic and underline font styles, see #96
* Support for 32bit systems is now available, see #84
* Added `-u` and `-n` options, see #134
* ANSI color support on Windows 10
## Changes
* The customization folder for own syntaxes has been renamed from `syntax` to `syntaxes`, see README.
* Changed Markdown syntax to the default Sublime Text syntax, see #157
* Sorted language listing (@rleungx)
* Command line arguments like `--theme` or `--color` can now override themselves.
* Improved `--help` text.
## Bugfixes
- Fixed crash for (really) small terminal sizes, see #117 (@eth-p)
- Syntax detection for `.bashrc`, `CMakeLists.txt` etc., see #100
- Properly handle lines with invalid UTF-8, see #7 (@BrainMaestro)
- Better error handling, see #17 (@rleungx and @sharkdp)
- Proper handling of UTF-8 characters in `less`, see #98 (@ghuls)
- Build fix on nightly, see #148 (@tathanhdinh)
## Other
- [Comparison with alternative projects](https://github.com/sharkdp/bat/blob/master/doc/alternatives.md).
- New "bat" logo in the README, see #119 (@jraulhernandezi)
- Output test cases (@BrainMaestro)
- Lots of great refactoring work (@BrainMaestro)
# v0.3.0
## Features
* Automatic paging by integrating with `less`, see #29 (@BrainMaestro)
* Added support for reading from standard input, see #2
* Added support for writing to non-interactive terminals (pipes, files, ..); new
`--color=auto/always/never` option, see #26 (@BrainMaestro)
* Added `--list-languages` option to print all available syntaxes, see #69 (@connorkuehl)
* New option to specify the syntax via `-l`/`--language`, see #19 (@BrainMaestro)
* New option to control the output style (`--style`), see #5 (@nakulcg)
* Added syntax highlighting support for TOML files, see #37
## Changes
* The `init-cache` sub-command has been removed. The cache can now be controlled via
`bat cache`. See `bat cache -h` for all available commands.
## Bug fixes
* Get git repository from file path instead of current directory, see #22 (@nakulcg)
* Process substitution can now be used with bat (`bat <(echo a) <(echo b)`), see #80
## Thanks
I'd like to say a big THANK YOU to all contributors and everyone that has given us
some form of feedback.
Special thanks go to @BrainMaestro for his huge support with new features, bug reports
and code reviews!
# v0.2.3
- Added a new statically linked version of bat (`..-musl-..`)
# v0.2.2
- Remove openssl dependency completely, see #30.
# v0.2.1
- Added Elixir syntax, see #25.
- Use libcurl-openssl instead of libcurl-gnutls, see #30.
# v0.2.0
- Support for custom syntaxes, add 'Markdown extended' theme
- Bugfix: Git modifications not shown from child folder
# v0.1.0
Initial release
Generated
+730 -352
View File
File diff suppressed because it is too large Load Diff
+43 -14
View File
@@ -7,7 +7,7 @@ license = "MIT/Apache-2.0"
name = "bat" name = "bat"
readme = "README.md" readme = "README.md"
repository = "https://github.com/sharkdp/bat" repository = "https://github.com/sharkdp/bat"
version = "0.12.1" version = "0.14.0"
exclude = [ exclude = [
"assets/syntaxes/*", "assets/syntaxes/*",
"assets/themes/*", "assets/themes/*",
@@ -15,42 +15,71 @@ exclude = [
build = "build.rs" build = "build.rs"
edition = '2018' edition = '2018'
[features]
default = ["application"]
# Feature required for bat the application. Should be disabled when depending on
# bat as a library.
application = [
"atty",
"clap",
"dirs",
"git",
"lazy_static",
"liquid",
"paging",
"wild",
"regex-onig",
]
git = ["git2"] # Support indicating git modifications
paging = ["shell-words"] # Support applying a pager on the output
regex-onig = ["syntect/regex-onig"] # Use the "oniguruma" regex engine
regex-fancy = ["syntect/regex-fancy"] # Use the rust-only "fancy-regex" engine
[dependencies] [dependencies]
atty = "0.2.13" atty = { version = "0.2.14", optional = true }
ansi_term = "^0.12.1" ansi_term = "^0.12.1"
ansi_colours = "^1.0" ansi_colours = "^1.0"
console = "0.8" console = "0.10"
dirs = "2.0" dirs = { version = "2.0", optional = true }
lazy_static = "1.4" lazy_static = { version = "1.4", optional = true }
wild = "2.0" wild = { version = "2.0", optional = true }
content_inspector = "0.2.4" content_inspector = "0.2.4"
encoding = "0.2" encoding = "0.2"
shell-words = "0.1.0" shell-words = { version = "0.1.0", optional = true }
unicode-width = "0.1.7"
globset = "0.4"
serde = { version = "1.0", features = ["derive"] }
serde_yaml = "0.8"
semver = "0.9"
[dependencies.git2] [dependencies.git2]
version = "0.10" version = "0.13"
optional = true
default-features = false default-features = false
features = []
[dependencies.syntect] [dependencies.syntect]
version = "3.2.1" version = "4.1.0"
default-features = false default-features = false
features = ["parsing", "yaml-load", "dump-load", "dump-create"] features = ["parsing", "yaml-load", "dump-load", "dump-create"]
[dependencies.clap] [dependencies.clap]
version = "2.33" version = "2.33"
optional = true
default-features = false default-features = false
features = ["suggestions", "color", "wrap_help"] features = ["suggestions", "color", "wrap_help"]
[dependencies.error-chain] [dependencies.error-chain]
version = "0.12" version = "0.12"
default-features = false default-features = false
features = []
[dev-dependencies] [dev-dependencies]
tempdir = "0.3" tempdir = "0.3"
assert_cmd = "0.11.1" assert_cmd = "1.0.1"
escargot = "0.5.0"
[build-dependencies] [build-dependencies]
clap = "2.33" clap = { version = "2.33", optional = true }
liquid = { version = "0.20", optional = true }
lazy_static = { version = "1.4", optional = true }
[profile.release]
lto = true
+1 -1
View File
@@ -1,4 +1,4 @@
Copyright (c) 2018 bat-developers (https://github.com/sharkdp/bat). Copyright (c) 2018-2020 bat-developers (https://github.com/sharkdp/bat).
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
+128 -41
View File
@@ -1,7 +1,7 @@
<p align="center"> <p align="center">
<img src="doc/logo-header.svg" alt="bat - a cat clone with wings"><br> <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://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?svg=true"></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>
<img src="https://img.shields.io/crates/l/bat.svg" alt="license"> <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 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. A <i>cat(1)</i> clone with syntax highlighting and Git integration.
@@ -13,7 +13,7 @@
<a href="#installation">Installation</a> • <a href="#installation">Installation</a> •
<a href="#customization">Customization</a> • <a href="#customization">Customization</a> •
<a href="#project-goals-and-alternatives">Project goals, alternatives</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>] 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>]
</p> </p>
### Syntax highlighting ### Syntax highlighting
@@ -105,6 +105,14 @@ If you happen to use [`fd`](https://github.com/sharkdp/fd), you can use the `-X`
fd … -X bat fd … -X bat
``` ```
#### `ripgrep`
With [`batgrep`](https://github.com/eth-p/bat-extras/blob/master/doc/batgrep.md), `bat` can be used as the printer for [`ripgrep`](https://github.com/BurntSushi/ripgrep) search results.
```bash
batgrep needle src/
```
#### `tail -f` #### `tail -f`
`bat` can be combined with `tail -f` to continuously monitor a given file with syntax highlighting. `bat` can be combined with `tail -f` to continuously monitor a given file with syntax highlighting.
@@ -114,7 +122,7 @@ 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 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. explicitly (`-l log`), as it can not be auto-detected in this case.
#### `git show` #### `git`
You can combine `bat` with `git show` to view an older version of a given file with proper syntax You can combine `bat` with `git show` to view an older version of a given file with proper syntax
highlighting: highlighting:
@@ -122,6 +130,8 @@ highlighting:
git show v0.6.0:src/main.rs | bat -l rs 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).
#### `xclip` #### `xclip`
The line numbers and Git modification markers in the output of `bat` can make it hard to copy The line numbers and Git modification markers in the output of `bat` can make it hard to copy
@@ -134,14 +144,25 @@ bat main.cpp | xclip
#### `man` #### `man`
`bat` can be used as a pager for `man`. It can be used like this: `bat` can be used as a colorizing pager for `man`, by setting the
``` `MANPAGER` environment variable:
export MANPAGER="sh -c 'col -b | bat -l man -p'"
```bash
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
man 2 select man 2 select
``` ```
The [Manpage syntax](assets/syntaxes/Manpage.sublime-syntax) is developed in this repository and still needs some work. It might also be necessary to set `MANROFFOPT="-c"` if you experience
formatting problems.
If you prefer to have this bundled in a new command, you can also use [`batman`](https://github.com/eth-p/bat-extras/blob/master/doc/batman.md).
Note that the [Manpage syntax](assets/syntaxes/02_Extra/Manpage.sublime-syntax) is developed in this repository and still needs some work.
#### `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`.
## Installation ## Installation
@@ -150,10 +171,23 @@ The [Manpage syntax](assets/syntaxes/Manpage.sublime-syntax) is developed in thi
### On Ubuntu ### On Ubuntu
*... and other Debian-based Linux distributions.* *... and other Debian-based Linux distributions.*
Download the latest `.deb` package from the [release page](https://github.com/sharkdp/bat/releases) `bat` is making its way through the [Ubuntu](https://packages.ubuntu.com/eoan/bat) and
and install it via: [Debian](https://packages.debian.org/sid/bat) package release process, and is available
``` bash for Ubuntu as of Eoan 19.10. On Debian `bat` is currently only available on the unstable
sudo dpkg -i bat_0.12.1_amd64.deb # adapt version number and architecture "Sid" branch.
If your Ubuntu/Debian installation is new enough you can simply run:
```bash
apt install bat
```
If the package has not yet been promoted to your Ubuntu/Debian installation, or you want
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.13.0_amd64.deb # adapt version number and architecture
``` ```
### On Alpine Linux ### On Alpine Linux
@@ -194,7 +228,7 @@ emerge sys-apps/bat
### On Void Linux ### On Void Linux
You can install `bat` via xbps-install: You can install `bat` via xbps-install:
``` ```bash
xbps-install -S bat xbps-install -S bat
``` ```
@@ -225,7 +259,7 @@ nix-env -i bat
You can install `bat` with zypper: You can install `bat` with zypper:
``` ```bash
zypper install bat zypper install bat
``` ```
@@ -237,20 +271,38 @@ You can install `bat` with [Homebrew](http://braumeister.org/formula/bat):
brew install bat brew install bat
``` ```
### On Windows Or install `bat` with [MacPorts](https://ports.macports.org/port/bat/summary):
You can download prebuilt binaries from the [Release page](https://github.com/sharkdp/bat/releases),
or install it with [scoop](https://scoop.sh/) or [Chocolatey](https://chocolatey.org):
```bash ```bash
scoop install bat port install bat
``` ```
### On Windows
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.
#### With Chocolatey
You can install `bat` via [Chocolatey](https://chocolatey.org/packages/Bat):
```bash ```bash
choco install bat choco install bat
``` ```
[See below](#using-bat-on-windows) for notes. #### With Scoop
You can install `bat` via [scoop](https://scoop.sh/):
```bash
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 ### Via Docker
@@ -296,15 +348,14 @@ binaries are also available: look for archives with `musl` in the file name.
### From source ### From source
If you want to build `bat` from source, you need Rust 1.35 or If you want to build `bat` from source, you need Rust 1.37 or
higher. You can then use `cargo` to build everything: higher. You can then use `cargo` to build everything:
```bash ```bash
cargo install bat cargo install bat
``` ```
You may have to install `cmake` and the `libz` development package On some platforms, you might need to install `llvm` and/or `libclang-dev`.
(`libz-dev` or `libz-devel`) in order for the build to succeed.
## Customization ## Customization
@@ -319,7 +370,7 @@ make the change permanent. Alternatively, use `bat`s
If you want to preview the different themes on a custom file, you can use If you want to preview the different themes on a custom file, you can use
the following command (you need [`fzf`](https://github.com/junegunn/fzf) for this): the following command (you need [`fzf`](https://github.com/junegunn/fzf) for this):
``` bash ```bash
bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file" bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file"
``` ```
@@ -403,18 +454,29 @@ 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). 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), **Note**: By default, if the pager is set to `less` (and no command-line options are specified),
`bat` will pass the following command line `bat` will pass the following command line options to the pager: `-R`/`--RAW-CONTROL-CHARS`,
options to the pager: `-R`/`--RAW-CONTROL-CHARS`, `-F`/`--quit-if-one-screen` and `-X`/`--no-init`. `-F`/`--quit-if-one-screen` and `-X`/`--no-init`. The last option (`-X`) is only used for `less`
The first (`-R`) is needed to interpret ANSI colors correctly. The second option (`-F`) instructs 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. 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 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 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 of `less`. Unfortunately, it also breaks mouse-wheel support in `less`.
mouse-wheel scrolling, you can either pass just `-R` (as in the example above, this will disable
the quit-if-one-screen feature), or you can use a recent version of `less` and pass `-RF` which
will hopefully enable both quit-if-one-screen and mouse-wheel scrolling.
If scrolling still doesn't work for you, you can try to pass the `-S` option in addition. 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.
### Dark mode
If you make use of the dark mode feature in macOS, you might want to configure `bat` to use a different
theme based on the OS theme. The following snippet uses the `default` theme when in the _dark mode_
and the `GitHub` theme when in the _light mode_.
```bash
alias cat="bat --theme=\$(defaults read -globalDomain AppleInterfaceStyle &> /dev/null && echo default || echo GitHub)"
```
## Configuration file ## Configuration file
@@ -430,6 +492,11 @@ non-default location of the configuration file:
export BAT_CONFIG_PATH="/path/to/bat.conf" export BAT_CONFIG_PATH="/path/to/bat.conf"
``` ```
A default configuration file can be created with the `--generate-config-file` option.
```bash
bat --generate-config-file
```
### Format ### 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. 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.
@@ -445,15 +512,11 @@ Example configuration file:
# Use italic text on the terminal (not supported on all terminals) # Use italic text on the terminal (not supported on all terminals)
--italic-text=always --italic-text=always
# Add mouse scrolling support in less (does not work with older # Use C++ syntax for .ino files
# versions of "less") --map-syntax "*.ino:C++"
--pager="less -FR"
# Use C++ syntax (instead of C) for .h header files # Use ".gitignore"-style highlighting for ".ignore" files
--map-syntax h:cpp --map-syntax ".ignore:Git Ignore"
# Use "gitignore" highlighting for ".ignore" files
--map-syntax .ignore:.gitignore
``` ```
## Using `bat` on Windows ## Using `bat` on Windows
@@ -484,7 +547,7 @@ or by setting `BAT_PAGER` to an empty string.
This can be solved by creating a wrapper or adding the following function to your `.bash_profile` file: This can be solved by creating a wrapper or adding the following function to your `.bash_profile` file:
```shell ```bash
bat() { bat() {
local index local index
local args=("$@") local args=("$@")
@@ -517,6 +580,18 @@ are supported (and fall back to 8-bit colors).
Please try a different theme (see `bat --list-themes` for a list). The `OneHalfDark` and Please try a different theme (see `bat --list-themes` for a list). The `OneHalfDark` and
`OneHalfLight` themes provide grid and line colors that are brighter. `OneHalfLight` themes provide grid and line colors that are brighter.
### File encodings
`bat` natively supports UTF-8 as well as UTF-16. For every other file encoding, you may need to
convert to UTF-8 first because the encodings can typically not be auto-detected. You can `iconv`
to do so.
Example: if you have a PHP file in Latin-1 (ISO-8859-1) encoding, you can call:
``` bash
iconv -f ISO-8859-1 -t UTF-8 my-file.php | bat
```
Note: you might have to use the `-l`/`--language` option if the syntax can not be auto-detected
by `bat`.
## Development ## Development
```bash ```bash
@@ -525,7 +600,7 @@ git clone --recursive https://github.com/sharkdp/bat
# Build (debug version) # Build (debug version)
cd bat cd bat
cargo build cargo build --bins
# Run unit tests and integration tests # Run unit tests and integration tests
cargo test cargo test
@@ -538,6 +613,11 @@ bash assets/create.sh
cargo install -f cargo install -f
``` ```
## Maintainers
- [sharkdp](https://github.com/sharkdp)
- [eth-p](https://github.com/eth-p)
## Project goals and alternatives ## Project goals and alternatives
`bat` tries to achieve the following goals: `bat` tries to achieve the following goals:
@@ -549,3 +629,10 @@ cargo install -f
There are a lot of alternatives, if you are looking for similar programs. See There are a lot of alternatives, if you are looking for similar programs. See
[this document](doc/alternatives.md) for a comparison. [this document](doc/alternatives.md) for a comparison.
## License
Copyright (c) 2018-2020 [bat-developers](https://github.com/sharkdp/bat).
`bat` is distributed under the terms of both the MIT License and the Apache License 2.0.
See the [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT) files for license details.
+2 -2
View File
@@ -16,11 +16,11 @@ install:
build: false build: false
test_script: test_script:
- cargo test --target %TARGET% --verbose - cargo test --target %TARGET% --verbose
- cargo run --target %TARGET% -- src/main.rs README.md --paging=never - cargo run --target %TARGET% -- src/bin/bat/main.rs README.md --paging=never
before_deploy: before_deploy:
# Generate artifacts for release # Generate artifacts for release
- cargo build --release --verbose - cargo build --bins --release --verbose
- ps: ci\before_deploy.ps1 - ps: ci\before_deploy.ps1
deploy: deploy:
+4
View File
@@ -38,3 +38,7 @@ The following files have been manually modified after converting from a `.tmLang
### Non-submodule additions ### 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 * `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
-76
View File
@@ -1,76 +0,0 @@
# Fish Shell Completions
# Place or symlink to $XDG_CONFIG_HOME/fish/completions/bat.fish ($XDG_CONFIG_HOME is usually set to ~/.config)
# Helper function:
function __bat_autocomplete_languages --description "A helper function used by "(status filename)
bat --list-languages | awk -F':' '
{
lang=$1
split($2, exts, ",")
for (i in exts) {
ext=exts[i]
if (ext !~ /[A-Z].*/ && ext !~ /^\..*rc$/) {
print ext"\t"lang
}
}
}
' | sort
end
# Completions:
complete -c bat -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 config-dir -d "Display location of 'bat' configuration directory" -n "not __fish_seen_subcommand_from cache"
complete -c bat -l config-file -d "Display location of 'bat' configuration file" -n "not __fish_seen_subcommand_from cache"
complete -c bat -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 -s h -l help -d "Print help message" -n "not __fish_seen_subcommand_from cache"
complete -c bat -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 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 l -l language -d "Set the language for syntax highlighting" -n "not __fish_seen_subcommand_from cache" -xa "(__bat_autocomplete_languages)"
complete -c bat -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 list-languages -d "Display list of supported languages for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
complete -c bat -l list-themes -d "Display a list of supported themes for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
complete -c bat -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 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 pager -x -d "<command> Specify which pager program to use (default: less)" -n "not __fish_seen_subcommand_from cache"
complete -c bat -l paging -xka "auto never always" -d "Specify when to use the pager (default: auto)" -n "not __fish_seen_subcommand_from cache"
complete -c bat -s p -l plain -d "Only show plain style, no decorations. Alias for '--style=plain'" -n "not __fish_seen_subcommand_from cache"
complete -c bat -s A -l show-all -d "Show non-printable characters like space/tab/newline" -n "not __fish_seen_subcommand_from cache"
complete -c bat -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 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 -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 theme -xka "(bat --list-themes | cat)" -d "Set the theme for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
complete -c bat -s u -l unbuffered -d "POSIX-compliant unbuffered output. Option is ignored" -n "not __fish_seen_subcommand_from cache"
complete -c bat -s V -l version -d "Show version information" -n "not __fish_seen_subcommand_from cache"
complete -c bat -l wrap -xka "auto never character" -d "<mode> Specify the text-wrapping mode (default: auto)" -n "not __fish_seen_subcommand_from cache"
# Sub-command 'cache' completions
complete -c bat -a "cache" -d "Modify the syntax/language definition cache" -n "not __fish_seen_subcommand_from cache"
complete -c bat -l build -f -d "Parse syntaxes/language definitions into cache" -n "__fish_seen_subcommand_from cache"
complete -c bat -l clear -f -d "Reset syntaxes/language definitions to default settings" -n "__fish_seen_subcommand_from cache"
+76
View File
@@ -0,0 +1,76 @@
# Fish Shell Completions
# Place 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, ",")
for (i in exts) {
ext=exts[i]
if (ext !~ /[A-Z].*/ && ext !~ /^\..*rc$/) {
print ext"\t"lang
}
}
}
' | sort
end
# 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 {{PROJECT_EXECUTABLE}} -l config-dir -d "Display location of '{{PROJECT_EXECUTABLE}}' configuration directory" -n "not __fish_seen_subcommand_from cache"
complete -c {{PROJECT_EXECUTABLE}} -l config-file -d "Display location of '{{PROJECT_EXECUTABLE}}' configuration file" -n "not __fish_seen_subcommand_from cache"
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 {{PROJECT_EXECUTABLE}} -s h -l help -d "Print help message" -n "not __fish_seen_subcommand_from cache"
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 {{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 {{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 {{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 {{PROJECT_EXECUTABLE}} -l list-languages -d "Display list of supported languages for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
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 {{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 {{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 {{PROJECT_EXECUTABLE}} -l pager -x -d "<command> Specify which pager program to use (default: less)" -n "not __fish_seen_subcommand_from cache"
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 {{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 {{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 {{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 {{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 {{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 {{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 {{PROJECT_EXECUTABLE}} -s u -l unbuffered -d "POSIX-compliant unbuffered output. Option is ignored" -n "not __fish_seen_subcommand_from cache"
complete -c {{PROJECT_EXECUTABLE}} -s V -l version -d "Show version information" -n "not __fish_seen_subcommand_from cache"
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"
# Sub-command 'cache' completions
complete -c {{PROJECT_EXECUTABLE}} -a "cache" -d "Modify the syntax/language definition cache" -n "not __fish_seen_subcommand_from cache"
complete -c {{PROJECT_EXECUTABLE}} -l build -f -d "Parse syntaxes/language definitions into cache" -n "__fish_seen_subcommand_from cache"
complete -c {{PROJECT_EXECUTABLE}} -l clear -f -d "Reset syntaxes/language definitions to default settings" -n "__fish_seen_subcommand_from cache"
+52 -6
View File
@@ -2,16 +2,62 @@
set -euo pipefail set -euo pipefail
ASSET_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" ASSET_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
REPO_DIR="$ASSET_DIR/.."
# Ensure submodules are initialized.
function update_submodules() {
local submodule
local submodule_prompt=unspecified
local submodule_path
{
while { read -r submodule && read -r submodule_path; } <&3; do
if ! [[ -d "${REPO_DIR}/.git/modules/${submodule}" ]] && [[ -d "${REPO_DIR}/${submodule_path}" ]]; then
if [[ "$submodule_prompt" = "unspecified" ]]; then
echo "One or more submodules were found to be uninitialized."
printf "Initialize and update them? [Y/n] "
read -r submodule_prompt
fi
case "$submodule_prompt" in
y|yes|'') {
git -C "$REPO_DIR" submodule update --init "$submodule_path"
};;
n|no) {
return
};;
*) {
echo "Unknown answer. Not updating submodules."
};;
esac
fi
done
} 3< <(git config --file "${REPO_DIR}/.gitmodules" --null --get-regexp path | xargs -0 printf "%s\n" | sed 's/^submodule.//;s/.path$//')
}
if [ -t 0 ]; then
update_submodules
fi
# Always remove the local cache to avoid any confusion # Always remove the local cache to avoid any confusion
bat cache --clear bat cache --clear
# TODO: Remove this (and the reverse part below) when # TODO:
# https://github.com/trishume/syntect/issues/222 has been fixed # - Remove the JavaDoc patch once https://github.com/trishume/syntect/issues/222 has been fixed
JAVADOC_FILE="${ASSET_DIR}/syntaxes/Packages/Java/JavaDoc.sublime-syntax" # - Remove the C# patch once https://github.com/sublimehq/Packages/pull/2331 has been merged
JAVADOC_PATCH="${ASSET_DIR}/JavaDoc.sublime-syntax.patch"
patch "$JAVADOC_FILE" "$JAVADOC_PATCH" (
cd "$ASSET_DIR"
for patch in patches/*.patch; do
patch --strip=0 < "$patch"
done
)
bat cache --build --blank --source="$ASSET_DIR" --target="$ASSET_DIR" bat cache --build --blank --source="$ASSET_DIR" --target="$ASSET_DIR"
patch -R "$JAVADOC_FILE" "$JAVADOC_PATCH" (
cd "$ASSET_DIR"
for patch in patches/*.patch; do
patch --strip=0 --reverse < "$patch"
done
)
+173
View File
@@ -0,0 +1,173 @@
.TH {{PROJECT_EXECUTABLE | upcase}} "1"
.SH NAME
{{PROJECT_EXECUTABLE}} \- a cat(1) clone with syntax highlighting and Git integration.
.SH "USAGE"
.IP "{{PROJECT_EXECUTABLE}} [OPTIONS] [FILE]..."
.IP "{{PROJECT_EXECUTABLE}} cache [CACHE-OPTIONS] [--build|--clear]
.SH DESCRIPTION
{{PROJECT_EXECUTABLE}} prints the syntax-highlighted content of a collection of FILEs to the
terminal. If no FILE is specified, or when FILE is '-', it reads from standard input.
{{PROJECT_EXECUTABLE}} supports a large number of programming and markup languages.
It also communicates with git(1) to show modifications with respect to the git index.
{{PROJECT_EXECUTABLE}} automatically pipes its output through a pager (by default: less).
Whenever the output of {{PROJECT_EXECUTABLE}} goes to a non-interactive terminal, i.e. when the
output is piped into another process or into a file, {{PROJECT_EXECUTABLE}} will act as a drop-in
replacement for cat(1) and fall back to printing the plain file contents.
.SH "OPTIONS"
General remarks: Command-line options like '-l'/'--language' that take values can be specified as
either '--language value', '--language=value', '-l value' or '-lvalue'.
.HP
\fB\-A\fR, \fB\-\-show\-all\fR
.IP
Show non\-printable characters like space, tab or newline. Use '\-\-tabs' to
control the width of the tab\-placeholders.
.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').
.HP
\fB\-l\fR, \fB\-\-language\fR <language>
.IP
Explicitly set the language for syntax highlighting. The language can be
specified as a name (like 'C++' or 'LaTeX') or possible file extension
(like 'cpp', 'hpp' or 'md'). Use '\-\-list\-languages' to show all supported
language names and file extensions.
.HP
\fB\-H\fR, \fB\-\-highlight\-line\fR <N:M>...
.IP
Highlight the specified line ranges with a different background color For example:
.RS
.IP "\-\-highlight\-line 40"
highlights line 40
.IP "\-\-highlight\-line 30:40"
highlights lines 30 to 40
.IP "\-\-highlight\-line :40"
highlights lines 1 to 40
.IP "\-\-highlight\-line 40:"
highlights lines 40 to the end of the file
.RE
.HP
\fB\-\-tabs\fR <T>
.IP
Set the tab width to T spaces. Use a width of 0 to pass tabs through directly
.HP
\fB\-\-wrap\fR <mode>
.IP
Specify the text\-wrapping mode (*auto*, never, character). The '\-\-terminal\-width' option
can be used in addition to control the output width.
.HP
\fB\-\-terminal\-width\fR <width>
.IP
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'.
.HP
\fB\-n\fR, \fB\-\-number\fR
.IP
Only show line numbers, no other decorations. This is an alias for '\-\-style=numbers'
.HP
\fB\-\-color\fR <when>
.IP
Specify when to use colored output. The automatic mode only enables colors if an
interactive terminal is detected. Possible values: *auto*, never, always.
.HP
\fB\-\-italic\-text\fR <when>
.IP
Specify when to use ANSI sequences for italic text in the output. Possible values:
always, *never*.
.HP
\fB\-\-decorations\fR <when>
.IP
Specify when to use the decorations that have been specified via '\-\-style'. The
automatic mode only enables decorations if an interactive terminal is detected. Possible
values: *auto*, never, always.
.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.
.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
the '\-\-paging' option. Example: '\-\-pager "less \fB\-RF\fR"'.
.HP
\fB\-m\fR, \fB\-\-map\-syntax\fR <glob-pattern:syntax-name>...
.IP
Map a glob pattern to an existing syntax name. The glob pattern is matched on the full
path and the filename. For example, to highlight *.build files with the Python syntax,
use -m '*.build:Python'. To highlight files named '.myignore' with the Git Ignore
syntax, use -m '.myignore:Git Ignore'.
.HP
\fB\-\-theme\fR <theme>
.IP
Set the theme for syntax highlighting. Use '\-\-list\-themes' to see all available themes.
To set a default theme, add the '\-\-theme="..."' option to the configuration file or
export the BAT_THEME environment variable (e.g.: export BAT_THEME="...").
.HP
\fB\-\-list\-themes\fR
.IP
Display a list of supported themes for syntax highlighting.
.HP
\fB\-\-style\fR <style\-components>
.IP
Configure which elements (line numbers, file headers, grid borders, Git modifications,
\&..) to display in addition to the file contents. The argument is a comma\-separated list
of components to display (e.g. 'numbers,changes,grid') or a pre\-defined style ('full').
To set a default style, add the '\-\-style=".."' option to the configuration file or
export the BAT_STYLE environment variable (e.g.: export BAT_STYLE=".."). Possible
values: *auto*, full, plain, changes, header, grid, numbers, snip.
.HP
\fB\-r\fR, \fB\-\-line\-range\fR <N:M>...
.IP
Only print the specified range of lines for each file. For example:
.RS
.IP "\-\-line\-range 30:40"
prints lines 30 to 40
.IP "\-\-line\-range :40"
prints lines 1 to 40
.IP "\-\-line\-range 40:"
prints lines 40 to the end of the file
.RE
.HP
\fB\-L\fR, \fB\-\-list\-languages\fR
.IP
Display a list of supported languages for syntax highlighting.
.HP
\fB\-u\fR, \fB\-\-unbuffered\fR
.IP
This option exists for POSIX\-compliance reasons ('u' is for 'unbuffered'). The output is
always unbuffered \- this option is simply ignored.
.HP
\fB\-h\fR, \fB\-\-help\fR
.IP
Print this help message.
.HP
\fB\-V\fR, \fB\-\-version\fR
.IP
Show version information.
.SH "POSITIONAL ARGUMENTS"
.HP
\fB<FILE>...\fR
.IP
Files to print and concatenate. Use a dash ('\-') or no argument at all to read from
standard input.
.SH "SUBCOMMANDS"
.HP
\fBcache\fR - Modify the syntax\-definition and theme cache.
.SH "FILES"
{{PROJECT_EXECUTABLE}} 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:
\fB{{PROJECT_EXECUTABLE}} --config-file\fR
Alternatively, you can use the BAT_CONFIG_PATH environment variable to point bat to a non-default
location of the configuration file.
+13
View File
@@ -0,0 +1,13 @@
diff --git syntaxes/01_Packages/C#/C#.sublime-syntax syntaxes/01_Packages/C#/C#.sublime-syntax
index ed494f8b..01b710e8 100644
--- syntaxes/01_Packages/C#/C#.sublime-syntax
+++ syntaxes/01_Packages/C#/C#.sublime-syntax
@@ -1312,7 +1312,7 @@ contexts:
2: punctuation.separator.cs
3: punctuation.section.brackets.end.cs
4: keyword.operator.pointer.cs
- - match: \((?=(?:[^,)(]*|\([^\)]*\))*,)
+ - match: \((?=(?:[^,)(]|\([^\)]*\))*,)
scope: punctuation.section.group.begin.cs
push:
- meta_scope: meta.group.tuple.cs
@@ -1,7 +1,7 @@
diff --git syntaxes/Packages/Java/JavaDoc.sublime-syntax syntaxes/Packages/Java/JavaDoc.sublime-syntax diff --git syntaxes/01_Packages/Java/JavaDoc.sublime-syntax syntaxes/01_Packages/Java/JavaDoc.sublime-syntax
index 422a6a9..40a741e 100644 index 422a6a9..40a741e 100644
--- syntaxes/Packages/Java/JavaDoc.sublime-syntax --- syntaxes/01_Packages/Java/JavaDoc.sublime-syntax
+++ syntaxes/Packages/Java/JavaDoc.sublime-syntax +++ syntaxes/01_Packages/Java/JavaDoc.sublime-syntax
@@ -13,7 +13,7 @@ variables: @@ -13,7 +13,7 @@ variables:
contexts: contexts:
prototype: prototype:
+81
View File
@@ -0,0 +1,81 @@
diff --git syntaxes/01_Packages/Makefile/Makefile.sublime-syntax syntaxes/01_Packages/Makefile/Makefile.sublime-syntax
index 3cc3a97e..0c7a3f24 100644
--- syntaxes/01_Packages/Makefile/Makefile.sublime-syntax
+++ syntaxes/01_Packages/Makefile/Makefile.sublime-syntax
@@ -44,64 +44,50 @@ variables:
# variable substitutions anywhere. We try to remedy this by hacking in a
# regex that matches up to four levels of nested parentheses, and ignores
# whatever's inside the parentheses.
- nps: '[^()]*'
- open: '(?:\('
- close: '\))?' # ignore this invalid.illegal
+ nps_unnested: '[^()]*'
+ nps: '[^()]*(?=[()])'
+ open: '(?:{{nps}}\('
+ close: '\){{nps_unnested}})?' # ignore this invalid.illegal
just_eat: | # WARNING: INSANITY FOLLOWS!
- (?x) # ignore whitespace in this regex
- {{nps}} # level 0
+ (?x)(?: # ignore whitespace in this regex
{{open}} # start level 1 __
- {{nps}} # level 1 _______ /*_>-<
{{open}} # start level 2 ___/ _____ \__/ /
- {{nps}} # level 2 <____/ \____/
{{open}} # start level 3 is like snek... (by Valerie Haecky)
- {{nps}} # level 3
{{open}} # start level 4
{{nps}} # level 4
{{close}} # end level 4
- {{nps}} # level 3
{{close}} # end level 3
- {{nps}} # level 2
{{open}} # start level 3
- {{nps}} # level 3
{{open}} # start level 4
{{nps}} # level 4
{{close}} # end level 4
- {{nps}} # level 3
{{close}} # end level 3
- {{nps}} # level 2
+ {{nps}}
{{close}} # end level 2
- {{nps}} # level 1
{{open}} # start level 2
- {{nps}} # level 2
{{open}} # start level 3
- {{nps}} # level 3
{{open}} # start level 4
{{nps}} # level 4
{{close}} # end level 4
- {{nps}} # level 3
+ {{nps}}
{{close}} # end level 3
- {{nps}} # level 2
{{open}} # start level 3
- {{nps}} # level 3
{{open}} # start level 4
{{nps}} # level 4
{{close}} # end level 4
- {{nps}} # level 3
+ {{nps}}
{{close}} # end level 3
- {{nps}} # level 2
{{open}} # start level 3
- {{nps}} # level 3
{{open}} # start level 4
{{nps}} # level 4
{{close}} # end level 4
- {{nps}} # level 3
+ {{nps}}
{{close}} # end level 3
- {{nps}} # level 2
+ {{nps}}
{{close}} # end level 2
- {{nps}} # level 1
+ {{nps}}
{{close}} # end level 1
- {{nps}} # level 0
+ |{{nps_unnested}})
rule_lookahead: '{{just_eat}}{{ruleassign}}{{just_eat}}'
var_lookahead_base: '{{just_eat}}({{varassign}}|{{shellassign}}){{just_eat}}'
+13
View File
@@ -0,0 +1,13 @@
diff --git syntaxes/01_Packages/Rust/Rust.sublime-syntax syntaxes/01_Packages/Rust/Rust.sublime-syntax
index 3c354486..24727a4e 100644
--- syntaxes/01_Packages/Rust/Rust.sublime-syntax
+++ syntaxes/01_Packages/Rust/Rust.sublime-syntax
@@ -907,6 +907,8 @@ contexts:
- include: type-any-identifier
- match: ':'
scope: punctuation.separator.rust
+ - match: (?=;)
+ pop: true
fn-body:
- meta_scope: meta.function.rust
BIN
View File
Binary file not shown.
@@ -33,7 +33,7 @@ contexts:
captures: captures:
1: constant.other.cabal 1: constant.other.cabal
2: punctuation.entity.cabal 2: punctuation.entity.cabal
- match: '^(?i)(executable|library|test-suite|benchmark|flag|source-repository)\s+([^\s,]+)\s*$' - match: '^(?i)(executable|library|test-suite|benchmark|flag|source-repository|custom-setup)\s+([^\s,]+)\s*$'
scope: entity.cabal scope: entity.cabal
captures: captures:
1: keyword.entity.cabal 1: keyword.entity.cabal
+271
View File
@@ -0,0 +1,271 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: CoffeeScript
comment: "CoffeeScript Syntax: version 1"
file_extensions:
- coffee
- Cakefile
- coffee.erb
- cson
first_line_match: ^#!.*\bcoffee
scope: source.coffee
contexts:
main:
- match: '(\([^()]*?\))\s*([=-]>)'
comment: "match stuff like: a -> …"
scope: meta.inline.function.coffee
captures:
1: variable.parameter.function.coffee
2: storage.type.function.coffee
- match: (new)\s+(\w+(?:\.\w*)*)
scope: meta.class.instance.constructor
captures:
1: keyword.operator.new.coffee
2: support.class.coffee
- match: "'''"
captures:
0: punctuation.definition.string.begin.coffee
push:
- meta_scope: string.quoted.heredoc.coffee
- match: "'''"
captures:
0: punctuation.definition.string.end.coffee
pop: true
- match: '"""'
captures:
0: punctuation.definition.string.begin.coffee
push:
- meta_scope: string.quoted.double.heredoc.coffee
- match: '"""'
captures:
0: punctuation.definition.string.end.coffee
pop: true
- match: \\.
scope: constant.character.escape.coffee
- include: interpolated_coffee
- match: "`"
captures:
0: punctuation.definition.string.begin.coffee
push:
- meta_scope: string.quoted.script.coffee
- match: "`"
captures:
0: punctuation.definition.string.end.coffee
pop: true
- match: '\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)'
scope: constant.character.escape.coffee
- match: (?<!#)###(?!#)
captures:
0: punctuation.definition.comment.coffee
push:
- meta_scope: comment.block.coffee
- match: '###(?:[ \t]*\n)'
captures:
0: punctuation.definition.comment.coffee
pop: true
- match: '@\w*'
scope: storage.type.annotation.coffeescript
- match: '(#)(?!\{).*$\n?'
scope: comment.line.number-sign.coffee
captures:
1: punctuation.definition.comment.coffee
- match: "/{3}"
push:
- meta_scope: string.regexp.coffee
- match: "/{3}[imgy]{0,4}"
pop: true
- include: interpolated_coffee
- include: embedded_comment
- match: '/(?![\s=/*+{}?]).*?[^\\]/[igmy]{0,4}(?![a-zA-Z0-9])'
scope: string.regexp.coffee
- match: |-
(?x)
\b(?<![\.\$])(
break|by|catch|continue|else|finally|for|in|of|if|return|switch|
then|throw|try|unless|when|while|until|loop|do|(?<=for)\s+own
)(?!\s*:)\b
scope: keyword.control.coffee
- match: |-
(?x)
and=|or=|!|%|&|\^|\*|\/|(\-)?\-(?!>)|\+\+|\+|~|==|=(?!>)|!=|<=|>=|<<=|>>=|
>>>=|<>|<|>|!|&&|\.\.(\.)?|\?|\||\|\||\:|\*=|(?<!\()/=|%=|\+=|\-=|&=|
\^=|\b(?<![\.\$])(instanceof|new|delete|typeof|and|or|is|isnt|not|super)\b
scope: keyword.operator.coffee
- match: '([a-zA-Z\$_](\w|\$|\.)*\s*(?!\::)((:)|(=[^=]))(?!(\s*\(.*\))?\s*((=|-)>)))'
scope: variable.assignment.coffee
captures:
1: variable.assignment.coffee
4: punctuation.separator.key-value
5: keyword.operator.coffee
- match: '(?<=\s|^)([\[\{])(?=.*?[\]\}]\s+[:=])'
captures:
0: keyword.operator.coffee
push:
- meta_scope: meta.variable.assignment.destructured.coffee
- match: '([\]\}]\s*[:=])'
captures:
0: keyword.operator.coffee
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*([=-]>))
)
scope: meta.function.coffee
captures:
2: entity.name.function.coffee
3: entity.name.function.coffee
4: variable.parameter.function.coffee
5: storage.type.function.coffee
- match: ^\s*(describe|it|app\.(get|post|put|all|del|delete))
comment: Show well-known functions from Express and Mocha in Go To Symbol view
push:
- meta_scope: meta.function.symbols.coffee
- match: $
pop: true
- include: main
- match: "[=-]>"
scope: storage.type.function.coffee
- match: '\b(?<!\.)(true|on|yes)(?!\s*[:=])\b'
scope: constant.language.boolean.true.coffee
- match: '\b(?<!\.)(false|off|no)(?!\s*[:=])\b'
scope: constant.language.boolean.false.coffee
- match: '\b(?<!\.)null(?!\s*[:=])\b'
scope: constant.language.null.coffee
- match: '\b(?<!\.)(this|extends)(?!\s*[:=])\b'
scope: variable.language.coffee
- match: '(class\b)\s+(@?[a-zA-Z\$_][\w\.]*)?(?:\s+(extends)\s+(@?[a-zA-Z\$\._][\w\.]*))?'
scope: meta.class.coffee
captures:
1: storage.type.class.coffee
2: entity.name.type.class.coffee
3: keyword.control.inheritance.coffee
4: entity.other.inherited-class.coffee
- match: \b(debugger|\\)\b
scope: keyword.other.coffee
- 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.coffee
- match: ((?<=console\.)(debug|warn|info|log|error|time|timeEnd|assert))\b
scope: support.function.console.coffee
- match: |-
(?x)\b(
decodeURI(Component)?|encodeURI(Component)?|eval|parse(Float|Int)|require
)\b
scope: support.function.coffee
- match: |-
(?x)((?<=\.)(
apply|call|concat|every|filter|forEach|from|hasOwnProperty|indexOf|
isPrototypeOf|join|lastIndexOf|map|of|pop|propertyIsEnumerable|push|
reduce(Right)?|reverse|shift|slice|some|sort|splice|to(Locale)?String|
unshift|valueOf
))\b
scope: support.function.method.array.coffee
- match: |-
(?x)((?<=Array\.)(
isArray
))\b
scope: support.function.static.array.coffee
- match: |-
(?x)((?<=Object\.)(
create|definePropert(ies|y)|freeze|getOwnProperty(Descriptors?|Names)|
getProperty(Descriptor|Names)|getPrototypeOf|is(Extensible|Frozen|Sealed)?|
isnt|keys|preventExtensions|seal
))\b
scope: support.function.static.object.coffee
- 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.coffee
- match: |-
(?x)((?<=Number\.)(
is(Finite|Integer|NaN)|toInteger
))\b
scope: support.function.static.number.coffee
- match: \b(Infinity|NaN|undefined)\b
scope: constant.language.coffee
- match: \;
scope: punctuation.terminator.statement.coffee
- match: ',[ |\t]*'
scope: meta.delimiter.object.comma.coffee
- match: \.
scope: meta.delimiter.method.period.coffee
- match: '\{|\}'
scope: meta.brace.curly.coffee
- match: \(|\)
scope: meta.brace.round.coffee
- match: '\[|\]\s*'
scope: meta.brace.square.coffee
- include: instance_variable
- include: single_quoted_string
- include: double_quoted_string
- include: numeric
double_quoted_string:
- match: '"'
captures:
0: punctuation.definition.string.begin.coffee
push:
- meta_scope: string.quoted.double.coffee
- match: '"'
captures:
0: punctuation.definition.string.end.coffee
pop: true
- match: '\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)'
scope: constant.character.escape.coffee
- include: interpolated_coffee
embedded_comment:
- match: (?<!\\)(#).*$\n?
scope: comment.line.number-sign.coffee
captures:
1: punctuation.definition.comment.coffee
instance_variable:
- match: '(@)([a-zA-Z_\$]\w*)?'
scope: variable.other.readwrite.instance.coffee
interpolated_coffee:
- match: '\#\{'
captures:
0: punctuation.section.embedded.coffee
push:
- meta_scope: source.coffee.embedded.source
- match: '\}'
captures:
0: punctuation.section.embedded.coffee
pop: true
- include: main
numeric:
- match: '(?<!\$)\b((0([box])[0-9a-fA-F]+)|([0-9]+(\.[0-9]+)?(e[+\-]?[0-9]+)?))\b'
scope: constant.numeric.coffee
single_quoted_string:
- match: "'"
captures:
0: punctuation.definition.string.begin.coffee
push:
- meta_scope: string.quoted.single.coffee
- match: "'"
captures:
0: punctuation.definition.string.end.coffee
pop: true
- match: '\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)'
scope: constant.character.escape.coffee
variable_name:
- match: '([a-zA-Z\$_]\w*(\.\w+)*)'
scope: variable.assignment.coffee
captures:
1: variable.assignment.coffee
+14
View File
@@ -0,0 +1,14 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: CpuInfo
file_extensions:
- cpuinfo
scope: source.cpuinfo
contexts:
main:
- match: '^([^:]+)\w*:\w*(.*)$'
captures:
1: keyword.other.cpuinfo-key
2: string.other.cpuinfo-value
@@ -131,9 +131,9 @@ contexts:
scope: keyword.control.pseudo-method.crystal scope: keyword.control.pseudo-method.crystal
- match: '\b(nil|true|false)\b(?![?!])' - match: '\b(nil|true|false)\b(?![?!])'
scope: constant.language.crystal scope: constant.language.crystal
- match: '\b(__(DIR|FILE|LINE)__|self)\b(?![?!])' - match: '\b(__(DIR|FILE|LINE|END_LINE)__|self)\b(?![?!])'
scope: variable.language.crystal scope: variable.language.crystal
- match: '\b(initialize|new|loop|include|extend|raise|getter|setter|property|class_getter|class_setter|class_property|describe|it|with|delegate|def_hash|def_equals|def_equals_and_hash|forward_missing_to|record|assert_responds_to|spawn)\b[!?]?' - 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.. comment: everything being a method but having a special function is a..
scope: keyword.control.special-method.crystal scope: keyword.control.special-method.crystal
- match: \b(require)\b - match: \b(require)\b
@@ -180,7 +180,7 @@ contexts:
(?<=^|\s)(def)\s+ # the def keyword (?<=^|\s)(def)\s+ # the def keyword
( (?>[a-zA-Z_\x{80}-\x{10FFFF}][\x{80}-\x{10FFFF}\w]*(?>\.|::))? # a method name prefix ( (?>[a-zA-Z_\x{80}-\x{10FFFF}][\x{80}-\x{10FFFF}\w]*(?>\.|::))? # a method name prefix
(?>[a-zA-Z_\x{80}-\x{10FFFF}][\x{80}-\x{10FFFF}\w]*(?>[?!]|=(?!>))? # the method name (?>[a-zA-Z_\x{80}-\x{10FFFF}][\x{80}-\x{10FFFF}\w]*(?>[?!]|=(?!>))? # the method name
|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) # …or an operator method |===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\](?:=|\?)?) ) # …or an operator method
\s*(\() # the openning parenthesis for arguments \s*(\() # the openning parenthesis for arguments
comment: the method pattern comes from the symbol pattern, see there for a explaination comment: the method pattern comes from the symbol pattern, see there for a explaination
captures: captures:
@@ -201,7 +201,7 @@ contexts:
(?<=^|\s)(def)\s+ # the def keyword (?<=^|\s)(def)\s+ # the def keyword
( (?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>\.|::))? # a method name prefix ( (?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>\.|::))? # a method name prefix
(?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>[?!]|=(?!>))? # the method name (?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>[?!]|=(?!>))? # the method name
|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) # …or an operator method |===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\](?:=|\?)?) ) # …or an operator method
[ \t] # the space separating the arguments [ \t] # the space separating the arguments
(?=[ \t]*[^\s#;]) # make sure arguments and not a comment follow (?=[ \t]*[^\s#;]) # make sure arguments and not a comment follow
comment: same as the previous rule, but without parentheses around the arguments comment: same as the previous rule, but without parentheses around the arguments
@@ -221,7 +221,7 @@ contexts:
( \s+ # an optional group of whitespace followed by… ( \s+ # an optional group of whitespace followed by…
( (?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>\.|::))? # a method name prefix ( (?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>\.|::))? # a method name prefix
(?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>[?!]|=(?!>))? # the method name (?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>[?!]|=(?!>))? # the method name
|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) )? # …or an operator method |===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\](?:=|\?)?) ) )? # …or an operator method
comment: the optional name is just to catch the def also without a method-name comment: the optional name is just to catch the def also without a method-name
scope: meta.function.method.without-arguments.crystal scope: meta.function.method.without-arguments.crystal
captures: captures:
@@ -588,7 +588,7 @@ contexts:
pop: true pop: true
- match: \\. - match: \\.
comment: Cant be named because its not neccesarily an escape. comment: Cant be named because its not neccesarily an escape.
- match: '(?<!:)(:)(?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>[?!]|=(?![>=]))?|===?|>[>=]?|<[<=]?|<=>|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?|@@?[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*)' - match: '(?<!:)(:)(?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>[?!]|=(?![>=]))?|===?|>[>=]?|<[<=]?|<=>|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\](?:=|\?)?|@@?[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*|!=?(?![?!]))'
comment: symbols comment: symbols
scope: constant.other.symbol.crystal scope: constant.other.symbol.crystal
captures: captures:
@@ -713,14 +713,14 @@ contexts:
captures: captures:
0: punctuation.definition.string.begin.crystal 0: punctuation.definition.string.begin.crystal
push: push:
- meta_scope: string.unquoted.embedded.js.jquery.crystal - meta_scope: string.unquoted.embedded.js.crystal
- meta_content_scope: text.js.jquery.embedded.crystal - meta_content_scope: text.js.embedded.crystal
- match: \s*\2$ - match: \s*\2$
captures: captures:
0: punctuation.definition.string.end.crystal 0: punctuation.definition.string.end.crystal
pop: true pop: true
- include: heredoc - include: heredoc
- include: scope:source.js.jquery - include: scope:source.js
- include: interpolated_crystal - include: interpolated_crystal
- include: escaped_char - include: escaped_char
- match: '(?><<-("?)((?:[_\w]+_|)(?:SH|SHELL))\b\1)' - match: '(?><<-("?)((?:[_\w]+_|)(?:SH|SHELL))\b\1)'
@@ -11,6 +11,7 @@ file_extensions:
- .env.example - .env.example
- .env.test - .env.test
- .env.test.local - .env.test.local
- .env.testing
- .env.dev - .env.dev
- .env.development - .env.development
- .env.development.local - .env.development.local
@@ -18,6 +19,8 @@ file_extensions:
- .env.production - .env.production
- .env.production.local - .env.production.local
- .env.dusk.local - .env.dusk.local
- .flaskenv
- .env.staging
scope: source.env scope: source.env
contexts: contexts:
main: main:
+133
View File
@@ -0,0 +1,133 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: fstab
file_extensions:
- fstab
scope: source.fstab
contexts:
main:
- include: comment
- match: '^'
push: fstab_device
comment: leading spaces
fstab_device:
- include: comment
- match: '\s*([^=\s]+=)([^\s]+)\s*'
comment: device by uuid or label
set: fstab_mountpoint
captures:
1: punctuation.accessor
2: keyword.other.device
- match: '\s*(//|\\\\)([^\s]+)\s*'
comment: device by samba share
set: fstab_mountpoint
captures:
1: punctuation.accessor
2: keyword.other.device
- match: '\s*([^\s]+)(:)([^\s]+)\s*'
comment: device by server
set: fstab_mountpoint
captures:
1: keyword.other.device
2: punctuation.accessor
3: keyword.other.device
- match: '\s*[^\s/\\]+\s*'
comment: device by dev name
set: fstab_mountpoint
scope: keyword.other.device
- match: '\s*(/dev/)([^\s]+)\s*'
comment: device by dev path
set: fstab_mountpoint
captures:
1: punctuation.accessor
2: keyword.other.device
- match: '\s*([^\s/]*/)*([^\s]+)\s*'
comment: device by unknown path
set: fstab_mountpoint
captures:
1: punctuation.accessor
2: keyword.other.device
- include: clear
fstab_mountpoint:
- include: comment
- match: '\s*/[^\s]*\s*'
comment: mount point
set: fstab_filesystem
scope: string.unquoted.mountpoint
- match: '\s*[^\s]+\s*'
comment: mount point without leading slash (invalid)
set: fstab_filesystem
scope: invalid.illegal
- include: clear
fstab_filesystem:
- include: comment
- match: '\s*[^\s]+\s*'
comment: filesystem type
set: fstab_options
scope: variable.parameter.filesystem
- include: clear
fstab_options:
- include: comment
- match: '([^\s,=]+)(=)([^\s,]+)'
comment: key-value option
captures:
1: entity.name.option
2: entity.other.separator
3: variable.parameter
- match: '[^\s,]+'
comment: flag option
scope: entity.name.option
- match: ','
comment: option separator
scope: punctuation.separator
- match: '\s+'
comment: next field
set: fstab_dump
- include: clear
fstab_dump:
- include: comment
- match: '\s*[01]\s*'
comment: dump field
scope: constant.numeric
set: fstab_pass
- match: '\s*[^\s]+\s*'
comment: invalid dump field
scope: invalid.illegal
set: fstab_pass
- include: clear
fstab_pass:
- include: comment
- match: '\s*[01]\s*'
comment: pass field
scope: constant.numeric
set: expected_eol
- match: '\s*[^\s]+\s*'
comment: invalid pass field
scope: invalid.illegal
set: expected_eol
- include: clear
expected_eol:
- include: comment
- include: clear
- match: '.*'
scope: invalid.illegal
comment:
- match: '\s*#.*$'
comment: comment using the number sign
scope: comment.line
clear:
- match: '.*$'
comment: used for clearing the context
pop: true
+48
View File
@@ -0,0 +1,48 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: group
file_extensions:
- group
scope: source.group
contexts:
main:
- comment: name
match: ^[^:]+
scope: keyword
- comment: password
match: ":"
push: password
password:
- comment: uid
match: ":"
set: gid
- comment: shadowpassword
match: "[^:]+"
scope: invalid
gid:
- comment: gid
match: ":"
set: users
- comment: number
match: "[0-9]+"
scope: constant.numeric
users:
- comment: newline
match: "\n"
pop: true
- comment: directory
match: "[^:\n]+"
scope: variable.parameter
- comment: separator
match: ","
scope: punctuation
@@ -4,9 +4,11 @@
name: JavaScript (Babel) name: JavaScript (Babel)
file_extensions: file_extensions:
- js - js
- mjs
- jsx - jsx
- babel - babel
- es6 - es6
- cjs
first_line_match: ^#!\s*/.*\b(node|js)$\n? first_line_match: ^#!\s*/.*\b(node|js)$\n?
scope: source.js scope: source.js
contexts: contexts:
@@ -15,7 +15,7 @@ contexts:
push: first_line push: first_line
first_line: first_line:
- match: '([A-Z0-9]+)(\()([^)]+)(\))' - match: '([A-Z0-9_\-]+)(\()([^)]+)(\))'
captures: captures:
1: meta.preprocessor 1: meta.preprocessor
2: keyword.operator 2: keyword.operator
@@ -36,9 +36,18 @@ contexts:
- match: '^\S.*$' - match: '^\S.*$'
scope: markup.heading scope: markup.heading
- match: '\b([a-z0-9_]+)(\()([^)]*)(\))' - match: '\b([A-Za-z0-9_\-]+)(\()([^)]*)(\))'
captures: captures:
1: entity.name.function 1: entity.name.function
2: keyword.operator 2: keyword.operator
3: constant.numeric 3: constant.numeric
4: keyword.operator 4: keyword.operator
# 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]+)("?))?'
captures:
1: entity.name
2: keyword.operator
3: punctuation.definition.string.begin
4: variable.parameter
3: punctuation.definition.string.end
+14
View File
@@ -0,0 +1,14 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: MemInfo
file_extensions:
- meminfo
scope: source.meminfo
contexts:
main:
- match: '^([^:]+)\w*:\w*(.*)$'
captures:
1: keyword.other.meminfo-key
2: string.other.meminfo-value
+257
View File
@@ -0,0 +1,257 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: Nim
file_extensions:
- nim
- nims
scope: source.nim
contexts:
main:
- match: '(\#\[\s*(TODO|todo)?)'
comment: A multiline comment.
captures:
1: punctuation.definition.multi-comment.nim
2: invalid.illegal.TODO.nim
push:
- meta_scope: comment.line.number-sign.multi-comment.nim
- match: '(.*]\#)'
captures:
1: punctuation.definition.multi-comment.nim
2: invalid.illegal.TODO.nim
pop: true
- match: (##\s*(TODO|todo)?).+$\n?
comment: A documentation comment.
scope: comment.line.number-sign.doc-comment.nim
captures:
1: punctuation.definition.doc-comment.nim
2: invalid.illegal.TODO.nim
- match: (##\s*)$\n?
comment: An empty documentation comment.
scope: comment.line.number-sign.doc-comment.empty.nim
captures:
1: punctuation.definition.doc-comment.empty.nim
- match: (#\s*(TODO|todo)?).*$\n?
comment: A regular comment
scope: comment.line.number-sign.comment.nim
captures:
1: punctuation.definition.comment.nim
2: invalid.illegal.TODO.nim
- match: '\{\.'
comment: Pragmas
push:
- meta_scope: pragma
- match: '\.?\}'
pop: true
- match: \"
push:
- meta_scope: string.something.nim
- match: \"
pop: true
- match: '([\w\x{80}-\x{10FFFF}]+)'
scope: entity.other.attribute-name.pragma.nim
- match: discard \"\"\"
comment: A discarded triple string literal comment
push:
- meta_scope: comment.line.discarded.nim
- match: \"\"\"
pop: true
- match: '(?<![\w\x{80}-\x{10FFFF}])(\d[_\d]*((\.[_\d]+([eE][\+\-]?\d[_\d]*)?)|([eE][\+\-]?\d[_\d]*)))(''?([fF](32|64|128))|[fFdD])?'
comment: A float literal
scope: constant.numeric.float.decimal.nim
- match: '(?<![\w\x{80}-\x{10FFFF}])(0[xX][0-9A-Fa-f][_0-9A-Fa-f]*)(''?(([iIuUfF](8|16|32|64))|[uUfFdD]))?'
comment: A hexadecimal literal
scope: constant.numeric.integer.hexadecimal.nim
- match: '(?<![\w\x{80}-\x{10FFFF}])(0[ocC][0-7][_0-7]*)(''?(([iIuUfF](8|16|32|64))|[uUfFdD]))?'
comment: A base-8 integer literal
scope: constant.numeric.integer.octal.nim
- match: '(?<![\w\x{80}-\x{10FFFF}])(0(b|B)[01][_01]*)(''?(([iIuUfF](8|16|32|64))|[uUfFdD]))?'
comment: A base-2 integer literal
scope: constant.numeric.integer.binary.nim
- match: '(?<![\w\x{80}-\x{10FFFF}])(\d[_\d]*)(''?(([iIuUfF](8|16|32|64))|[uUfFdD]))?'
comment: A base-10 integer literal
scope: constant.numeric.integer.decimal.nim
- match: '(?<![\w\x{80}-\x{10FFFF}])(true|false|inf|nil)(?![\w\x{80}-\x{10FFFF}])'
comment: Language Constants.
scope: constant.language.nim
- match: (?:^|\s+|=)(when|if)\b
comment: Primary branching keywords
captures:
1: keyword.control.primary.nim
push:
- match: (?=:)
captures:
1: control.variable.parameter.nim
pop: true
- include: scope:source.nim
- match: (?:^|\s+|=)(case)\b
comment: Primary branching keyword 'case'
captures:
1: keyword.control.primary.nim
push:
- match: (?=\bof\b)
captures:
1: control.variable.parameter.nim
pop: true
- include: scope:source.nim
- match: (?:^|\s+)(of|else|elif)\b
comment: Secondary branching keywords and their conditions
captures:
1: keyword.control.secondary.nim
push:
- match: (?=:)
captures:
1: control.variable.parameter.nim
pop: true
- include: scope:source.nim
- match: '(?<![\w\x{80}-\x{10FFFF}])(await|block|break|continue|do|end|except|finally|raise|return|try|while|yield)(?![\w\x{80}-\x{10FFFF}])'
comment: Keywords that affect program control flow or scope.
scope: keyword.control.nim
- match: '((?<![\w\x{80}-\x{10FFFF}])(and|in|is|isnot|not|notin|or|xor)(?![\w\x{80}-\x{10FFFF}]))'
comment: Keyword boolean operators for expressions.
scope: keyword.operator.boolean.nim
- match: '((?<![\w\x{80}-\x{10FFFF}])(addr|as|atomic|bind|cast|const|converter|defer|discard|distinct|div|enum|export|include|let|mixin|object|of|ptr|ref|shl|shr|static|type|var)(?![\w\x{80}-\x{10FFFF}]))'
comment: Other keywords.
scope: keyword.other.nim
- match: (\b()\b|(=|\+|-|\*|/|<|>|@|\$|~|&|%|!|\?|\^|\.|:|\\)+)
comment: Generic operators for expressions.
scope: keyword.operator.nim
- match: (for)\s+
comment: in keyword in a 'for' loop
captures:
1: keyword.control.nim
push:
- meta_scope: meta.forloop.nim
- match: (?=:)
captures:
1: keyword.control.nim
pop: true
- match: '\ [\w\x{80}-\x{10FFFF},]+\s+(in)\s+'
captures:
1: keyword.control.nim
- include: scope:source.nim
- match: '((import)\s+[\.|\w|\/]+,?)'
comment: Import syntax
captures:
2: keyword.control.nim
- match: '(from)\s+[\/\w]+\s+(?=import)'
captures:
1: keyword.control.nim
- match: (var|let)\s*\(
comment: Destructure syntax
captures:
1: keyword.other.nim
push:
- match: \)
captures:
1: keyword.other.nim
pop: true
- match: '((?<![\w\x{80}-\x{10FFFF}])(generic|interface|lambda|out|shared|with|without)(?![\w\x{80}-\x{10FFFF}]))'
comment: Invalid and unused keywords.
scope: keyword.invalid.nim
- match: '(?<![\w\x{80}-\x{10FFFF}])(new|GC_ref|GC_unref|assert|echo|defined|declared|newException|countup|countdown|len|high|low)(?![\w\x{80}-\x{10FFFF}])'
comment: Common functions
scope: keyword.other.common.function.nim
- match: '(?<![\w\x{80}-\x{10FFFF}])(((uint|int|float)(8|16|32|64)?)|clong|culong|cchar|cschar|cshort|cint|csize|clonglong|cfloat|cdouble|clongdouble|cuchar|cushort|cuint|culonglong|cstringArray|bool|string|auto|cstring|char|byte|tobject|typedesc|stmt|expr|any|untyped|typed)(?![\w\x{80}-\x{10FFFF}])'
comment: Built-in, concrete types.
scope: storage.type.concrete.nim
- match: '(?<![\w\x{80}-\x{10FFFF}])(range|array|seq|tuple|natural|set|ref|ptr|pointer)(?![\w\x{80}-\x{10FFFF}])'
comment: Built-in, generic types.
scope: storage.type.generic.nim
- match: '(?<![\w\x{80}-\x{10FFFF}])(proc|iterator|method|template|macro)(?![\w\x{80}-\x{10FFFF}])'
comment: Function types
scope: storage.type.function.nim
- match: '(?<![\w\x{80}-\x{10FFFF}])(openarray|varargs|void)(?![\w\x{80}-\x{10FFFF}])'
comment: Special types.
scope: storage.type.generic.nim
- match: '(?<![\w\x{80}-\x{10FFFF}])([A-Z][A-Z0-9_]+)(?![\w\x{80}-\x{10FFFF}])'
comment: Other constants.
scope: support.constant.nim
- match: '(?<![\w\x{80}-\x{10FFFF}])([A-Z]\w+)(?![\w\x{80}-\x{10FFFF}])'
comment: Other types.
scope: support.type.nim
- match: '(?<![\w\x{80}-\x{10FFFF}])(\w+)(?![\w\x{80}-\x{10FFFF}])(?=\()'
comment: Function call.
scope: support.function.any-method.nim
- match: r?\"\"\"
comment: (Raw) Triple Quoted String
push:
- meta_scope: string.quoted.triple.nim
- match: '\"\"\"[^\"]'
pop: true
- match: r\"
comment: Raw Double Quoted String
push:
- meta_scope: string.quoted.double.raw.nim
- match: \"
pop: true
- match: \"\"
- match: \"
comment: Double Quoted String
push:
- meta_scope: string.quoted.double.nim
- match: \"
pop: true
- include: escaped_char
- match: \'
comment: Single quoted character literal
push:
- meta_scope: string.quoted.single.nim
- match: \'
pop: true
- match: \\n
scope: invalid.illegal.character.nim
- include: escaped_char
- match: '([^\''][^\'']+?)'
scope: invalid.illegal.character.nim
- match: '([\w\x{80}-\x{10FFFF}\`]+)\s*(?=\(|\[.+?\]\s*\()'
comment: Call syntax
captures:
1: support.function.any-method.nim
push:
- match: \)
captures:
1: support.function.any-method.nim
pop: true
- include: scope:source.nim
- match: '([\w\x{80}-\x{10FFFF}]+)(?=\s+[\w](?![\w\x{80}-\x{10FFFF}]+((?!\n)\s)+))'
comment: Command syntax
captures:
1: support.function.any-method.nim
- match: '([\w\x{80}-\x{10FFFF}]+)(?=\s+[\"\''\`])'
captures:
1: support.function.any-method.nim
- match: (tmpl(i)?)(?=( (nim|html|xml|js|css|glsl|md))?\"\"\")
comment: tmpl specifier
captures:
1: storage.type.function.nim
2: keyword.operator.nim
escaped_char:
- match: '\\[nN]'
scope: constant.character.escape.newline.nim
- match: '\\[cC]|\\[rR]'
scope: constant.character.escape.carriagereturn.nim
- match: '\\[lL]'
scope: constant.character.escape.linefeed.nim
- match: '\\[fF]'
scope: constant.character.escape.formfeed.nim
- match: '\\[tT]'
scope: constant.character.escape.tabulator.nim
- match: '\\[vV]'
scope: constant.character.escape.verticaltabulator.nim
- match: \\\"
scope: constant.character.escape.double-quote.nim
- match: \\'
scope: constant.character.escape.single-quote.nim
- match: '\\[0-9]+'
scope: constant.character.escape.chardecimalvalue.nim
- match: '\\[aA]'
scope: constant.character.escape.alert.nim
- match: '\\[bB]'
scope: constant.character.escape.backspace.nim
- match: '\\[eE]'
scope: constant.character.escape.escape.nim
- match: '\\[xX][0-9A-Fa-f]{2}'
scope: constant.character.escape.hex.nim
- match: \\\\
scope: constant.character.escape.backslash.nim
@@ -140,7 +140,7 @@ contexts:
push: push:
- match: '(?=([\])};]|\b(else|then)\b))' - match: '(?=([\])};]|\b(else|then)\b))'
pop: true pop: true
- match: '(?=(\s*\}|\"|\binherit\b|\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*(\s*\.|\s*=[^=])))' - match: '(?=(\s*\}|\"|\binherit\b|\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*(\s*\.|\s*=[^=])|\$\{[a-zA-z0-9\_\''\-]+\}(\s*\.|\s*=[^=])))'
push: push:
- match: '(?=([\])};,]|\b(else|then)\b))' - match: '(?=([\])};,]|\b(else|then)\b))'
pop: true pop: true
@@ -563,7 +563,7 @@ contexts:
pop: true pop: true
- include: string-quoted - include: string-quoted
- include: expression-cont - include: expression-cont
- match: '([a-zA-Z0-9\.\_\-\+]*(\/[a-zA-Z0-9\.\_\-\+]+)+)' - match: '(~?[a-zA-Z0-9\.\_\-\+]*(\/[a-zA-Z0-9\.\_\-\+]+)+)'
captures: captures:
0: string.unquoted.path.nix 0: string.unquoted.path.nix
push: push:
+71
View File
@@ -0,0 +1,71 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: passwd
file_extensions:
- passwd
scope: source.passwd
contexts:
main:
- comment: name
match: ^[^:]+
scope: keyword
- comment: password
match: ":"
push: password
password:
- comment: uid
match: ":"
set: uid
- comment: shadowpassword
match: "[^:]+"
scope: invalid
uid:
- comment: gid
match: ":"
set: gid
- comment: number
match: "[0-9]+"
scope: constant.numeric
gid:
- comment: comment
match: ":"
set: comment
- comment: number
match: "[0-9]+"
scope: constant.language
comment:
- comment: directory
match: ":"
set: directory
- comment: comment
match: "[^:]+"
scope: entity.name
directory:
- comment: shell
match: ":"
set: shell
- comment: directory
match: "[^:]+"
scope: string.unquoted
shell:
- comment: newline
match: "\n"
pop: true
- comment: directory
match: "[^:\n]+"
scope: variable.parameter
@@ -147,7 +147,7 @@ contexts:
2: keyword.other.powershell 2: keyword.other.powershell
3: variable.parameter.powershell 3: variable.parameter.powershell
attribute: attribute:
- match: '(\[)\s*\b(?i)(cmdletbinding|alias|outputtype|parameter|validatenotnull|validatenotnullorempty|validatecount|validateset|allownull|allowemptycollection|allowemptystring|validatescript|validaterange|validatepattern|validatelength)\b' - match: '(\[)\s*\b(?i)(cmdletbinding|alias|outputtype|parameter|validatenotnull|validatenotnullorempty|validatecount|validateset|allownull|allowemptycollection|allowemptystring|validatescript|validaterange|validatepattern|validatelength|supportswildcards)\b'
captures: captures:
1: punctuation.section.bracket.begin.powershell 1: punctuation.section.bracket.begin.powershell
2: support.function.attribute.powershell 2: support.function.attribute.powershell
@@ -165,31 +165,11 @@ contexts:
captures: captures:
0: punctuation.section.group.end.powershell 0: punctuation.section.group.end.powershell
pop: true pop: true
- include: variable
- include: variableNoProperty
- include: hashtable
- include: scriptblock
- include: doubleQuotedStringEscapes
- include: doubleQuotedString
- include: type
- include: numericConstant
- include: doubleQuotedString
- include: main - include: main
- match: (?i)\b(mandatory|valuefrompipeline|valuefrompipelinebypropertyname|valuefromremainingarguments|position|parametersetname|defaultparametersetname|supportsshouldprocess|supportspaging|positionalbinding|helpuri|confirmimpact|helpmessage)\b(?:\s+)?(=)? - match: (?i)\b(mandatory|valuefrompipeline|valuefrompipelinebypropertyname|valuefromremainingarguments|position|parametersetname|defaultparametersetname|supportsshouldprocess|supportspaging|positionalbinding|helpuri|confirmimpact|helpmessage)\b(?:\s+)?(=)?
captures: captures:
1: variable.parameter.attribute.powershell 1: variable.parameter.attribute.powershell
2: keyword.operator.assignment.powershell 2: keyword.operator.assignment.powershell
- match: (?<!')'
captures:
0: punctuation.definition.string.begin.powershell
push:
- meta_scope: string.quoted.single.powershell
- match: "'(?!')"
captures:
0: punctuation.definition.string.end.powershell
pop: true
- match: "''"
scope: constant.character.escape.powershell
commands: commands:
- match: '(?:(\p{L}|\d|_|-|\\|\:)*\\)?\b(?i:Add|Approve|Assert|Backup|Block|Build|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Deploy|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Mount|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Write)\-.+?(?:\.(?i:exe|cmd|bat|ps1))?\b' - match: '(?:(\p{L}|\d|_|-|\\|\:)*\\)?\b(?i:Add|Approve|Assert|Backup|Block|Build|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Deploy|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Mount|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Write)\-.+?(?:\.(?i:exe|cmd|bat|ps1))?\b'
comment: "Verb-Noun pattern:" comment: "Verb-Noun pattern:"
@@ -242,14 +222,14 @@ contexts:
pop: true pop: true
- match: '(?i)\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,64}\b' - match: '(?i)\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,64}\b'
- include: variableNoProperty - include: variableNoProperty
- include: variable
- include: doubleQuotedStringEscapes - include: doubleQuotedStringEscapes
- include: interpolation - include: interpolation
- match: '`\s*$' - match: '`\s*$'
scope: keyword.other.powershell scope: keyword.other.powershell
doubleQuotedStringEscapes: doubleQuotedStringEscapes:
- match: '`[0abnfrvt"''$`]' - match: '`[`0abefnrtv"''$]'
scope: constant.character.escape.powershell scope: constant.character.escape.powershell
- include: unicodeEscape
- match: '""' - match: '""'
scope: constant.character.escape.powershell scope: constant.character.escape.powershell
function: function:
@@ -362,6 +342,11 @@ contexts:
- match: '(?!\d+|\.)(?:\p{L}|\p{N}|\.)+' - match: '(?!\d+|\.)(?:\p{L}|\p{N}|\.)+'
scope: storage.type.powershell scope: storage.type.powershell
- include: main - include: main
unicodeEscape:
- match: '`u\{(?:(?:10)?([0-9a-fA-F]){1,4}|0?\g<1>{1,5})}'
scope: constant.character.escape.powershell
- match: '`u(?:\{[0-9a-fA-F]{,6}.)?'
scope: invalid.character.escape.powershell
variable: variable:
- match: (\$)(?i:(False|Null|True))\b - match: (\$)(?i:(False|Null|True))\b
comment: These are special constants. comment: These are special constants.
@@ -374,13 +359,13 @@ contexts:
0: support.constant.variable.powershell 0: support.constant.variable.powershell
1: punctuation.definition.variable.powershell 1: punctuation.definition.variable.powershell
3: variable.other.member.powershell 3: variable.other.member.powershell
- match: '(\$)(?i:(\$|\^|\?|_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This))((?:\.(?:\p{L}|\d|_)+)*\b)?\b' - match: '(\$)((?:[$^?])|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\b)((?:\.(?:\p{L}|\d|_)+)*\b)?'
comment: Automatic variables are not constants, but they are read-only. In monokai (default) color schema support.variable doesn't have color, so we use constant. comment: Automatic variables are not constants, but they are read-only. In monokai (default) color schema support.variable doesn't have color, so we use constant.
captures: captures:
0: support.constant.automatic.powershell 0: support.variable.automatic.powershell
1: punctuation.definition.variable.powershell 1: punctuation.definition.variable.powershell
3: variable.other.member.powershell 3: variable.other.member.powershell
- match: '(\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|ProgressPreference|PsCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|VerbosePreference|WarningPreference|WhatIfPreference))((?:\.(?:\p{L}|\d|_)+)*\b)?\b' - match: '(\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))((?:\.(?:\p{L}|\d|_)+)*\b)?\b'
comment: Style preference variables as language variables so that they stand out. comment: Style preference variables as language variables so that they stand out.
captures: captures:
0: variable.language.powershell 0: variable.language.powershell
@@ -426,19 +411,19 @@ contexts:
0: support.constant.variable.powershell 0: support.constant.variable.powershell
1: punctuation.definition.variable.powershell 1: punctuation.definition.variable.powershell
3: variable.other.member.powershell 3: variable.other.member.powershell
- match: (\$)(?i:(\$|\^|\?|_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This))\b - match: '(\$)((?:[$^?])|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\b)'
comment: Automatic variables are not constants, but they are read-only... comment: Automatic variables are not constants, but they are read-only...
captures: captures:
0: support.variable.automatic.powershell 0: support.variable.automatic.powershell
1: punctuation.definition.variable.powershell 1: punctuation.definition.variable.powershell
3: variable.other.member.powershell 3: variable.other.member.powershell
- match: (\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|ProgressPreference|PsCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|VerbosePreference|WarningPreference|WhatIfPreference))\b - match: (\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))\b
comment: Style preference variables as language variables so that they stand out. comment: Style preference variables as language variables so that they stand out.
captures: captures:
0: variable.language.powershell 0: variable.language.powershell
1: punctuation.definition.variable.powershell 1: punctuation.definition.variable.powershell
3: variable.other.member.powershell 3: variable.other.member.powershell
- match: '(?i:(\$|@)(global|local|private|script|using|workflow):((?:\p{L}|\d|_)+))' - match: '(?i:(\$)(global|local|private|script|using|workflow):((?:\p{L}|\d|_)+))'
captures: captures:
0: variable.other.readwrite.powershell 0: variable.other.readwrite.powershell
1: punctuation.definition.variable.powershell 1: punctuation.definition.variable.powershell
+97
View File
@@ -0,0 +1,97 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: Rego
file_extensions:
- rego
scope: source.rego
contexts:
main:
- include: comment
- include: keyword
- include: operator
- include: head
- include: term
comment:
- match: (#).*$\n?
scope: comment.line.number-sign.rego
captures:
1: punctuation.definition.comment.rego
call:
- match: '([a-zA-Z_][a-zA-Z0-9_]*)\('
scope: meta.function-call.rego
captures:
1: support.function.any-method.rego
constant:
- match: \b(?:true|false|null)\b
scope: constant.language.rego
head:
- match: "^([[:alpha:]_][[:alnum:]_]*)"
captures:
1: entity.name.function.declaration
push:
- meta_scope: meta.function.rego
- match: '(=|{|\n)'
pop: true
- include: term
keyword:
- match: (^|\s+)(?:(default|not|package|import|as|with|else|some))\s+
scope: keyword.other.rego
number:
- match: |-
(?x: # turn on extended mode
-? # an optional minus
(?:
0 # a zero
| # ...or...
[1-9] # a 1-9 character
\d* # followed by zero or more digits
)
(?:
(?:
\. # a period
\d+ # followed by one or more digits
)?
(?:
[eE] # an e character
[+-]? # followed by an option +/-
\d+ # followed by one or more digits
)? # make exponent optional
)? # make decimal portion optional
)
scope: constant.numeric.rego
operator:
- match: \=|\!\=|>|<|<\=|>\=|\+|-|\*|%|/|\||&|:\=
scope: keyword.operator.comparison.rego
string:
- match: '"'
captures:
0: punctuation.definition.string.begin.rego
push:
- meta_scope: string.quoted.double.rego
- match: '"'
captures:
0: punctuation.definition.string.end.rego
pop: true
- match: |-
(?x: # turn on extended mode
\\ # a literal backslash
(?: # ...followed by...
["\\/bfnrt] # one of these characters
| # ...or...
u # a u
[0-9a-fA-F]{4} # and four hex digits
)
)
scope: constant.character.escape.rego
- match: \\.
scope: invalid.illegal.unrecognized-string-escape.rego
term:
- include: constant
- include: string
- include: number
- include: call
- include: variable
variable:
- match: '\b[[:alpha:]_][[:alnum:]_]*\b'
scope: meta.identifier.rego
+21
View File
@@ -0,0 +1,21 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: resolv
file_extensions:
- resolv.conf
scope: source.resolv
contexts:
main:
- scope: comment.line.number-sign
match: \#.*
comment: comment
- comment: configuration
match: "(nameserver|domain|search|sortlist|options)"
scope: keyword.control
- comment: options
match: "(debug|ndots|timeout|attempts|rotate|no-check-names|inet6|ip6-bytestring|ip6-dotint|no-ip6-dotint|edns0|single-request|single-request-reopen|no-tld-query|use-vc|no-reload)"
scope: entity.name
@@ -52,3 +52,6 @@ contexts:
- meta_scope: keyword.control.robot - meta_scope: keyword.control.robot
- match: '($|\||\s{2,})' - match: '($|\||\s{2,})'
pop: true pop: true
- match: (?i)^\s+(Given|When|and|but|Then)
comment: BDD keywords
scope: string.robot.bdd
+711
View File
@@ -0,0 +1,711 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: Stylus
file_extensions:
- styl
- stylus
scope: source.stylus
contexts:
main:
- include: comments
- match: '^\s*(@(?:import|charset|css|font-face|(?:-webkit-)?keyframes)(?:\s+([\w-]+))?)\b'
captures:
1: keyword.control.at-rule.other.stylus
2: variable.other.animation-name.stylus
push:
- match: '$|;|(?=\{)'
pop: true
- include: string-quoted
- match: ^\s*(@media)\s*
captures:
1: keyword.control.at-rule.media.stylus
push:
- match: '$|(?=\{)'
pop: true
- include: media-query
- match: |-
(?x)
(?<=^|;|})
\s*
(?=
[\[\]'".\w$-]+
\s*
([?:]?=)
(?![^\[]*\])
)
push:
- match: $|;
pop: true
- include: expression
- include: iteration
- include: conditionals
- include: return
- match: |-
(?x) # multi-line regex definition mode
^(\s*) # starts at the beginning of line
([\w$-]+) # identifier (name)
(\() # start of argument list
(?=
.*?
\)\s*\{ # we see a curly brace afterwards
) # which means this is a function definition
captures:
2: entity.name.function.stylus
3: punctuation.definition.parameters.start.stylus
push:
- meta_scope: meta.function-call.stylus
- match: (\))
captures:
1: punctuation.definition.parameters.end.stylus
pop: true
- include: expression
- match: |-
(?x) # multi-line regex definition mode
(
(^|;) # starts at the beginning of line or at a ;
\s*
(\+?\s* # for block mixins
[\w$-]+) # identifier (name)
(\() # start of argument list
(?=
.*?
\)\s*;?\s* # if there are only spaces and semicolons
$|; # then this a
)
)
captures:
3: entity.other.attribute-name.mixin.stylus
4: punctuation.definition.parameters.start.stylus
push:
- meta_scope: meta.function-call.stylus
- match: (\))
captures:
1: punctuation.definition.parameters.end.stylus
pop: true
- include: expression
- match: |-
(?x) # multi-line regex definition mode
(^|(?<=\*/|\}))\s*
(?=
font(?!
\s*:\s
|
-
|
.*?
(?:
\/|normal|bold|light(er?)|serif|sans|monospace|
\b\d+(?:\b|px|r?em|%)|
var\s*\(|
['"][^\]]*$
)
) | # we need to distinguish between tag and property `cursor`
cursor(?!
\s*[:;]\s
|
-
|
.*?
(?:
(?:url\s*\()|
(?:-moz-|-webkit-|-ms-)?
(?:auto|default|none|context-menu|help|pointer|progress|
wait|cell|crosshair|text|vertical-text|alias|copy|
move|no-drop|not-allowed|e-resize|n-resize|ne-resize|
nw-resize|s-resize|se-resize|sw-resize|w-resize|
ew-resize|ns-resize|nesw-resize|nwse-resize|col-resize|
row-resize|all-scroll|zoom-in|zoom-out|grab|grabbing
normal|bold|light(er?)|serif|sans|monospace)
)
) | (
(
altGlyph|altGlyphDef|altGlyphItem|animate|animateColor|
animateMotion|animateTransform|circle|clipPath|color-profile|
defs|desc|ellipse|feBlend|feColorMatrix|
feComponentTransfer|feComposite|feConvolveMatrix|
feDiffuseLighting|feDisplacementMap|feDistantLight|feFlood|
feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feImage|feMerge|
feMergeNode|feMorphology|feOffset|fePointLight|
feSpecularLighting|feSpotLight|feTile|feTurbulence|filter|
font-face|font-face-format|font-face-name|font-face-src|
font-face-uri|foreignObject|g|glyph|glyphRef|hkern|image|line|
linearGradient|marker|mask|metadata|missing-glyph|mpath|path|
pattern|polygon|polyline|radialGradient|rect|set|stop|svg|
switch|symbol|text|textPath|tref|tspan|use|view|vkern|
a|abbr|acronym|address|applet|area|article|aside|audio|b|base|
basefont|bdi|bdo|bgsound|big|blink|blockquote|body|br|button|
canvas|caption|center|cite|code|col|colgroup|data|
datalist|dd|decorator|del|details|dfn|dir|div|dl|dt|element|
em|embed|fieldset|figcaption|figure|footer|form|frame|
frameset|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|
img|input|ins|isindex|kbd|keygen|label|legend|li|link|listing|
main|map|mark|marquee|menu|menuitem|meta|meter|nav|nobr|
noframes|noscript|object|ol|optgroup|option|output|p|param|
plaintext|pre|progress|q|rp|rt|ruby|s|samp|script|section|
select|shadow|small|source|spacer|span|strike|strong|style|
sub|summary|sup|table|tbody|td|template|textarea|tfoot|th|
thead|time|title|tr|track|tt|u|ul|var|video|wbr|xmp)
\s*([\s,.#\[]|:[^\s]|(?=\{|$))
) | (
[:~>\[*\/] # symbols but they are valid for selector
) | (
\+\s*[\w$-]+\b\s* # are an identifier starting with $
(?!\() # and they can't have anything besides
) | ( # for animtions
\d+(\.\d+)?%|(from|to)\b
) | ( # Placeholder selectors
\$[\w$-]+\b\s* # are an identifier starting with $
(?=$|\{) # and they can't have anything besides
) | ( # CSS class
\.[a-zA-Z0-9_-]+
) | ( # CSS id
\#[a-zA-Z0-9_-]+
) | ( # Reference to parent
([\w\d_-]+)? # matching any word right before &
(&) # & itself, escaped because of plist
([\w\d_-]+)? # matching any word right after &
)
)
push:
- meta_scope: meta.selector.stylus
- match: |-
|$|(?=\{\s*\}.*$)|(?=\{.*?[:;])|(?=\{)(?!.+\}.*$)
pop: true
- include: comma
- match: \d+(\.\d+)?%|from|to
scope: entity.other.animation-keyframe.stylus
- include: selector-components
- match: .
scope: entity.other.attribute-name.stylus
- match: |-
(?x) # multi-line regex definition mode
(?<=^|;|{)\s* # starts after begining of line, '{' or ';''
(?= # lookahead for
(
[a-zA-Z0-9_-] # then a letter
| # or
(\{(.*?)\}) # interpolation
| # or
(/\*.*?\*/) # comment
)+
\s*[:\s]\s* # value is separted by colon or space
(?!(\s*\{)) # if there are only spaces afterwards
(?!
[^}]*? # checking for an unclosed curly braces on this
\{ # line because if one exists it means that
[^}]* # this is a selector and not a property
($|\})
)
)
push:
- match: '(?=\}|;)|(?<!,)\s*\n'
pop: true
- include: comments
- include: interpolation
- match: '(?<!^|;|{)\s*(?:(:)|\s)'
captures:
1: punctuation.separator.key-value.stylus
push:
- match: '(;)|(?=\})|(?=(?<!\,)\s*\n)'
captures:
1: punctuation.terminator.rule.stylus
pop: true
- include: comments
- include: expression
- match: "-(moz|o|ms|webkit|khtml)-"
scope: support.type.vendor-prefix.stylus
- match: .
scope: meta.property-name.stylus support.type.property-name.stylus
- match: '@extends?\s'
captures:
0: keyword.language.stylus
push:
- match: (?=$|;)
pop: true
- include: selector-components
- include: string-quoted
- include: escape
- include: language-constants
- include: language-operators
- include: language-keywords
- include: property-reference
- include: function-call
- match: '\{'
scope: punctuation.section.start.stylus
- match: '\}'
scope: punctuation.section.end.stylus
attribute-selector:
- match: '\[(?=[^\]]*\])'
captures:
0: punctuation.definition.entity.start.stylus
push:
- meta_scope: meta.attribute-selector.stylus
- match: '\]'
captures:
0: punctuation.definition.entity.end.stylus
pop: true
- match: '(?<=\[)|(?<=\{)'
push:
- match: '(?=[|~=\]\s])'
pop: true
- include: interpolation
- match: .
captures:
0: entity.other.attribute-name.stylus
- include: interpolation
- match: "([|~]?=)"
captures:
1: keyword.operator.stylus
- include: string-quoted
- match: .
captures:
0: string.unquoted.stylus
color-values:
- match: \b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\b
scope: constant.color.w3c-standard-color-name.stylus
- match: (hsla?|rgba?)\s*(\()
captures:
1: keyword.language.function.misc.stylus
2: punctuation.definition.parameters.start.stylus
push:
- match: \)
captures:
0: punctuation.definition.parameters.end.stylus
pop: true
- match: |-
(?x) # multi-line regex definition mode
\b
(?:0*((?:1?[0-9]{1,2})|(?:2(?:[0-4][0-9]|5[0-5])))\s*(,)\s*)
(?:0*((?:1?[0-9]{1,2})|(?:2(?:[0-4][0-9]|5[0-5])))\s*(,)\s*)
(?:0*((?:1?[0-9]{1,2})|(?:2(?:[0-4][0-9]|5[0-5])))\b)
captures:
1: constant.other.color.rgb-value.stylus constant.other.color.rgb-value.red.stylus
2: punctuation.delimiter.comma.stylus
3: constant.other.color.rgb-value.stylus constant.other.color.rgb-value.green.stylus
4: punctuation.delimiter.comma.stylus
5: constant.other.color.rgb-value.stylus constant.other.color.rgb-value.blue.stylus
- match: |-
(?x) # multi-line regex definition mode
\b
((?:[0-9]{1,2}|100)%)(,) # red
\s*
((?:[0-9]{1,2}|100)%)(,) # green
\s*
((?:[0-9]{1,2}|100)%) # blue
captures:
1: constant.other.color.rgb-value.stylus constant.other.color.rgb-value.red.stylus
2: punctuation.delimiter.comma.stylus
3: constant.other.color.rgb-value.stylus constant.other.color.rgb-value.green.stylus
4: punctuation.delimiter.comma.stylus
5: constant.other.color.rgb-value.stylus constant.other.color.rgb-value.blue.stylus
- match: |-
(?x) # multi-line regex definition mode
(?:\s*(,)\s*((0?\.[0-9]+)|[0-1]))?
captures:
1: punctuation.delimiter.comma.stylus
2: constant.other.color.rgb-value.stylus constant.other.color.rgb-value.alpha.stylus
- include: numeric-values
- include: numeric-values
comma:
- match: \s*,\s*
scope: punctuation.delimiter.comma.stylus
comments:
- include: single-line-comment
- match: \/\*
captures:
0: punctuation.definition.comment.stylus
push:
- meta_scope: comment.block.stylus
- match: \*\/
captures:
0: punctuation.definition.comment.stylus
pop: true
conditionals:
- match: '(^\s*|\s+)(if|unless|else)(?=[\s({]|$)\s*'
captures:
2: keyword.control.stylus
push:
- match: '(?=$|\{)'
pop: true
- include: expression
escape:
- match: \\.
scope: constant.character.escape.stylus
expression:
- include: single-line-comment
- include: comma
- include: iteration
- include: conditionals
- include: language-operators
- include: language-keywords
- include: hash-definition
- include: color-values
- include: url
- include: function-call
- include: string-quoted
- include: escape
- include: hash-access
- include: language-constants
- include: language-property-value-constants
- include: property-reference
- include: variable
function-call:
- match: '([\w$-]+)(\()'
captures:
1: entity.function-name.stylus
2: punctuation.definition.parameters.start.stylus
push:
- meta_scope: meta.function-call.stylus
- match: (\))
captures:
1: punctuation.definition.parameters.end.stylus
pop: true
- include: expression
hash-access:
- match: '(?=[\w$-]+(?:\.|\[[^\]=]*\]))'
push:
- meta_scope: meta.hash-access.stylus
- match: '(?=[^''''""\[\]\w.$-]|\s|$)'
pop: true
- match: \.
scope: punctuation.delimiter.hash.stylus
- match: '\['
scope: punctuation.definition.entity.start.stylus
- match: '\]'
scope: punctuation.definition.entity.end.stylus
- include: string-quoted
- include: variable
hash-definition:
- match: '\{'
captures:
0: punctuation.section.embedded.start.stylus
push:
- meta_scope: meta.hash.stylus
- match: '\}'
captures:
0: punctuation.section.embedded.end.stylus
pop: true
- include: single-line-comment
- match: |-
(?x)
(?:
([\w$-]+)
|
('[^']*')
|
("[^"]*")
)
\s*
(:)
\s*
captures:
1: support.type.property-name.stylus
2: string.quoted.single.stylus
3: string.quoted.double.stylus
4: punctuation.separator.key-value.stylus
push:
- match: '(;)|(?=\}|$)'
captures:
1: punctuation.terminator.statement.stylus
pop: true
- include: expression
interpolation:
- match: '\{'
captures:
0: punctuation.section.embedded.start.stylus
push:
- meta_scope: stylus.embedded.source
- match: '\}'
captures:
0: punctuation.section.embedded.end.stylus
pop: true
- include: expression
iteration:
- match: (^\s*|\s+)(for)\s+(?=.*?\s+in\s+)
captures:
2: keyword.control.stylus
push:
- match: '$|\{'
pop: true
- include: expression
language-constants:
- match: \b(true|false|null)\b
scope: constant.language.stylus
language-keywords:
- match: (\b|\s)(return|else)\b
scope: keyword.control.stylus
- match: (\b|\s)(!important|in|is defined|is a)\b
scope: keyword.other.stylus
- match: \barguments\b
scope: variable.language.stylus
language-operators:
- match: ((?:\?|:|!|~|\+|-|(?:\*)?\*|\/|%|(\.)?\.\.|<|>|(?:=|:|\?|\+|-|\*|\/|%|<|>)?=|!=)|\b(?:in|is(?:nt)?|(?<!:)not)\b)
scope: keyword.operator.stylus
language-property-value-constants:
- match: \b(absolute|all(-scroll)?|always|armenian|auto|avoid|baseline|below|bidi-override|block|bold(er)?|(border|content|padding)-box|both|bottom|break-all|break-word|capitalize|center|char|circle|cjk-ideographic|col-resize|collapse|crosshair|cursive|dashed|decimal-leading-zero|decimal|default|disabled|disc|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ellipsis|fantasy|fixed|geometricPrecision|georgian|groove|hand|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|inactive|inherit|inline-block|inline|inset|inside|inter-ideograph|inter-word|italic|justify|katakana-iroha|katakana|keep-all|left|lighter|line-edge|line-through|line|list-item|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|medium|middle|move|monospace|n-resize|ne-resize|newspaper|no-drop|no-repeat|nw-resize|none|normal|not-allowed|nowrap|oblique|optimize(Legibility|Quality|Speed)|outset|outside|overline|pointer|pre(-(wrap|line))?|progress|relative|repeat-x|repeat-y|repeat|right|ridge|row-resize|rtl|(sans-)?serif|s-resize|scroll|se-resize|separate|small-caps|solid|square|static|strict|sub|super|sw-resize|table(-(row|cell|footer-group|header-group))?|tb-rl|text-bottom|text-top|text|thick|thin|top|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|vertical(-(ideographic|text))?|visible(Painted|Fill|Stroke)?|w-resize|wait|whitespace|zero|smaller|larger|((xx?-)?(small(er)?|large(r)?))|painted|fill|stroke)\b
scope: constant.property-value.stylus
media-query:
- match: '\s*(?![{;]|$)'
push:
- meta_scope: meta.at-rule.media.stylus
- match: '\s*(?=[{;]|$)'
pop: true
- match: '(?i)\s*(only|not)?\s*(all|aural|braille|embossed|handheld|print|projection|screen|tty|tv)?(?![\w\d$-]+)'
captures:
1: keyword.operator.logic.media.stylus
2: support.constant.media.stylus
push:
- match: '\s*(?:(,)|(?=[{;]|$))'
pop: true
- include: media-query-list
- include: variable
media-query-list:
- match: \s*(and)?\s*(\()\s*
captures:
1: keyword.operator.logic.media.stylus
2: punctuation.definition.parameters.start.stylus
push:
- match: \)
captures:
0: punctuation.definition.parameters.end.stylus
pop: true
- include: media-query-properties
- include: numeric-values
media-query-properties:
- match: \s*:\s*
captures:
0: punctuation.separator.key-value.stylus
- match: |-
(?x)
(
((min|max)-)?
(
((device-)?(height|width|aspect-ratio))|
(color(-index)?)|monochrome|resolution
)
)|grid|scan|orientation
captures:
0: support.type.property-name.media.stylus
- match: \b(portrait|landscape|progressive|interlace)\b
captures:
1: support.constant.property-value.stylus
numeric-values:
- match: |-
(?x) # multi-line regex definition mode
(\#)(?:
([0-9a-fA-F])
([0-9a-fA-F])
([0-9a-fA-F])
([0-9a-fA-F])?
| ([0-9a-fA-F]{2})
([0-9a-fA-F]{2})
([0-9a-fA-F]{2})
([0-9a-fA-F]{2})?
)\b
scope: constant.other.color.rgb-value.stylus
captures:
1: punctuation.definition.constant.stylus
2: constant.other.color.rgb-value.red.stylus
3: constant.other.color.rgb-value.green.stylus
4: constant.other.color.rgb-value.blue.stylus
5: constant.other.color.rgb-value.alpha.stylus
6: constant.other.color.rgb-value.red.stylus
7: constant.other.color.rgb-value.green.stylus
8: constant.other.color.rgb-value.blue.stylus
9: constant.other.color.rgb-value.alpha.stylus
- match: |-
(?x) # multi-line regex definition mode
(?:-|\+)? # negative / positive
(?:
(?:
[0-9]+ # integer part
(?:\.[0-9]+)? # fraction
) |
(?:\.[0-9]+) # fraction without leading zero
)
((?: # units
px|pt|ch|cm|mm|in|
r?em|ex|pc|vw|vh|vmin|vmax|deg|
g?rad|turn|dpi|dpcm|dppx|m?s|k?Hz
)\b|%)?
scope: constant.numeric.stylus
captures:
1: keyword.other.unit.stylus
property-reference:
- match: "@[a-z-]+"
scope: variable.other.property.stylus
pseudo:
- match: (:)(active|checked|default|disabled|empty|enabled|first-child|first-of-type|first|fullscreen|focus|hover|indeterminate|in-range|invalid|last-child|last-of-type|left|link|only-child|only-of-type|optional|out-of-range|read-only|read-write|required|right|root|scope|target|valid|visited)\b
scope: entity.other.attribute-name.pseudo-class.stylus
captures:
1: puncutation.definition.entity.stylus
- match: (:?:)(before|after)\b
scope: entity.other.attribute-name.pseudo-element.stylus
captures:
1: puncutation.definition.entity.stylus
- match: (::)(first-letter|first-number|selection)\b
scope: entity.other.attribute-name.pseudo-element.stylus
captures:
1: puncutation.definition.entity.stylus
- match: ((:)dir)\s*(?:(\()(ltr|rtl)?(\)))?
captures:
1: entity.other.attribute-name.pseudo-element.stylus
2: puncutation.definition.entity.stylus
3: puncutation.definition.parameters.start.stylus
4: constant.language.stylus
5: puncutation.definition.parameters.end.stylus
- match: ((:)lang)\s*(?:(\()(\w+(-\w+)?)?(\)))?
captures:
1: entity.other.attribute-name.pseudo-element.stylus
2: puncutation.definition.entity.stylus
3: puncutation.definition.parameters.start.stylus
4: constant.language.stylus
5: puncutation.definition.parameters.end.stylus
- include: pseudo-nth
- include: pseudo-not
pseudo-not:
- match: ((:)not)\s*(\()
captures:
1: entity.other.attribute-name.pseudo-element.stylus
2: puncutation.definition.entity.stylus
3: puncutation.definition.parameters.start.stylus
push:
- match: \)
captures:
0: puncutation.definition.parameters.end.stylus
pop: true
- include: selector-components
pseudo-nth:
- match: ((:)(?:nth-child|nth-last-child|nth-of-type|nth-last-of-type|nth-match|nth-last-match|nth-column|nth-last-column))\s*(\()
captures:
1: entity.other.attribute-name.pseudo-class.stylus
2: puncutation.definition.entity.stylus
3: puncutation.definition.parameters.start.stylus
push:
- match: \)
captures:
0: puncutation.definition.parameters.end.stylus
pop: true
- include: language-operators
- include: interpolation
- match: \b(odd|even)\b
scope: constant.language.stylus
- match: \b(\d+)?n\b
scope: variable.language.stylus
captures:
1: constant.numeric.stylus
- match: \d+
scope: constant.numeric.stylus
return:
- match: ^\s*(return)
captures:
1: keyword.control.stylus
push:
- match: (;)|(?=$)
captures:
1: punctuation.terminator.statement.stylus
pop: true
- include: expression
selector-components:
- include: comments
- include: interpolation
- include: attribute-selector
- include: pseudo
- match: '\$[\w$-]+\b'
scope: entity.other.placeholder.stylus
- match: "[:~>]"
scope: keyword.operator.selector.stylus
- match: |-
(?x) # multi-line regex definition mode
\b(
altGlyph|altGlyphDef|altGlyphItem|animate|animateColor|
animateMotion|animateTransform|circle|clipPath|color-profile|
defs|desc|ellipse|feBlend|feColorMatrix|
feComponentTransfer|feComposite|feConvolveMatrix|
feDiffuseLighting|feDisplacementMap|feDistantLight|feFlood|
feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feImage|feMerge|
feMergeNode|feMorphology|feOffset|fePointLight|
feSpecularLighting|feSpotLight|feTile|feTurbulence|filter|
font-face|font-face-format|font-face-name|font-face-src|
font-face-uri|foreignObject|g|glyph|glyphRef|hkern|image|line|
linearGradient|marker|mask|metadata|missing-glyph|mpath|path|
pattern|polygon|polyline|radialGradient|rect|set|stop|svg|
switch|symbol|text|textPath|tref|tspan|use|view|vkern|
a|abbr|acronym|address|applet|area|article|aside|audio|b|base|
basefont|bdi|bdo|bgsound|big|blink|blockquote|body|br|button|
canvas|caption|center|cite|code|col|colgroup|content|data|
datalist|dd|decorator|del|details|dfn|dir|div|dl|dt|element|
em|embed|fieldset|figcaption|figure|font|footer|form|frame|
frameset|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|
img|input|ins|isindex|kbd|keygen|label|legend|li|link|listing|
main|map|mark|marquee|menu|menuitem|meta|meter|nav|nobr|
noframes|noscript|object|ol|optgroup|option|output|p|param|
plaintext|pre|progress|q|rp|rt|ruby|s|samp|script|section|
select|shadow|small|source|spacer|span|strike|strong|style|
sub|summary|sup|table|tbody|td|template|textarea|tfoot|th|
thead|time|title|tr|track|tt|u|ul|var|video|wbr|xmp
)\b
scope: entity.name.tag.stylus
- match: '\.[a-zA-Z0-9_-]+'
scope: entity.other.attribute-name.class.stylus
- match: "#[a-zA-Z0-9_-]+"
scope: entity.other.attribute-name.id.stylus
- match: |-
(?x) # multi-line regex definition mode
([\w\d_-]+)? # matching any word right before &
(&) # & itself, escaped because of plist
([\w\d_-]+)? # matching any word right after &
captures:
1: entity.other.attribute-name.stylus
2: variable.language.stylus
3: entity.other.attribute-name.stylus
single-line-comment:
- match: (\/\/).*$
scope: comment.line.stylus
captures:
1: punctuation.definition.comment.stylus
string-quoted:
- match: "'[^']*'"
scope: string.quoted.single.stylus
- match: '"[^"]*"'
scope: string.quoted.double.stylus
url:
- match: (url)\s*(\()
captures:
1: entity.function-name.stylus
2: punctuation.definition.parameters.start.stylus
push:
- meta_scope: meta.function-call.stylus
- match: (\))
captures:
1: punctuation.definition.parameters.end.stylus
pop: true
- include: string-quoted
- include: language-constants
- include: language-property-value-constants
- include: property-reference
- include: variable
variable:
- match: '([\w$-]+\b)'
scope: variable.other.stylus
File diff suppressed because it is too large Load Diff

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