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

Compare commits

...

1572 Commits

Author SHA1 Message Date
sharkdp 6d981498d8 Bump version to 0.17.1 2020-11-24 21:40:11 +01:00
sharkdp bd2e9917da Revert "Add cycle detection integration tests"
This reverts commit ec60d84265.
2020-11-24 21:40:11 +01:00
sharkdp a6810e3353 Revert "Add io cycle detection with clircle"
This reverts commit aa2ae19dfd.
2020-11-24 21:40:11 +01:00
henil 591eba66a3 add new syntax test files 2020-11-23 15:43:58 +01:00
sharkdp a5a9ac83e5 Revert "Update dependencies"
This reverts commit 44a905d135.
2020-11-23 15:03:42 +01:00
sharkdp 15b122a448 Update syntax cache 2020-11-23 14:46:32 +01:00
sharkdp 44a905d135 Update dependencies 2020-11-23 14:44:01 +01:00
sharkdp 8884104e82 Bump version to v0.17.0 2020-11-23 14:41:32 +01:00
David Peter 277cc5fa21 Revert "invoke gzip with -n"
This reverts commit 21de52ebea.
2020-11-23 14:32:30 +01:00
David Peter 0cbd7d583c Revert "remove leading article from description"
This reverts commit 7c730d11c3.
2020-11-23 14:32:30 +01:00
David Peter 3c3fc92863 Revert "ensure copyright is mode 644"
This reverts commit 4a6b4fb632.
2020-11-23 14:32:30 +01:00
David Peter e69d650598 Revert "include years in copyright notice"
This reverts commit 9f91a7d797.
2020-11-23 14:32:30 +01:00
David Peter 9385c81882 Revert "include changelog in package"
This reverts commit 1d4cee11b7.
2020-11-23 14:32:30 +01:00
David Peter 1b84f9f1ae Revert "add Depends line"
This reverts commit 883cc964ae.
2020-11-23 14:32:30 +01:00
David Peter d879fbd8a1 Revert "change docs dir name to match package name"
This reverts commit e4370d8d3f.
2020-11-23 14:32:30 +01:00
sharkdp 1fbdef06aa Use unreachable!(…) 2020-11-23 14:25:01 +01:00
MarcoIeni f5531cc7fa remove all matches 2020-11-23 14:25:01 +01:00
MarcoIeni 2ccff145ed remove unuseful matches expression 2020-11-23 14:25:01 +01:00
MarcoIeni 43b2ee5e71 fix some clippy warnings 2020-11-23 14:25:01 +01:00
sharkdp 51463a4b41 Change Robot syntax name to 'Robot Framework' 2020-11-23 14:16:37 +01:00
Niklas Mohrin 4f0116bee7 Add cycle detection integration tests 2020-11-23 14:06:54 +01:00
Niklas Mohrin 31793cfa62 Add io cycle detection with clircle 2020-11-23 14:06:54 +01:00
Ethan P 6d75540d4e Merge pull request #1389 from nstickney/master
explain how to use bat as cat (no paging) (closes #1383)
2020-11-21 10:13:28 -08:00
Stick ba5cbe208f explain how to use bat as cat (no paging) 2020-11-20 11:25:45 -05:00
Janek 2b82203041 Update bug_report.md 2020-11-06 21:45:25 +01:00
sharkdp 35da065445 Add zsh completion fix to CHANGELOG 2020-11-06 21:25:27 +01:00
dependabot-preview[bot] 12a1fe3ad4 Bump git2 from 0.13.11 to 0.13.12
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.13.11 to 0.13.12.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/compare/0.13.11...0.13.12)

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

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

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

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

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

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

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

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-01 08:51:43 +01:00
dependabot-preview[bot] 142d5e60ec Bump globset from 0.4.5 to 0.4.6
Bumps [globset](https://github.com/BurntSushi/ripgrep) from 0.4.5 to 0.4.6.
- [Release notes](https://github.com/BurntSushi/ripgrep/releases)
- [Changelog](https://github.com/BurntSushi/ripgrep/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BurntSushi/ripgrep/compare/globset-0.4.5...globset-0.4.6)

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

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

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

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

#1244 Updated README.md in plaintext source folder

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

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

#1244 Updated plaintext file with command

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-08 21:23:54 +02:00
dependabot-preview[bot] b9dac6ca5d Bump syntect from 4.2.0 to 4.4.0
Bumps [syntect](https://github.com/trishume/syntect) from 4.2.0 to 4.4.0.
- [Release notes](https://github.com/trishume/syntect/releases)
- [Changelog](https://github.com/trishume/syntect/blob/master/CHANGELOG.md)
- [Commits](https://github.com/trishume/syntect/compare/v4.2.0...v4.4.0)

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-01 10:17:49 +02:00
dependabot-preview[bot] 2656c503a4 Bump predicates from 1.0.4 to 1.0.5
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/assert-rs/predicates-rs/releases)
- [Changelog](https://github.com/assert-rs/predicates-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/predicates-rs/compare/v1.0.4...v1.0.5)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 08:44:09 +02:00
sharkdp 5ebf0215c5 Update CHANGELOG 2020-05-29 22:14:20 +02:00
Ethan P 9957da6b93 Remove <font> tag from CHANGELOG.md 2020-05-29 22:13:10 +02:00
Ethan P 342cae2dc6 Change use of 'BatInput' to 'input::Input' 2020-05-29 22:13:10 +02:00
Ethan P d2b26a5f1f Remove unnecessary '-> ()'s 2020-05-29 22:13:10 +02:00
Ethan P 9d08c0102e Replace Input::stdin_as_file with bat-application functions 2020-05-29 22:13:10 +02:00
Ethan P a3357547ea Remove unused with_name for theme preview file 2020-05-29 22:13:10 +02:00
Ethan P 7a9decad70 Remove Input.as_file and add Input::stdin_as_file 2020-05-29 22:13:10 +02:00
Ethan P c4d0d068e4 Update input API example 2020-05-29 22:13:10 +02:00
Ethan P c03a027240 Move PR changes in README to unreleased section 2020-05-29 22:13:10 +02:00
Ethan P a8d7141c4c Improve documentation for Input API 2020-05-29 22:13:10 +02:00
Ethan P 3eb704e016 Update examples 2020-05-29 22:13:10 +02:00
Ethan P 0f06d3b90d Reexport bat::pretty_printer::Input as bat::Input 2020-05-29 22:13:10 +02:00
Ethan P 589c94aa93 Fix regression with --list-themes and --language 2020-05-29 22:13:10 +02:00
Ethan P 798b742617 Refactor InputDescription API into Input API 2020-05-29 22:13:10 +02:00
Ethan P 11a72ab765 Fix a typo 2020-05-29 22:13:10 +02:00
Ethan P 0319149b4d [breaking] Remove special handling for theme previews 2020-05-29 22:13:10 +02:00
Ethan P 2f823d59b0 Add PrettyPrinter::input function 2020-05-29 22:13:10 +02:00
Ethan P 981352992b Add InputDescription API 2020-05-29 22:13:10 +02:00
Ethan P 384ea38bd9 Add documentation to InputDescription 2020-05-29 22:13:10 +02:00
Ryan Tolboom 268c0963b4 Updated AsciiDoc syntax submodule 2020-05-29 22:12:28 +02:00
Ethan P 8b481dd41f Add support for NO_COLOR env var (#1021) 2020-05-28 21:49:10 +02:00
David Peter 6f88ba0e6f Update CHANGELOG.md 2020-05-27 12:04:31 +02:00
sharkdp 9e65ecd03e Updates for v0.15.4 2020-05-27 10:14:32 +02:00
sharkdp 9cb43ef64d Update tests 2020-05-27 10:09:57 +02:00
sharkdp bb18ece8a4 Remove 'Haskell (improved) syntax' 2020-05-27 10:09:57 +02:00
sharkdp 2ab6474761 Add unit test to make sure we are not missing any themes 2020-05-27 09:50:22 +02:00
David Peter fe20328ab7 Revert "Bump assets/themes/Solarized from 87e0109 to 3707f68"
This reverts commit a265242e6e.
2020-05-27 09:50:22 +02:00
sharkdp d84ac09abd Update .gitattributes 2020-05-26 12:14:27 +02:00
sharkdp 69e6cae0a7 Fix CHANGELOG 2020-05-26 08:38:12 +02:00
sharkdp 302707f3ce Bump version to 0.15.3 2020-05-26 08:11:41 +02:00
sharkdp 2e2043971b Update CHANGELOG for 0.15.3 2020-05-26 08:11:41 +02:00
sharkdp e54e218e3b Update binary assets 2020-05-26 08:11:41 +02:00
sharkdp bd17fd571f Switch from path-absolutize to path_abs
closes #1022
2020-05-26 08:11:26 +02:00
sharkdp 3f6e88b4be Remove dummy line from CHANGELOG 2020-05-25 17:30:19 +02:00
sharkdp 28af18ba27 Bump version to 0.15.2 2020-05-25 17:27:27 +02:00
sharkdp 8f1babf346 Mark 'vcs_modification_markers' as deprecated 2020-05-25 11:51:10 +02:00
sharkdp fa25695b74 Make 'vcs_modification_markers' change non-breaking 2020-05-25 11:51:10 +02:00
sharkdp 943b1f82b6 Fix syntax detection for symlinks
closes #1001
2020-05-24 17:32:43 +02:00
sharkdp b7a09516e7 Update CHANGELOG 2020-05-24 11:30:10 +02:00
sharkdp c4031ad65c Fix syntax detection for files called 'rails'
closes #1008
2020-05-24 11:27:42 +02:00
dependabot-preview[bot] 2eaced4d30 Bump wild from 2.0.2 to 2.0.3
Bumps [wild](https://gitlab.com/kornelski/wild) from 2.0.2 to 2.0.3.
- [Release notes](https://gitlab.com/kornelski/wild/tags)
- [Commits](https://gitlab.com/kornelski/wild/commits/master)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-24 10:51:02 +02:00
dependabot-preview[bot] bdea2fe94c Bump serde from 1.0.106 to 1.0.110
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.106 to 1.0.110.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.106...v1.0.110)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-24 10:50:48 +02:00
dependabot-preview[bot] c96ff30876 Bump serde_yaml from 0.8.11 to 0.8.12
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml) from 0.8.11 to 0.8.12.
- [Release notes](https://github.com/dtolnay/serde-yaml/releases)
- [Commits](https://github.com/dtolnay/serde-yaml/compare/0.8.11...0.8.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-24 10:48:31 +02:00
dependabot-preview[bot] 4c100cffdb Bump shell-words from 0.1.0 to 1.0.0
Bumps [shell-words](https://github.com/tmiasko/shell-words) from 0.1.0 to 1.0.0.
- [Release notes](https://github.com/tmiasko/shell-words/releases)
- [Commits](https://github.com/tmiasko/shell-words/commits/v1.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-24 10:41:50 +02:00
sharkdp d6abad908a Update README and CHANGELOG, see #650 2020-05-24 10:01:53 +02:00
dependabot-preview[bot] f1129189ea Bump syntect from 4.1.1 to 4.2.0
Bumps [syntect](https://github.com/trishume/syntect) from 4.1.1 to 4.2.0.
- [Release notes](https://github.com/trishume/syntect/releases)
- [Changelog](https://github.com/trishume/syntect/blob/master/CHANGELOG.md)
- [Commits](https://github.com/trishume/syntect/compare/v4.1.1...v4.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-24 10:00:15 +02:00
sharkdp 7e84477408 Add CHANGELOG entry 2020-05-19 06:40:24 +02:00
sharkdp 6b86ab5cd0 Move syntax to 02_Extra folder 2020-05-19 06:40:24 +02:00
Cooper Pierce 5074b96cd5 Add syntax highlighting for SML
Converted from
https://github.com/seanjames777/SML-Language-Definition/blob/master/sml.tmLanguage
and removed `ml` filetype to fix an (assumed) possible conflict with
existing OCaml support.
2020-05-19 06:40:24 +02:00
sharkdp 3094ac90b7 Update CHANGELOG entry 2020-05-16 13:44:26 +02:00
Ethan P 35b6067496 Print error message when invalid syntax is specified 2020-05-16 13:44:26 +02:00
Ethan P 5aa20c090b Refactor HighlightingAssets::get_syntax to return Result type 2020-05-16 13:44:26 +02:00
Ethan P 9c371ed8a2 Merge pull request #997 from eth-p/misc-fixes-1
Allow 'bat' application to built without git feature, remove PrettyPrint git support when feature not enabled.
2020-05-15 16:41:13 -07:00
Ethan P f03ab11623 Update CHANGELOG.md 2020-05-15 14:03:04 -07:00
Ethan P 887e61a99d Allow application to be built without git support
Caveats:
The help descriptions aren't changed with you remove the "git" feature.
2020-05-15 13:58:48 -07:00
Ethan P 0aca8cab0b Remove vcs_modification_markers from PrettyPrinter 'git' feature disabled 2020-05-15 13:58:48 -07:00
Ethan P d08d1f8c45 Merge pull request #985 from eth-p/string-input
Unify syntax detection for all variants of InputKind, fix #983
2020-05-15 13:57:44 -07:00
Ethan P 403ab6e443 Update CHANGELOG.md 2020-05-15 13:23:24 -07:00
Ethan P b8687bc969 Merge branch 'master' of github.com:sharkdp/bat into string-input 2020-05-15 13:22:24 -07:00
Ethan P 9166c9dd35 Remove unnecessary clone in integration tests 2020-05-15 12:29:01 -07:00
Ethan P cc52f79e42 Add helper fn for checking if opened input is theme preview file 2020-05-15 12:20:20 -07:00
Ethan P 59140b458c Consolidate syntax detection behavior for all InputKind types 2020-05-13 02:53:30 -07:00
Ethan P 82981c9663 Add regression test for detected syntax differing for stdin and files 2020-05-13 02:53:19 -07:00
Ethan P 157b8dd848 Rename test for checking if inputkinds are consistent 2020-05-13 00:47:18 -07:00
Ethan P 1fb669ae1a Test that OrdinaryFile consistent with CustomReader 2020-05-13 00:38:56 -07:00
Ethan P 7d07aa395a Change assets.rs tests to use InputKind::CustomReader
This should avoid errors in filesystems that don't
support UTF-8 or invalid UTF-8.
2020-05-13 00:38:41 -07:00
dependabot-preview[bot] c2c7070712 Bump assets/syntaxes/02_Extra/Julia from 0ca4cc2 to 6c0d770
Bumps [assets/syntaxes/02_Extra/Julia](https://github.com/JuliaEditorSupport/Julia-sublime) from `0ca4cc2` to `6c0d770`.
- [Release notes](https://github.com/JuliaEditorSupport/Julia-sublime/releases)
- [Commits](https://github.com/JuliaEditorSupport/Julia-sublime/compare/0ca4cc29907e9476cb603fed00d1d5fd9dc13c9c...6c0d770fc74e6bc037c70cae1f94fe113b60fd95)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-13 08:31:26 +02:00
dependabot-preview[bot] daf06bb026 Bump assets/syntaxes/02_Extra/Email from fc034fb to ee3e68f
Bumps [assets/syntaxes/02_Extra/Email](https://github.com/mariozaizar/email.sublime-syntax) from `fc034fb` to `ee3e68f`.
- [Release notes](https://github.com/mariozaizar/email.sublime-syntax/releases)
- [Commits](https://github.com/mariozaizar/email.sublime-syntax/compare/fc034fb85ae8a277627f1148769924dbc115dbe4...ee3e68fce26cb7ab6ad8c8bf7ca45cfe2a70c07a)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-13 08:22:27 +02:00
dependabot-preview[bot] 5b11b1ba47 Bump assets/themes/onehalf from fdcbffe to 970abdf
Bumps [assets/themes/onehalf](https://github.com/sonph/onehalf) from `fdcbffe` to `970abdf`.
- [Release notes](https://github.com/sonph/onehalf/releases)
- [Commits](https://github.com/sonph/onehalf/compare/fdcbffe3175c29bb78d19dcaf9b2a456482fcf1e...970abdf26b399100cbb59c6b6e693c4ff877c59d)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-13 08:22:13 +02:00
sharkdp ee287447c5 Update CHANGELOG 2020-05-13 08:21:58 +02:00
dependabot-preview[bot] 257f978ceb Bump assets/syntaxes/02_Extra/ssh-config from 16e19d5 to 3ec06d0
Bumps [assets/syntaxes/02_Extra/ssh-config](https://github.com/robballou/sublimetext-sshconfig) from `16e19d5` to `3ec06d0`.
- [Release notes](https://github.com/robballou/sublimetext-sshconfig/releases)
- [Commits](https://github.com/robballou/sublimetext-sshconfig/compare/16e19d5da48a7c4d30fdded8ac4c97ff643f5d7b...3ec06d0e9c2d20e7bb31f0149364d25f77503d97)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-13 08:19:17 +02:00
dependabot-preview[bot] 8e803bdb02 Bump assets/themes/dracula-sublime from 811a634 to 26c57ec
Bumps [assets/themes/dracula-sublime](https://github.com/dracula/sublime) from `811a634` to `26c57ec`.
- [Release notes](https://github.com/dracula/sublime/releases)
- [Commits](https://github.com/dracula/sublime/compare/811a634420a0cb9023bb7afd1c8968a5aaf6a753...26c57ec282abcaa76e57e055f38432bd827ac34e)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-13 07:58:49 +02:00
dependabot-preview[bot] a265242e6e Bump assets/themes/Solarized from 87e0109 to 3707f68
Bumps [assets/themes/Solarized](https://github.com/braver/Solarized) from `87e0109` to `3707f68`.
- [Release notes](https://github.com/braver/Solarized/releases)
- [Commits](https://github.com/braver/Solarized/compare/87e01090cf5fb821a234265b3138426ae84900e7...3707f68ddc535723c02c65cbc97187c1aa99ad4d)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-13 07:58:32 +02:00
dependabot-preview[bot] 3aa9b31bda Bump assets/syntaxes/02_Extra/Elm from dfbb8bd to e266d27
Bumps [assets/syntaxes/02_Extra/Elm](https://github.com/elm-community/SublimeElmLanguageSupport) from `dfbb8bd` to `e266d27`.
- [Release notes](https://github.com/elm-community/SublimeElmLanguageSupport/releases)
- [Commits](https://github.com/elm-community/SublimeElmLanguageSupport/compare/dfbb8bdc9a8403092c884d3eb893a270538cfa72...e266d279c8074aa342f106554cfa87ebe839a782)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-13 07:58:15 +02:00
dependabot-preview[bot] c692c4770a Bump assets/syntaxes/02_Extra/Elixir from 89b3bad to 1f010d5
Bumps [assets/syntaxes/02_Extra/Elixir](https://github.com/princemaple/elixir-sublime-syntax) from `89b3bad` to `1f010d5`.
- [Release notes](https://github.com/princemaple/elixir-sublime-syntax/releases)
- [Commits](https://github.com/princemaple/elixir-sublime-syntax/compare/89b3bada3262bc58e0a5393d12a82f725d5063ad...1f010d5f63f20aa8eafa57aaaeafe736e0748dca)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-13 07:58:02 +02:00
sharkdp 6ceba56288 Add 'mkdir -p …' to Ubuntu instructions, see #982 2020-05-12 18:35:35 +02:00
David Peter 4be66f8b88 Update README.md 2020-05-12 17:42:52 +02:00
David Peter 54a85d98f1 Add instructions for ~/.local/bin/bat symlink 2020-05-12 17:41:15 +02:00
Prat T 491a5a17f3 Update CHANGELOG 2020-05-12 16:37:29 +02:00
Prat T b3373398e8 Remove padding if the header style is not enabled 2020-05-12 16:37:29 +02:00
Prat T 0040fef215 Add padding above headers when no grid 2020-05-12 16:37:29 +02:00
Ethan P 1a6e8d297f Update README to mention batcat for Debian/Ubuntu 2020-05-12 11:08:21 +02:00
Ethan P f39487fca9 Make syntax detection more consistent for Reader and File inputs 2020-05-11 19:44:09 -07:00
sharkdp 2596bfe7a7 Bump version to v0.15.1 2020-05-11 20:30:45 +02:00
sharkdp 406bffa8c8 Update syntaxes and themes 2020-05-11 20:29:49 +02:00
sharkdp 48441b99ef Patch Markdown syntax
closes #963
see #977
2020-05-11 20:22:50 +02:00
sharkdp ce4717144a Update CHANGELOG 2020-05-11 19:33:13 +02:00
Mitchell Kember f59d00d4c7 Fix base16, and combine 00 and 0f alpha encodings
This changes the base16 theme back from #RRGGBB0f to #RRGGBB00,
reverting part of #934. That PR used the 0f encoding to produce ANSI
escape sequences 30-37 and 40-47 rather than 38;5 and 48;5 which require
256-color support. Unfortunately, it resulted in base16 using the wrong
colors becuase ansi_term does not support the bright variants (90-97 and
100-107) so it simply mapped them to the non-bright colors.

This PR makes combines the 00 and 0f alpha encodings into 00, and makes
them use the Color enum for the first 8 colors and Fixed otherwise. This
means the ansi-light and ansi-dark themes will work on terminals without
256-color support, and base16 will render bright colors correctly.
2020-05-11 19:29:19 +02:00
Ethan P dcfdbf82dd Do not warn if both 'bat' and 'batcat' are available in info.sh 2020-05-02 10:39:58 +02:00
Ethan P 0cb884d501 Prevent batcat warning from being in output of info.sh 2020-05-02 10:39:58 +02:00
Ethan P 7bc4020a92 Check for 'batcat' in info.sh 2020-05-02 10:39:58 +02:00
sharkdp 0792195156 Properly add QML submodule 2020-05-01 10:24:19 +02:00
dependabot-preview[bot] 83f24ffcfb Bump git2 from 0.13.3 to 0.13.5
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.13.3 to 0.13.5.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/compare/0.13.3...0.13.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-01 10:21:19 +02:00
pylipp 74ec390770 Add QML syntax
QML.sublime-syntax file generated from Support/QML.tmLanguage using
Sublime's built-in converter.
Fix sharkdp/bat#962
2020-04-30 09:59:14 +02:00
Mario Zaizar 9014ffcfd8 Adds Email (https://github.com/mariozaizar/email.sublime-syntax) 2020-04-29 19:38:39 +02:00
sharkdp 81af375289 Use console 0.11.2, see #955 2020-04-28 21:18:48 +02:00
sharkdp d707eab95c Revert "Use console 0.11.1, see #955"
This reverts commit d64c55ef11.
The build on Windows failed due to two broken tests:

    line_numbers
    tabs_numbers
2020-04-28 09:22:19 +02:00
sharkdp d64c55ef11 Use console 0.11.1, see #955 2020-04-28 00:00:59 +02:00
sharkdp 2b1d53fb27 Add '--locked' flag to all 'cargo install' commands 2020-04-27 23:43:18 +02:00
sharkdp bf696f58c8 Pin version of console to 0.10.0 2020-04-27 23:37:06 +02:00
sharkdp 296bad8ffd Update CHANGELOG 2020-04-27 22:01:41 +02:00
sharkdp 94310af30c Add Fortran syntax, closes #957 2020-04-27 21:45:36 +02:00
sharkdp 38c096bf79 Update CHANGELOG 2020-04-25 15:19:42 +02:00
sharkdp 696d1b3ed3 Update CHANGELOG 2020-04-25 13:17:07 +02:00
sharkdp 17d98724a5 Bump version to v0.15.0 2020-04-25 13:09:24 +02:00
sharkdp 7d7ee1b594 Update cached verison of themes 2020-04-25 13:08:30 +02:00
sharkdp 682b4209f2 Update solarized themes to braver/Solarized, closes #941 2020-04-25 13:08:30 +02:00
sharkdp 41ddcbd240 Remove old Sublime themes 2020-04-25 13:08:30 +02:00
sharkdp 48a7ce3bf2 Write error messages to pager, if attached
closes #946
2020-04-25 13:08:00 +02:00
Lzu Tao 3bcc4d0d55 lto=true and codegen-units=1 together 2020-04-24 17:39:25 +02:00
Lzu Tao 8821bca656 appveyor: Use rustup minimal profile 2020-04-24 17:39:25 +02:00
Lzu Tao 56111aa20d simplify build.rs 2020-04-24 17:39:25 +02:00
sharkdp 5fe8a8342b Add annotations again 2020-04-24 16:51:11 +02:00
sharkdp 989109145a Add '-d' for '--diff' 2020-04-24 16:12:38 +02:00
sharkdp 23afc8e90c Skip non-file inputs when using --diff 2020-04-24 16:12:38 +02:00
sharkdp 8e18786556 Run 'cargo fmt' 2020-04-24 16:11:05 +02:00
sharkdp 81488adf8b Use unreachable!(…) 2020-04-24 16:11:05 +02:00
Lzu Tao e37e9c1214 Fix some clippy lints
Some might actually improve perf
2020-04-24 16:11:05 +02:00
Lzu Tao a4828387c1 simplify build.rs 2020-04-24 16:11:05 +02:00
sharkdp abeac8b12e Bump min. required Rust version to 1.40 2020-04-24 09:57:57 +02:00
sharkdp 82e7786e74 Implementation of 'bat --diff'
This adds a new `--diff` option that can be used to only show lines
close to Git changes (added/removed/modified lines). The amount of
additional context can be controlled with `--diff-context=N`.

closes #23
2020-04-24 09:57:57 +02:00
sharkdp 0064321323 cargo fmt 2020-04-23 00:56:35 +02:00
sharkdp 9e622a1a5f Update version in README 2020-04-23 00:56:27 +02:00
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
sharkdp 608cefb05c Bump version 2019-09-03 08:07:42 +02:00
dependabot-preview[bot] 8d0aa39181 Bump ansi_term from 0.12.0 to 0.12.1
Bumps [ansi_term](https://github.com/ogham/rust-ansi-term) from 0.12.0 to 0.12.1.
- [Release notes](https://github.com/ogham/rust-ansi-term/releases)
- [Commits](https://github.com/ogham/rust-ansi-term/compare/v0.12.0...v0.12.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-03 07:21:05 +02:00
David Peter 5815364206 Add packaging status from repology.org 2019-09-01 11:03:35 +02:00
sharkdp 79f016e15c Update syntaxes 2019-08-31 20:58:16 +02:00
sharkdp 26f9125ebb Re-formulate help text 2019-08-31 20:56:53 +02:00
sharkdp 9814eab13f Suppress warning in -A mode 2019-08-31 20:56:53 +02:00
sharkdp 82ca8804a2 Handle non-unicode characters in the preprocessor 2019-08-31 20:56:53 +02:00
pjsier b48b9fcf3b Display binary file content for bat -A 2019-08-31 20:56:53 +02:00
sharkdp c64ab29739 Update min. required rust version 2019-08-31 14:48:42 +02:00
sharkdp 83dd3fb551 Update man page 2019-08-31 14:47:04 +02:00
sharkdp ed345f2889 Fix headline 2019-08-31 14:44:11 +02:00
sharkdp d2492980c0 Update syntaxes and themes 2019-08-31 14:43:20 +02:00
sharkdp 47d5130764 Bump version 2019-08-31 14:43:04 +02:00
sharkdp 4ba45e2ba2 Add first version of 'man page' syntax, closes #523 2019-08-31 14:32:37 +02:00
sharkdp 7076ae5cd9 Update dependencies 2019-08-31 14:14:08 +02:00
sharkdp 2e71146801 Fix another instance of the 'bat cache' bug, closes #584 2019-08-31 14:13:36 +02:00
sharkdp f3824bad17 Add explicit terminal width for test 2019-08-31 13:46:48 +02:00
sharkdp ec908d5937 Run 'cargo fmt' 2019-08-31 13:46:48 +02:00
sharkdp 3a75d85b80 Add test for 'snip' feature 2019-08-31 13:46:48 +02:00
sharkdp 63d652dab5 Add 'dyn' keyword for trait references 2019-08-31 13:46:48 +02:00
Ethan P 7f2e61d579 Add new style component to separate multiple '--line-range's 2019-08-31 13:46:48 +02:00
sharkdp e289a2c698 Add short '-L' option as an alias for --list-languages 2019-08-31 13:22:16 +02:00
sharkdp 83a213bae7 Add 'strace' syntax, closes #599 2019-08-31 13:13:42 +02:00
sharkdp 3967e28ded Add SCSS and Sass syntax, closes #637 2019-08-31 13:09:38 +02:00
sharkdp 2dc2a3712a Add Verilog syntax, closes #616 2019-08-31 12:59:02 +02:00
sharkdp 10e0f9efb0 Install fish completions in DEB package, closes #554 2019-08-28 21:06:52 +02:00
dependabot-preview[bot] f8ea075e78 Bump console from 0.7.7 to 0.8.0
Bumps [console](https://github.com/mitsuhiko/console) from 0.7.7 to 0.8.0.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Commits](https://github.com/mitsuhiko/console/compare/0.7.7...0.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-26 21:44:57 +02:00
dependabot-preview[bot] c187dce2c2 Bump lazy_static from 1.3.0 to 1.4.0
Bumps [lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/rust-lang-nursery/lazy-static.rs/releases)
- [Commits](https://github.com/rust-lang-nursery/lazy-static.rs/compare/1.3.0...1.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-26 07:13:01 +02:00
dependabot-preview[bot] 108c907d69 Bump git2 from 0.9.2 to 0.10.0
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.9.2 to 0.10.0.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/compare/git2-curl-0.9.2...git2-curl-0.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-24 08:47:50 +02:00
sharkdp 187a3b9341 Use consistent syntax for command-line options
closes #574
2019-08-15 21:57:32 +02:00
David Peter 9c2d4f6a51 Add libc6-dev dependency for aarch64 2019-08-10 15:58:13 +02:00
sharkdp c1126157d4 Re-enable aarch64 builds 2019-08-10 15:58:13 +02:00
dependabot-preview[bot] dcfa810112 Bump syntect from 3.2.0 to 3.2.1
Bumps [syntect](https://github.com/trishume/syntect) from 3.2.0 to 3.2.1.
- [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.0...v3.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-10 14:06:13 +02:00
Dan Davison f963104006 Add GraphQL sublime syntax submodule 2019-08-10 13:17:02 +02:00
sharkdp 45e1c0ea6f Temporarily disable aarch64 2019-08-02 21:14:44 +02:00
sharkdp 590a1e9a4b Bump minimum supported version to 1.33 2019-08-02 21:00:33 +02:00
sharkdp 8e2c6abb13 Update dependencies 2019-08-02 20:57:16 +02:00
Wild Kat 28266ee441 use explicit dyn with Write to appease compiler 2019-08-02 18:50:55 +02:00
Ethan P 21821f1d4c Updated snapshot tests 2019-07-26 06:51:33 +02:00
Ethan P 772ce2e4fe Print a horizontal header line when 'grid' style without 'header' style 2019-07-26 06:51:33 +02:00
dependabot-preview[bot] 35ca1c5191 Bump atty from 0.2.12 to 0.2.13
Bumps [atty](https://github.com/softprops/atty) from 0.2.12 to 0.2.13.
- [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.12...0.2.13)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-25 21:34:19 +02:00
dependabot-preview[bot] 0cc60a1519 Bump wild from 2.0.1 to 2.0.2
Bumps [wild](https://gitlab.com/kornelski/wild) from 2.0.1 to 2.0.2.
- [Release notes](https://gitlab.com/kornelski/wild/tags)
- [Commits](https://gitlab.com/kornelski/wild/commits/master)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-24 21:50:05 +02:00
dependabot-preview[bot] ee6659dacf Bump ansi_term from 0.11.0 to 0.12.0
Bumps [ansi_term](https://github.com/ogham/rust-ansi-term) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/ogham/rust-ansi-term/releases)
- [Commits](https://github.com/ogham/rust-ansi-term/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-24 21:45:44 +02:00
sharkdp 76c615a304 Allow leading minus in '--terminal-width <value>'
closes #611
2019-07-24 21:44:25 +02:00
Igor Gnatenko e8c04672f0 Small improvements for Fedora instructions
Anything older than F29 is EOL now, so no need to mention it. Also in F29+ you can use standard `dnf install`.
2019-07-24 21:38:11 +02:00
dependabot-preview[bot] 7f5a5612e4 Bump atty from 0.2.11 to 0.2.12
Bumps [atty](https://github.com/softprops/atty) from 0.2.11 to 0.2.12.
- [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.11...0.2.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-12 07:15:42 +02:00
dependabot-preview[bot] eee5d424bb [Security] Bump smallvec from 0.6.9 to 0.6.10
Bumps [smallvec](https://github.com/servo/rust-smallvec) from 0.6.9 to 0.6.10. **This update includes security fixes.**
- [Release notes](https://github.com/servo/rust-smallvec/releases)
- [Commits](https://github.com/servo/rust-smallvec/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-07 15:34:01 +02:00
dependabot-preview[bot] e5311e4b30 Bump console from 0.7.6 to 0.7.7
Bumps [console](https://github.com/mitsuhiko/console) from 0.7.6 to 0.7.7.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Commits](https://github.com/mitsuhiko/console/compare/0.7.6...0.7.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-05 14:34:15 +02:00
dependabot-preview[bot] a1b9334a44 Bump console from 0.7.5 to 0.7.6
Bumps [console](https://github.com/mitsuhiko/console) from 0.7.5 to 0.7.6.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Commits](https://github.com/mitsuhiko/console/compare/0.7.5...0.7.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-20 10:04:08 +02:00
Chloe Kudryavtsev d86b7cf7e0 Add Alpine Linux installation instructions
Resolves #586
2019-06-11 07:40:23 +02:00
dependabot-preview[bot] 67834da681 Bump git2 from 0.9.0 to 0.9.1
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.9.0 to 0.9.1.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/compare/0.9.0...0.9.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-10 11:15:51 +02:00
toku-sa-n dcdf8dfaa7 Add install instructions(ja) for Gentoo Users. 2019-06-09 17:50:18 +02:00
toku-sa-n 9a44fa11c0 Add install instructions for Gentoo Users. 2019-06-09 17:50:18 +02:00
sharkdp 4ee0b2e16d Merge branch 'issmirnov-ssh-config' 2019-06-07 08:17:17 +02:00
sharkdp 518997135e Merge branch 'ssh-config' of https://github.com/issmirnov/bat into issmirnov-ssh-config 2019-06-07 08:17:04 +02:00
Ivan Smirnov 69fc1caead Add support for "etc/hosts" files.
- Syntax author: https://github.com/brandonwamboldt/sublime-hosts

Since the upstream version only has a tmLanguage, added a sublime-syntax
file manually.
2019-06-07 08:02:38 +02:00
Ivan Smirnov 175dd4c290 Add SSH config syntax
Tested:
```
bash assets/create.sh
cargo build
target/debug/bat --language ssh_config ~/.ssh/config
```
2019-06-06 20:01:23 -07:00
dependabot-preview[bot] e9210c0f6c Bump git2 from 0.8.0 to 0.9.0
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.8.0 to 0.9.0.
- [Release notes](https://github.com/rust-lang/git2-rs/releases)
- [Commits](https://github.com/rust-lang/git2-rs/compare/git2-curl-0.8.0...0.9.0)
2019-06-05 07:17:09 +02:00
sharkdp 3795acbd17 Add '.env' (DotENV) syntax 2019-05-31 21:05:34 +02:00
sharkdp c7d08cfcfd Add 'requirements.txt' syntax 2019-05-31 20:58:08 +02:00
dependabot-preview[bot] 8ec96da9f0 Bump dirs from 2.0.0 to 2.0.1
Bumps [dirs](https://github.com/soc/dirs-rs) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/soc/dirs-rs/releases)
- [Commits](https://github.com/soc/dirs-rs/commits)
2019-05-31 08:57:04 +02:00
Fernando Mendes c9d7e3652b Enforce the creation of the full cache dir path
Fixes #576
2019-05-30 22:28:52 +02:00
Brice Waegeneire dfa024f9e6 Add Org mode syntax, closes sharkdp#36 2019-05-29 19:52:06 +02:00
dependabot-preview[bot] b2757cb461 Bump dirs from 1.0.5 to 2.0.0
Bumps [dirs](https://github.com/soc/dirs-rs) from 1.0.5 to 2.0.0.
- [Release notes](https://github.com/soc/dirs-rs/releases)
- [Commits](https://github.com/soc/dirs-rs/commits)
2019-05-28 21:32:57 +02:00
sharkdp 416a0fd439 Fix autocompletion-path 2019-05-15 23:24:37 +02:00
sharkdp 9b1b3dda14 Only print the header for empty files
Instead of printing
```
───────┬─────────────────────────────────────────────────────────
       │ File: some-file
───────┼─────────────────────────────────────────────────────────
───────┴─────────────────────────────────────────────────────────
```
for empty files, bat will now print
```
───────┬─────────────────────────────────────────────────────────
       │ File: some-file   <EMPTY>
───────┴─────────────────────────────────────────────────────────
```
2019-05-15 22:37:03 +02:00
sharkdp ae7db313a6 Update man page 2019-05-15 22:14:40 +02:00
sharkdp 3c4384990d Update syntaxes and themes 2019-05-15 22:12:02 +02:00
sharkdp 260814c377 Bump version to 0.11 2019-05-15 22:07:35 +02:00
sharkdp 3675a82a1b Update dependencies 2019-05-15 22:06:28 +02:00
sharkdp 5b2b594919 Revert "Run 'cargo fmt'" (outdated rustfmt)
This reverts commit dd40f7545d.
2019-05-15 08:07:08 +02:00
sharkdp 9d53ce6be6 Fix warning 2019-05-14 23:42:23 +02:00
sharkdp 51e05499a9 Update dependencies 2019-05-14 23:40:21 +02:00
sharkdp dd40f7545d Run 'cargo fmt' 2019-05-14 23:40:07 +02:00
sharkdp c709bf2103 Print a warning message instead of just '<BINARY>' 2019-05-14 23:35:22 +02:00
Maksim Panfilov f37dbb80a8 Added printing of "<BINARY>" for binary files in the interactive mode if header decorations are turned off 2019-05-14 23:35:22 +02:00
sharkdp 0a1e08da96 Extend help text for --terminal-width and --wrap, closes #535 2019-05-14 23:24:13 +02:00
Ethan P 06b8dcb7eb Update fish completions for new --list-languages format 2019-05-14 22:50:42 +02:00
Ethan P 493a4e719e Added non-interactive mode for --list-languages
This makes scripting it a lot easier and less hacky.
2019-05-14 22:50:42 +02:00
Ethan P 27e0ca98d9 Remove language completions for config files 2019-05-14 22:50:42 +02:00
Ethan P 1b2066c5f2 Add fish shell argument completions for --language option 2019-05-14 22:50:42 +02:00
dependabot[bot] 4ec3cdb5b8 Bump error-chain from 0.12.0 to 0.12.1
Bumps [error-chain](https://github.com/rust-lang-nursery/error-chain) from 0.12.0 to 0.12.1.
- [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[bot] <support@dependabot.com>
2019-05-13 18:32:28 +02:00
sharkdp 72152296c7 Fix accidental printing of files named 'cache'
This also adds two regression tests, so this will hopefully not pop up
again.

closes #557
2019-05-10 17:55:46 -05:00
Ethan P 2b9d25df05 Replace iterator with string starts_with and ends_with 2019-05-10 17:52:35 -05:00
Ethan P cc8186103b Reformatted with cargo fmt. 2019-05-10 17:52:35 -05:00
Ethan P 0ad09df7ab Improved logic when encountering ANSI in character wrap mode
Fixes #551
2019-05-10 17:52:35 -05:00
Ethan P 7ef0fe091d Cleaned up terminal-width validation even more 2019-05-10 17:50:58 -05:00
Ethan P 89fcbb2b15 Cleaned up terminal-width validation slightly 2019-05-10 17:50:58 -05:00
Ethan P a7e2bb86cb Add validation for --terminal-width option 2019-05-10 17:50:58 -05:00
sharkdp 1ce0bc8e0d Slightly modified help text 2019-05-10 11:04:46 -05:00
Ethan P fde00eec98 Add -pp for plain styling and no pager 2019-05-10 11:01:02 -05:00
Mitchell Kember bb6594e691 Add 3 new themes: ansi-light, ansi-dark, base16
Also, interpret transparent colors (#RRGGBB00) as specifying a terminal
color palette number with RR. The three new themes use this.
2019-05-08 07:35:43 -05:00
rasmuskriest e7c5561df7 Update Chocolatey package name to bat 2019-04-25 17:58:15 +02:00
rasmuskriest 0aabbc03d7 Add Chocolatey package instructions 2019-04-25 17:58:15 +02:00
Alexander Hultnér 8a5b59febc Updated manual to include -H, --highlight-line <N> 2019-04-25 17:57:01 +02:00
Tim Sampson 7afdd44c43 cache/misc: be more cautious with bash 2019-04-25 17:52:21 +02:00
Tim Sampson d72549a873 add fish shell syntax definition 2019-04-25 17:52:21 +02:00
evdev 1ba8540e5f Updated packaging script to include manual fish shell completions 2019-04-13 10:59:22 +02:00
evdev a6cee4da67 Removed completions file accidentaly left in root dir 2019-04-13 10:59:22 +02:00
evdev cd6850947e Updated fish completions to include parameter completion for available themes, added cache subcommand completions 2019-04-13 10:59:22 +02:00
evdev 14bfedeb20 Updated fish completions to include parameter completion for flags: color, italic-text, decorations, paging, wrap 2019-04-13 10:59:22 +02:00
evdev 8fe65252f7 WIP: added manual minimal fish shell completions for current flags. Does not include flag sub-options like language lists or subcommands 2019-04-13 10:59:22 +02:00
evdev 5e9351445f WIP: added manual minimal fish shell completions for current flags. Does not include flag sub-options like language lists or subcommands 2019-04-13 10:59:22 +02:00
dependabot[bot] 2fdfb8de40 Bump escargot from 0.4.0 to 0.5.0
Bumps [escargot](https://github.com/crate-ci/escargot) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/crate-ci/escargot/releases)
- [Changelog](https://github.com/crate-ci/escargot/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/escargot/compare/v0.4.0...v0.5.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-04-09 21:48:33 +02:00
dependabot[bot] f8c759edff Bump clap from 2.32.0 to 2.33.0
Bumps [clap](https://github.com/clap-rs/clap) from 2.32.0 to 2.33.0.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-04-08 13:00:03 +02:00
dependabot[bot] e34431f922 Bump assert_cmd from 0.11.0 to 0.11.1
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 0.11.0 to 0.11.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.11.0...v0.11.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-04-04 21:11:46 +02:00
Björn c96927b550 Update F# syntax 2019-04-04 21:11:19 +02:00
Laurent Arnoud 921cc0d1cb Add copyright file on Debian package 2019-03-17 18:59:28 +01:00
dependabot[bot] dbc49e534a Bump syntect from 3.1.0 to 3.2.0
Bumps [syntect](https://github.com/trishume/syntect) from 3.1.0 to 3.2.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.1.0...v3.2.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-11 06:37:16 +01:00
David Peter 7755ed79e0 Delete .DS_Store 2019-03-11 06:35:21 +01:00
Daniele Esposti 50aabf331d Updated minimum version of Rust 2019-03-09 07:43:41 +01:00
Daniele Esposti f259ff2920 Formatted code 2019-03-09 07:43:41 +01:00
Daniele Esposti 82f14121bd Applied linter fixes 2019-03-09 07:43:41 +01:00
Daniele Esposti a21ae614e6 Migrated to Rust 2018 2019-03-09 07:43:41 +01:00
dependabot[bot] b94c94e845 Bump lazy_static from 1.2.0 to 1.3.0
Bumps [lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/rust-lang-nursery/lazy-static.rs/releases)
- [Commits](https://github.com/rust-lang-nursery/lazy-static.rs/compare/1.2.0...1.3.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-08 21:45:42 +01:00
dependabot[bot] 161d107ec3 Bump dirs from 1.0.4 to 1.0.5
Bumps [dirs](https://github.com/soc/dirs-rs) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/soc/dirs-rs/releases)
- [Commits](https://github.com/soc/dirs-rs/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-05 22:31:16 +01:00
dependabot[bot] ecf147fd96 Bump syntect from 3.0.2 to 3.1.0
Bumps [syntect](https://github.com/trishume/syntect) from 3.0.2 to 3.1.0.
- [Release notes](https://github.com/trishume/syntect/releases)
- [Changelog](https://github.com/trishume/syntect/blob/master/CHANGELOG.md)
- [Commits](https://github.com/trishume/syntect/compare/v3.0.2...v3.1.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-25 07:03:17 +01:00
sharkdp f0771d6532 Do not replace arguments to pager when --pager is used, closes #509 2019-02-18 20:28:44 +01:00
Geoff Shannon d8f28c177a Make fd link actually link to fd 2019-02-17 09:19:42 +01:00
David Peter fbee9df719 Add "git show" section 2019-02-11 22:04:22 +01:00
David Peter 6e9ca7d6dc Add "xclip" section 2019-02-11 22:01:03 +01:00
David Peter a9ec5c063a Add documentation about "tail -f" 2019-02-11 21:54:16 +01:00
David Peter 8470fd7173 Add "Integration with other tools" section 2019-02-11 21:38:18 +01:00
Reid Wagner 76b7418e35 Only print contents if file wasn't empty, or EOF wasn't first thing received from stdin. 2019-02-11 20:33:16 +01:00
Reid Wagner 10c5f79640 Revert "Check result of read_until, and return Error if 0, which indicates EOF was found before delimeter."
This reverts commit 61e888de7f.
2019-02-11 20:33:16 +01:00
sharkdp 9e11d66979 Handle UTF-16 encoding errors with replacement characters 2019-02-10 10:18:07 +01:00
sharkdp fa3244f7c1 Add test for UTF-16LE encoding 2019-02-10 10:18:07 +01:00
sharkdp 906774e6d3 Integration tests for single-line files 2019-02-10 10:18:07 +01:00
Reid Wagner cec9cc073c Add integration tests running bat with empty input files. 2019-02-08 23:30:33 +01:00
David Peter a16789a060 Update alternatives.md 2019-02-07 23:52:31 +01:00
sharkdp e09499b3df Move config-dir and cache-dir from 'bat cache' to 'bat' 2019-02-07 23:27:53 +01:00
sharkdp cff01d81fa Rename 'bat cache --init' to 'bat cache --build' 2019-02-07 23:27:53 +01:00
sharkdp 31608c9a03 Update syntaxes 2019-02-07 23:01:06 +01:00
sharkdp 357ce84c56 Bump version to 0.10 2019-02-07 23:00:40 +01:00
sharkdp 3a5c52641b Update assets/syntaxes/Packages 2019-02-07 22:53:18 +01:00
sharkdp 6e8fca5bb2 Replace less command line arguments only for PAGER 2019-02-07 22:37:33 +01:00
Park Juhyung 63c77383ce Ignore flags from PAGER env var if the program is 'less' 2019-02-07 22:37:33 +01:00
sharkdp 4df22e617f Update documentation 2019-02-07 22:19:32 +01:00
sharkdp 6473e8c1be Remove import 2019-02-07 22:19:32 +01:00
sharkdp 972a764a74 Simplify Optional handling 2019-02-07 22:19:32 +01:00
sharkdp 54143d1403 Add --cache-dir option 2019-02-07 22:19:32 +01:00
sharkdp 6523bbf62f Replace 'is_absolute_path' with map and filter 2019-02-07 22:19:32 +01:00
Lavi 05e2c2c66b removed compile errors and warnings on non-macs 2019-02-07 22:19:32 +01:00
Lavi 69227222b5 config and cache now check XDG env vars first
`XDG_CACHE_HOME` and `XDG_CONFIG_HOME` are checked first and fall-back
to `~/.cache/` and `~/.config/`.
2019-02-07 22:19:32 +01:00
Lavi 49af3e854b Set cache_dir on MacOS to ~/.cache/bat/ 2019-02-07 22:19:32 +01:00
Lavi 6a8e4757b7 Updated bat config dir for MacOs
Removed directories crate and using dirs_rs
Changed bat config file and cache dir on MacOs:
config: ~/.config/bat/config
cache: ~/.config/bat/cache/
2019-02-07 22:19:32 +01:00
Harald Hoyer 91deef8b13 add varlink syntax
Varlink is an interface description format and protocol that aims
to make services accessible to both humans and machines in the
simplest feasible way.

See: https://varlink.org/ and https://github.com/varlink/ for
more information
2019-02-07 07:40:22 +01:00
Reid Wagner 61e888de7f Check result of read_until, and return Error if 0, which indicates EOF was found before delimeter. 2019-02-07 07:32:28 +01:00
Okumura Takahiro f3f9f10f05 Add Jsonnet (*.jsonnet) syntax
Jsonnet: https://jsonnet.org/
sublime-syntax: https://github.com/gburiola/sublime-jsonnet-syntax
2019-02-04 23:28:39 +01:00
object_1037 29ffa2a832 add Fedora instructions 2019-02-03 12:58:04 +01:00
object_1037 42a873fdb8 update README-ja.md 2019-02-03 12:58:04 +01:00
dependabot[bot] 82f048aedb Bump assert_cmd from 0.10.2 to 0.11.0
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 0.10.2 to 0.11.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.10.2...v0.11.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-29 08:13:31 +01:00
Benjamin Santos ae08785ec8 Add Terraform syntax 2019-01-28 20:09:56 +01:00
sharkdp a500629359 Completely disable generation of shell completion files 2019-01-26 19:11:54 +01:00
Gergely Gombos 724a5fac99 Fix Fedora instructions in README
Correct instructions regarding Fedora Modular repos.
2019-01-26 19:11:37 +01:00
sharkdp c483e49b92 Consistent naming for submodules 2019-01-20 10:22:35 +01:00
Benjamin 94c9b40694 Protobuf-syntax and ProtobufText syntax (#474) 2019-01-20 10:20:53 +01:00
dependabot[bot] 0c9dc3b257 Bump console from 0.7.3 to 0.7.5
Bumps [console](https://github.com/mitsuhiko/console) from 0.7.3 to 0.7.5.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Commits](https://github.com/mitsuhiko/console/compare/0.7.3...0.7.5)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-18 07:25:29 +01:00
Benjamin Santos 3b5174bb1d Add syslog-syntax 2019-01-18 07:24:46 +01:00
David Peter 3324505383 Update README.md 2019-01-16 20:04:46 +01:00
dependabot[bot] de7872f8a8 Bump console from 0.7.2 to 0.7.3
Bumps [console](https://github.com/mitsuhiko/console) from 0.7.2 to 0.7.3.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Commits](https://github.com/mitsuhiko/console/compare/0.7.2...0.7.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-14 09:12:12 +01:00
dependabot[bot] abf0229741 Bump escargot from 0.3.1 to 0.4.0
Bumps [escargot](https://github.com/crate-ci/escargot) from 0.3.1 to 0.4.0.
- [Release notes](https://github.com/crate-ci/escargot/releases)
- [Changelog](https://github.com/crate-ci/escargot/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/escargot/compare/v0.3.1...v0.4.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-01 12:32:25 +01:00
dependabot[bot] e04bccd12d Bump console from 0.7.1 to 0.7.2
Bumps [console](https://github.com/mitsuhiko/console) from 0.7.1 to 0.7.2.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Commits](https://github.com/mitsuhiko/console/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-24 08:41:06 +01:00
David Peter 668c8a6703 Merge pull request #453 from sharkdp/line-highlight
Line highlight
2018-12-18 09:06:28 +01:00
sharkdp bd68684537 Fix the number of values to one 2018-12-16 22:35:22 +01:00
sharkdp c2847f6a9f Short options for line-range and highlight-line 2018-12-16 22:17:39 +01:00
sharkdp cf7ed042c1 Colorize the whole line 2018-12-16 21:53:15 +01:00
sharkdp 6b92814ea0 Allow for multiple highlighted lines 2018-12-16 21:00:18 +01:00
sharkdp a236a9b195 Merge branch 'master' of https://github.com/tskinn/bat into tskinn-master 2018-12-16 20:43:36 +01:00
sharkdp b68c5d8576 Bump minimum required Rust version to 1.30 2018-12-14 23:34:13 +01:00
sharkdp fee57d71d9 Print ANSI-reset code before newline
fixes #379
2018-12-14 23:34:13 +01:00
sharkdp 5d3205acc0 Add x86_64 Assembly manually 2018-12-14 23:07:11 +01:00
sharkdp 4e6816abd6 Remove problematic 'Assembly (x86_64)' submodule 2018-12-14 23:07:11 +01:00
dependabot[bot] 72e8036edc Bump git2 from 0.7.5 to 0.8.0
Bumps [git2](https://github.com/alexcrichton/git2-rs) from 0.7.5 to 0.8.0.
- [Release notes](https://github.com/alexcrichton/git2-rs/releases)
- [Commits](https://github.com/alexcrichton/git2-rs/compare/libgit2-sys-0.7.5...git2-curl-0.8.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-14 22:55:25 +01:00
sharkdp 397def1320 Omit launching of pager if NO file exists
closes #387
2018-12-14 22:53:31 +01:00
sharkdp d2d29180a7 Add ARM assembly 2018-12-14 22:52:57 +01:00
sharkdp 2f263c9fbf Add x86_64 assembly 2018-12-14 22:46:50 +01:00
ufuji1984 4ff360669f add quotes around filename
and make it more concise by using map_err
2018-12-11 22:24:52 +01:00
ufuji1984 549e5d7355 Report filename if File::open return Err
From issue #441
2018-12-11 22:24:52 +01:00
Markus Thömmes dd48d29c28 Add AsciiDoc syntax. 2018-12-11 21:12:29 +01:00
sharkdp 98ee5f7400 Add vimpager to alternatives, closes #429 2018-12-07 20:28:47 +01:00
dependabot[bot] 638c04c13e Bump console from 0.7.0 to 0.7.1
Bumps [console](https://github.com/mitsuhiko/console) from 0.7.0 to 0.7.1.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Commits](https://github.com/mitsuhiko/console/compare/0.7.0...0.7.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-03 07:04:34 +01:00
David Peter b1c865acaa Update README.md 2018-12-02 22:02:39 +01:00
Lavi Blumberg d3d795ffb2 Removed confusing variable from examples in README.md
Removed confusing the variable `BAT_CONFIG_DIR` from examples because it
 is not a real configuration option for bat.
2018-12-02 20:19:12 +01:00
David Peter 0571c51487 Add copyright notice in MIT license 2018-12-02 18:35:29 +01:00
Ole Martin Ruud 348c9f3562 Enhance SyntaxMapping with impl Trait 2018-11-27 20:36:23 +01:00
Ole Martin Ruud 6b6a8f8e16 Fix doc comment typo 2018-11-27 20:34:32 +01:00
Keith Devens 6aa002850c Correct typo in readme 2018-11-26 20:11:25 +01:00
dependabot[bot] 49c22c8d39 Bump console from 0.6.2 to 0.7.0
Bumps [console](https://github.com/mitsuhiko/console) from 0.6.2 to 0.7.0.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Commits](https://github.com/mitsuhiko/console/compare/0.6.2...0.7.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-23 08:04:46 +01:00
dependabot[bot] 673caf6b59 Bump assert_cmd from 0.10.1 to 0.10.2
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 0.10.1 to 0.10.2.
- [Release notes](https://github.com/assert-rs/assert_cmd/releases)
- [Changelog](https://github.com/assert-rs/assert_cmd/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/assert_cmd/compare/v0.10.1...v0.10.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-21 19:11:22 +01:00
David Peter e6ffab3cb4 Update assets/README.md 2018-11-19 18:48:36 +01:00
Jerome Leclanche 4e43f8fa74 Highlight XDG desktop entry as .ini file
Reference: https://standards.freedesktop.org/desktop-entry-spec/latest/
2018-11-19 18:48:36 +01:00
David Peter bac1b16885 Consistent spelling of "color" 2018-11-18 12:11:07 +01:00
Ahmed El Gabri 778a4929a8 Add twig support 2018-11-18 11:58:05 +01:00
sh-tech 5c22dd4248 add close tag 2018-11-15 08:53:03 +01:00
sh-tech 214cd0f8ea add link to original README 2018-11-15 08:53:03 +01:00
sh-tech 9fd61fcb6d add table of contents 2018-11-15 08:53:03 +01:00
sh-tech edf1d3b256 modify url 2018-11-15 08:53:03 +01:00
sh-tech eca47b2a28 translate Project goals, alternatives 2018-11-15 08:53:03 +01:00
sh-tech 62424e70d7 translate Customization 2018-11-15 08:53:03 +01:00
sh-tech 4791f15222 translate Installation 2018-11-15 08:53:03 +01:00
sh-tech 159f234b78 translate Key Features & How to Use 2018-11-15 08:53:03 +01:00
sh-tech 3ec96127f2 translate table of contents 2018-11-15 08:53:03 +01:00
sh-tech a9acb2711b copy README.md (NOT translate yet) 2018-11-15 08:53:03 +01:00
sharkdp a3182e68e4 Update .gitattributes 2018-11-12 21:49:19 +01:00
sharkdp 0691b18231 Add assets/.gitattributes 2018-11-11 14:50:59 +01:00
sharkdp c711cd1b2e Update .gitattributes 2018-11-11 14:50:05 +01:00
sharkdp 14e6b41a5f Add .gitattributes 2018-11-11 14:49:24 +01:00
Arnav Borborah 532af6556d Use Rust inclusive range (stable in 1.26) 2018-11-11 14:42:22 +01:00
David Peter 26717b0cd2 Update README.md 2018-11-11 14:39:04 +01:00
David Peter 1f177f0a1c Update README.md 2018-11-11 14:35:08 +01:00
David Peter 54c81fa543 Update README.md 2018-11-11 14:32:59 +01:00
David Peter 34dee9e3aa Updates for README 2018-11-11 14:28:18 +01:00
David Peter c073d4a118 Add new image 2018-11-11 13:19:34 +01:00
sharkdp e79c5516bf Bump version, update assets 2018-11-11 12:55:38 +01:00
sharkdp 4776c2a575 Update man page 2018-11-11 12:31:28 +01:00
sharkdp f98a96c1ed Update help text 2018-11-11 12:26:39 +01:00
sharkdp 8a3446d219 Update dependencies 2018-11-11 12:17:58 +01:00
David Peter 5d5bf616ca Update README.md 2018-11-11 12:17:15 +01:00
sharkdp b68c038db8 Update link to new issue 2018-11-11 11:08:08 +01:00
dependabot[bot] 1117d2f9cb Bump syntect from 3.0.1 to 3.0.2
Bumps [syntect](https://github.com/trishume/syntect) from 3.0.1 to 3.0.2.
- [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.0.1...v3.0.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-11 11:08:08 +01:00
David Peter d0ba5bcb32 Wording 2018-11-11 11:07:55 +01:00
Ricky f8d39d5624 Resolving requested changes 2018-11-11 11:07:55 +01:00
Ricky 9998e2eac6 Initial commit of updated README for config file formatting 2018-11-11 11:07:55 +01:00
sharkdp 7cac07d845 issue #383: Handle cases like PAGER=/usr/bin/bat 2018-11-06 19:53:32 +01:00
Rodrigo Orem 148caa1381 Fix code style 2018-11-06 19:35:41 +01:00
Rodrigo Orem ab27cac0cc Remove args when change from bat to less 2018-11-06 19:35:41 +01:00
Rodrigo Orem 01fcbf2183 Better placement of bat detection 2018-11-06 19:35:41 +01:00
Rodrigo Orem 8a0c30b385 Avoid endless bat executions with PAGER="bat"
From issue #383
2018-11-06 19:35:41 +01:00
Dany Marcoux bc21c4d0e0 Add openSUSE installation instructions 2018-11-06 19:21:33 +01:00
dependabot[bot] 0800562ba2 Bump content_inspector from 0.2.3 to 0.2.4
Bumps [content_inspector](https://github.com/sharkdp/content_inspector) from 0.2.3 to 0.2.4.
- [Release notes](https://github.com/sharkdp/content_inspector/releases)
- [Commits](https://github.com/sharkdp/content_inspector/compare/v0.2.3...v0.2.4)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-05 19:37:58 +01:00
sharkdp 1f9befbcd1 Update SHA1 in TOML submodule 2018-11-05 19:37:23 +01:00
sharkdp a5c779c518 Update path to TOML syntax remote 2018-11-05 19:23:44 +01:00
dependabot[bot] f37f100352 Bump lazy_static from 1.1.0 to 1.2.0
Bumps [lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/rust-lang-nursery/lazy-static.rs/releases)
- [Commits](https://github.com/rust-lang-nursery/lazy-static.rs/compare/1.1.0...1.2.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-05 07:22:39 +01:00
Nisheet Sinvhal 18d1a3b973 Changed italics to use-italic-text in config
Better placing of italics in help and also added long_help for it
2018-11-04 19:40:05 +01:00
Nisheet Sinvhal dc10246bd2 Linting 2018-11-04 19:40:05 +01:00
Nisheet Sinvhal 44bdae0212 Linting 2018-11-04 19:40:05 +01:00
Nisheet Sinvhal 1ece38a4c4 Changed flag name 2018-11-04 19:40:05 +01:00
Nisheet Sinvhal e90308e1f8 italics enable|disable working 2018-11-04 19:40:05 +01:00
Nisheet Sinvhal d702d6740c Added args 2018-11-04 19:40:05 +01:00
sharkdp c6a526f99c Run 'cargo run' only once 2018-11-04 12:24:56 +01:00
sharkdp 278d841408 Move '--paging' arg to config file. 2018-11-04 11:19:49 +01:00
sharkdp 5f576f1ecf Remove all relevant environment variables during testing 2018-11-04 11:19:49 +01:00
sharkdp 48c6ea6b25 Simplify integration test setup 2018-11-04 11:19:49 +01:00
Ricky 558134f6c8 Changed to unwrap methods, added integration tests 2018-11-04 11:19:49 +01:00
Ricky 1dd57e6d7e Ran rust fmt 2018-11-04 11:19:49 +01:00
Ricky 20ba84d1fa Added in environment variable and the result is a file check in config.rs 2018-11-04 11:19:49 +01:00
sharkdp e81f9b23e6 Fix --show-all for UTF-16 encoding 2018-11-01 22:00:47 +01:00
sharkdp 50dc4a79b0 Display line-feed as instead of 2018-11-01 22:00:47 +01:00
sharkdp 8fa8f44706 Use character if tab-width == 1. 2018-11-01 22:00:47 +01:00
sharkdp ecd862d9ff Feature: Highlight non-printable characters
Adds a new `-A`/`--show-all` option (in analogy to GNU Linux `cat`s option) that
highlights non-printable characters like space, tab or newline.

This works in two steps:
- **Preprocessing**: replace space by `•`, replace tab by `├──┤`, replace
newline by `␤`, etc.
- **Highlighting**: Use a newly written Sublime syntax to highlight
these special symbols.

Note: This feature is not technically a drop-in replacement for GNU `cat`s
`--show-all` but it has the same purpose.
2018-11-01 22:00:47 +01:00
sharkdp cbed338c3a Remove generation code for tabs_ tests 2018-11-01 15:30:58 +01:00
sharkdp 4492d99556 Change default tab width to 4 2018-11-01 15:30:58 +01:00
sharkdp d96ee2261f Remove tab-related text 2018-11-01 15:30:58 +01:00
sharkdp dda27b253b Allow offset values in --terminal-width
Allows the `width` argument to `--terminal-width` to be an offset
instead of an absolute number. Examples:

    --terminal-width=80   # Set output width to 80 characters
    --terminal-width=-2   # Set output width to actual_width - 2

closes #376
2018-10-31 22:21:22 +01:00
sharkdp 78f26d0caf Temporarily disable shipping of shell completions
closes #372
2018-10-31 22:03:05 +01:00
David Peter abcd09f869 Remove commented-out code 2018-10-21 22:52:26 +02:00
Sindre Johansen 41a5ff039b Only use the last argument of {style,plain,number} 2018-10-21 22:52:26 +02:00
Sindre Johansen 155bad3862 Rustfmt 2018-10-21 22:52:26 +02:00
Sindre Johansen 7c98a1c901 When specifying style multiple times the last occurence wins
Closes: #367
2018-10-21 22:52:26 +02:00
David Peter c1246fcd53 Update help text 2018-10-21 22:42:11 +02:00
David Peter 9f401ea122 Update docstring 2018-10-21 22:42:11 +02:00
Park Juhyung 9c782fb692 Fix format error 2018-10-21 22:42:11 +02:00
Park Juhyung 154186a58d Add --pager option 2018-10-21 22:42:11 +02:00
David Peter b22a9f8fe3 Update README.md 2018-10-20 14:56:25 +02:00
David Peter 5219c40ed8 PAGER: Wrapper script is not needed anymore 2018-10-20 14:54:44 +02:00
sharkdp a25ee0e6fd Add sublime-snazzy theme 2018-10-20 11:32:25 +02:00
sharkdp 496e0bc046 Allow for multiple line ranges
See #23
2018-10-20 10:44:13 +02:00
sharkdp 7082fd09f0 Modify TravisCI caching policy 2018-10-19 23:06:25 +02:00
David Peter 857cc215b4 Move link to header line 2018-10-19 22:00:05 +02:00
yobrave 481268f018 Doc: add Chinese readme link
#251
2018-10-19 22:00:05 +02:00
sharkdp f7d9f49503 Remove leftovers from tab-tests 2018-10-19 21:57:35 +02:00
Lawrence Chou 88fcfd76aa cargo fmt 2018-10-19 21:04:46 +02:00
Lawrence Chou 76e34b29ec Avoid empty line in snapshot 2018-10-19 21:04:46 +02:00
Lawrence Chou 01984e1d02 Test 'tabs' with 'numbers' 2018-10-19 21:04:46 +02:00
Lawrence Chou 536390509f remove --wrap for now 2018-10-19 21:04:46 +02:00
Lawrence Chou 58198d0700 rewrite 6 snapshot tests as integration test 2018-10-19 21:04:46 +02:00
Lawrence Chou afc5aacb28 Move tabs_* snapshot tests to integration_tests 2018-10-19 21:04:46 +02:00
sharkdp 30b742e984 --map-syntax takes just one value 2018-10-17 23:27:44 +02:00
sharkdp 671deeef8c Update help text 2018-10-17 23:17:28 +02:00
sharkdp a892caeb33 Bump bat version to 0.8 2018-10-17 23:15:59 +02:00
sharkdp a770cbf25e Update assets 2018-10-17 23:14:07 +02:00
sharkdp 931c6e9414 Update man page 2018-10-17 23:13:50 +02:00
sharkdp 8dc7e2efa3 Add --config-file option 2018-10-17 23:08:37 +02:00
sharkdp 10965a6122 Implement syntax mapping
This adds a `-m`/`--map-syntax` option that allows users to (re)map
certain file extensions or file names to an existing syntax.

For example:
```
bat --map-syntax .config:json
```

The option can be use multiple times. Note that you can easily make
these mappings permanent by using `bat`s new configuration file.

closes #169
2018-10-17 23:08:19 +02:00
sharkdp e43d97dc15 Small cleanup 2018-10-17 21:12:23 +02:00
sharkdp 2c7087b8de Add integration tests for pager handling 2018-10-17 21:08:32 +02:00
sharkdp bb1f5aa841 Add proper handling of empty PAGER variables 2018-10-17 21:08:32 +02:00
sharkdp 2109a7830b Add error handling for parsing errors 2018-10-17 21:08:32 +02:00
sharkdp ec27c78a8a Remove duplicate 'extern crate' 2018-10-17 21:08:32 +02:00
Morten Linderud 67fe833bc8 Add arguments from PAGER/BAT_PAGER
Solves #352

Signed-off-by: Morten Linderud <morten@linderud.pw>
2018-10-17 21:08:32 +02:00
sharkdp e956225b4d Update syntect to 3.0.1
closes #314
2018-10-16 23:06:46 +02:00
sharkdp 314ec881ef Bump Rust version 2018-10-16 22:09:15 +02:00
sharkdp 25a6a55437 Revert "Fix for older version of Rust"
This reverts commit c530fadc44.
2018-10-16 22:09:15 +02:00
sharkdp 5bff4548be Add BAT_OPTS environment variable 2018-10-16 22:09:15 +02:00
sharkdp 866b9e16a8 Add error handling 2018-10-16 22:09:15 +02:00
sharkdp 5af176c94f Move transpose to util module 2018-10-16 22:09:15 +02:00
sharkdp 9e7da05459 Fix for older version of Rust 2018-10-16 22:09:15 +02:00
sharkdp 1ae02c65fb Fix include 2018-10-16 22:09:15 +02:00
sharkdp 495e7fd3b1 Add --no-config option 2018-10-16 22:09:15 +02:00
sharkdp b48f0fe389 Fix tests 2018-10-16 22:09:15 +02:00
sharkdp c19c704a43 Add more tests 2018-10-16 22:09:15 +02:00
sharkdp 693bd5929d Add possibility for spaces on a single line 2018-10-16 22:09:15 +02:00
sharkdp 8275b0436d Add simple configuration file
This allows users to create simple configuration file
(`~/.config/bat/config` on Linux) that has the following format:

    ```bash
    --flag1
    --flag2
    --option1=value1
    # lines beginning with '#' are ignored
    --option2=value2
    # empty lines and trailing whitespace are also ignored

    --option3=value3
    ```
2018-10-16 22:09:15 +02:00
sharkdp 278bde5cee Continue with output after "is directory"-error 2018-10-11 21:54:19 +02:00
Russ Taylor eee7e5a575 Removes duplicate explanation. 2018-10-11 20:58:44 +02:00
Russ Taylor ad7b634ee6 Fixes #328 - adds info for light backgrounds. 2018-10-11 20:58:44 +02:00
David Peter 1310f83c8d Update Docker alias for bat 2018-10-11 20:57:46 +02:00
David Peter 897b9e7030 Add Docker instructions, closes #331 2018-10-11 20:05:17 +02:00
sharkdp 1891e194b5 Add simple integration tests 2018-10-11 07:06:13 +02:00
Taylor cea05e9f22 be consistent 2018-10-10 22:19:40 -06:00
sharkdp d2d01b9fe8 Always remove the local cache when creating new assets 2018-10-10 21:49:03 +02:00
sharkdp 2a7851530d Fix formatting 2018-10-10 20:45:10 +02:00
Taylor 1a6709c2cb add line highlight 2018-10-09 22:25:33 -06:00
sharkdp 5842d58c01 Updates for syntect 3.0 2018-10-09 22:04:51 +02:00
Tim Sampson e3c71adba7 syntax: Add robot framework support 2018-10-09 20:27:01 +02:00
Merlin Göttlinger 504f28b3a1 Documented nix availability 2018-10-09 20:07:27 +02:00
Fredrik Fornwall d977ba9194 Update dependencies 2018-10-08 22:33:09 +02:00
Tim Sampson 9c09799e1f misc: add exec bit for create.sh 2018-10-08 20:20:05 +02:00
David Peter d83c93c805 Update README.md 2018-10-07 18:39:52 +02:00
sharkdp fc8fd1e63f cargo fmt 2018-10-07 17:49:38 +02:00
sharkdp 404d6a4a81 Update content_inspector version 2018-10-07 17:49:38 +02:00
sharkdp 25d96da4a2 Add support for UTF-16LE and UTF-16BE 2018-10-07 17:49:38 +02:00
sharkdp e97095b724 Use first-line detection for STDIN 2018-10-07 15:34:37 +02:00
sharkdp ce96df00b6 Do not display binary files in interactive mode
closes #248
2018-10-07 15:34:37 +02:00
sharkdp f98fc5f06a Simplify access to first line 2018-10-07 15:34:37 +02:00
sharkdp 1dbb4ef683 Update minimum Rust version to 1.27 2018-10-07 15:34:37 +02:00
sharkdp 0502a3bd4a Add first-line detection for all input types
closes #205
2018-10-07 15:34:37 +02:00
sharkdp 869cf6368c Add possibility to get first line 2018-10-07 15:34:37 +02:00
sharkdp 078228deac Add unit test for InputFileReader 2018-10-07 15:34:37 +02:00
sharkdp e09d7dabb8 Move snapshot tests into separate module 2018-10-07 15:34:37 +02:00
sharkdp 6d1cc8c2c8 Move read_line functionality to inputfile module 2018-10-07 15:34:37 +02:00
sharkdp 87f021078e Use dyn Trait for trait objects 2018-10-07 15:34:37 +02:00
sharkdp d5b0502419 Move get_reader into inputfile module 2018-10-07 15:34:37 +02:00
sharkdp 860f3e9006 Move InputFile to separate module 2018-10-07 15:34:37 +02:00
sharkdp 1be346a038 Add 'plain' version of bat to the benchmarks 2018-10-07 10:57:08 +02:00
sharkdp f9fd5e4851 Simplify -h help text 2018-10-07 10:43:39 +02:00
sharkdp da09f3877b Remove unnecessary scope 2018-10-07 10:09:10 +02:00
sharkdp e30e1bab2e Move theme-preview section into own paragraph 2018-10-06 21:12:12 +02:00
Russ Taylor f140f6da46 Fixes #273 - describes 'musl' builds. 2018-10-06 21:07:01 +02:00
Grégoire Paris 3446fdf5f2 Document how to rapidly preview theme on a file 2018-10-06 21:06:31 +02:00
sharkdp e1345cdc2a Update VimL syntax 2018-10-05 18:44:51 +02:00
sharkdp a2676ccc55 Workaround for #81 2018-10-04 11:09:41 +02:00
Richard Hozák b39e28d2c8 Add support for wildcards in Windows CMD (#329)
Windows does not support wildcard expansion in cmd, this adds 'wild' crate (as discussed in #309) that handles everything transparently, so wildcards work everywhere.

Fixes #309
2018-10-03 22:59:11 +02:00
davideGiovannini 0d71968615 Generate shell completions with clap during build (#327)
* Generate shell completions with clap during build

* Updated ci release script, added SHELL_COMPLETIONS_DIR override to build.rs and fixed dependency version
2018-10-03 09:39:30 +02:00
sharkdp 80da0dc619 run cargo fmt 2018-09-26 19:16:03 +02:00
sharkdp 64903bb858 Typo 2018-09-26 19:13:32 +02:00
sharkdp 3456ce1187 Add a small tutorial 2018-09-26 18:08:24 +02:00
sharkdp 886a5b3d24 Document the situation with less and scrolling
closes #312
closes #246
2018-09-26 18:03:46 +02:00
sharkdp 238482e5f3 Update syntax-set, fixes #314 2018-09-23 10:30:19 +02:00
Michal Nazarewicz 79b960e17e Use ansi_colours package for better true-colour approximation 2018-09-23 10:19:19 +02:00
sharkdp 6aa626f1c4 Document INI syntax modifications 2018-09-22 11:23:29 +02:00
Tuk Bredsdorff 1b30539493 Added Mercurial's hgrc-files to the list of INI-extensions 2018-09-22 11:23:29 +02:00
Katrin Leinweber 96b24d8a7e Fix typos 2018-09-20 19:16:51 +02:00
sharkdp 20b02e72b3 Disable wrapping when --style is plain
closes #289
2018-09-18 21:31:56 +02:00
eth-p 254efac9c2 Added section to README on using Cygwin. 2018-09-14 18:30:43 +02:00
Jeroen Hoek dcec322117 Update README (libz-dev may be required)
On Ubuntu 18.04 I had to install `cmake` as well as `libz-dev` to get
bat to compile.
2018-09-14 14:12:44 +02:00
Alexander Eimer d781156327 Adds ansible install instructions for ansible to readme 2018-09-12 23:06:33 +02:00
sharkdp 732750c274 Bump version 2018-09-12 22:03:48 +02:00
sharkdp 6b6baa3118 Update dependencies 2018-09-12 22:01:27 +02:00
sharkdp 54c434934e Bump version, update assets 2018-09-12 22:01:01 +02:00
sharkdp ad6e0a2581 Update man page 2018-09-12 22:00:28 +02:00
sharkdp bd619db3ca Mention BAT_STYLE in README.md 2018-09-12 21:57:54 +02:00
sharkdp e098eb43a2 Do not show file header for directories
This also adds a better error message.

closes #292
2018-09-12 21:53:41 +02:00
David Peter ea369ee17f Merge pull request #298 from ms2300/bat_style
#208 Added BAT_STYLE env variable functionality
2018-09-12 21:48:34 +02:00
sharkdp 63d32bc818 Merge remote-tracking branch 'upstream/master' into bat_style 2018-09-12 21:40:41 +02:00
sharkdp dccf8d8221 Use a more streamlined version of style-component collection 2018-09-12 21:35:23 +02:00
sharkdp 97129ab9d8 Add PowerShell syntax, closes #306 2018-09-12 20:53:49 +02:00
David Peter 52d0d6ca30 Merge pull request #302 from eth-p/feature-tabs
Tab expansion support.

closes #166 
closes #184
2018-09-12 20:50:05 +02:00
sharkdp a05494e9d9 Make tests more robust 2018-09-12 20:32:49 +02:00
sharkdp 84ac92efbb Fix test for --style=plain 2018-09-12 20:32:33 +02:00
sharkdp b4c6e412dc Make generate_snapshots script more robust 2018-09-12 20:28:42 +02:00
sharkdp 3e21d69a92 Re-generate files again 2018-09-12 20:28:30 +02:00
sharkdp b7690d4bb1 Undo change in sample.modified.rs 2018-09-12 20:28:21 +02:00
eth-p d404139ff7 Added validation for --tabs.
Also added a comment to explain what 0 represents.
2018-09-12 10:08:58 -07:00
eth-p 9ef1e9f792 Update snapshots. 2018-09-11 15:04:44 -07:00
eth-p 503fe0b641 Fix sample.modified.rs 2018-09-11 15:03:13 -07:00
eth-p 1807f9653c Merge remote-tracking branch 'upstream/master' into feature-tabs
# Conflicts:
#	src/printer.rs
2018-09-11 14:03:47 -07:00
eth-p 1e74f0e2a9 Ran cargo fmt. 2018-09-11 13:47:35 -07:00
eth-p c1e1f753cf Added three new snapshot tests for --tabs and --wrap. 2018-09-11 13:47:01 -07:00
eth-p d90797f8e9 Fixed tab expansion not working in --wrap=never mode. 2018-09-11 13:45:49 -07:00
eth-p b4096e5627 Moved tab expansion to happen after syntax highlighting. 2018-09-11 13:02:22 -07:00
shik Chen 4e3ab4d399 Query git diff only when needed
In large git repo like chromium, it takes too long time to query git
diff.
2018-09-11 21:09:38 +02:00
rachitchokshi f0d936763c provide armhf deb packages (#301)
* Enabled deb packaging for armhf architecture

closes #280.
2018-09-11 21:03:53 +02:00
ms2300 7897260bf0 BAT_STYLE accounts for multiple styles (ie numbers,header) 2018-09-10 21:58:19 -06:00
eth-p eb6e43b9a9 Disabled tab expansion when decorations and pager are not used. 2018-09-10 20:12:13 -07:00
eth-p 7cdcdbb31d Updated snapshots. 2018-09-10 19:20:09 -07:00
eth-p 9159341714 Modified snapshot tests to support tab expansion.
This changes how the files are named (to allow for snapshots that aren't
directly related to the --style argument) and fixes the
generate_snapshots.py script to work with the latest version of bat.

Three new tests are also introduced:
- tabs_4 - Tab expansion with a width of 4.
- tabs_8 - Tab expansion with a width of 8.
- tabs_passthrough - No tab expansion.
2018-09-10 19:19:43 -07:00
eth-p b23ff24ebc Added tab expansion preprocessing step. 2018-09-10 18:11:59 -07:00
Rogach e1ecc17f69 print additional newline if last line in input file was not terminated with a newline (fixes #299) 2018-09-10 22:18:16 +02:00
rachitchokshi 0fe3badf19 adding deb packaging for arm64 (#1) 2018-09-10 21:24:15 +02:00
rachitchokshi 89d4cb951a Updated before_deploy.bash to call version of strip specific to aarch64 target 2018-09-10 21:24:15 +02:00
rachitchokshi e9681bf22d Testing build by removing dependency 'libz-sys = "1.0.20"' 2018-09-10 21:24:15 +02:00
rachitchokshi 1b6df8a480 Enabled build target aarch64-unknown-linux-gnu for arm64 architecture 2018-09-10 21:24:15 +02:00
ms2300 cf24986edb Run formatting for bat_style changes 2018-09-10 00:07:46 -06:00
ms2300 b9c556a0b6 Updated long help to reflect BAT_STYLE changes 2018-09-09 18:35:40 -06:00
ms2300 9d6bde48fa Added BAT_STYLE env variable functionality 2018-09-09 18:28:04 -06:00
Aankhen d6c8fee044 README.md: Add Using bat on Windows 2018-09-09 12:22:05 +02:00
sharkdp 8b4abb03db Run 'cargo fmt' 2018-09-08 09:52:21 +02:00
eth-p 375cf76e15 Formatted for newest rustfmt. 2018-09-08 09:52:21 +02:00
eth-p 1a4acc435e Typo 2018-09-08 09:52:21 +02:00
eth-p d8030626f8 Automatically disable wrapping when style is plain. 2018-09-08 09:52:21 +02:00
eth-p fb61aa4f60 Wrapping disabled when --plain is used. (#289) 2018-09-08 09:52:21 +02:00
Aankhen 76df41fa97 src/output.rs: Handle less in a portable way. 2018-09-07 21:47:31 +02:00
Miguel Madrid Mencía 97efd75cee Add Crystal syntax 2018-09-05 23:45:09 +02:00
Shreyansh Chouhan 53d0c1deca Can read files named "cache" now, cache subcommand working too (#275)
Now if a cache file exists in the current directory, and the user passes
no arguments to the cache command, the cache file would be displayed.
If however the user uses cache command with arguments, the cache command
would be executed as normal regardless of whether the file cache exists
in the current directory or not.

Though now there won't be an error message displayed if the user uses the cache sub command without arguments in any directory that contains a file named cache.
2018-09-05 23:22:12 +02:00
David Peter 155179a07a Update alternatives.md 2018-09-05 22:01:42 +02:00
sharkdp ba00caf9c3 Add Swift syntax 2018-09-05 21:56:49 +02:00
sharkdp ac418ba21c Add PureScript syntax 2018-09-05 21:50:16 +02:00
sharkdp acde83af31 Add note about 'lesspipe', closes #242 2018-09-05 21:44:53 +02:00
sharkdp 021a68eb21 Add F# syntax, closes #284 2018-09-05 21:38:35 +02:00
David Peter 566aab3b05 Merge pull request #279 from tobenna/add-jsx-syntax
Add support for JSX in javascript and typescript
2018-09-05 21:33:50 +02:00
sharkdp f88eba6476 Add section concerning missing zlib-devel
closes #229
2018-09-05 21:13:43 +02:00
sharkdp 1d9e7ac4c2 Support "(/usr)/bin/less" as PAGER too
closes #271
2018-09-05 21:10:11 +02:00
David Peter 80ae2ecbf8 Merge branch 'master' into add-jsx-syntax 2018-09-05 20:51:03 +02:00
David Peter 96d4492d27 Merge pull request #282 from tobenna/support-cabal-syntax
Syntax highlighting for .cabal
2018-09-05 20:44:25 +02:00
David Peter c90f0b8e21 Merge branch 'master' into support-cabal-syntax 2018-09-05 20:43:50 +02:00
David Peter 4b866ab6af Merge branch 'master' into add-jsx-syntax 2018-09-05 20:36:31 +02:00
Tobenna 2dbd91e543 Add Dart syntax 2018-09-05 20:33:16 +02:00
Tobenna Ndu 785da3d9df Add support for cabal syntax 2018-09-05 14:42:27 +01:00
Tobenna d455cb7c32 Add support for JSX in javascript and typescript 2018-09-05 08:49:33 +01:00
sharkdp d2b4766f92 Small README update 2018-09-04 08:25:24 +02:00
Roald 5cf92b4f94 Windows download with scoop 2018-09-04 08:23:38 +02:00
sharkdp 7b803a50af Ignore enable_ansi_support errors
- Call `enable_ansi_support` only once.
- Ignore errors that appear when trying to enable ANSI support. This
  will hopefully fix #252 and #264
2018-09-03 22:15:38 +02:00
sharkdp 67ec5fe2b7 Add OneHalf themes, closes #256 2018-09-03 22:12:41 +02:00
sharkdp 3447ed4def Add CSV syntax, closes #254 2018-09-03 21:49:26 +02:00
David Peter 532fb921a6 Update README.md 2018-09-01 00:59:30 +02:00
sharkdp ba4d5a2e7d Bump version number 2018-09-01 00:30:43 +02:00
sharkdp 026273a05c Enable ANSI support on Windows 2018-09-01 00:23:15 +02:00
sharkdp 8903b64830 Fix for Rust 1.26 2018-08-31 23:57:27 +02:00
sharkdp 194155f062 Fix relative-path computation for Windows 2018-08-31 23:57:27 +02:00
sharkdp a6ff3b900d Fix terminal width to 80 characters in tests 2018-08-31 23:57:27 +02:00
sharkdp 8a52bcf92d Add hidden --terminal-width option 2018-08-31 23:57:27 +02:00
sharkdp 0b1535f63b Split snapshot tests into individual tests 2018-08-31 23:57:27 +02:00
sharkdp 0a5b3eaf3e Re-enable tests on windows 2018-08-31 23:57:27 +02:00
sharkdp 11294249f8 Add new key for AppVeyor 2018-08-31 23:57:27 +02:00
anykao 35a1236ad0 Update tests.rs 2018-08-31 23:57:27 +02:00
anykao af8da50c2c Update appveyor.yml 2018-08-31 23:57:27 +02:00
anykao 649d1e3df2 Update appveyor.yml 2018-08-31 23:57:27 +02:00
anykao 199cfd4519 Update appveyor.yml 2018-08-31 23:57:27 +02:00
David Peter c7cce0752b Add AppVeyor badge 2018-08-31 23:57:27 +02:00
anykao 3a89486189 Create before_deploy.ps1 2018-08-31 23:57:27 +02:00
anykao 720a2fb7a5 Create appveyor.yml 2018-08-31 23:57:27 +02:00
sharkdp e3c990f11e Respect color settings for list-themes and list-languages 2018-08-31 21:57:18 +02:00
sharkdp 90c7d0c365 Use stdout locks 2018-08-31 21:48:26 +02:00
mchlrhw 56002267d2 Fix panic when running bat --list-languages | head
Fixes: https://github.com/sharkdp/bat/issues/232
2018-08-31 21:43:49 +02:00
David Peter 84734eac9d Update alternatives.md 2018-08-31 00:39:26 +02:00
sharkdp acdea97e71 Add --plain 2018-08-28 23:37:49 +02:00
sharkdp 839e4ee611 Bump version 2018-08-28 23:21:35 +02:00
sharkdp c7afcdebf8 Move theme_preview file to constant 2018-08-28 22:16:42 +02:00
sharkdp 08e6db1581 Add Troubleshooting section
see #220
2018-08-28 22:08:34 +02:00
sharkdp 4d08ecd828 Fix headline levels 2018-08-28 21:04:41 +02:00
sharkdp 28e1d0e613 Add development section to README 2018-08-28 21:03:03 +02:00
sharkdp d11839ad03 Update install instructions 2018-08-28 20:55:15 +02:00
sharkdp 8cacd9b432 Include theme_preview file in binary 2018-08-28 20:24:13 +02:00
sharkdp 6f67444c99 Run cargo fmt 2018-08-28 20:24:13 +02:00
sharkdp fd2b376ea0 Small style changes to --list-themes 2018-08-28 20:24:13 +02:00
sharkdp cda54e4f61 Fix build for Rust 1.26 2018-08-28 20:24:13 +02:00
ms2300 3b90ada735 Mutation done correctly 2018-08-28 20:24:13 +02:00
ms2300 1837d364fe Added bold to theme titles 2018-08-28 20:24:13 +02:00
ms2300 4ea3e6bbb7 Changed preview code 2018-08-28 20:24:13 +02:00
ms2300 38544ed735 Changed to plain style 2018-08-28 20:24:13 +02:00
ms2300 5444b0dfed Fixes mut issue 2018-08-28 20:24:13 +02:00
ms2300 f3dde0185d Modifying changing config for efficiency 2018-08-28 20:24:13 +02:00
ms2300 2e3784aa30 #213 : output hello world for each theme when --list-theme is flagged 2018-08-28 20:24:13 +02:00
sharkdp 1088455702 Add syntaxes for Elm, Kotlin, Puppet, TypeScript
closes #215
closes #216
closes #217
closes #218
2018-08-28 19:36:31 +02:00
Colin Dean 4f812c32ab Adds zenburn theme submodule
Work towards #224 but @sharkdp is going to rebuild themes.bin
2018-08-28 07:37:27 +02:00
sharkdp b6c59a5bd4 Add man page to releases 2018-08-27 23:10:14 +02:00
sharkdp b682679776 Add initial version of man page, see #52 2018-08-27 22:57:47 +02:00
ms2300 81771432fb #212 : added -p as an alias for --style=plain 2018-08-27 17:56:50 +02:00
sharkdp 627181bcb6 Always call the syntax highlighter 2018-08-23 23:35:57 +02:00
sharkdp 226d9a573a Add simple loop-through mode
Use a loop-through mode that simply copies input to output if a
non-interactive terminal is detected.

see #150
2018-08-23 23:13:24 +02:00
sharkdp 246cf79dbd Split into Controller and Printer 2018-08-23 22:37:27 +02:00
sharkdp ea955c734d Refactoring, introduce Printer trait 2018-08-23 19:44:14 +02:00
sharkdp 6223ad6d52 Document Config struct 2018-08-22 22:36:59 +02:00
sharkdp 31a9335bd5 Document Config struct 2018-08-22 22:36:37 +02:00
sharkdp 9316f2a758 Major refactoring and cleanup 2018-08-22 22:29:12 +02:00
sharkdp c884c3cc12 Re-order options in help texts 2018-08-22 19:34:30 +02:00
sharkdp 08850f0474 Update the --help text 2018-08-22 19:27:11 +02:00
Tim Sampson 8e6c5bc562 doc: mention BAT_THEME in help output 2018-08-22 18:14:01 +02:00
sharkdp 052425b12f Load customized themes in addition to defaults
- New themes in `$BAT_CONFIG_DIR/themes` are now loaded *in addition* to
  the default themes (they may also override).
- The `Default.tmTheme` symlink is not necessary anymore.

This relates to #172
2018-08-20 21:39:21 +02:00
sharkdp 2df3305b94 Add new '--blank' option for 'bat cache --init'
closes #206
2018-08-20 21:34:08 +02:00
sharkdp 6882fc1512 Clean up help messages 2018-08-20 21:34:08 +02:00
sharkdp 2508323264 Extract grid and line-number color from theme
This changes the output color of the grid and the line numbers to use
the "gutter" foreground color defined in the Sublime `.tmTheme` files.

Sublime Text does the same.

Note: we could go one step further and also extract the "GitGutter"
colors from the themes. These could be used instead of red/green/yellow
to signify Git modifications. The problem is that they are quite a bit
harder to extract from the syntect `Theme` object.

closes #178
2018-08-19 12:32:35 +02:00
sharkdp 297afad337 Bump version 2018-08-19 12:31:35 +02:00
sharkdp 1dddce3aa1 Separate syntax set and theme set
This commit separates the handling of syntax sets and theme sets. It
also changes the way how new syntax definitions are loaded from `bat`'s
configuration folder. New syntax definitions are now loaded *in
addition* to the ones that are stored in the `bat` binary by default.

This fixes #172
2018-08-19 11:08:23 +02:00
sharkdp 76be0d3933 Add arm as a compile target 2018-08-19 09:50:24 +02:00
sharkdp e5b8c4471a Bump minimum required rust version 2018-08-18 21:30:12 +02:00
sharkdp b191691767 Revert "replace trait object BufRead by generic"
This reverts commit 037861e588.
2018-08-18 21:25:58 +02:00
Michal Nazarewicz 5c95b8803b Avoid floating point arithmetic in RGB→8-bit ANSI approximation 2018-08-18 20:58:03 +02:00
sharkdp 5b421b455d Update dependencies 2018-08-18 20:44:25 +02:00
sharkdp a6d6c28723 Add documentation on new pager-customization 2018-08-18 20:22:11 +02:00
sharkdp 2966939e38 Update submodules 2018-08-18 19:30:35 +02:00
sharkdp d179693d1d Use BAT_PAGER and PAGER environment variables, closes #158 2018-08-18 18:48:22 +02:00
sharkdp 268577c6f9 Run 'cargo fmt' 2018-08-18 17:54:26 +02:00
TA Thanh Dinh 037861e588 replace trait object BufRead by generic 2018-08-18 17:54:26 +02:00
sharkdp 94ccc646e8 Update README 2018-07-23 21:58:06 +02:00
sharkdp 0cc5d1dab6 Update error-chain to fix compiler warnings 2018-07-23 21:54:30 +02:00
sharkdp 28397b8f78 Always show a warning when theme is unknown 2018-07-23 21:51:49 +02:00
sharkdp c899849101 Use map instead of and_then(..Some(..)) 2018-07-23 21:51:49 +02:00
sharkdp bf53b64125 Small style fix 2018-07-23 21:51:49 +02:00
Armando Perez c68aa0f424 Allow specifying the theme via the BAT_THEME environment variable
The `--theme` command line option stills takes precedence and this
change preserves how errors are handled when it's used: If a theme name
that doesn't exist is specified using the argument, this error is fatal.
However, if a theme that doesn't exist is specified using the environment
variable, the error is logged to `stderr` and the "Default" theme is
loaded as a fallback.
2018-07-23 21:51:49 +02:00
sharkdp 6b57f4eebc Style changes 2018-07-18 00:06:24 +02:00
eth-p 0ddd388a29 Improve logic for SGR sequence passthrough 2018-07-18 00:06:24 +02:00
eth-p 34811b8161 Fix #182 2018-07-18 00:06:24 +02:00
David Peter 8b92aae23f Fix Travis link 2018-07-17 23:37:03 +02:00
sharkdp 3a0941cabe Update syntaxes.bin 2018-07-17 23:28:44 +02:00
sharkdp 52877c6d67 Add Nix syntax, closes #180 2018-07-17 23:28:31 +02:00
sharkdp 455de98a89 Update sublimehq/Packages, closes #183 2018-07-17 23:27:19 +02:00
Stéphane Campinas 8c6a74a6c5 typo 2018-07-06 19:09:53 +02:00
Gert Hulselmans 3f8b340ed8 Add AWK syntax. 2018-06-15 16:41:51 +02:00
sharkdp 65e6970907 Change help text for --line-range 2018-06-12 08:18:44 +02:00
sharkdp 90cc019482 Run 'cargo fmt' 2018-06-12 08:18:44 +02:00
Taylor eaf0b99d25 update 2018-06-12 08:18:44 +02:00
Taylor Skinner 3b1dcca5d0 use map() 2018-06-12 08:18:44 +02:00
Taylor Skinner 26dbdf4fa0 update line-ranges 2018-06-12 08:18:44 +02:00
Taylor Skinner 6691786d82 add line-range 2018-06-12 08:18:44 +02:00
Conrad Kleinespel 50209bfe21 updates archlinux install instructions 2018-06-08 16:15:27 +02:00
sharkdp c91511cca1 Always run snapshot test 2018-06-02 19:03:38 +02:00
sharkdp c9f7a0c126 Use separate Git repository for snapshot testing
closes #161
2018-06-02 19:00:05 +02:00
Ezinwa Okpoechi 69c798eafd Fix command typo 2018-06-01 17:01:28 +02:00
sharkdp 195d5e0e16 Update Cargo.lock 2018-06-01 00:35:20 +02:00
sharkdp 86c1777205 Skip snapshot test if Git is not available
closes #161
2018-06-01 00:33:39 +02:00
sharkdp 16874ab016 Exclude assets from upload 2018-05-31 23:49:02 +02:00
sharkdp bf5883f06f Updates for 0.4 2018-05-31 22:57:18 +02:00
sharkdp e27bdfc7d6 Fix clippy warnings 2018-05-31 15:27:55 +02:00
David Peter a7f4f202cb Update README.md 2018-05-30 21:32:40 +02:00
David Peter 397223374a Add TOC 2018-05-30 21:23:24 +02:00
David Peter 0c2da90fa4 Change color of crates.io badge 2018-05-30 21:10:14 +02:00
David Peter fe29da6e76 Add license badge 2018-05-30 21:02:40 +02:00
sharkdp 0eccfb50d9 Update header 2018-05-30 20:54:46 +02:00
sharkdp f74263e71d Update syntect 2018-05-30 20:50:50 +02:00
sharkdp 54f4896ced Update syntaxes, fix CMake syntax problem 2018-05-30 20:43:50 +02:00
sharkdp 9d92350cbb Use default Markdown syntax, closes #157 2018-05-30 20:40:02 +02:00
sharkdp 26d409db65 Add 'rouge' to list of alternatives 2018-05-30 19:24:30 +02:00
sharkdp 06cd4b2ce8 Add 'coderay' to list of alternatives 2018-05-30 19:16:08 +02:00
sharkdp a348a9f68e Handle syntax-set loading errors 2018-05-25 22:42:06 +02:00
sharkdp 39e2971e96 Add .ignore files to avoid searching asset folders 2018-05-25 17:44:50 +02:00
TA Thanh Dinh a13eb60df3 Using slice notation instead of as_ref 2018-05-25 17:38:54 +02:00
sharkdp 9342d0bb24 Explicitly specify which args override themselves 2018-05-24 22:53:23 +02:00
sharkdp 36d7250af2 Allow arguments to override themselves 2018-05-24 22:53:23 +02:00
Ezinwa Okpoechi 2ce8655167 Build bat before generating snapshots 2018-05-24 19:10:24 +02:00
Ezinwa Okpoechi a452467e06 Remove unnecessary space if there are no decorations 2018-05-24 19:10:24 +02:00
Ezinwa Okpoechi 2ea3758c4b Justify header when there are decorations but no grid 2018-05-24 19:10:24 +02:00
Gert Hulselmans 65bb4c7ee6 Print themes directory in error message if no themes could be loaded from it.
Before this patch:
    $ bat cache --init
    [bat error]: Could not load themes from '{}'

After:
    $ bat cache --init
    [bat error]: Could not load themes from '/home/user/.config/bat/themes'
2018-05-24 09:09:23 +02:00
sharkdp 556149ad3a Add comparison benchmark 2018-05-22 23:32:46 +02:00
Gert Hulselmans 33bbf25468 Fix launching of pager so text is interpreted as UTF-8 by default.
This fixes issue https://github.com/sharkdp/bat/issues/98
2018-05-22 22:41:58 +02:00
sharkdp 5ee8913538 Add logo header to README 2018-05-22 22:39:20 +02:00
David Peter 9b1c1c0271 Add more benchmark results 2018-05-22 22:27:25 +02:00
Ezinwa Okpoechi 2712d63a4b Move asset clearing to assets module 2018-05-21 23:20:45 +02:00
Ezinwa Okpoechi b21fb6bca8 Extract features to separate module 2018-05-21 23:20:45 +02:00
Ezinwa Okpoechi ee43377a9c Move colors to printer module 2018-05-21 19:24:02 +02:00
Ezinwa Okpoechi 120b33a9db Move output to separate module 2018-05-21 19:24:02 +02:00
sharkdp 17b37fedcb Add project goals and list of alternatives 2018-05-21 00:28:30 +02:00
sharkdp 1013cdd80a Bump version 2018-05-19 17:55:07 +02:00
sharkdp be0a2d6048 Extended help texts for '--help' 2018-05-19 17:54:05 +02:00
sharkdp d1a1943998 Add -u and -n options, see #134 2018-05-19 16:58:45 +02:00
sharkdp 2a9f5a24ed Permissive error handling, closes #17 2018-05-19 12:50:41 +02:00
sharkdp a0ae089c4a Reset line number to 0 for new files 2018-05-19 12:25:07 +02:00
sharkdp 96cc391f2d Skip '--quit-if-one-screen' for --paging=always
closes #97
2018-05-19 10:54:54 +02:00
sharkdp a1e1170319 Add a few popular Sublime Text themes 2018-05-18 20:41:40 +02:00
sharkdp 54a331d162 Add syntax docu, add VimL, CMake, INI, LESS syntax
closes #99
closes #106
2018-05-18 19:57:58 +02:00
sharkdp 5e3b17e6f7 Fix code formatting 2018-05-18 17:44:43 +02:00
eth-p 486e6a19cd Fixed #124 2018-05-18 17:44:43 +02:00
Ezinwa Okpoechi 247dfbee83 Extract syntax finding to assets module 2018-05-18 16:45:59 +02:00
Ezinwa Okpoechi 882931a77b Update snapshots 2018-05-18 16:44:34 +02:00
Ezinwa Okpoechi 12cb438aa4 Handle line with invalid UTF-8 2018-05-18 16:44:34 +02:00
Ezinwa Okpoechi d0782ef954 Add line with invalid UTF-8 2018-05-18 16:44:34 +02:00
sharkdp c826c2a438 Better error handling 2018-05-16 22:55:37 +02:00
sharkdp 9aa97b6c22 Update to latest syntect, closes #100 2018-05-16 22:55:37 +02:00
sharkdp f7890870ea Add syntax for Dockerfiles
closes #101
2018-05-16 22:04:12 +02:00
sharkdp 145b99f01c Include syntaxes and themes in repository
This changes a few things:

- All syntaxes and themes are now stored (as submodules) under
  assets/syntaxes and assets/themes

- The default directories for syntaxes and themes are "syntaxes"
  and "themes" (used to be "syntax" and "themes")

- The "bat cache" command can now take a `--source <dir>` and
  `--target <dir>` option.

- The cached files have been renamed to "themes.bin" and "syntaxes.bin"
2018-05-16 22:04:12 +02:00
Mateusz Piotrowski 9af1d2b891 Add FreeBSD installation instructions
Closes #41.
2018-05-16 20:25:14 +02:00
David Peter 2eee68599d Merge pull request #102 from eth-p/master
Added text wrapping. (Fixes #54)
2018-05-16 08:41:49 +02:00
eth-p d569693dab Formatted with newer cargo fmt.
It should pass all the checks now.
2018-05-16 08:29:41 +02:00
eth-p 900f61032d Fix #117 2018-05-15 14:09:51 -07:00
eth-p d0ca566979 Replace for_line and for_wrap with generate 2018-05-15 13:55:38 -07:00
eth-p a5a7dc14e4 Fix \r character being printed with wrapping enabled. 2018-05-14 14:36:08 -07:00
sharkdp 54b33c8c21 Add simple benchmark scripts 2018-05-14 22:20:26 +02:00
rleungx a5de77af4d address comment 2018-05-14 20:30:16 +02:00
rleungx 870ff7b538 sort the language listing 2018-05-14 20:30:16 +02:00
sharkdp 15b9acd12f Updates for new rustfmt 2018-05-14 19:04:13 +02:00
eth-p b327127f37 Split decorations into a separate file and optimized them a bit. 2018-05-13 18:44:07 -07:00
eth-p 9214a4a4f0 PR #102 Followed @sharkdp's suggestions 2018-05-13 12:45:16 -07:00
sharkdp fcecd97224 Add ansi_term import for Windows, see #107 2018-05-13 21:19:26 +02:00
eth-p 870b3c0daf PR #102 Followed @BrainMaestro's suggestions
Also ran cargo fmt.
2018-05-13 03:26:23 -07:00
sharkdp b9c780c8c8 Ignore errors when clearing cache, closes #91 2018-05-13 10:34:35 +02:00
sharkdp ca865f9d26 Enable ANSI support on Windows 10 2018-05-13 09:58:16 +02:00
sharkdp 3ee0e56315 Update create.sh script 2018-05-13 09:53:30 +02:00
Eric Davies 091b0b6437 Add Julia highlighting support 2018-05-13 09:53:00 +02:00
eth-p 9f005d115d Update snapshot test files. 2018-05-12 14:04:54 -07:00
eth-p b4cfc9633c Fix double spaces when outputting without wrapping. 2018-05-12 14:02:47 -07:00
eth-p f7e055b6b7 Merge branch 'master' of https://github.com/sharkdp/bat 2018-05-12 14:00:25 -07:00
eth-p d4b438b9d3 Fix padding, add --wrap argument, disable wrap for non-tty. (Fixed)
I'm not quite sure what was up with git on that last commit, but it's
all properly committed now.
2018-05-12 13:44:10 -07:00
eth-p cd26d403a3 Fix padding, add --wrap argument, disable wrap for non-tty.
Now bat(1) can be used like cat(1) again!
2018-05-12 13:23:33 -07:00
eth-p f95a23f948 Fix off-by-one error with text wrapping and --style grid 2018-05-12 12:07:41 -07:00
Ezinwa Okpoechi 0886a24685 Add snapshot testing 2018-05-12 18:07:30 +02:00
Ezinwa Okpoechi 53eb9c57d6 Add generated snapshots 2018-05-12 18:07:30 +02:00
Ezinwa Okpoechi 026a9ebae3 Add sample files and snapshot generator 2018-05-12 18:07:30 +02:00
Ethan P bdd10b8bec Merge branch 'master' into master 2018-05-12 06:40:47 -07:00
eth-p fc160b0dcd PR #102 Review Changes
- Reformatted code.
- Removed leftover code.
- Removed leftover comments.
- Fixed compiling on Rust 1.24.0
2018-05-12 06:32:23 -07:00
sharkdp cb7b158172 Add bold, italic and underline font styles 2018-05-12 13:23:39 +02:00
eth-p fcc36b1f79 Forgot to add styling to the horizontal line. 2018-05-11 22:49:26 -07:00
eth-p 4e4110bf50 Added line wrapping. 2018-05-11 21:59:26 -07:00
Ryan Leung 22c8978fca add theme option (#95)
closes #89
2018-05-11 13:53:17 +02:00
Ezinwa Okpoechi f711fb5006 Split style to separate module 2018-05-11 10:15:26 +02:00
Ezinwa Okpoechi 64a9341b73 Split app to separate module 2018-05-11 10:15:26 +02:00
sharkdp ccf88fd5d8 Add and use --style=auto by default 2018-05-10 16:22:24 +02:00
David Peter 6343535eb2 Add 32bit support (#87)
* Add 32bit support, closes #84
* Remove error-chain backtrace support
2018-05-10 14:36:05 +02:00
sharkdp e2ac6de783 Fix clippy warnings 2018-05-10 13:15:59 +02:00
Ezinwa Okpoechi 25cee002f9 Split modules (#86)
* Split diffing to separate module
* Split assets to separate module
2018-05-10 12:36:09 +02:00
sharkdp 13a53d230b Add MacOS install instructions, closes #33 2018-05-10 12:35:07 +02:00
sharkdp ea27053a63 Remove unused lifetimes 2018-05-10 12:20:38 +02:00
Pit Kleyersburg b2b932f3ed Fix header-line if grid is not requested 2018-05-10 12:20:38 +02:00
Pit Kleyersburg 747d074be1 Replace Cow by String 2018-05-10 12:20:38 +02:00
Pit Kleyersburg 61109ece15 Create OutputComponents struct, use HashSet 2018-05-10 12:20:38 +02:00
Pit Kleyersburg 389edd7239 Combine OutputComponents and PredefinedStyles
This commit tries to simply the change. Instead of separating an
`OutputComponent` and a `PredefinedStyle`, I have combined the two into
just `OutputComponent`.

To still have the styles work, I added an impl to `OutputComponent` with
a function `components` which returns the components related to the
specified component.

For a simple output component this is trivial, but for the predefined
styles this is a list of other components.

The evaluating of the command-line parameter simplified significantly,
making use of Claps `values_t!` macro to parse the supplied parameters
into a `Vec<OutputComponent>`. After that it is simply a task of
combining all supplied output components into one vector.

Important: this means that the styles are now additive, rather than one
of the predefined styles overruling other parameters supplied.
2018-05-10 12:20:38 +02:00
Pit Kleyersburg 23813cc08b Make --style parameter more flexible
The `--style` parameter now accepts a comma-separated list of strings,
where every element defines either a single output component (`changes`,
`grid`, `header`, `numbers`) or a predefined style (`full`,
`line-numbers`, `plain`).

If available, bat picks the first predefined style in the user-supplied
style-list and ignores everything else. If no predefined style was
requested, the other parameters that are simple output components will
be used.

Examples:

    --style changes,full,numbers

  Will internally be reduced to only the predefined style `full`.

    --style plain,full

  Will internally be reduced to only the predefined style `plain`.

    --style changes,numbers

  Will not be reduced, because the list does not contain any predefined
  styles.

(Note: if `grid` is requested but no other parameters, bat still creates
the left-most column with a width of `PANEL_WIDTH`. I didn't want to
introduce further logic in this PR that drops or adapts the width of the
left column.)
2018-05-10 12:20:38 +02:00
David Peter fdeb98e859 Add usage examples 2018-05-09 00:33:49 +02:00
David Peter 6a417886aa Add comment about paging & concatenation 2018-05-09 00:12:25 +02:00
491 changed files with 63312 additions and 1597 deletions
+1
View File
@@ -0,0 +1 @@
comment: false
+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:**
...
**What did you expect to happen instead?**
...
**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]
+443
View File
@@ -0,0 +1,443 @@
name: CICD
env:
PROJECT_NAME: bat
PROJECT_DESC: "A `cat` clone with wings"
PROJECT_MAINTAINER: "David Peter <mail@david-peter.de>"
PROJECT_HOMEPAGE: "https://github.com/sharkdp/bat"
MIN_SUPPORTED_RUST_VERSION: "1.40.0"
on: [push, pull_request]
jobs:
min_version:
name: Minimum supported rust version
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v2
- name: Install rust toolchain (v${{ env.MIN_SUPPORTED_RUST_VERSION }})
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ env.MIN_SUPPORTED_RUST_VERSION }}
default: true
profile: minimal # minimal component installation (ie, no documentation)
- name: Test
uses: actions-rs/cargo@v1
with:
command: test
test_with_new_syntaxes_and_themes:
name: Test with new syntaxes and themes
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v2
with:
submodules: true # we need all syntax and theme submodules
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
default: true
profile: minimal
- name: Build and install bat
uses: actions-rs/cargo@v1
with:
command: install
args: --locked --path .
- name: Rebuild binary assets (syntaxes and themes)
run: bash assets/create.sh
- name: Build and install bat with updated assets
uses: actions-rs/cargo@v1
with:
command: install
args: --locked --path .
- name: Run unit tests with new syntaxes and themes
uses: actions-rs/cargo@v1
with:
command: test
args: --release
- name: Run ignored-by-default unit tests with new syntaxes and themes
uses: actions-rs/cargo@v1
with:
command: test
args: --release -- --ignored
- name: Syntax highlighting regression test
run: tests/syntax-tests/regression_test.sh
- name: List of languages
run: bat --list-languages
- name: List of themes
run: bat --list-themes
build:
name: Build
runs-on: ${{ matrix.job.os }}
strategy:
fail-fast: false
matrix:
job:
# { os, target, cargo-options, features, use-cross, toolchain }
- { os: ubuntu-latest , target: arm-unknown-linux-gnueabihf , use-cross: use-cross }
- { os: ubuntu-18.04 , target: aarch64-unknown-linux-gnu , use-cross: use-cross }
- { os: ubuntu-18.04 , target: i686-unknown-linux-gnu , use-cross: use-cross }
- { os: ubuntu-18.04 , target: i686-unknown-linux-musl , use-cross: use-cross }
- { os: ubuntu-18.04 , target: x86_64-unknown-linux-gnu , use-cross: use-cross }
- { os: ubuntu-18.04 , target: x86_64-unknown-linux-musl , use-cross: use-cross }
- { os: ubuntu-16.04 , target: x86_64-unknown-linux-gnu , use-cross: use-cross }
- { os: macos-latest , target: x86_64-apple-darwin }
# - { os: windows-latest , target: i686-pc-windows-gnu } ## disabled; linker errors (missing '_imp____acrt_iob_func')
- { os: windows-latest , target: i686-pc-windows-msvc }
# - { os: windows-latest , target: x86_64-pc-windows-gnu } ## disabled; linker errors (missing '_imp____acrt_iob_func')
- { os: windows-latest , target: x86_64-pc-windows-msvc }
steps:
- name: Git checkout
uses: actions/checkout@v2
- name: Install prerequisites
shell: bash
run: |
case ${{ matrix.job.target }} in
arm-unknown-linux-gnueabihf) sudo apt-get -y update ; sudo apt-get -y install gcc-arm-linux-gnueabihf ;;
aarch64-unknown-linux-gnu) sudo apt-get -y update ; sudo apt-get -y install gcc-aarch64-linux-gnu ;;
esac
- name: Initialize workflow variables
id: vars
shell: bash
run: |
# toolchain
TOOLCHAIN="stable" ## default to "stable" toolchain
# * specify alternate TOOLCHAIN for *-pc-windows-gnu targets; gnu targets on Windows are broken for the standard *-pc-windows-msvc toolchain (refs: <https://github.com/rust-lang/rust/issues/47048>, <https://github.com/rust-lang/rust/issues/53454>, <https://github.com/rust-lang/cargo/issues/6754>)
case ${{ matrix.job.target }} in *-pc-windows-gnu) TOOLCHAIN="stable-${{ matrix.job.target }}" ;; esac;
# * use requested TOOLCHAIN if specified
if [ -n "${{ matrix.job.toolchain }}" ]; then TOOLCHAIN="${{ matrix.job.toolchain }}" ; fi
echo set-output name=TOOLCHAIN::${TOOLCHAIN}
echo ::set-output name=TOOLCHAIN::${TOOLCHAIN}
# staging directory
STAGING='_staging'
echo set-output name=STAGING::${STAGING}
echo ::set-output name=STAGING::${STAGING}
# determine EXE suffix
EXE_suffix="" ; case ${{ matrix.job.target }} in *-pc-windows-*) EXE_suffix=".exe" ;; esac;
echo set-output name=EXE_suffix::${EXE_suffix}
echo ::set-output name=EXE_suffix::${EXE_suffix}
# parse commit reference info
REF_NAME=${GITHUB_REF#refs/*/}
unset REF_BRANCH ; case ${GITHUB_REF} in refs/heads/*) REF_BRANCH=${GITHUB_REF#refs/heads/} ;; esac;
unset REF_TAG ; case ${GITHUB_REF} in refs/tags/*) REF_TAG=${GITHUB_REF#refs/tags/} ;; esac;
REF_SHAS=${GITHUB_SHA:0:8}
echo set-output name=REF_NAME::${REF_NAME}
echo set-output name=REF_BRANCH::${REF_BRANCH}
echo set-output name=REF_TAG::${REF_TAG}
echo set-output name=REF_SHAS::${REF_SHAS}
echo ::set-output name=REF_NAME::${REF_NAME}
echo ::set-output name=REF_BRANCH::${REF_BRANCH}
echo ::set-output name=REF_TAG::${REF_TAG}
echo ::set-output name=REF_SHAS::${REF_SHAS}
# parse target
unset TARGET_ARCH ; case ${{ matrix.job.target }} in arm-unknown-linux-gnueabihf) TARGET_ARCH=arm ;; i686-*) TARGET_ARCH=i686 ;; x86_64-*) TARGET_ARCH=x86_64 ;; esac;
echo set-output name=TARGET_ARCH::${TARGET_ARCH}
echo ::set-output name=TARGET_ARCH::${TARGET_ARCH}
unset TARGET_OS ; case ${{ matrix.job.target }} in *-linux-*) TARGET_OS=linux ;; *-apple-*) TARGET_OS=macos ;; *-windows-*) TARGET_OS=windows ;; esac;
echo set-output name=TARGET_OS::${TARGET_OS}
echo ::set-output name=TARGET_OS::${TARGET_OS}
# package name
PKG_suffix=".tar.gz" ; case ${{ matrix.job.target }} in *-pc-windows-*) PKG_suffix=".zip" ;; esac;
PKG_BASENAME=${PROJECT_NAME}-${REF_TAG:-$REF_SHAS}-${{ matrix.job.target }}
PKG_NAME=${PKG_BASENAME}${PKG_suffix}
echo set-output name=PKG_suffix::${PKG_suffix}
echo set-output name=PKG_BASENAME::${PKG_BASENAME}
echo set-output name=PKG_NAME::${PKG_NAME}
echo ::set-output name=PKG_suffix::${PKG_suffix}
echo ::set-output name=PKG_BASENAME::${PKG_BASENAME}
echo ::set-output name=PKG_NAME::${PKG_NAME}
# deployable tag? (ie, leading "vM" or "M"; M == version number)
unset DEPLOY ; if [[ $REF_TAG =~ ^[vV]?[0-9].* ]]; then DEPLOY='true' ; fi
echo set-output name=DEPLOY::${DEPLOY:-<empty>/false}
echo ::set-output name=DEPLOY::${DEPLOY}
# DPKG architecture?
unset DPKG_ARCH
case ${{ matrix.job.target }} in
aarch64-*-linux-*) DPKG_ARCH=arm64 ;;
arm-*-linux-*hf) DPKG_ARCH=armhf ;;
i686-*-linux-*) DPKG_ARCH=i686 ;;
x86_64-*-linux-*) DPKG_ARCH=amd64 ;;
esac;
echo set-output name=DPKG_ARCH::${DPKG_ARCH}
echo ::set-output name=DPKG_ARCH::${DPKG_ARCH}
# DPKG version?
unset DPKG_VERSION ; if [[ $REF_TAG =~ ^[vV]?[0-9].* ]]; then DPKG_VERSION=${REF_TAG/#[vV]/} ; fi
echo set-output name=DPKG_VERSION::${DPKG_VERSION}
echo ::set-output name=DPKG_VERSION::${DPKG_VERSION}
# DPKG base name/conflicts?
DPKG_BASENAME=${PROJECT_NAME}
DPKG_CONFLICTS=${PROJECT_NAME}-musl
case ${{ matrix.job.target }} in *-musl) DPKG_BASENAME=${PROJECT_NAME}-musl ; DPKG_CONFLICTS=${PROJECT_NAME} ;; esac;
echo set-output name=DPKG_BASENAME::${DPKG_BASENAME}
echo set-output name=DPKG_CONFLICTS::${DPKG_CONFLICTS}
echo ::set-output name=DPKG_BASENAME::${DPKG_BASENAME}
echo ::set-output name=DPKG_CONFLICTS::${DPKG_CONFLICTS}
# DPKG name
unset DPKG_NAME;
if [[ -n $DPKG_ARCH && -n $DPKG_VERSION ]]; then DPKG_NAME="${DPKG_BASENAME}_${DPKG_VERSION}_${DPKG_ARCH}.deb" ; fi
echo set-output name=DPKG_NAME::${DPKG_NAME}
echo ::set-output name=DPKG_NAME::${DPKG_NAME}
# target-specific options
# * CARGO_USE_CROSS (truthy)
CARGO_USE_CROSS='true' ; case '${{ matrix.job.use-cross }}' in ''|0|f|false|n|no) unset CARGO_USE_CROSS ;; esac;
echo set-output name=CARGO_USE_CROSS::${CARGO_USE_CROSS:-<empty>/false}
echo ::set-output name=CARGO_USE_CROSS::${CARGO_USE_CROSS}
# # * `arm` cannot be tested on ubuntu-* hosts (b/c testing is currently primarily done via comparison of target outputs with built-in outputs and the `arm` target is not executable on the host)
JOB_DO_TESTING="true"
case ${{ matrix.job.target }} in arm-*) unset JOB_DO_TESTING ;; esac;
echo set-output name=JOB_DO_TESTING::${JOB_DO_TESTING:-<empty>/false}
echo ::set-output name=JOB_DO_TESTING::${JOB_DO_TESTING}
# # * test only library unit tests and binary for arm-type targets
unset CARGO_TEST_OPTIONS
unset CARGO_TEST_OPTIONS ; case ${{ matrix.job.target }} in arm-* | aarch64-*) CARGO_TEST_OPTIONS="--lib --bin ${PROJECT_NAME}" ;; esac;
echo set-output name=CARGO_TEST_OPTIONS::${CARGO_TEST_OPTIONS}
echo ::set-output name=CARGO_TEST_OPTIONS::${CARGO_TEST_OPTIONS}
# * executable for `strip`?
STRIP="strip" ; case ${{ matrix.job.target }} in arm-unknown-linux-gnueabihf) STRIP="arm-linux-gnueabihf-strip" ;; aarch64-unknown-linux-gnu) STRIP="aarch64-linux-gnu-strip" ;; *-pc-windows-msvc) STRIP="" ;; esac;
echo set-output name=STRIP::${STRIP}
echo ::set-output name=STRIP::${STRIP}
- name: Create all needed build/work directories
shell: bash
run: |
mkdir -p '${{ steps.vars.outputs.STAGING }}'
mkdir -p '${{ steps.vars.outputs.STAGING }}/${{ steps.vars.outputs.PKG_BASENAME }}'
mkdir -p '${{ steps.vars.outputs.STAGING }}/${{ steps.vars.outputs.PKG_BASENAME }}/autocomplete'
mkdir -p '${{ steps.vars.outputs.STAGING }}/dpkg'
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ steps.vars.outputs.TOOLCHAIN }}
target: ${{ matrix.job.target }}
override: true
profile: minimal # minimal component installation (ie, no documentation)
- name: Info
shell: bash
run: |
gcc --version || true
rustup -V
rustup toolchain list
rustup default
cargo -V
rustc -V
- name: Build
uses: actions-rs/cargo@v1
with:
use-cross: ${{ steps.vars.outputs.CARGO_USE_CROSS }}
command: build
args: --release --target=${{ matrix.job.target }} ${{ matrix.job.cargo-options }}
- name: Test
uses: actions-rs/cargo@v1
with:
use-cross: ${{ steps.vars.outputs.CARGO_USE_CROSS }}
command: test
args: --target=${{ matrix.job.target }} ${{ steps.vars.outputs.CARGO_TEST_OPTIONS}} ${{ matrix.job.cargo-options }}
- name: bat test run
uses: actions-rs/cargo@v1
with:
use-cross: ${{ steps.vars.outputs.CARGO_USE_CROSS }}
command: run
args: --target=${{ matrix.job.target }} ${{ matrix.job.cargo-options }} -- --paging=never --color=always --theme=ansi-dark Cargo.toml src/config.rs
- name: Check features regex-onig
uses: actions-rs/cargo@v1
with:
use-cross: ${{ steps.vars.outputs.CARGO_USE_CROSS }}
command: check
args: --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig
- name: Check features regex-onig,git
uses: actions-rs/cargo@v1
with:
use-cross: ${{ steps.vars.outputs.CARGO_USE_CROSS }}
command: check
args: --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig,git
- name: Check features regex-onig,paging
uses: actions-rs/cargo@v1
with:
use-cross: ${{ steps.vars.outputs.CARGO_USE_CROSS }}
command: check
args: --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig,paging
- name: Check features regex-onig,git,paging
uses: actions-rs/cargo@v1
with:
use-cross: ${{ steps.vars.outputs.CARGO_USE_CROSS }}
command: check
args: --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig,git,paging
- name: Upload build artifacts
uses: actions/upload-artifact@master
with:
name: ${{ env.PROJECT_NAME }}-${{ matrix.job.target }}
path: target/${{ matrix.job.target }}/release/${{ env.PROJECT_NAME }}${{ steps.vars.outputs.EXE_suffix }}
- name: Package
shell: bash
run: |
ARCHIVE_DIR='${{ steps.vars.outputs.STAGING }}/${{ steps.vars.outputs.PKG_BASENAME }}/'
# Binary
cp 'target/${{ matrix.job.target }}/release/${{ env.PROJECT_NAME }}${{ steps.vars.outputs.EXE_suffix }}' "$ARCHIVE_DIR"
# `strip` binary (if needed)
if [ -n "${{ steps.vars.outputs.STRIP }}" ]; then "${{ steps.vars.outputs.STRIP }}" "$ARCHIVE_DIR/${{ env.PROJECT_NAME }}${{ steps.vars.outputs.EXE_suffix }}" ; fi
# Man page
cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/manual/bat.1 "$ARCHIVE_DIR"
# README and LICENSE files
cp "README.md" "LICENSE-MIT" "LICENSE-APACHE" "$ARCHIVE_DIR"
# Autocompletion files
cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.fish "$ARCHIVE_DIR/autocomplete/${{ env.PROJECT_NAME }}.fish"
cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.zsh "$ARCHIVE_DIR/autocomplete/${{ env.PROJECT_NAME }}.zsh"
# base compressed package
pushd '${{ steps.vars.outputs.STAGING }}/' >/dev/null
case ${{ matrix.job.target }} in
*-pc-windows-*) 7z -y a '${{ steps.vars.outputs.PKG_NAME }}' '${{ steps.vars.outputs.PKG_BASENAME }}'/* | tail -2 ;;
*) tar czf '${{ steps.vars.outputs.PKG_NAME }}' '${{ steps.vars.outputs.PKG_BASENAME }}'/* ;;
esac;
popd >/dev/null
# Debian package
if [ -n "${{ steps.vars.outputs.DPKG_NAME }}" ]; then
DPKG_DIR="${{ steps.vars.outputs.STAGING }}/dpkg"
# Binary
install -Dm755 'target/${{ matrix.job.target }}/release/${{ env.PROJECT_NAME }}${{ steps.vars.outputs.EXE_suffix }}' "${DPKG_DIR}/usr/bin/${{ env.PROJECT_NAME }}${{ steps.vars.outputs.EXE_suffix }}"
if [ -n "${{ steps.vars.outputs.STRIP }}" ]; then "${{ steps.vars.outputs.STRIP }}" "${DPKG_DIR}/usr/bin/${{ env.PROJECT_NAME }}${{ steps.vars.outputs.EXE_suffix }}" ; fi
# Man page
install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/manual/bat.1 "${DPKG_DIR}/usr/share/man/man1/${{ env.PROJECT_NAME }}.1"
gzip --best "${DPKG_DIR}/usr/share/man/man1/${{ env.PROJECT_NAME }}.1"
# Autocompletion files
install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.fish "${DPKG_DIR}/usr/share/fish/vendor_completions.d/${{ env.PROJECT_NAME }}.fish"
install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.zsh "${DPKG_DIR}/usr/share/zsh/vendor-completions/_${{ env.PROJECT_NAME }}"
# README and LICENSE
install -Dm644 "README.md" "${DPKG_DIR}/usr/share/doc/${{ env.PROJECT_NAME }}/README.md"
install -Dm644 "LICENSE-MIT" "${DPKG_DIR}/usr/share/doc/${{ env.PROJECT_NAME }}/LICENSE-MIT"
install -Dm644 "LICENSE-APACHE" "${DPKG_DIR}/usr/share/doc/${{ env.PROJECT_NAME }}/LICENSE-APACHE"
cat > "${DPKG_DIR}/usr/share/doc/${{ env.PROJECT_NAME }}/copyright" <<EOF
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: ${{ env.PROJECT_NAME }}
Source: ${{ env.PROJECT_HOMEPAGE }}
Files: *
Copyright: ${{ env.PROJECT_MAINTAINER }}
License: Apache-2.0 or MIT
License: Apache-2.0
On Debian systems, the complete text of the Apache-2.0 can be found in the
file /usr/share/common-licenses/Apache-2.0.
License: MIT
Permission is hereby granted, free of charge, to any
person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the
Software without restriction, including without
limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software
is furnished to do so, subject to the following
conditions:
.
The above copyright notice and this permission notice
shall be included in all copies or substantial portions
of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
EOF
# control file
mkdir -p "${DPKG_DIR}/DEBIAN"
cat > "${DPKG_DIR}/DEBIAN/control" <<EOF
Package: ${{ steps.vars.outputs.DPKG_BASENAME }}
Version: ${{ steps.vars.outputs.DPKG_VERSION }}
Section: utils
Priority: optional
Maintainer: ${{ env.PROJECT_MAINTAINER }}
Homepage: ${{ env.PROJECT_HOMEPAGE }}
Architecture: ${{ steps.vars.outputs.DPKG_ARCH }}
Provides: ${{ env.PROJECT_NAME }}
Conflicts: ${{ steps.vars.outputs.DPKG_CONFLICTS }}
Description: A cat(1) clone with wings.
A cat(1) clone with syntax highlighting and Git integration.
EOF
# build dpkg
fakeroot dpkg-deb --build "${DPKG_DIR}" "${{ steps.vars.outputs.STAGING }}/${{ steps.vars.outputs.DPKG_NAME }}"
fi
- name: Publish archives and packages
uses: softprops/action-gh-release@v1
if: steps.vars.outputs.DEPLOY
with:
files: |
${{ steps.vars.outputs.STAGING }}/${{ steps.vars.outputs.PKG_NAME }}
${{ steps.vars.outputs.STAGING }}/${{ steps.vars.outputs.DPKG_NAME }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
coverage:
name: Code Coverage
runs-on: ${{ matrix.job.os }}
strategy:
fail-fast: true
matrix:
# job: [ { os: ubuntu-latest }, { os: macos-latest }, { os: windows-latest } ]
job:
- { os: ubuntu-latest , toolchain: nightly-2020-04-29 }
- { os: macos-latest , toolchain: nightly-2020-04-29 }
- { os: windows-latest , toolchain: nightly-2020-04-29-x86_64-pc-windows-gnu }
steps:
- uses: actions/checkout@v2
- name: Initialize workflow variables
id: vars
shell: bash
run: |
# toolchain
TOOLCHAIN="nightly" ## default to "nightly" toolchain
# * use requested TOOLCHAIN if specified
if [ -n "${{ matrix.job.toolchain }}" ]; then TOOLCHAIN="${{ matrix.job.toolchain }}" ; fi
# * use requested TOOLCHAIN if specified
if [ -n "${{ matrix.job.toolchain }}" ]; then TOOLCHAIN="${{ matrix.job.toolchain }}" ; fi
echo set-output name=TOOLCHAIN::${TOOLCHAIN}
echo ::set-output name=TOOLCHAIN::${TOOLCHAIN}
# target-specific options
# * CODECOV_FLAGS
CODECOV_FLAGS=$( echo "${{ matrix.job.os }}" | sed 's/[^[:alnum:]]/_/g' )
echo set-output name=CODECOV_FLAGS::${CODECOV_FLAGS}
echo ::set-output name=CODECOV_FLAGS::${CODECOV_FLAGS}
- name: rust toolchain ~ install
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ steps.vars.outputs.TOOLCHAIN }}
override: true
profile: minimal # minimal component installation (ie, no documentation)
- name: Test
uses: actions-rs/cargo@v1
with:
command: test
args: --no-fail-fast
env:
CARGO_INCREMENTAL: '0'
RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Zno-landing-pads'
- name: Generate coverage data
id: coverage
uses: actions-rs/grcov@v0.1
- name: Upload coverage results (to Codecov.io)
uses: codecov/codecov-action@v1
with:
file: ${{ steps.coverage.outputs.report }}
flags: ${{ steps.vars.outputs.CODECOV_FLAGS }}
name: codecov-umbrella
fail_ci_if_error: false
+6 -1
View File
@@ -1,3 +1,8 @@
/target/
**/*.rs.bk
# Generated files
/assets/completions/bat.fish
/assets/completions/bat.zsh
/assets/manual/bat.1
/assets/metadata.yaml
+208
View File
@@ -0,0 +1,208 @@
[submodule "assets/syntaxes/Elixir"]
path = assets/syntaxes/02_Extra/Elixir
url = https://github.com/princemaple/elixir-sublime-syntax/
[submodule "assets/syntaxes/Packages"]
path = assets/syntaxes/01_Packages
url = https://github.com/sublimehq/Packages/
[submodule "assets/syntaxes/TOML"]
path = assets/syntaxes/02_Extra/TOML
url = https://github.com/jasonwilliams/sublime_toml_highlighting
[submodule "assets/syntaxes/Julia"]
path = assets/syntaxes/02_Extra/Julia
url = https://github.com/JuliaEditorSupport/Julia-sublime
[submodule "assets/themes/sublime-monokai-extended"]
path = assets/themes/sublime-monokai-extended
url = https://github.com/jonschlinkert/sublime-monokai-extended
[submodule "assets/syntaxes/Docker"]
path = assets/syntaxes/02_Extra/Docker
url = https://github.com/asbjornenge/Docker.tmbundle
[submodule "assets/syntaxes/VimL"]
path = assets/syntaxes/02_Extra/VimL
url = https://github.com/SalGnt/Sublime-VimL
[submodule "assets/syntaxes/INI"]
path = assets/syntaxes/02_Extra/INI
url = https://github.com/clintberry/sublime-text-2-ini
[submodule "assets/syntaxes/CMake"]
path = assets/syntaxes/02_Extra/CMake
url = https://github.com/zyxar/Sublime-CMakeLists
[submodule "assets/syntaxes/LESS"]
path = assets/syntaxes/02_Extra/LESS
url = https://github.com/danro/LESS-sublime
[submodule "assets/themes/DarkNeon"]
path = assets/themes/DarkNeon
url = https://github.com/RainyDayMedia/DarkNeon
[submodule "assets/themes/github-sublime-theme"]
path = assets/themes/github-sublime-theme
url = https://github.com/AlexanderEkdahl/github-sublime-theme
[submodule "assets/themes/1337-Scheme"]
path = assets/themes/1337-Scheme
url = https://github.com/MarkMichos/1337-Scheme
[submodule "assets/themes/TwoDark"]
path = assets/themes/TwoDark
url = https://github.com/erremauro/TwoDark
[submodule "assets/syntaxes/AWK"]
path = assets/syntaxes/02_Extra/AWK
url = https://github.com/JohnNilsson/awk-sublime
[submodule "assets/syntaxes/Nix"]
path = assets/syntaxes/02_Extra/Nix
url = https://github.com/wmertens/sublime-nix
[submodule "assets/themes/zenburn"]
path = assets/themes/zenburn
url = https://github.com/colinta/zenburn.git
[submodule "assets/syntaxes/Kotlin"]
path = assets/syntaxes/02_Extra/Kotlin
url = https://github.com/vkostyukov/kotlin-sublime-package
[submodule "assets/syntaxes/Elm"]
path = assets/syntaxes/02_Extra/Elm
url = https://github.com/elm-community/SublimeElmLanguageSupport
[submodule "assets/syntaxes/TypeScript"]
path = assets/syntaxes/02_Extra/TypeScript
url = https://github.com/Microsoft/TypeScript-Sublime-Plugin
[submodule "assets/syntaxes/Puppet"]
path = assets/syntaxes/02_Extra/Puppet
url = https://github.com/russCloak/SublimePuppet
[submodule "assets/syntaxes/CSV"]
path = assets/syntaxes/02_Extra/CSV
url = https://github.com/wadetb/Sublime-Text-Advanced-CSV
[submodule "assets/themes/onehalf"]
path = assets/themes/onehalf
url = https://github.com/sonph/onehalf
[submodule "assets/syntaxes/JavaScript (Babel)"]
path = assets/syntaxes/02_Extra/JavaScript (Babel)
url = https://github.com/babel/babel-sublime
[submodule "assets/syntaxes/Dart"]
path = assets/syntaxes/02_Extra/Dart
url = https://github.com/guillermooo/dart-sublime-bundle
[submodule "assets/syntaxes/FSharp"]
path = assets/syntaxes/02_Extra/FSharp
url = https://github.com/hoest/sublimetext-fsharp
[submodule "assets/syntaxes/PureScript"]
path = assets/syntaxes/02_Extra/PureScript
url = https://github.com/tellnobody1/sublime-purescript-syntax
[submodule "assets/syntaxes/Swift"]
path = assets/syntaxes/02_Extra/Swift
url = https://github.com/quiqueg/Swift-Sublime-Package
[submodule "assets/syntaxes/Crystal"]
path = assets/syntaxes/02_Extra/Crystal
url = https://github.com/crystal-lang-tools/sublime-crystal.git
[submodule "assets/syntaxes/PowerShell"]
path = assets/syntaxes/02_Extra/PowerShell
url = https://github.com/PowerShell/EditorSyntax
[submodule "assets/syntaxes/Robot"]
path = assets/syntaxes/02_Extra/Robot
url = https://github.com/andriyko/sublime-robot-framework-assistant.git
[submodule "assets/themes/sublime-snazzy"]
path = assets/themes/sublime-snazzy
url = https://github.com/greggb/sublime-snazzy
[submodule "assets/syntaxes/Assembly (ARM)"]
path = assets/syntaxes/02_Extra/Assembly (ARM)
url = https://github.com/tvi/Sublime-ARM-Assembly
[submodule "assets/syntaxes/syslog-syntax"]
path = assets/syntaxes/02_Extra/Syslog
url = https://github.com/caos21/syslog-syntax.git
branch = master
[submodule "assets/syntaxes/protobuf-syntax-highlighting"]
path = assets/syntaxes/02_Extra/Protobuf
url = https://github.com/VcamX/protobuf-syntax-highlighting.git
branch = master
[submodule "assets/syntaxes/Terraform"]
path = assets/syntaxes/02_Extra/Terraform
url = https://github.com/alexlouden/Terraform.tmLanguage.git
[submodule "assets/syntaxes/Jsonnet"]
path = assets/syntaxes/02_Extra/Jsonnet
url = https://github.com/gburiola/sublime-jsonnet-syntax.git
[submodule "assets/syntaxes/varlink"]
path = assets/syntaxes/02_Extra/varlink
url = https://github.com/varlink/syntax-highlight-varlink.git
[submodule "assets/syntaxes/sublime-fish"]
path = assets/syntaxes/02_Extra/Fish
url = https://github.com/Phidica/sublime-fish.git
[submodule "assets/syntaxes/Org mode"]
path = assets/syntaxes/02_Extra/Org mode
url = https://github.com/jezcope/Org.tmbundle.git
[submodule "assets/syntaxes/requirementstxt"]
path = assets/syntaxes/02_Extra/requirementstxt
url = https://github.com/wuub/requirementstxt
[submodule "assets/syntaxes/DotENV"]
path = assets/syntaxes/02_Extra/DotENV
url = https://github.com/zaynali53/DotENV
[submodule "assets/syntaxes/hosts"]
path = assets/syntaxes/02_Extra/hosts
url = https://github.com/brandonwamboldt/sublime-hosts
[submodule "assets/syntaxes/ssh-config"]
path = assets/syntaxes/02_Extra/ssh-config
url = https://github.com/robballou/sublimetext-sshconfig.git
[submodule "assets/syntaxes/GraphQL"]
path = assets/syntaxes/02_Extra/GraphQL
url = https://github.com/dncrews/GraphQL-SublimeText3.git
[submodule "assets/syntaxes/Verilog"]
path = assets/syntaxes/02_Extra/Verilog
url = https://github.com/pro711/sublime-verilog
[submodule "assets/syntaxes/SCSS_Sass"]
path = assets/syntaxes/02_Extra/SCSS_Sass
url = https://github.com/braver/SublimeSass
[submodule "assets/syntaxes/Strace"]
path = assets/syntaxes/02_Extra/Strace
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/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
[submodule "assets/themes/Solarized"]
path = assets/themes/Solarized
url = https://github.com/braver/Solarized
[submodule "assets/syntaxes/02_Extra/Fortran"]
path = assets/syntaxes/02_Extra/Fortran
url = https://github.com/315234/SublimeFortran
[submodule "assets/syntaxes/02_Extra/Email"]
path = assets/syntaxes/02_Extra/Email
url = https://github.com/mariozaizar/email.sublime-syntax.git
[submodule "assets/syntaxes/02_Extra/QML"]
path = assets/syntaxes/02_Extra/QML
url = https://github.com/skozlovf/Sublime-QML
[submodule "assets/syntaxes/02_Extra/AsciiDoc"]
path = assets/syntaxes/02_Extra/AsciiDoc
url = https://github.com/asciidoctor/sublimetext-asciidoc.git
[submodule "assets/themes/gruvbox"]
path = assets/themes/gruvbox
url = https://github.com/peaceant/gruvbox.git
[submodule "assets/syntaxes/02_Extra/GLSL"]
path = assets/syntaxes/02_Extra/GLSL
url = https://github.com/euler0/sublime-glsl
[submodule "assets/syntaxes/02_Extra/Nginx"]
path = assets/syntaxes/02_Extra/Nginx
url = https://github.com/brandonwamboldt/sublime-nginx
[submodule "assets/syntaxes/02_Extra/Apache"]
path = assets/syntaxes/02_Extra/Apache
url = https://github.com/colinta/ApacheConf.tmLanguage
[submodule "assets/syntaxes/02_Extra/Ninja"]
path = assets/syntaxes/02_Extra/Ninja
url = https://github.com/pope/SublimeNinja.git
[submodule "assets/syntaxes/02_Extra/Svelte"]
path = assets/syntaxes/02_Extra/Svelte
url = https://github.com/corneliusio/svelte-sublime
[submodule "assets/themes/Coldark"]
path = assets/themes/Coldark
url = https://github.com/ArmandPhilippot/coldark-bat.git
-101
View File
@@ -1,101 +0,0 @@
language: rust
cache: cargo
matrix:
include:
# Stable channel.
- os: linux
rust: stable
env: TARGET=x86_64-unknown-linux-gnu
- os: linux
rust: stable
env:
- TARGET=x86_64-unknown-linux-musl
- CC_x86_64_unknown_linux_musl=/usr/bin/musl-gcc
- os: osx
rust: stable
env: TARGET=x86_64-apple-darwin
# Minimum Rust supported channel.
- os: linux
rust: 1.24.0
env: TARGET=x86_64-unknown-linux-gnu
- os: linux
rust: 1.24.0
env:
- TARGET=x86_64-unknown-linux-musl
- CC_x86_64_unknown_linux_musl=/usr/bin/musl-gcc
- os: osx
rust: 1.24.0
env: TARGET=x86_64-apple-darwin
# Code formatting check
- os: linux
rust: nightly
# skip the global install step
install:
- cargo install --debug --force rustfmt-nightly
script: cargo fmt -- --write-mode=diff
addons:
apt:
packages:
# needed for i686-unknown-linux-gnu target
- gcc-multilib
# needed for musl targets
- musl-tools
# needed to build deb packages
- fakeroot
env:
global:
# Default target on travis-ci.
# Used as conditional check in the install stage
- HOST=x86_64-unknown-linux-gnu
# Used on the deployment script
- PROJECT_NAME=bat
install:
# prevent target re-add error from rustup
- if [[ $TRAVIS_OS_NAME = linux && $HOST != $TARGET ]]; then rustup target add $TARGET; fi
script:
# Incorporate TARGET env var to the build and test process
- cargo build --target $TARGET --verbose
- cargo test --target $TARGET --verbose
# Run 'bat' on its own source code and the README
# Piping to 'cat' forces the tty check to fail so that a pager is not used
- cargo run --target $TARGET -- src/main.rs | cat
- cargo run --target $TARGET -- README.md | cat
before_deploy:
- bash ci/before_deploy.bash
deploy:
provider: releases
# NOTE updating the `api_key.secure`
# - go to: https://github.com/settings/tokens/new
# - generate new token using `public_repo` scope
# - encrypt it using: `travis encrypt API_KEY_HERE`
# - paste the output below
api_key:
secure: "GZL8nYk+/MZGEqejpP0UMMGVmwUEdxiF9CflFIGccu+/tznDyHnHOpyJmbH3M5IKWIxa7xFgqOE8pHuD4oQXt4mzyJGB0KMKKEFLW7ckbTYKya5bw0heKznaqGnS0Yz+vpfqYR25eiPFYCz7mDsGsCzH5QZqt3cdn9MDQGu1D0IaxPjuBNH3T9kBblR0ifBd3Diy0JYhiVcMSI3V1rkel18F1yBHO2GQ95hkWxVgjANQnefq5+zdzbx4ki539ewYENShA8N0w6ULJVY9LmWRWJIp90ggOD3JCH6Nz/fBpYBqwfABO6Dr7Csw7IRm7pM4IVkFZS1taiDYFX9thxZh3UTmI4YYtSTPxH9NGV47kxPipbf4vAXFwW+1VcHKMpBzz+5IVsHnk1Pfx9/GZsXbqXM3PUWCStec36Xtqh5vQapDKEg9khkEs4b1X7/E73gvpRuQl9gbnyufSVWgDsXIWqM+0aDbqQz1FpLmVxz6eij0cB9vR+8kbNoe/CEPHPO9ZllvAHseukOeHPzSBd8rILORXaaGmQausXz2wWgSsffUSYz4705P8joI0zFCfmkHjL+kA1ZUx5SxLCc1ID7CFFZChhAxHoPL7xc21snswwr8QeheERdwvuzKNaerBGZEw8dmMMx98YkjftIj65DDySr2mRZuufBQeQpmMhFyIT4="
# for uploading multiple files
file_glob: true
# NOTE explanation on each env variable
# - PROJECT_NAME: name of the project, set on the `env.global` above
# - TRAVIS_TAG: tag name that the build is being deployed for, usually the version number
# - TARGET: target triple of the build
file:
- $PROJECT_NAME-$TRAVIS_TAG-$TARGET.*
- $PROJECT_NAME*.deb
# don't delete artifacts from previous stage
skip_cleanup: true
on:
# deploy only if we push a tag
tags: true
# deploy only on stable channel that has TARGET env variable sets
condition: $TRAVIS_RUST_VERSION = stable && $TARGET != ""
notifications:
email:
on_success: never
+791
View File
@@ -0,0 +1,791 @@
# unreleased
## Features
## Bugfixes
## Other
## Syntaxes
## New themes
## `bat` as a library
## Packaging
# v0.17.1
## Bugfixes
- Running `bat` without arguments fails ("output file is also an input"), see #1396
# v0.17.0
## Features
- Added a new `--style` value, `rule`, which adds a simple horizontal ruled line between files, see #1276 (@tommilligan)
- Pass `-S` ("chop long lines") to `less` if `--wrap=never` is set in `bat`, see #1255 (@gahag)
## Bugfixes
- Detect infinite loop when input and output are the same, see #1193 and #1197 (@niklasmohrin)
- Throw an error when `bat` is being used as `pager`, see #1343 (@adrian-rivera)
- Bash syntax highlighting not selected for `*.ebuild` and `*.eclass` files, see #1292 (@sharkdp)
- Fix `zsh` completion when using `-p`, see #1320 (@xzfc)
## Other
- Add note to refer to see detailed help with `--help` (and vice versa with `-h`), see #1215 (@henil)
- Add a `Contributors` section to `README`, see #1348 (@adrian-rivera)
## Syntaxes
- Manpage syntax highlighting has been improved, see #1315 (@keith-hall)
- Add Svelte file syntax, see #1285 (@kjmph)
## New themes
- Coldark, see #1329 (@armandphilippot)
# v0.16.0
## Features
- Added support for the `NO_COLOR` environment variable, see #1021 and #1031 (@eth-p)
- Added `-P` short flag to disable paging, see #1075 and #1082 (@LordFlashmeow)
- Added `--force-colorization`/`-f` flag to provide an alias for forced color and decoration output, see #1141 (@alexanderkarlis)
## Bugfixes
- Fixed non-printable characters display for redirected output, see #1061 (@gsomix)
- Handle file extension conflicts in `--list-languages`, see #1076 and #1135 (@Kienyew)
## Other
- Switched to "·" (U+00B7) Middle Dot from "•" (U+2022) Bullet for non-printing spaces, see #1056 and #1100 (@LordFlashmeow)
- Added zsh shell completion script, see #1136 (@Kienyew)
- Improved `--help` text (@sharkdp)
- Added custom languages/themes sections to manpage (@eth-p)
## Syntaxes
- Update AsciiDoc syntax, see #1034 (@rxt1077)
- GLSL (@caioalonso)
- Add Nginx and Apache config file syntax, see #1137 (@kjmph, @niklasmohrin)
- Use `fstab` syntax for `crypttab` files, see #1073 (@sharkdp)
- Support syntax highlighting for files in `$XDG_CONFIG_HOME/git/`, see #1191 (@ahmedelgabri)
## New themes
- Gruvbox, see #1069 (@kyleondy)
- base16-256 for [base16-shell](https://github.com/chriskempson/base16-shell) users, see #1111 (@mk12)
## `bat` as a library
- Add APIs to provide `Input` descriptions with `InputDescription` (@eth-p)
- Add function to directly provide `Input`s to `PrettyPrinter` (@eth-p)
- **Breaking:** `Input::theme_preview_file` is no longer available. (@eth-p)
## Packaging
- Removed build dependency on `liquid` (@sharkdp).
# v0.15.4
## Bugfixes
- Added missing Solarized themes, see #1027
- Fixed highlighting bug in Haskell source files, see #1026
# v0.15.3
## Bugfixes
- Cannot run `bat` with relative paths, see #1022
- bat mishighlights Users that start with digits in SSH config, see #984
## New syntaxes
- SML, see #1005 (@kopecs)
## Other
- Some syntaxes and themes have been updated to the latest version
# v0.15.2
## Bugfixes
- Fix syntax detection for files called 'rails', see #1008
- Fix potential errors with syntax detection for symlinked files, see #1001
- `--map-syntax` doesn't work with names provided through `--file-name` (@eth-p)
## Other
- Add padding above headers when not using a grid, see #968 and #981 (@pt2121)
- bat now prints an error if an invalid syntax is specified via `-l` or `--map-syntax`, see #1004 (@eth-p)
## `bat` as a library
- `PrettyPrinter::vcs_modification_markers` has been marked deprecated when building without the `git` feature, see #997 and #1020 (@eth-p, @sharkdp)
## Packaging
- Compilation problems with `onig_sys` on various platforms have been resolved by upgrading to `syntect 4.2`, which includes a new `onig` version that allows to build `onig_sys` without the `bindgen` dependency. This removes the need for `libclang(-dev)` to be installed to compile `bat`. Package maintainers might want to remove `clang` as a build dependency. See #650 for more details.
# v0.15.1
## Bugfixes
- Fix highlighting of Markdown files, see #963 and #977
- Fix `base16` theme (was broken since in v0.14), see #972, #934 and #979 (@mk12).
Users suffering from #865 ("no color for bat in ssh from a Windows client") can use the `ansi-dark` and `ansi-light` themes from now on.
## New syntaxes
- Fortran, see #957
- Email (@mariozaizar)
- QML, see #962 (@pylipp)
# v0.15.0
## Features
- Add a new `--diff`/`-d` option that can be used to only show lines surrounding
Git changes, i.e. added, removed or modified lines. The amount of additional
context can be controlled with `--diff-context=N`. See #23 and #940
## Bugfixes
- Error message printed in the middle of the output for another file, see #946
- Performance improvements when using custom caches (via `bat cache --build`): the `bat` startup time should now be twice as fast (@lzutao).
## Themes
- Updated version of the Solarized dark/light themes, see #941
## `bat` as a library
- There are a few changes in the "low level" API (the `Config` struct has changed and
the error handler needs a new `&mut dyn Write` argument). The high-level API is not
affected.
# 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
+48
View File
@@ -0,0 +1,48 @@
# Contributing
Thank you for considering to contribute to `bat`!
## Add an entry to the changelog
If your contribution changes the behavior of `bat` (as opposed to a typo-fix
in the documentation), please update the [`CHANGELOG.md`](CHANGELOG.md) file
and describe your changes. This makes the release proess much easier and
therefore helps to get your changes into a new `bat` release faster.
The top of the `CHANGELOG` contains a *"unreleased"* section with a few
subsections (Features, Bugfixes, …). Please add your entry to the subsection
that best describes your change
Entries follow this format:
```
- Short description of what has been changed, see #123 (@user)
```
Here, `#123` is the number of the original issue and/or your pull request.
Please replace `@user` by your GitHub username.
## Development
Please check out the [Development](https://github.com/sharkdp/bat#development)
section in the README.
## Adding a new feature
Please consider opening a
[feature request ticket](https://github.com/sharkdp/bat/issues/new?assignees=&labels=feature-request&template=feature_request.md)
first in order to give us a chance to discuss the feature first.
## Adding new syntaxes/languages or themes
Before you make a pull request that adds a new syntax or theme, please read
the [Customization](https://github.com/sharkdp/bat#customization) section
in the README first.
If you really think that a particular syntax or theme should be added for all
users, please read the corresponding
[documentation](https://github.com/sharkdp/bat/blob/master/doc/assets.md)
first.
Generated
+879 -480
View File
File diff suppressed because it is too large Load Diff
+63 -11
View File
@@ -7,27 +7,79 @@ license = "MIT/Apache-2.0"
name = "bat"
readme = "README.md"
repository = "https://github.com/sharkdp/bat"
version = "0.3.0"
version = "0.17.1"
exclude = [
"assets/syntaxes/*",
"assets/themes/*",
]
build = "build.rs"
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",
"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]
atty = "0.2.2"
ansi_term = "0.10"
console = "0.6"
error-chain = "0.11"
directories = "0.10"
lazy_static = "1.0"
atty = { version = "0.2.14", optional = true }
ansi_term = "^0.12.1"
ansi_colours = "^1.0"
console = "0.13.0"
dirs = { version = "3.0", optional = true }
lazy_static = { version = "1.4", optional = true }
wild = { version = "2.0", optional = true }
content_inspector = "0.2.4"
encoding = "0.2"
shell-words = { version = "1.0.0", optional = true }
unicode-width = "0.1.8"
globset = "0.4"
serde = { version = "1.0", features = ["derive"] }
serde_yaml = "0.8"
semver = "0.11"
path_abs = { version = "0.5", default-features = false }
[dependencies.git2]
version = "0.7"
version = "0.13"
optional = true
default-features = false
features = []
[dependencies.syntect]
version = "2"
version = "4.4.0"
default-features = false
features = ["parsing", "yaml-load", "dump-load", "dump-create"]
[dependencies.clap]
version = "2"
version = "2.33"
optional = true
default-features = false
features = ["suggestions", "color", "wrap_help"]
[dependencies.error-chain]
version = "0.12"
default-features = false
[dev-dependencies]
tempdir = "0.3"
assert_cmd = "1.0.1"
predicates = "1.0.5"
[build-dependencies]
clap = { version = "2.33", optional = true }
[profile.release]
lto = true
codegen-units = 1
+2
View File
@@ -1,3 +1,5 @@
Copyright (c) 2018-2020 bat-developers (https://github.com/sharkdp/bat).
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
+656 -52
View File
@@ -1,11 +1,19 @@
# bat
<p align="center">
<img src="doc/logo-header.svg" alt="bat - a cat clone with wings"><br>
<a href="https://github.com/sharkdp/bat/actions?query=workflow%3ACICD"><img src="https://github.com/sharkdp/bat/workflows/CICD/badge.svg" alt="Build Status"></a>
<img src="https://img.shields.io/crates/l/bat.svg" alt="license">
<a href="https://crates.io/crates/bat"><img src="https://img.shields.io/crates/v/bat.svg?colorB=319e8c" alt="Version info"></a><br>
A <i>cat(1)</i> clone with syntax highlighting and Git integration.
</p>
[![Build Status](https://travis-ci.org/sharkdp/bat.svg?branch=master)](https://travis-ci.org/sharkdp/bat)
[![Version info](https://img.shields.io/crates/v/bat.svg)](https://crates.io/crates/bat)
A *cat(1)* clone with syntax highlighting and Git integration.
## Features
<p align="center">
<a href="#syntax-highlighting">Key Features</a> •
<a href="#how-to-use">How To Use</a> •
<a href="#installation">Installation</a> •
<a href="#customization">Customization</a> •
<a href="#project-goals-and-alternatives">Project goals, alternatives</a><br>
[<a href="https://github.com/chinanf-boy/bat-zh">中文</a>] [<a href="doc/README-ja.md">日本語</a>] [<a href="doc/README-ko.md">한국어</a>] [<a href="doc/README-ru.md">Русский</a>]
</p>
### Syntax highlighting
@@ -21,82 +29,678 @@ languages:
![Git integration example](https://i.imgur.com/2lSW4RE.png)
### Show non-printable characters
You can use the `-A`/`--show-all` option to show and highlight non-printable
characters:
![Non-printable character example](https://i.imgur.com/WndGp9H.png)
### Automatic paging
By default, `bat` pipes its own output to a pager (e.g `less`) if the output is too large for one screen.
If you would rather `bat` work like `cat` all the time (never page output), you can set `--paging=never` as an option, either on the command line or in your configuration file.
If you intend to alias `cat` to `bat` in your shell configuration, you can use `alias cat='bat --paging=never'` to preserve the default behavior.
#### File concatenation
Even with a pager set, you can still use `bat` to concatenate files :wink:.
Whenever `bat` detects a non-interactive terminal (i.e. when you pipe into another process or into a file), `bat` will act as a drop-in replacement for `cat` and fall back to printing the plain file contents, regardless of the `--pager` option's value.
## How to use
Display a single file on the terminal
```bash
> bat README.md
```
Display multiple files at once
```bash
> bat src/*.rs
```
Read from stdin, determine the syntax automatically (note, highlighting will
only work if the syntax can be determined from the first line of the file,
usually through a shebang such as `#!/bin/sh`)
```bash
> curl -s https://sh.rustup.rs | bat
```
Read from stdin, specify the language explicitly
```bash
> yaml2json .travis.yml | json_pp | bat -l json
```
Show and highlight non-printable characters:
```bash
> bat -A /etc/hosts
```
Use it as a `cat` replacement:
```bash
bat > note.md # quickly create a new file
bat header.md content.md footer.md > document.md
bat -n main.rs # show line numbers (only)
bat f - g # output 'f', then stdin, then 'g'.
```
### Integration with other tools
#### `find` or `fd`
You can use the `-exec` option of `find` to preview all search results with `bat`:
```bash
find … -exec bat {} +
```
If you happen to use [`fd`](https://github.com/sharkdp/fd), you can use the `-X`/`--exec-batch` option to do the same:
```bash
fd … -X bat
```
#### `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`
`bat` can be combined with `tail -f` to continuously monitor a given file with syntax highlighting.
```bash
tail -f /var/log/pacman.log | bat --paging=never -l log
```
Note that we have to switch off paging in order for this to work. We have also specified the syntax
explicitly (`-l log`), as it can not be auto-detected in this case.
#### `git`
You can combine `bat` with `git show` to view an older version of a given file with proper syntax
highlighting:
```bash
git show v0.6.0:src/main.rs | bat -l rs
```
#### `git diff`
You can combine `bat` with `git diff` to view lines around code changes with proper syntax
highlighting:
```bash
batdiff() {
git diff --name-only --diff-filter=d | xargs bat --diff
}
```
If you prefer to use this as a separate tool, check out `batdiff` in [`bat-extras`](https://github.com/eth-p/bat-extras).
If you are looking for more support for git and diff operations, check out [`delta`](https://github.com/dandavison/delta).
#### `xclip`
The line numbers and Git modification markers in the output of `bat` can make it hard to copy
the contents of a file. To prevent this, you can call `bat` with the `-p`/`--plain` option or
simply pipe the output into `xclip`:
```bash
bat main.cpp | xclip
```
`bat` will detect that the output is being redirected and print the plain file contents.
#### `man`
`bat` can be used as a colorizing pager for `man`, by setting the
`MANPAGER` environment variable:
```bash
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
man 2 select
```
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.
Also, note that this will [not work](https://github.com/sharkdp/bat/issues/1145) with Mandocs `man` implementation.
#### `prettier` / `shfmt` / `rustfmt`
The [`prettybat`](https://github.com/eth-p/bat-extras/blob/master/doc/prettybat.md) script is a wrapper that will format code and print it with `bat`.
## Installation
[![Packaging status](https://repology.org/badge/vertical-allrepos/bat.svg)](https://repology.org/project/bat/versions)
### On Ubuntu (using `apt`)
*... and other Debian-based Linux distributions.*
`bat` is making its way through the [Ubuntu](https://packages.ubuntu.com/eoan/bat) and
[Debian](https://packages.debian.org/sid/bat) package release process, and is available
for Ubuntu as of Eoan 19.10. On Debian `bat` is currently only available on the unstable
"Sid" branch.
If your Ubuntu/Debian installation is new enough you can simply run:
```bash
apt install bat
```
If you install `bat` this way, please note that the executable may be installed as `batcat` instead of `bat` (due to [a name
clash with another package](https://github.com/sharkdp/bat/issues/982)). You can set up a `bat -> batcat` symlink or alias to prevent any issues that may come up because of this and to be consistent with other distributions:
``` bash
mkdir -p ~/.local/bin
ln -s /usr/bin/batcat ~/.local/bin/bat
```
### On Ubuntu (using most recent `.deb` packages)
*... and other Debian-based Linux distributions.*
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.17.1_amd64.deb # adapt version number and architecture
```
### On Alpine Linux
You can install [the `bat` package](https://pkgs.alpinelinux.org/packages?name=bat)
from the official sources, provided you have the appropriate repository enabled:
```bash
apk add bat
```
### On Arch Linux
You can install [the `bat` package](https://www.archlinux.org/packages/community/x86_64/bat/)
from the official sources:
```bash
pacman -S bat
```
### On Fedora
You can install [the `bat` package](https://koji.fedoraproject.org/koji/packageinfo?packageID=27506) from the official [Fedora Modular](https://docs.fedoraproject.org/en-US/modularity/using-modules/) repository.
```bash
dnf install bat
```
### On Gentoo Linux
You can install [the `bat` package](https://packages.gentoo.org/packages/sys-apps/bat)
from the official sources:
```bash
emerge sys-apps/bat
```
### On Void Linux
You can install `bat` via xbps-install:
```bash
xbps-install -S bat
```
### On FreeBSD
You can install a precompiled [`bat` package](https://www.freshports.org/textproc/bat) with pkg:
```bash
pkg install bat
```
or build it on your own from the FreeBSD ports:
```bash
cd /usr/ports/textproc/bat
make install
```
### Via nix
You can install `bat` using the [nix package manager](https://nixos.org/nix):
```bash
nix-env -i bat
```
### On openSUSE
You can install `bat` with zypper:
```bash
zypper install bat
```
### On macOS (or Linux) via Homebrew
You can install `bat` with [Homebrew on MacOS](https://formulae.brew.sh/formula/bat) or [Homebrew on Linux](https://formulae.brew.sh/formula-linux/bat):
```bash
brew install bat
```
### On macOS via MacPorts
Or install `bat` with [MacPorts](https://ports.macports.org/port/bat/summary):
```bash
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.
#### Prerequisites
You will need to install the [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) package.
#### With Chocolatey
You can install `bat` via [Chocolatey](https://chocolatey.org/packages/Bat):
```bash
choco install bat
```
#### With Scoop
You can install `bat` via [scoop](https://scoop.sh/):
```bash
scoop install bat
```
#### 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.
### From binaries
Check out the [Release page](https://github.com/sharkdp/bat/releases) for
binary builds and Debian packages.
#### Arch Linux
On Arch Linux, you can install
[the AUR package](https://aur.archlinux.org/packages/bat/) via yaourt, or
manually:
```bash
git clone https://aur.archlinux.org/bat.git
cd bat
makepkg -si
```
prebuilt versions of `bat` for many different architectures. Statically-linked
binaries are also available: look for archives with `musl` in the file name.
### From source
If you want to build to compile `bat` from source, you need Rust 1.24 or
If you want to build `bat` from source, you need Rust 1.40 or
higher. You can then use `cargo` to build everything:
``` bash
cargo install bat
```bash
cargo install --locked bat
```
On macOS, you might have to install `cmake` (`brew install cmake`) in order for
some dependencies to be built.
Note that additional files like the man page or shell completion
files can not be installed in this way. They will be generated by `cargo` and should be available in the cargo target folder (under `build`).
## Customization
### Highlighting theme
Use `bat --list-themes` to get a list of all available themes for syntax
highlighting. To select the `TwoDark` theme, call `bat` with the
`--theme=TwoDark` option or set the `BAT_THEME` environment variable to
`TwoDark`. Use `export BAT_THEME="TwoDark"` in your shell's startup file to
make the change permanent. Alternatively, use `bat`s
[configuration file](https://github.com/sharkdp/bat#configuration-file).
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):
```bash
bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file"
```
`bat` looks good on a dark background by default. However, if your terminal uses a
light background, some themes like `GitHub` or `OneHalfLight` will work better for you.
You can also use a custom theme by following the
['Adding new themes' section below](https://github.com/sharkdp/bat#adding-new-themes).
### 8-bit themes
`bat` has four themes that always use [8-bit colors](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors),
even when truecolor support is available:
- `ansi-dark` looks decent on any terminal with a dark background. It uses 3-bit colors: black, red,
green, yellow, blue, magenta, cyan, and white.
- `ansi-light` is like `ansi-dark`, but for terminals with a light background.
- `base16` is designed for [base16](https://github.com/chriskempson/base16) terminal themes. It uses
4-bit colors (3-bit colors plus bright variants) in accordance with the
[base16 styling guidelines](https://github.com/chriskempson/base16/blob/master/styling.md).
- `base16-256` is designed for [base16-shell](https://github.com/chriskempson/base16-shell).
It replaces certain bright colors with 8-bit colors from 16 to 21. **Do not** use this simply
because you have a 256-color terminal but are not using base16-shell.
Although these themes are more restricted, they have two advantages over truecolor themes:
- They harmonize better with other terminal software using 3-bit or 4-bit colors.
- When you change your terminal theme, `bat` output already on the screen will update to match.
### Output style
You can use the `--style` option to control the appearance of `bat`s output.
You can use `--style=numbers,changes`, for example, to show only Git changes
and line numbers but no grid and no file header. Set the `BAT_STYLE` environment
variable to make these changes permanent or use `bat`s
[configuration file](https://github.com/sharkdp/bat#configuration-file).
### Adding new syntaxes / language definitions
Should you find that a particular syntax is not available within `bat`, you can follow these
instructions to easily add new syntaxes to your current `bat` installation.
`bat` uses the excellent [`syntect`](https://github.com/trishume/syntect/)
library for syntax highlighting. `syntect` can read any
[Sublime Text `.sublime-syntax` file](https://www.sublimetext.com/docs/3/syntax.html)
and theme.
To build your own language-set and theme, follow these steps:
A good resource for finding Sublime Syntax packages is [Package Control](https://packagecontrol.io/). Once you found a
syntax:
Create a folder with a syntax highlighting theme:
1. Create a folder with syntax definition files:
``` bash
BAT_CONFIG_DIR="$(bat cache --config-dir)"
```bash
mkdir -p "$(bat --config-dir)/syntaxes"
cd "$(bat --config-dir)/syntaxes"
mkdir -p "$BAT_CONFIG_DIR/themes"
cd "$BAT_CONFIG_DIR/themes"
# Put new '.sublime-syntax' language definition files
# in this folder (or its subdirectories), for example:
git clone https://github.com/tellnobody1/sublime-purescript-syntax
```
# Download a theme, for example:
git clone https://github.com/jonschlinkert/sublime-monokai-extended
2. Now use the following command to parse these files into a binary cache:
# Create a 'Default.tmTheme' link
ln -s "sublime-monokai-extended/Monokai Extended.tmTheme" Default.tmTheme
```bash
bat cache --build
```
3. Finally, use `bat --list-languages` to check if the new languages are available.
If you ever want to go back to the default settings, call:
```bash
bat cache --clear
```
4. If you think that a specific syntax should be included in `bat` by default, please
consider opening a "syntax request" ticket after reading the policies and
instructions [here](doc/assets.md): [Open Syntax Request](https://github.com/sharkdp/bat/issues/new?labels=syntax-request&template=syntax_request.md).
### Adding new themes
This works very similar to how we add new syntax definitions.
First, create a folder with the new syntax highlighting themes:
```bash
mkdir -p "$(bat --config-dir)/themes"
cd "$(bat --config-dir)/themes"
# Download a theme in '.tmTheme' format, for example:
git clone https://github.com/greggb/sublime-snazzy
# Update the binary cache
bat cache --build
```
Create a folder with language definition files:
Finally, use `bat --list-themes` to check if the new themes are available.
``` bash
mkdir -p "$BAT_CONFIG_DIR/syntax"
cd "$BAT_CONFIG_DIR/syntax"
### Adding or changing file type associations
# Download some language definition files, for example:
git clone https://github.com/sublimehq/Packages/
rm -rf Packages/Markdown
git clone https://github.com/jonschlinkert/sublime-markdown-extended
You can add new (or change existing) file name patterns using the `--map-syntax`
command line option. The option takes an argument of the form `pattern:syntax` where
`pattern` is a glob pattern that is matched against the file name and
the absolute file path. The `syntax` part is the full name of a supported language
(use `bat --list-languages` for an overview)full .
Note: You probably want to use this option as an entry in `bat`s configuration file instead
of passing it on the command line (see below).
Example: To use "INI" syntax highlighting for all files with a `.conf` file extension, use
```bash
--map-syntax='*.conf:INI'
```
Finally, use the following command to parse all these files into a binary
cache:
``` bash
bat cache --init
Example: To open all files called `.ignore` (exact match) with the "Git Ignore" syntax, use:
```bash
--map-syntax='.ignore:Git Ignore'
```
If you ever want to go back to the default settings, call:
``` bash
bat cache --clear
Example: To open all `.conf` files in subfolders of `/etc/apache2` with the "Apache Conf"
syntax, use (this mapping is already built in):
```bash
-map-syntax='/etc/apache2/**/*.conf:Apache Conf'
```
### Using a different pager
`bat` uses the pager that is specified in the `PAGER` environment variable. If this variable is not
set, `less` is used by default. If you want to use a different pager, you can either modify the
`PAGER` variable or set the `BAT_PAGER` environment variable to override what is specified in
`PAGER`.
If you want to pass command-line arguments to the pager, you can also set them via the
`PAGER`/`BAT_PAGER` variables:
```bash
export BAT_PAGER="less -RF"
```
Instead of using environment variables, you can also use `bat`s [configuration file](https://github.com/sharkdp/bat#configuration-file) to configure the pager (`--pager` option).
**Note**: By default, if the pager is set to `less` (and no command-line options are specified),
`bat` will pass the following command line options to the pager: `-R`/`--RAW-CONTROL-CHARS`,
`-F`/`--quit-if-one-screen` and `-X`/`--no-init`. The last option (`-X`) is only used for `less`
versions older than 530.
The `-R` option is needed to interpret ANSI colors correctly. The second option (`-F`) instructs
less to exit immediately if the output size is smaller than the vertical size of the terminal.
This is convenient for small files because you do not have to press `q` to quit the pager. The
third option (`-X`) is needed to fix a bug with the `--quit-if-one-screen` feature in old versions
of `less`. Unfortunately, it also breaks mouse-wheel support in `less`.
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.
### Indentation
`bat` expands tabs to 4 spaces by itself, not relying on the pager. To change this, simply add the
`--tabs` argument with the number of spaces you want to be displayed.
**Note**: Defining tab stops for the pager (via the `--pager` argument by `bat`, or via the `LESS`
environment variable for `less`) won't be taken into account because the pager will already get
expanded spaces instead of tabs. This behaviour is added to avoid indentation issues caused by the
sidebar. Calling `bat` with `--tabs=0` will override it and let tabs be consumed by the pager.
### Dark mode
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
`bat` can also be customized with a configuration file. The location of the file is dependent
on your operating system. To get the default path for your system, call
```
bat --config-file
```
Alternatively, you can use the `BAT_CONFIG_PATH` environment variable to point `bat` to a
non-default location of the configuration file:
```bash
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
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.
Example configuration file:
```bash
# Set the theme to "TwoDark"
--theme="TwoDark"
# Show line numbers, Git modifications and file header (but no grid)
--style="numbers,changes,header"
# Use italic text on the terminal (not supported on all terminals)
--italic-text=always
# Use C++ syntax for .ino files
--map-syntax "*.ino:C++"
```
## Using `bat` on Windows
`bat` mostly works out-of-the-box on Windows, but a few features may need extra configuration.
### Prerequisites
You will need to install the [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) package.
### Paging
Windows only includes a very limited pager in the form of `more`. You can download a Windows binary
for `less` [from its homepage](http://www.greenwoodsoftware.com/less/download.html) or [through
Chocolatey](https://chocolatey.org/packages/Less). To use it, place the binary in a directory in
your `PATH` or [define an environment variable](#using-a-different-pager). The [Chocolatey package](#on-windows) installs `less` automatically.
### Colors
Windows 10 natively supports colors in both `conhost.exe` (Command Prompt) and PowerShell since
[v1511](https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1511_(November_Update)), as
well as in newer versions of bash. On earlier versions of Windows, you can use
[Cmder](http://cmder.net/), which includes [ConEmu](https://conemu.github.io/).
**Note:** The Git and MSYS versions of `less` do not correctly interpret colors on Windows. If you
dont have any other pagers installed, you can disable paging entirely by passing `--paging=never`
or by setting `BAT_PAGER` to an empty string.
### Cygwin
`bat` on Windows does not natively support Cygwin's unix-style paths (`/cygdrive/*`). When passed an absolute cygwin path as an argument, `bat` will encounter the following error: `The system cannot find the path specified. (os error 3)`
This can be solved by creating a wrapper or adding the following function to your `.bash_profile` file:
```bash
bat() {
local index
local args=("$@")
for index in $(seq 0 ${#args[@]}) ; do
case "${args[index]}" in
-*) continue;;
*) [ -e "${args[index]}" ] && args[index]="$(cygpath --windows "${args[index]}")";;
esac
done
command bat "${args[@]}"
}
```
## Troubleshooting
### Terminals & colors
`bat` handles terminals *with* and *without* truecolor support. However, the colors in most syntax
highlighting themes are not optimized for 8-bit colors. It is therefore strongly recommended
that you use a terminal with 24-bit truecolor support (`terminator`, `konsole`, `iTerm2`, ...),
or use one of the basic [8-bit themes](#8-bit-themes) designed for a restricted set of colors.
See [this article](https://gist.github.com/XVilka/8346728) for more details and a full list of
terminals with truecolor support.
Make sure that your truecolor terminal sets the `COLORTERM` variable to either `truecolor` or
`24bit`. Otherwise, `bat` will not be able to determine whether or not 24-bit escape sequences
are supported (and fall back to 8-bit colors).
### Line numbers and grid are hardly visible
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.
### 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
```bash
# Recursive clone to retrieve all submodules
git clone --recursive https://github.com/sharkdp/bat
# Build (debug version)
cd bat
cargo build --bins
# Run unit tests and integration tests
cargo test
# Install (release version)
cargo install --path . --locked
# Build a bat binary with modified syntaxes and themes
bash assets/create.sh
cargo install --path . --locked --force
```
## Contributing
Take a look at the [`CONTRIBUTING.md`](CONTRIBUTING.md) guide.
## Maintainers
- [sharkdp](https://github.com/sharkdp)
- [eth-p](https://github.com/eth-p)
- [keith-hall](https://github.com/keith-hall)
## Project goals and alternatives
`bat` tries to achieve the following goals:
- Provide beautiful, advanced syntax highlighting
- Integrate with Git to show file modifications
- Be a drop-in replacement for (POSIX) `cat`
- Offer a user-friendly command-line interface
There are a lot of alternatives, if you are looking for similar programs. See
[this document](doc/alternatives.md) for a comparison.
## License
Copyright (c) 2018-2020 [bat-developers](https://github.com/sharkdp/bat).
`bat` is made available under the terms of either the MIT License or the Apache License 2.0, at your option.
See the [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT) files for license details.
+1
View File
@@ -0,0 +1 @@
* linguist-vendored
+2
View File
@@ -0,0 +1,2 @@
syntaxes/*
themes/*
+78
View File
@@ -0,0 +1,78 @@
# 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 P -d "Disable paging. Alias for '--paging=never'" -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"
+93
View File
@@ -0,0 +1,93 @@
#compdef {{PROJECT_EXECUTABLE}}
local context state state_descr line
typeset -A opt_args
(( $+functions[_{{PROJECT_EXECUTABLE}}_cache_subcommand] )) ||
_{{PROJECT_EXECUTABLE}}_cache_subcommand() {
local -a args
args=(
'(-b --build -c --clear)'{-b,--build}'[Initialize or update the syntax/theme cache]'
'(-b --build -c --clear)'{-c,--clear}'[Remove the cached syntax definitions and themes]'
'(--source)'--source='[Use a different directory to load syntaxes and themes from]:directory:_files -/'
'(--target)'--target='[Use a different directory to store the cached syntax and theme set]:directory:_files -/'
'(--blank)'--blank'[Create completely new syntax and theme sets]'
'(: -)'{-h,--help}'[Prints help information]'
'*: :'
)
_arguments -S -s $args
}
(( $+functions[_{{PROJECT_EXECUTABLE}}_main] )) ||
_{{PROJECT_EXECUTABLE}}_main() {
local -a args
args=(
'(-A --show-all)'{-A,--show-all}'[Show non-printable characters (space, tab, newline, ..)]'
'*'{-p,--plain}'[Show plain style (alias for `--style=plain`), repeat twice to disable disable automatic paging (alias for `--paging=never`)]'
'(-l --language)'{-l+,--language=}'[Set the language for syntax highlighting]:<language>:->language'
'(-H --highlight-line)'{-H,--highlight-line}'[Highlight lines N through M]:<N\:M>...'
'(--file-name)'--file-name'[Specify the name to display for a file]:<name>...:_files'
'(-d --diff)'--diff'[Only show lines that have been added/removed/modified]'
'(--diff-context)'--diff-context'[Include N lines of context around added/removed/modified lines when using `--diff`]:<N> (lines):()'
'(--tabs)'--tabs'[Set the tab width to T spaces]:<T> (tab width):()'
'(--wrap)'--wrap='[Specify the text-wrapping mode]:<when>:(auto never character)'
'(--terminal-width)'--terminal-width'[Explicitly set the width of the terminal instead of determining it automatically]:<width>'
'(-n --number)'{-n,--number}'[Show line numbers]'
'(--color)'--color='[When to use colors]:<when>:(auto never always)'
'(--italic-text)'--italic-text='[Use italics in output]:<when>:(always never)'
'(--decorations)'--decorations='[When to show the decorations]:<when>:(auto never always)'
'(--paging)'--paging='[Specify when to use the pager]:<when>:(auto never always)'
'(-m --map-syntax)'{-m+,--map-syntax=}'[Use the specified syntax for files matching the glob pattern]:<glob\:syntax>...'
'(--theme)'--theme='[Set the color theme for syntax highlighting]:<theme>:->theme'
'(: --list-themes --list-languages -L)'--list-themes'[Display all supported highlighting themes]'
'(--style)'--style='[Comma-separated list of style elements to display]:<components>:->style'
'(-r --line-range)'{-r+,--line-range=}'[Only print the lines from N to M]:<N\:M>...'
'(: --list-themes --list-languages -L)'{-L,--list-languages}'[Display all supported languages]'
'(: -)'{-h,--help}'[Print this help message]'
'(: -)'{-V,--version}'[Show version information]'
'*: :_files'
)
_arguments -S -s $args
case "$state" in
language)
local IFS=$'\n'
local -a languages
languages=( $({{PROJECT_EXECUTABLE}} --list-languages | awk -F':|,' '{ for (i = 1; i <= NF; ++i) printf("%s:%s\n", $i, $1) }') )
_describe 'language' languages
;;
theme)
local IFS=$'\n'
local -a themes
themes=( $({{PROJECT_EXECUTABLE}} --list-themes | sort) )
_values 'theme' $themes
;;
style)
_values -s , 'style' auto full plain changes header grid numbers snip
;;
esac
}
# first positional argument
if (( ${#words} == 2 )); then
local -a subcommands
subcommands=('cache:Modify the syntax-definition and theme cache')
_describe subcommand subcommands
_{{PROJECT_EXECUTABLE}}_main
else
case $words[2] in
cache)
_{{PROJECT_EXECUTABLE}}_cache_subcommand
;;
*)
_{{PROJECT_EXECUTABLE}}_main
;;
esac
fi
Vendored Regular → Executable
+55 -28
View File
@@ -1,36 +1,63 @@
set -e
#!/usr/bin/env bash
set -euo pipefail
THEME_FOLDER="$HOME/.config/bat/themes"
SYNTAX_FOLDER="$HOME/.config/bat/syntax"
ASSET_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
REPO_DIR="$ASSET_DIR/.."
if [ ! -e "$THEME_FOLDER" ]; then
mkdir -p "$THEME_FOLDER"
(
cd "$THEME_FOLDER"
git clone https://github.com/jonschlinkert/sublime-monokai-extended
ln -s "sublime-monokai-extended/Monokai Extended.tmTheme" Default.tmTheme
)
# 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
if [ ! -e "$SYNTAX_FOLDER" ]; then
mkdir -p "$SYNTAX_FOLDER"
(
cd "$SYNTAX_FOLDER"
git clone https://github.com/sublimehq/Packages/
# Always remove the local cache to avoid any confusion
bat cache --clear
# Patch JavaScript syntax
sed -i -e 's/{{identifier_break}}+/{{identifier_break}}/' Packages/JavaScript/JavaScript.sublime-syntax
# TODO:
# - Remove the JavaDoc patch once https://github.com/trishume/syntect/issues/222 has been fixed
# - Remove the C# patch once https://github.com/sublimehq/Packages/pull/2331 has been merged
# Use extended Markdown syntax
rm -rf Packages/Markdown
git clone https://github.com/jonschlinkert/sublime-markdown-extended
(
cd "$ASSET_DIR"
for patch in patches/*.patch; do
patch --strip=0 < "$patch"
done
)
# Add additional sxntax definitions
git clone https://github.com/princemaple/elixir-sublime-syntax/
git clone https://github.com/sharkdp/sublime_toml_highlighting
)
fi
bat cache --build --blank --source="$ASSET_DIR" --target="$ASSET_DIR"
bat init-cache
cp "$HOME/.cache/bat"/* .
(
cd "$ASSET_DIR"
for patch in patches/*.patch; do
patch --strip=0 --reverse < "$patch"
done
)
+214
View File
@@ -0,0 +1,214 @@
.TH {{PROJECT_EXECUTABLE_UPPERCASE}} "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\-f\fR, \fB\-\-force\-colorization\fR
.IP
Alias for '--decorations=always --color=always'. This is useful \
if the output of {{PROJECT_EXECUTABLE}} is piped to another program, but you want \
to keep the colorization/decorations.
.HP
\fB\-\-paging\fR <when>
.IP
Specify when to use the pager. To disable the pager, use \&'\-\-paging=never' or its alias,
\fB-P\fR. To disable the pager permanently, set BAT_PAGER to an empty string. To control
which pager is used, see the '\-\-pager' option. Possible values: *auto*, never, always.
.HP
\fB\-\-pager\fR <command>
.IP
Determine which pager is used. This option will override the PAGER and BAT_PAGER
environment variables. The default pager is 'less'. To control when the pager is used, see
the '\-\-paging' option. Example: '\-\-pager "less \fB\-RF\fR"'.
.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, rule, 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 {{PROJECT_EXECUTABLE}} to a non-default
location of the configuration file.
.SH "ADDING CUSTOM LANGUAGES"
{{PROJECT_EXECUTABLE}} supports Sublime Text \fB.sublime-syntax\fR language files, and can be
customized to add additional languages to your local installation. To do this, add the \fB.sublime-syntax\fR language
files to `\fB$({{PROJECT_EXECUTABLE}} --config-dir)/syntaxes\fR` and run `\fB{{PROJECT_EXECUTABLE}} cache --build\fR`.
\fBExample:\fR
.RS 0.5i
mkdir -p "$({{PROJECT_EXECUTABLE}} --config-dir)/syntaxes"
.br
cd "$({{PROJECT_EXECUTABLE}} --config-dir)/syntaxes"
# Put new '.sublime-syntax' language definition files
.br
# in this folder (or its subdirectories), for example:
.br
git clone https://github.com/tellnobody1/sublime-purescript-syntax
# And then build the cache.
.br
{{PROJECT_EXECUTABLE}} cache --build
.RE
Once the cache is built, the new language will be visible in `\fB{{PROJECT_EXECUTABLE}} --list-languages\fR`.
.br
If you ever want to remove the custom languages, you can clear the cache with `\fB{{PROJECT_EXECUTABLE}} cache --clear\fR`.
.SH "ADDING CUSTOM THEMES"
Similarly to custom languages, {{PROJECT_EXECUTABLE}} supports Sublime Text \fB.tmTheme\fR themes.
These can be installed to `\fB$({{PROJECT_EXECUTABLE}} --config-dir)/themes\fR`, and are added to the cache with
`\fB{{PROJECT_EXECUTABLE}} cache --build`.
.SH "MORE INFORMATION"
For more information and up-to-date documentation, visit the {{PROJECT_EXECUTABLE}} repo:
.br
\fBhttps://github.com/sharkdp/bat\fR
+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
+13
View File
@@ -0,0 +1,13 @@
diff --git syntaxes/01_Packages/Java/JavaDoc.sublime-syntax syntaxes/01_Packages/Java/JavaDoc.sublime-syntax
index 422a6a9..40a741e 100644
--- syntaxes/01_Packages/Java/JavaDoc.sublime-syntax
+++ syntaxes/01_Packages/Java/JavaDoc.sublime-syntax
@@ -13,7 +13,7 @@ variables:
contexts:
prototype:
# https://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html#leadingasterisks
- - match: ^\s*(\*)\s*(?!\s*@)
+ - match: ^\s*(\*)(?!/)\s*(?!\s*@)
captures:
1: punctuation.definition.comment.javadoc
+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}}'
+168
View File
@@ -0,0 +1,168 @@
diff --git syntaxes/01_Packages/Markdown/Markdown.sublime-syntax syntaxes/01_Packages/Markdown/Markdown.sublime-syntax
index 19dc685d..6afd87ae 100644
--- syntaxes/01_Packages/Markdown/Markdown.sublime-syntax
+++ syntaxes/01_Packages/Markdown/Markdown.sublime-syntax
@@ -24,7 +24,6 @@ variables:
)
[ \t]*$ # followed by any number of tabs or spaces, followed by the end of the line
)
- setext_escape: ^(?=\s{0,3}(?:---+|===+)\s*$)
block_quote: (?:[ ]{,3}>(?:.|$)) # between 0 and 3 spaces, followed by a greater than sign, followed by any character or the end of the line
atx_heading: (?:[#]{1,6}\s*) # between 1 and 6 hashes, followed by any amount of whitespace
indented_code_block: (?:[ ]{4}|\t) # 4 spaces or a tab
@@ -277,69 +276,40 @@ contexts:
8: markup.underline.link.markdown
push: [link-ref-def, after-link-title, link-title]
- match: '^(?=\S)(?![=-]{3,}\s*$)'
- branch_point: heading2-branch
- branch:
- - not-heading2
- - heading2
-
- not-paragraph:
- - match: |-
- (?x) # pop out of this context when one of the following conditions are met:
- ^(?:
- \s*$ # the line is blank (or only contains whitespace)
- | (?=
- {{block_quote}} # a block quote begins the line
- | [ ]{,3}[*+-][ ] # an unordered list item begins the line
- | [ ]{,3}1[.][ ] # an ordered list item with number "1" begins the line
- | \# # an ATX heading begins the line
- | [ ]{,3}<( # all types of HTML blocks except type 7 may interrupt a paragraph
- {{html_tag_block_end_at_close_tag}} # 1
- | !-- # 2
- | \? # 3
- | ![A-Z] # 4
- | !\[CDATA\[ # 5
- | {{html_tag_block_end_at_blank_line}} # 6
+ push:
+ - meta_scope: meta.paragraph.markdown
+ - match: |-
+ (?x) # pop out of this context when one of the following conditions are met:
+ ^(?:
+ \s*$ # the line is blank (or only contains whitespace)
+ | (?=
+ {{block_quote}} # a block quote begins the line
+ | [ ]{,3}[*+-][ ] # an unordered list item begins the line
+ | [ ]{,3}1[.][ ] # an ordered list item with number "1" begins the line
+ | \# # an ATX heading begins the line
+ | [ ]{,3}<( # all types of HTML blocks except type 7 may interrupt a paragraph
+ {{html_tag_block_end_at_close_tag}} # 1
+ | !-- # 2
+ | \? # 3
+ | ![A-Z] # 4
+ | !\[CDATA\[ # 5
+ | {{html_tag_block_end_at_blank_line}} # 6
+ )
)
)
- )
- pop: true
-
- not-heading2:
- - include: not-paragraph
- - match: (?=\S)
- branch_point: heading1-branch
- branch:
- - paragraph
- - heading1
- - match: ''
- pop: true
-
- paragraph:
- - meta_scope: meta.paragraph.markdown
- - match: ^\s{0,3}===+\s*$
- fail: heading1-branch
- - match: ^\s{0,3}---+\s*$
- fail: heading2-branch
- - include: not-paragraph
- - include: inline-bold-italic-linebreak
- - include: scope:text.html.basic
-
- heading1:
- - meta_scope: markup.heading.1.markdown
- - include: inline-bold-italic-linebreak
- - match: '^[ \t]{0,3}(={3,})(?=[ \t]*$)'
- captures:
- 1: markup.heading.1.setext.markdown punctuation.definition.heading.setext.markdown
- pop: true
-
- heading2:
- - meta_scope: markup.heading.2.markdown
- - include: inline-bold-italic-linebreak
- - match: '^[ \t]{0,3}(-{3,})(?=[ \t]*$)'
- captures:
- 1: markup.heading.2.setext.markdown punctuation.definition.heading.setext.markdown
- pop: true
-
+ pop: true
+ - include: inline-bold-italic-linebreak
+ - include: scope:text.html.basic
+ - match: '^(={3,})(?=[ \t]*$)'
+ scope: markup.heading.1.setext.markdown
+ captures:
+ 1: punctuation.definition.heading.setext.markdown
+ pop: true
+ - match: '^(-{3,})(?=[ \t]*$)'
+ scope: markup.heading.2.setext.markdown
+ captures:
+ 1: punctuation.definition.heading.setext.markdown
+ pop: true
link-ref-def:
- meta_scope: meta.link.reference.def.markdown
- match: ''
@@ -430,8 +400,6 @@ contexts:
push:
- meta_scope: markup.bold.markdown
- meta_content_scope: markup.italic.markdown
- - match: '{{setext_escape}}'
- pop: true
- match: |-
(?x)
[ \t]*\*{4,} # if there are more than 3 its not applicable to be bold or italic
@@ -446,8 +414,6 @@ contexts:
scope: punctuation.definition.bold.end.markdown
set:
- meta_content_scope: markup.italic.markdown
- - match: '{{setext_escape}}'
- pop: true
- match: |-
(?x)
[ \t]*\*{3,} # if there are more than 3 its not applicable to be bold or italic
@@ -463,8 +429,6 @@ contexts:
scope: punctuation.definition.italic.end.markdown
set:
- meta_content_scope: markup.bold.markdown
- - match: '{{setext_escape}}'
- pop: true
- match: |-
(?x)
[ \t]*\*{3,} # if there are more than 3 its not applicable to be bold or italic
@@ -727,8 +691,6 @@ contexts:
scope: punctuation.definition.italic.begin.markdown
push:
- meta_scope: markup.italic.markdown
- - match: '{{setext_escape}}'
- pop: true
- match: |-
(?x)
[ \t]*\*{4,} # if there are more than 3 its not applicable to be bold or italic
@@ -745,8 +707,6 @@ contexts:
scope: punctuation.definition.italic.begin.markdown
push:
- meta_scope: markup.italic.markdown
- - match: '{{setext_escape}}'
- pop: true
- match: |-
(?x)
[ \t]*_{4,} # if there are more than 3 its not applicable to be bold or italic
@@ -773,8 +733,6 @@ contexts:
- include: bold-italic-trailing
bold-italic-trailing:
- include: scope:text.html.basic
- - match: '{{setext_escape}}'
- pop: true
- match: ^\s*$\n?
scope: invalid.illegal.non-terminated.bold-italic.markdown
pop: true
+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
+15
View File
@@ -0,0 +1,15 @@
diff --git syntaxes/01_Packages/ShellScript/Bash.sublime-syntax syntaxes/01_Packages/ShellScript/Bash.sublime-syntax
index e973e319..a703cef8 100644
--- syntaxes/01_Packages/ShellScript/Bash.sublime-syntax
+++ syntaxes/01_Packages/ShellScript/Bash.sublime-syntax
@@ -30,8 +30,8 @@ file_extensions:
- .zshenv
- .zshrc
- PKGBUILD # https://jlk.fjfi.cvut.cz/arch/manpages/man/PKGBUILD.5
- - .ebuild
- - .eclass
+ - ebuild
+ - eclass
first_line_match: |
(?x)
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+221
View File
@@ -0,0 +1,221 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: Apache Conf
file_extensions:
- envvars
- htaccess
- HTACCESS
- htgroups
- HTGROUPS
- htpasswd
- HTPASSWD
- .htaccess
- .HTACCESS
- .htgroups
- .HTGROUPS
- .htpasswd
- .HTPASSWD
scope: source.apacheconf
contexts:
main:
- match: ^(\s)*(#).*$\n?
scope: comment.line.hash.ini
captures:
1: punctuation.definition.comment.apacheconf
- match: (<)(Proxy|ProxyMatch|IfVersion|Directory|DirectoryMatch|Files|FilesMatch|IfDefine|IfModule|Limit|LimitExcept|Location|LocationMatch|VirtualHost|Macro|If|Else|ElseIf)(\s(.+?))?(>)
captures:
1: punctuation.definition.tag.apacheconf
2: entity.tag.apacheconf
4: string.value.apacheconf
5: punctuation.definition.tag.apacheconf
- match: (</)(Proxy|ProxyMatch|IfVersion|Directory|DirectoryMatch|Files|FilesMatch|IfDefine|IfModule|Limit|LimitExcept|Location|LocationMatch|VirtualHost|Macro|If|Else|ElseIf)(>)
captures:
1: punctuation.definition.tag.apacheconf
2: entity.tag.apacheconf
3: punctuation.definition.tag.apacheconf
- match: (?<=(Rewrite(Rule|Cond)))\s+(.+?)\s+(.+?)($|\s)
captures:
3: string.regexp.apacheconf
4: string.replacement.apacheconf
- match: (?<=RedirectMatch)(\s+(\d\d\d|permanent|temp|seeother|gone))?\s+(.+?)\s+((.+?)($|\s))?
captures:
2: entity.status.apacheconf
3: string.regexp.apacheconf
5: string.path.apacheconf
- match: (?<=Redirect)(\s+(\d\d\d|permanent|temp|seeother|gone))?\s+(.+?)\s+((.+?)($|\s))?
captures:
2: entity.status.apacheconf
3: string.path.apacheconf
5: string.path.apacheconf
- match: (?<=ScriptAliasMatch|AliasMatch)\s+(.+?)\s+((.+?)\s)?
captures:
1: string.regexp.apacheconf
3: string.path.apacheconf
- match: (?<=RedirectPermanent|RedirectTemp|ScriptAlias|Alias)\s+(.+?)\s+((.+?)($|\s))?
captures:
1: string.path.apacheconf
3: string.path.apacheconf
- match: \b(AcceptPathInfo|AccessFileName|AddDefaultCharset|AddOutputFilterByType|AllowEncodedSlashes|AllowOverride|AuthName|AuthType|CGIMapExtension|ContentDigest|DefaultType|Define|DocumentRoot|EnableMMAP|EnableSendfile|ErrorDocument|ErrorLog|FileETag|ForceType|HostnameLookups|IdentityCheck|Include(Optional)?|KeepAlive|KeepAliveTimeout|LimitInternalRecursion|LimitRequestBody|LimitRequestFields|LimitRequestFieldSize|LimitRequestLine|LimitXMLRequestBody|LogLevel|MaxKeepAliveRequests|Mutex|NameVirtualHost|Options|Require|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScriptInterpreterSource|ServerAdmin|ServerAlias|ServerName|ServerPath|ServerRoot|ServerSignature|ServerTokens|SetHandler|SetInputFilter|SetOutputFilter|Time(O|o)ut|TraceEnable|UseCanonicalName|Use|ErrorLogFormat|GlobalLog|PHPIniDir|SSLHonorCipherOrder|SSLCompression|SSLUseStapling|SSLStapling\w+|SSLCARevocationCheck|SSLSRPVerifierFile|SSLSessionTickets|RequestReadTimeout|ProxyHTML\w+|MaxRanges)\b
captures:
1: keyword.core.apacheconf
- match: \b(AcceptMutex|AssignUserID|BS2000Account|ChildPerUserID|CoreDumpDirectory|EnableExceptionHook|Group|Listen|ListenBacklog|LockFile|MaxClients|MaxConnectionsPerChild|MaxMemFree|MaxRequestsPerChild|MaxRequestsPerThread|MaxRequestWorkers|MaxSpareServers|MaxSpareThreads|MaxThreads|MaxThreadsPerChild|MinSpareServers|MinSpareThreads|NumServers|PidFile|ReceiveBufferSize|ScoreBoardFile|SendBufferSize|ServerLimit|StartServers|StartThreads|ThreadLimit|ThreadsPerChild|ThreadStackSize|User|Win32DisableAcceptEx)\b
captures:
1: keyword.mpm.apacheconf
- match: \b(Allow|Deny|Order)\b
captures:
1: keyword.access.apacheconf
- match: \b(Action|Script)\b
captures:
1: keyword.actions.apacheconf
- match: \b(Alias|AliasMatch|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ScriptAlias|ScriptAliasMatch)\b
captures:
1: keyword.alias.apacheconf
- match: \b(AuthAuthoritative|AuthGroupFile|AuthUserFile|AuthBasicProvider|AuthBasicFake|AuthBasicAuthoritative|AuthBasicUseDigestAlgorithm)\b
captures:
1: keyword.auth.apacheconf
- match: \b(Anonymous|Anonymous_Authoritative|Anonymous_LogEmail|Anonymous_MustGiveEmail|Anonymous_NoUserID|Anonymous_VerifyEmail)\b
captures:
1: keyword.auth_anon.apacheconf
- match: \b(AuthDBMAuthoritative|AuthDBMGroupFile|AuthDBMType|AuthDBMUserFile)\b
captures:
1: keyword.auth_dbm.apacheconf
- match: \b(AuthDigestAlgorithm|AuthDigestDomain|AuthDigestFile|AuthDigestGroupFile|AuthDigestNcCheck|AuthDigestNonceFormat|AuthDigestNonceLifetime|AuthDigestQop|AuthDigestShmemSize|AuthDigestProvider)\b
captures:
1: keyword.auth_digest.apacheconf
- match: \b(AuthLDAPAuthoritative|AuthLDAPBindDN|AuthLDAPBindPassword|AuthLDAPCharsetConfig|AuthLDAPCompareDNOnServer|AuthLDAPDereferenceAliases|AuthLDAPEnabled|AuthLDAPFrontPageHack|AuthLDAPGroupAttribute|AuthLDAPGroupAttributeIsDN|AuthLDAPRemoteUserIsDN|AuthLDAPUrl)\b
captures:
1: keyword.auth_ldap.apacheconf
- match: \b(AddAlt|AddAltByEncoding|AddAltByType|AddDescription|AddIcon|AddIconByEncoding|AddIconByType|DefaultIcon|HeaderName|IndexIgnore|IndexOptions|IndexOrderDefault|IndexStyleSheet|IndexHeadInsert|ReadmeName)\b
captures:
1: keyword.autoindex.apacheconf
- match: \b(BalancerMember|BalancerGrowth|BalancerPersist|BalancerInherit)\b
captures:
1: keyword.filter.apacheconf
- match: \b(CacheDefaultExpire|CacheDisable|CacheEnable|CacheForceCompletion|CacheIgnoreCacheControl|CacheIgnoreHeaders|CacheIgnoreNoLastMod|CacheLastModifiedFactor|CacheMaxExpire)\b
captures:
1: keyword.cache.apacheconf
- match: \b(MetaDir|MetaFiles|MetaSuffix)\b
captures:
1: keyword.cern_meta.apacheconf
- match: \b(ScriptLog|ScriptLogBuffer|ScriptLogLength)\b
captures:
1: keyword.cgi.apacheconf
- match: \b(ScriptLog|ScriptLogBuffer|ScriptLogLength|ScriptSock)\b
captures:
1: keyword.cgid.apacheconf
- match: \b(CharsetDefault|CharsetOptions|CharsetSourceEnc)\b
captures:
1: keyword.charset_lite.apacheconf
- match: \b(Dav|DavDepthInfinity|DavMinTimeout|DavLockDB)\b
captures:
1: keyword.dav.apacheconf
- match: \b(DeflateBufferSize|DeflateCompressionLevel|DeflateFilterNote|DeflateMemLevel|DeflateWindowSize)\b
captures:
1: keyword.deflate.apacheconf
- match: \b(DirectoryIndex|DirectorySlash|FallbackResource)\b
captures:
1: keyword.dir.apacheconf
- match: \b(CacheDirLength|CacheDirLevels|CacheExpiryCheck|CacheGcClean|CacheGcDaily|CacheGcInterval|CacheGcMemUsage|CacheGcUnused|CacheMaxFileSize|CacheMinFileSize|CacheRoot|CacheSize|CacheTimeMargin)\b
captures:
1: keyword.disk_cache.apacheconf
- match: \b(DumpIOInput|DumpIOOutput)\b
captures:
1: keyword.dumpio.apacheconf
- match: \b(PassEnv|SetEnv|UnsetEnv)\b
captures:
1: keyword.env.apacheconf
- match: \b(ExpiresActive|ExpiresByType|ExpiresDefault)\b
captures:
1: keyword.expires.apacheconf
- match: \b(ExtFilterDefine|ExtFilterOptions)\b
captures:
1: keyword.ext_filter.apacheconf
- match: \b(CacheFile|MMapFile)\b
captures:
1: keyword.file_cache.apacheconf
- match: \b(AddOutputFilterByType|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace)\b
captures:
1: keyword.filter.apacheconf
- match: \b(Header|RequestHeader)\b
captures:
1: keyword.headers.apacheconf
- match: \b(ImapBase|ImapDefault|ImapMenu)\b
captures:
1: keyword.imap.apacheconf
- match: \b(SSIEndTag|SSIErrorMsg|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|XBitHack)\b
captures:
1: keyword.include.apacheconf
- match: \b(ISAPIAppendLogToErrors|ISAPIAppendLogToQuery|ISAPICacheFile|ISAPIFakeAsync|ISAPILogNotSupported|ISAPIReadAheadBuffer)\b
captures:
1: keyword.isapi.apacheconf
- match: \b(LDAPCacheEntries|LDAPCacheTTL|LDAPConnectionTimeout|LDAPOpCacheEntries|LDAPOpCacheTTL|LDAPSharedCacheFile|LDAPSharedCacheSize|LDAPTrustedCA|LDAPTrustedCAType)\b
captures:
1: keyword.ldap.apacheconf
- match: \b(BufferedLogs|CookieLog|CustomLog|LogFormat|TransferLog|ForensicLog)\b
captures:
1: keyword.log.apacheconf
- match: \b(MCacheMaxObjectCount|MCacheMaxObjectSize|MCacheMaxStreamingBuffer|MCacheMinObjectSize|MCacheRemovalAlgorithm|MCacheSize)\b
captures:
1: keyword.mem_cache.apacheconf
- match: \b(AddCharset|AddEncoding|AddHandler|AddInputFilter|AddLanguage|AddOutputFilter|AddType|DefaultLanguage|ModMimeUsePathInfo|MultiviewsMatch|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|TypesConfig)\b
captures:
1: keyword.mime.apacheconf
- match: \b(ProtocolEcho|Example|AddModuleInfo|MimeMagicFile|CheckSpelling|ExtendedStatus|SuexecUserGroup|UserDir)\b
captures:
1: keyword.misc.apacheconf
- match: \b(CacheNegotiatedDocs|ForceLanguagePriority|LanguagePriority)\b
captures:
1: keyword.negotiation.apacheconf
- match: \b(NWSSLTrustedCerts|NWSSLUpgradeable|SecureListen)\b
captures:
1: keyword.nw_ssl.apacheconf
- match: \b(AllowCONNECT|NoProxy|ProxyBadHeader|ProxyBlock|ProxyDomain|ProxyErrorOverride|ProxyFtpDirCharset|ProxyIOBufferSize|ProxyMaxForwards|ProxyPass|ProxyPassMatch|ProxyPassReverse|ProxyPreserveHost|ProxyReceiveBufferSize|ProxyRemote|ProxyRemoteMatch|ProxyRequests|ProxyTimeout|ProxyVia)\b
captures:
1: keyword.proxy.apacheconf
- match: \b(RewriteBase|RewriteCond|RewriteEngine|RewriteLock|RewriteLog|RewriteLogLevel|RewriteMap|RewriteOptions|RewriteRule)\b
captures:
1: keyword.rewrite.apacheconf
- match: \b(BrowserMatch|BrowserMatchNoCase|SetEnvIf|SetEnvIfNoCase)\b
captures:
1: keyword.setenvif.apacheconf
- match: \b(LoadFile|LoadModule)\b
captures:
1: keyword.so.apacheconf
- match: \b(SSLCACertificateFile|SSLCACertificatePath|SSLCARevocationFile|SSLCARevocationPath|SSLCertificateChainFile|SSLCertificateFile|SSLCertificateKeyFile|SSLCipherSuite|SSLEngine|SSLMutex|SSLOptions|SSLPassPhraseDialog|SSLProtocol|SSLProxyCACertificateFile|SSLProxyCACertificatePath|SSLProxyCARevocationFile|SSLProxyCARevocationPath|SSLProxyCipherSuite|SSLProxyEngine|SSLProxyMachineCertificateFile|SSLProxyMachineCertificatePath|SSLProxyProtocol|SSLProxyVerify|SSLProxyVerifyDepth|SSLRandomSeed|SSLRequire|SSLRequireSSL|SSLSessionCache|SSLSessionCacheTimeout|SSLUserName|SSLVerifyClient|SSLVerifyDepth|SSLInsecureRenegotiation|SSLOpenSSLConfCmd)\b
captures:
1: keyword.ssl.apacheconf
- match: \b(Substitute|SubstituteInheritBefore|SubstituteMaxLineLength)\b
captures:
1: keyword.substitute.apacheconf
- match: \b(CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking)\b
captures:
1: keyword.usertrack.apacheconf
- match: \b(VirtualDocumentRoot|VirtualDocumentRootIP|VirtualScriptAlias|VirtualScriptAliasIP)\b
captures:
1: keyword.vhost_alias.apacheconf
- match: \b(php_value|php_flag|php_admin_value|php_admin_flag)\b(\s+(.+?)(\s+(".+?"|.+?))?)?\s
captures:
1: keyword.php.apacheconf
3: entity.property.apacheconf
5: string.value.apacheconf
- match: '(%\{)((HTTP_USER_AGENT|HTTP_REFERER|HTTP_COOKIE|HTTP_FORWARDED|HTTP_HOST|HTTP_PROXY_CONNECTION|HTTP_ACCEPT|REMOTE_ADDR|REMOTE_HOST|REMOTE_PORT|REMOTE_USER|REMOTE_IDENT|REQUEST_METHOD|SCRIPT_FILENAME|PATH_INFO|QUERY_STRING|AUTH_TYPE|DOCUMENT_ROOT|SERVER_ADMIN|SERVER_NAME|SERVER_ADDR|SERVER_PORT|SERVER_PROTOCOL|SERVER_SOFTWARE|TIME_YEAR|TIME_MON|TIME_DAY|TIME_HOUR|TIME_MIN|TIME_SEC|TIME_WDAY|TIME|API_VERSION|THE_REQUEST|REQUEST_URI|REQUEST_FILENAME|IS_SUBREQ|HTTPS)|(.*?))(\})'
captures:
1: punctuation.variable.apacheconf
3: variable.env.apacheconf
4: variable.misc.apacheconf
5: punctuation.variable.apacheconf
- match: \b((text|image|application|video|audio)/.+?)\s
captures:
1: entity.mime-type.apacheconf
- match: \b(?i)(export|from|unset|set|on|off)\b
captures:
1: entity.helper.apacheconf
- match: \b(\d+)\b
captures:
1: constant.numeric.integer.decimal.apacheconf
- match: '\s(\[)(.*?)(\])\s'
captures:
1: punctuation.definition.flag.apacheconf
2: string.flag.apacheconf
3: punctuation.definition.flag.apacheconf
+997
View File
@@ -0,0 +1,997 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: AsciiDoc (Asciidoctor)
file_extensions:
- adoc
- ad
- asciidoc
scope: text.asciidoc
contexts:
main:
- include: lists
- include: blocks
- include: section_titles
- include: lines
- include: inline
- include: characters
attribute_entry:
- match: |-
(?x)
^(:) # opening delimiter
(!)? # bang symbol (unset attribute)
([A-Za-z0-9_][A-Za-z0-9_-]*) # attribute name
(!)? # bang symbol (unset attribute)
(:) # closing delimiter
(?:\s+|(?=$))
comment: |
An attribute entry.
Examples:
:my-attribute: value
:sectnums!:
:!sectnums:
captures:
1: punctuation.definition.attributeentry.attrname.begin.asciidoc
2: punctuation.definition.attributeentry.unset.asciidoc
3: support.variable.attribute.asciidoc
4: punctuation.definition.attributeentry.unset.asciidoc
5: punctuation.definition.attributeentry.attrname.end.asciidoc
push:
- meta_scope: meta.attributeentry.asciidoc
- meta_content_scope: meta.attributeentry.value.asciidoc
- match: $\n?
pop: true
- include: characters
attribute_list_line:
- match: '^(\[)[^\[\]]*(\])\s*$\n?'
comment: "Attribute list as paragraph: single brackets. No need for special treatment of escape; follows literal block, section template as being a more general regex."
scope: support.variable.attributelist.asciidoc
captures:
1: punctuation.definition.attributelistline.begin.asciidoc
2: punctuation.definition.attributelistline.end.asciidoc
attribute_reference:
- match: "({)([A-Za-z0-9_][A-Za-z0-9_-]*)(})"
comment: |
Examples:
{my-attribute}
scope: variable.other
captures:
1: constant.character.attributes.reference.begin.asciidoc
2: support.variable.attribute.asciidoc
3: constant.character.attributes.reference.end.asciidoc
biblio_anchor:
- match: '(?<!\[)(\[\[\[).*?(\]\]\])(?!\])'
comment: |
Bibliography anchor
Examples:
[[[Lorem ipsum]]]
scope: storage.type.reference.biblioanchor.asciidoc
captures:
1: punctuation.definition.biblioanchor.begin.asciidoc
2: punctuation.definition.biblioanchor.end.asciidoc
block_admonition_label:
- match: ^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):(?=\s+)
comment: |
Label of an admonition block.
Examples:
NOTE: This is a admonition block.
WARNING: Be aware of them!
scope: support.constant.admonitionword.asciidoc
block_comment:
- match: '^(/{4,})\s*$\n?'
comment: |
Examples:
////
A multi-line comment.
Notice it's a delimited block.
////
captures:
0: punctuation.definition.comment.begin.asciidoc
push:
- meta_scope: comment.block.asciidoc
- meta_content_scope: meta.block.comment.content.asciidoc
- match: ^\1\s*$\n?
captures:
0: punctuation.definition.comment.end.asciidoc
pop: true
- include: macro
block_example:
- match: '^(={4,})\s*$\n?'
comment: |
Examples:
====
Lorem ipsum.
====
Note: Might need to add more includes, but these are the ones that arise in
practice for me.
captures:
0: constant.delimiter.example.begin.asciidoc
push:
- meta_scope: string.unquoted.block.example.asciidoc
- meta_content_scope: meta.block.example.content.asciidoc
- match: ^\1\s*$\n?
captures:
0: constant.delimiter.example.end.asciidoc
pop: true
- include: lists
- include: block_listing
- include: lines
- include: inline
- include: characters
block_id:
- match: '^(\[\[)([^\[].*)(\]\])\s*$\n?'
comment: |
A block id (i.e. anchor).
Examples:
[[myid]]
Lorem ipsum dolor.
scope: meta.tag.blockid.asciidoc
captures:
1: punctuation.definition.blockid.begin.asciidoc
2: markup.underline.blockid.id.asciidoc
3: punctuation.definition.blockid.end.asciidoc
block_listing:
- match: '^(\-{4,})\s*$\n?'
comment: |
Examples:
----
Lorem ipsum.
----
captures:
0: constant.delimiter.listing.begin.asciidoc
push:
- meta_scope: meta.embedded.block.listing.asciidoc
- meta_content_scope: source.block.listing.content.asciidoc
- match: ^\1\s*$\n?
captures:
0: constant.delimiter.listing.end.asciidoc
pop: true
- include: inline_callout
block_literal:
- match: '^(\.{4,})\s*$\n?'
comment: |
Examples:
....
Lorem ipsum.
....
captures:
0: constant.delimiter.block.literal.begin.asciidoc
push:
- meta_scope: string.literal.block.delimited.asciidoc
- meta_content_scope: meta.block.literal.content.asciidoc
- match: ^\1\s*$\n?
captures:
0: constant.delimiter.block.literal.end.asciidoc
pop: true
- include: inline_callout
block_open:
- match: ^\-\-\s*$\n?
comment: |
Examples:
--
Lorem ipsum
--
Note: Might need to check on these includes.
captures:
0: constant.delimiter.block.open.begin.asciidoc
push:
- meta_scope: meta.block.open.asciidoc
- meta_content_scope: meta.block.open.content.asciidoc
- match: ^\-\-\s*$\n?
captures:
0: constant.delimiter.block.open.end.asciidoc
pop: true
- include: lists
- include: block_comment
- include: block_listing
- include: block_pass
- include: lines
- include: inline
- include: characters
block_page_break:
- match: '^<{3,}$\n?'
comment: |
A page break.
Examples:
<<<
<<<<<
scope: meta.separator.pagebreak.asciidoc
block_pass:
- match: '^(\+{4,})\s*$\n?'
captures:
0: constant.delimiter.block.passthrough.begin.asciidoc
push:
- meta_scope: meta.embedded.block.passthrough.asciidoc
- meta_content_scope: text.xml.block.passthrough.content.asciidoc
- match: ^\1\s*$\n?
captures:
0: constant.delimiter.block.passthrough.end.asciidoc
pop: true
- include: scope:text.xml
block_quote:
- match: '^(_{4,})\s*$\n?'
comment: |
Examples:
____
Lorem ipsum
____
Note: Might need to add more includes, but these are the ones that arise for me in practice.
captures:
0: constant.delimiter.block.quote.begin.asciidoc
push:
- meta_scope: markup.quote.block.asciidoc
- meta_content_scope: meta.block.quote.content.asciidoc
- match: ^\1\s*$\n?
captures:
0: constant.delimiter.block.quote.end.asciidoc
pop: true
- include: lines
- include: inline
- include: characters
block_sidebar:
- match: '^(\*{4,})\s*$\n?'
comment: |
Examples:
****
Lorem ipsum
****
Note: Might need to add more includes, but these are the ones that arise
for me in practice.
captures:
0: constant.delimiter.block.sidebar.begin.asciidoc
push:
- meta_scope: string.quoted.block.sidebar.asciidoc
- meta_content_scope: meta.block.sidebar.content.asciidoc
- match: ^\1\s*$\n?
captures:
0: constant.delimiter.block.sidebar.end.asciidoc
pop: true
- include: lists
- include: block_comment
- include: block_listing
- include: lines
- include: inline
- include: characters
block_source_fenced:
- match: ^(```)(\w+)?\s*$\n?
comment: |
Fenced code block (ala Markdown)
Examples:
```rb
puts 'Hello world!'
```
captures:
0: constant.delimiter.listing.begin.asciidoc
push:
- meta_scope: meta.embedded.block.listing.asciidoc
- meta_content_scope: source.block.listing.content.asciidoc
- match: ^\1\s*$\n?
captures:
0: constant.delimiter.listing.end.asciidoc
pop: true
- include: inline_callout
block_thematic_break:
- match: '^''{3,}$\n?'
comment: |
A thematic break (aka horizontal rule).
Examples:
'''
''''''
scope: meta.separator.ruler.asciidoc
block_title:
- match: ^(\.)\w.*$\n?
comment: |
Title of a block.
Examples:
.My title
Lorem ipsum dolor.
scope: markup.heading.block.asciidoc
captures:
1: punctuation.definition.blockheading.asciidoc
blocks:
- include: block_literal
- include: block_comment
- include: block_listing
- include: block_source_fenced
- include: block_sidebar
- include: block_pass
- include: block_quote
- include: block_example
- include: block_open
characters:
- include: attribute_reference
- include: entity_number
- include: entity_name
- include: escape
- include: replacement
- include: macro_pass
- include: macro
- include: xref
- include: biblio_anchor
- include: indexterm_triple
- include: indexterm_double
colist_item_marker:
- match: ^(\s*((<)\d+?(>)))\s+(?=\S)
comment: |
Marker of a callout list item.
Examples:
<1> a callout
<42> another callout
scope: markup.list.numbered.callout.asciidoc
captures:
1: string.unquoted.list.callout.asciidoc
2: constant.numeric.callout.asciidoc
3: punctuation.definition.calloutlistnumber.begin.asciidoc
4: punctuation.definition.calloutlistnumber.end.asciidoc
dlist_item_label:
- match: '^\s*(?=.*:{2,4}(?:\s|$))'
comment: |
Label of a definition (labeled) list item.
Examples:
Label level 1:: lorem ipsum
Label level 2::: dolor sit amet
Label level 3:::: consectetur
Label level 1::
lorem ipsum
Another label :: lorem ipsum
Last::label:: dolor sit amet
Note: This rule is not strictly correct, because Asciidoctor allows
double colon followed by a space inside a label, i.e. it matches the
*last* double colon, not the first. I don't know how to do that
*effectively.
push:
- meta_scope: markup.list.labeled.asciidoc
- meta_content_scope: meta.list.label.asciidoc
- match: '(:{2,4})(?:\s|$\n?)'
captures:
1: constant.labeledlist.separator.asciidoc
pop: true
- include: inline
- include: characters
emphasis:
- match: |-
(?x)
(\[[^\]]*?\])? # might be preceded by an attributes list
(?<=^|\W)(?<!\\|}) # must be preceded by nonword character, and not by escape or } (attribute)
(_)(?=\S) # delimiter underscore that must be followed by a nonspace character
comment: |
Emphasized (italic) text (constrained variant).
Examples:
_Lorem ipsum_ dolor
[red]_Lorem ipsum_ dolor
captures:
1: support.variable.attributelist.asciidoc
2: punctuation.definition.italic.single.begin.asciidoc
push:
- meta_scope: markup.italic.single.asciidoc
- meta_content_scope: meta.italicinner.single.asciidoc
- match: |-
(?x)
(?<=\S)(_) # delimiter underscore that must be preceded by a nonspace character
(?!\w) # ...and followed by a nonword character
captures:
1: punctuation.definition.italic.single.end.asciidoc
pop: true
- include: strong_double
- include: monospaced_double
- include: mark_double
- include: strong
- include: monospaced
- include: mark
- include: superscript
- include: subscript
- include: characters
emphasis_double:
- match: |-
(?x)
(\[[^\]]*?\])? # might start with attribute list
(?<!\\) # must not be preceded by escape
(__)
comment: |
Emphasized (italic) text (unconstrained variant).
Examples:
Lo__re__m __ipsum dolor__.
Lo[red]__re__m
captures:
1: support.variable.attributelist.asciidoc
2: punctuation.definition.italic.double.begin.asciidoc
push:
- meta_scope: markup.italic.double.asciidoc
- meta_content_scope: meta.italicinner.double.asciidoc
- match: __
captures:
0: punctuation.definition.italic.double.end.asciidoc
pop: true
- include: strong_double
- include: monospaced_double
- include: mark_double
- include: strong
- include: monospaced
- include: mark
- include: superscript
- include: subscript
- include: characters
entity_name:
- match: '(?<!\\)&([a-zA-Z][a-zA-Z0-9]*);'
comment: |
Character entity reference
Examples:
&nbsp;
&sup2;
scope: constant.character.entity.xml.asciidoc
entity_number:
- match: '(?<!\\)&#(x?[0-9a-fA-f]{2,4});'
comment: |
Numeric character reference
Examples:
&#x278a;
&#182;
scope: constant.character.entity.asciidoc
escape:
- match: '\\(?=[-`*_#+.!(){}\[\]\\>:])'
comment: |
List of special characters that may be escaped.
Note: I do not really know if this is a good list, adopted wholesale from
original bundle.
scope: constant.character.escape.asciidoc
indexterm_double:
- match: '(?<!\()(\({2})([^\(\s].*?)(\){2})(?!\))'
comment: |
Double parenthesis indexterm.
Examples:
((Arthur))
scope: variable.other.indexterm.double.asciidoc
captures:
1: constant.character.indexterm.double.begin.asciidoc
3: constant.character.indexterm.double.end.asciidoc
indexterm_triple:
- match: '(?<!\()(\({3})([^\(].*?)(\){3})(?!\))'
comment: |
Triple parenthesis indexterm.
Examples:
(((Sword, Broadsword, Excalibur)))
scope: variable.other.indexterm.triple.asciidoc
captures:
1: constant.character.indexterm.triple.begin.asciidoc
3: constant.character.indexterm.triple.end.asciidoc
inline:
- include: passthrough
- include: strong_double
- include: emphasis_double
- include: monospaced_double
- include: mark_double
- include: strong
- include: emphasis
- include: monospaced
- include: mark
- include: superscript
- include: subscript
inline_break:
- match: (?<=\s)\+$\n?
comment: |
Line hard break with a plus sign (+).
Examples:
Rubies are red, +
Topazes are blue.
scope: constant.linebreak.asciidoc
inline_callout:
- match: (?<!\\)(<)\d+(>)
comment: |
Callout label
Examples:
<1>
<42>
scope: constant.other.callout.asciidoc
captures:
1: punctuation.definition.callout.begin.asciidoc
2: punctuation.definition.callout.end.asciidoc
inline_comment:
- match: '^(//)([^/\n].*|)$\n?'
comment: |
Inline comment.
Examples:
// This is just a comment!
scope: comment.line.double-slash.asciidoc
captures:
1: punctuation.definition.comment.line.asciidoc
2: meta.line.comment.content.asciidoc
lines:
- include: inline_comment
- include: list_continuation
- include: inline_break
- include: block_page_break
- include: block_thematic_break
- include: block_title
- include: block_id
- include: section_template
- include: attribute_list_line
- include: attribute_entry
list_continuation:
- match: ^\+\s*$\n?
scope: constant.listcontinuation.asciidoc
lists:
- include: block_admonition_label
- include: ulist_item_marker
- include: olist_item_marker
- include: dlist_item_label
- include: colist_item_marker
macro:
- match: |-
(?x)
(?:
((?:https?|mailto|ftp|file) # specify separately so we can mark them as links that TextMate opens
?:{1} # inline only
\S*) # (others such as image are partial URLs and/or TextMate cannot handle them)
|
(([a-zA-Z0-9][a-zA-Z0-9_]*)
(:{1,2})
(\S*))
)
(?:(\[)([^\]]*)(\]))
comment: |
Note: There are other macro notations, but I match only those that end in
square brackets.
scope: meta.macro.asciidoc
captures:
1: markup.underline.link.macro.asciidoc
3: keyword.control.name.macro.asciidoc
4: constant.character.separator.macro.asciidoc
5: markup.underline.target.macro.asciidoc
6: constant.character.attributes.macro.begin.asciidoc
7: variable.parameter.attributes.macro.asciidoc
8: constant.character.attributes.macro.end.asciidoc
macro_pass:
- match: |-
(?x)
(pass)
(:{1,2})
(\S*)
(\[)(?=[^\]]*\])
comment: |
Passthrough macro
Examples:
pass:[Lorem ipsum]
pass::[Lorem ipsum]
captures:
1: keyword.control.name.macro.pass.asciidoc
2: constant.character.separator.macro.asciidoc
3: markup.underline.target.macro.asciidoc
4: constant.character.attributes.macro.begin.asciidoc
push:
- meta_scope: meta.macro.pass.asciidoc
- meta_content_scope: variable.parameter.attributes.macro.pass.asciidoc
- match: '\]'
captures:
0: constant.character.attributes.macro.end.asciidoc
pop: true
- include: scope:text.xml
mark:
- match: |-
(?x)
(\[[^\]]*?\])? # might start with attribute list (darned well better or why are we here)
(?<=^|\W)(?<!\\|}) # must be preceded by nonword character, and not by escape or } (attribute)
(\#)(?=\S) # delimiter hash that must be followed by a nonspace character
comment: |
Marked text (constrained variant).
Examples:
#Lorem ipsum# dolor
[red]#Lorem ipsum# dolor
captures:
1: support.variable.attributelist.asciidoc
2: punctuation.definition.string.unquoted.single.begin.asciidoc
push:
- meta_scope: string.other.unquoted.single.asciidoc
- meta_content_scope: string.unquoted.unquotedinner.single.asciidoc
- match: |-
(?x)
(?<=\S)(\#) # delimiter hash that must be preceded by a nonspace character
(?!\w) # ...and followed by a nonword character
captures:
1: punctuation.definition.string.unquoted.single.end.asciidoc
pop: true
- include: strong_double
- include: emphasis_double
- include: monospaced_double
- include: strong
- include: emphasis
- include: monospaced
- include: superscript
- include: subscript
- include: characters
mark_double:
- match: |-
(?x)
(\[[^\]]*?\])? # might start with an attribute list (indeed, that is its purpose)
(?<!\\) # must not be preceded by escape
(\#\#)
comment: |
Marked text (unconstrained variant).
Examples:
Lo##re##m ##ipsum dolor##.
Lo[red]##re##m
captures:
1: support.variable.attributelist.asciidoc
2: punctuation.definition.string.unquoted.double.begin.asciidoc
push:
- meta_scope: string.other.unquoted.double.asciidoc
- meta_content_scope: string.unquoted.unquotedinner.double.asciidoc
- match: '\#\#'
captures:
0: punctuation.definition.string.unquoted.double.end.asciidoc
pop: true
- include: strong_double
- include: emphasis_double
- include: monospaced_double
- include: strong
- include: emphasis
- include: monospaced
- include: superscript
- include: subscript
- include: characters
monospaced:
- match: |-
(?x)
(\[[^\]]*?\])? # might start with attributes list
(?<=^|\W)(?<!\\|}) # must be preceded by nonword character, and not by escape or } (attribute)
(`)(?=\S) # delimiter backtick that must be followed by a nonspace character
comment: |
Monospaced text (constrained variant).
Examples:
`Lorem ipsum` dolor
[red]`Lorem ipsum` dolor
captures:
1: support.variable.attributelist.asciidoc
2: punctuation.definition.literal.single.begin.asciidoc
push:
- meta_scope: string.other.literal.single.asciidoc
- meta_content_scope: meta.literalinner.single.asciidoc
- match: |-
(?x)
(?<=\S)(`) # delimiter backtick that must be preceded by a nonspace character
(?!\w) # ...and followed by a nonword character
captures:
1: punctuation.definition.literal.single.end.asciidoc
pop: true
- include: strong_double
- include: emphasis_double
- include: mark_double
- include: strong
- include: emphasis
- include: mark
- include: superscript
- include: subscript
- include: characters
monospaced_double:
- match: |-
(?x)
(\[[^\]]*?\])? # might start with attribute list
(?<!\\) # must not be preceded by escape
(``)
comment: |
Monospaced text (unconstrained variant).
Examples:
Lo``re``m ``ipsum dolor``.
Lo[red]``re``m
captures:
1: support.variable.attributelist.asciidoc
2: punctuation.definition.literal.double.begin.asciidoc
push:
- meta_scope: string.other.literal.double.asciidoc
- meta_content_scope: meta.literalinner.double.asciidoc
- match: "``"
captures:
0: punctuation.definition.literal.double.end.asciidoc
pop: true
- include: strong_double
- include: emphasis_double
- include: mark_double
- include: strong
- include: emphasis
- include: mark
- include: superscript
- include: subscript
- include: characters
olist_item_marker:
- match: '^(\s*(\.{1,5}))\s+(?=\S)'
comment: |
Marker of an ordered (numbered) list item.
Examples:
. level 1
.. level 2
... level 3
.... level 4
..... level 5
Note: The space distinguishes it from a block title.
scope: markup.list.numbered.dotted.asciidoc
captures:
1: string.unquoted.list.dotted.asciidoc
2: constant.numeric.list.dot.asciidoc
passthrough:
- match: (\+\+\+|\$\$)
comment: |
Inline triple-plus and double dolar passthrough.
Examples:
Lo+++re++++m +++ipsum dolor+++.
Lo$$re$$m $$ipsum dolor$$.
Note: Must be dead first among the inlines, so as to take priority.
captures:
1: constant.character.passthru.begin.asciidoc
push:
- meta_scope: meta.passthru.inline.asciidoc
- meta_content_scope: variable.parameter.passthruinner.asciidoc
- match: \1
captures:
0: constant.character.passthru.end.asciidoc
pop: true
replacement:
- match: |-
(?x)
(?<!\\) # must not be escaped
(
\(C\)
| \(TM\)
| \(R\)
| ((?<!\-)\-\-(?!\-)) # exactly two, and even this may not rule out all that I want to
| ((?<!\.)\.\.\.(?!\.)) # exactly three
| \->
| <\-
| =>
| <=
)
scope: constant.character.replacement.asciidoc
section_template:
- match: |-
(?x)^
(\[) # in square brackets
(template\s*=\s*)?(")? # might start with template-equals and might have template name in quotes
(
sect\d|abstract|preface|colophon|dedication|glossary|bibliography|synopsis|appendix|index # fixed list of known templates
)
(".*(\])|(\])) # either close the quote (and perhaps go on) and close the bracket, or close the bracket immediately
\s*$\n?
comment: fixed list of known template names
scope: variable.parameter.sectiontemplate.asciidoc
captures:
1: punctuation.definition.sectiontemplate.begin.asciidoc
4: meta.tag.sectiontemplate.asciidoc
6: punctuation.definition.sectiontemplate.end.asciidoc
7: punctuation.definition.sectiontemplate.end.asciidoc
section_titles:
- include: title_level_5
- include: title_level_4
- include: title_level_3
- include: title_level_2
- include: title_level_1
- include: title_level_0
strong:
- match: |-
(?x)
(\[[^\]]*?\])? # might start with an attributes list
(?<=^|\W)(?<!\\|}) # must be preceded by nonword character, and not by escape or } (attribute)
(\*)(?=\S) # delimiter star that must be followed by a nonspace character
comment: |
Strong (bold) text (constrained variant).
Examples:
*Lorem ipsum* dolor
[red]*Lorem ipsum* dolor
captures:
1: support.variable.attributelist.asciidoc
2: punctuation.definition.bold.single.begin.asciidoc
push:
- meta_scope: markup.bold.single.asciidoc
- meta_content_scope: meta.boldinner.single.asciidoc
- match: |-
(?x)
(?<=\S)(\*) # delimiter star that must be preceded by a nonspace character
(?!\w) # ...and followed by a nonword character
captures:
1: punctuation.definition.bold.single.end.asciidoc
pop: true
- include: emphasis_double
- include: monospaced_double
- include: mark_double
- include: emphasis
- include: monospaced
- include: mark
- include: superscript
- include: subscript
- include: characters
strong_double:
- match: |-
(?x)
(\[[^\]]*?\])? # might start with an attribute list
(?<!\\) # must not be preceded by escape
(\*\*)
comment: |
Strong (bold) text (unconstrained variant).
Examples:
Lo**re**m **ipsum dolor**.
Lo[red]**re**m
captures:
1: support.variable.attributelist.asciidoc
2: punctuation.definition.bold.double.begin.asciidoc
push:
- meta_scope: markup.bold.double.asciidoc
- meta_content_scope: meta.boldinner.double.asciidoc
- match: \*\*
captures:
0: punctuation.definition.bold.double.end.asciidoc
pop: true
- include: emphasis_double
- include: monospaced_double
- include: mark_double
- include: emphasis
- include: monospaced
- include: mark
- include: superscript
- include: subscript
- include: characters
subscript:
- match: |-
(?x)
(\[[^\]]*?\])? # might start with attribute list
(?<!\\) # must not be preceded by escape
(~)
comment: |
Subscript text.
Examples:
E=mc^2^
E=mc[red]^2^
captures:
1: support.variable.attributelist.asciidoc
2: punctuation.definition.string.subscript.begin.asciidoc
push:
- meta_scope: string.other.subscript.asciidoc
- meta_content_scope: meta.subscriptinner.asciidoc
- match: '~' # this tilda a problem if unquoted
captures:
0: punctuation.definition.string.subscript.end.asciidoc
pop: true
- include: strong_double
- include: emphasis_double
- include: monospaced_double
- include: mark_double
- include: strong
- include: emphasis
- include: monospaced
- include: mark
- include: superscript
- include: characters
superscript:
- match: |-
(?x)
(\[[^\]]*?\])? # might start with attribute list
(?<!\\) # no preceding escape
(\^)
comment: |
Superscript text.
Examples:
H~2~O
H[red]~2~O
captures:
1: support.variable.attributelist.asciidoc
2: punctuation.definition.string.superscript.begin.asciidoc
push:
- meta_scope: string.other.superscript.asciidoc
- meta_content_scope: meta.superscriptinner.asciidoc
- match: ^
captures:
0: punctuation.definition.string.superscript.end.asciidoc
pop: true
- include: strong_double
- include: emphasis_double
- include: monospaced_double
- include: mark_double
- include: strong
- include: emphasis
- include: monospaced
- include: mark
- include: subscript
- include: characters
title_level_0:
- match: ^(=) (\w.*)$\n?
scope: markup.heading.level.0.asciidoc
captures:
1: punctuation.definition.heading.asciidoc
2: entity.name.section.asciidoc
title_level_1:
- match: ^(==) (\w.*)$\n?
scope: markup.heading.level.1.asciidoc
captures:
1: punctuation.definition.heading.asciidoc
2: entity.name.section.asciidoc
title_level_2:
- match: ^(===) (\w.*)$\n?
scope: markup.heading.level.2.asciidoc
captures:
1: punctuation.definition.heading.asciidoc
2: entity.name.section.asciidoc
title_level_3:
- match: ^(====) (\w.*)$\n?
scope: markup.heading.level.3.asciidoc
captures:
1: punctuation.definition.heading.asciidoc
2: entity.name.section.asciidoc
title_level_4:
- match: ^(=====) (\w.*)$\n?
scope: markup.heading.level.4.asciidoc
captures:
1: punctuation.definition.heading.asciidoc
2: entity.name.section.asciidoc
title_level_5:
- match: ^(======) (\w.*)$\n?
scope: markup.heading.level.5.asciidoc
captures:
1: punctuation.definition.heading.asciidoc
2: entity.name.section.asciidoc
ulist_item_marker:
- match: '^(\s*(\-|\*{1,5}))\s+(?=\S)'
comment: |
Marker of an unordered (bullet) list item.
Examples:
* level 1
** level 2
*** level 3
**** level 4
***** level 5
- level 1
-- level 2
--- level 3
---- level 4
----- level 5
scope: markup.list.bulleted.asciidoc
captures:
1: string.unquoted.list.bullet.asciidoc
2: constant.numeric.list.bullet.asciidoc
xref:
- match: '(?<!<)(<<)([^,]*?)((,\s*)(.*?))?(>>)(?!<)'
comment: |
Internal cross-reference
Examples:
<<lorem>>
<<lorem, see here>>
scope: meta.xref.asciidoc
captures:
1: constant.character.xref.begin.asciidoc
2: markup.underline.term.xref.asciidoc
5: variable.parameter.xref.asciidoc
6: constant.character.xref.end.asciidoc
+172
View File
@@ -0,0 +1,172 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: ARM Assembly
file_extensions:
- s
- S
scope: source.asm.arm
contexts:
main:
- match: "@.*$"
scope: comment.line
- match: //.*$
scope: comment.line
- match: ;.*$
scope: comment.line
- match: ^\s*\#\s*if\s+0\b
push:
- meta_scope: comment.preprocessor
- match: ^\s*\#\s*endif\b
pop: true
- match: /\*
push:
- meta_scope: comment.block
- match: \*/
pop: true
- match: |-
(?x)
^\s*\#\s*(define)\s+ # define
((?<id>[a-zA-Z_][a-zA-Z0-9_]*)) # macro name
(?: # and optionally:
(\() # an open parenthesis
(
\s* \g<id> \s* # first argument
((,) \s* \g<id> \s*)* # additional arguments
(?:\.\.\.)? # varargs ellipsis?
)
(\)) # a close parenthesis
)?
captures:
1: keyword.control.import.define.c
2: entity.name.function.preprocessor.c
4: punctuation.definition.parameters.c
5: variable.parameter.preprocessor.c
7: punctuation.separator.parameters.c
8: punctuation.definition.parameters.c
push:
- meta_scope: meta.preprocessor.macro.c
- match: (?=(?://|/\*))|$
pop: true
- match: (?>\\\s*\n)
scope: punctuation.separator.continuation.c
- include: $top_level_main
- match: ^\s*#\s*(error|warning)\b
captures:
1: keyword.control.import.error.c
push:
- meta_scope: meta.preprocessor.diagnostic.c
- match: $
captures:
1: keyword.control.import.error.c
pop: true
- match: (?>\\\s*\n)
scope: punctuation.separator.continuation.c
- match: ^\s*#\s*(include|import)\b\s+
captures:
1: keyword.control.import.include.c
push:
- meta_scope: meta.preprocessor.c.include
- match: (?=(?://|/\*))|$
captures:
1: keyword.control.import.include.c
pop: true
- match: (?>\\\s*\n)
scope: punctuation.separator.continuation.c
- match: '"'
captures:
0: punctuation.definition.string.begin.c
push:
- meta_scope: string.quoted.double.include.c
- match: '"'
captures:
0: punctuation.definition.string.end.c
pop: true
- match: <
captures:
0: punctuation.definition.string.begin.c
push:
- meta_scope: string.quoted.other.lt-gt.include.c
- match: ">"
captures:
0: punctuation.definition.string.end.c
pop: true
- match: '((?i)([xw][0-9]|[xw]1[0-9]||[xw]2[0-9]|[wx]30|wzr|xzr|wsp|fpsr|fpcr|[rcp]1[0-5]|[rcp][0-9]|a[1-4]|v[1-8]|sl|sb|fp|ip|sp|lr|(c|s)psr(_c)?|pc|[sd]3[0-1]|[sd][12][0-9]|[sd][0-9]|fpsid|fpscr|fpexc|q3[0-1]|q2[0-9]|q1[0-9]|q[0-9]|APSR_nzcv|sy)!?(?-i))?\b'
scope: storage.other.register
- match: \.(?i)(globl|global|macro|endm|purgem|if|elseif|else|endif|section|text|arm|align|balign|irp|rept|endr|req|unreq|error|short|func|endfunc|hidden|type|fpu|arch|code|altmacro|object_arch|word|int|string)(?-i)\b
scope: keyword.control.directive
- match: armv(2a?|3m?|4t?|5t?e?6(j|t2|zk?|-m)?|7v?e?(-(a|r|m))?|8-a(\+crc)?)
scope: keyword.control.arch.arm
- match: ^\s*#\s*(define|defined|elif|else|if|ifdef|ifndef|line|pragma|undef|endif)\b
captures:
1: keyword.control.import.c
push:
- meta_scope: meta.preprocessor.c
- match: (?=(?://|/\*))|$
captures:
1: keyword.control.import.c
pop: true
- match: (?>\\\s*\n)
scope: punctuation.separator.continuation.c
- match: |-
(?x)\b((?i)
(
(bf(c|i)|(u|s)bfx|(u|s)xta?(h|b)?) |
(v(add|cvt|sub|mov|trn|cmp|div|qdmulh|mrs|mul|ld1|qadd|qshrun|st[1234]|addw|mull|mlal|rshrn|swp|qmovun)|qmovun)(\.([isup]?8|[isupf]?16|[isuf]?32|[isu]?64))* |
(and|m(rs|sr)|eor|sub|rsb|add|adc|sbc|rsc|tst|teq|cmp|cmn|orr|mov|bic|mvn |
(neg) |
(lsr|lsl|ror|asr) # shift ops either pseudo ops or actual shifts
)s? |
(mul|mla|mull|smlabb) |
(mov(w|t)) |
rev(8|16)? |
(pld|adr|adrl|vswp)
)
(ne|eq|cs|hs|cc|lo|mi|pl|vs|vc|hi|ls|lt|le|gt|ge|al)?(?-i))?\b
scope: support.function.mnemonic.arithmetic
- match: |-
(?x)\b((?i)(
swi|svc|wfi|
dmb | clrex | dsb | isb |
v(ldr|str|push|pop) |
(push|pop) |
(st|ld)(
p |
r(ex|s?(h|b)|d)? |
m(
(f|e)(d|a) |
(d|i)(b|a)
)?
) |
b(l|x|lx|lr|r)? |
(i|e)?ret|
b\.(eq|ne|hs|cs|lo|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|nv)+ |
(c|t)?bn?z|
)+(ne|eq|cs|hs|cc|lo|mi|pl|vs|vc|hi|ls|lt|le|gt|ge|al)?(?-i))\b
scope: support.function.mnemonic.memory
- match: '\b((?i)(def(b|w|s)|equ|(include|get)(\s+([a-zA-Z_]+[0-9a-zA-Z_]*|[0-9]+[a-zA-Z_]+[0-9a-zA-Z_]*?)\.s)?)?(?-i))\b'
scope: meta.preprocessor.c.include
- match: \b((?i)(align)(?-i))?\b
scope: storage.type.c.memaccess
- match: \s+\".+\"
scope: string
- match: \b((?i)nop(ne|eq|cs|hs|cc|lo|mi|pl|vs|vc|hi|ls|lt|le|gt|ge|al)?(?-i))?\b
scope: comment.nop
- match: '\s\['
push:
- meta_scope: storage.type.c.memaccess
- match: '\]'
pop: true
- match: (?>\\\s*\n)
scope: punctuation.separator.continuation.c
- include: $top_level_main
- match: (\b|\s+)\=\b
scope: keyword.control.evaluation
- match: '(\b|\s+)(\#)?-?(0x|&)[0-9a-fA-F_]+\b'
scope: constant.numeric.hex
- match: '(\b|\s+)\#-?[0-9a-zA-Z_]+\b'
scope: constant.numeric.literal
- match: '(\b|\s+)[0-9]+\b'
scope: constant.numeric.dec
- match: '\b([a-zA-Z_]+[0-9a-zA-Z_]*|[0-9]+[a-zA-Z_]+[0-9a-zA-Z_]*)\b'
scope: meta.function.source.arm.label
File diff suppressed because it is too large Load Diff
+46
View File
@@ -0,0 +1,46 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: Advanced CSV
file_extensions:
- csv
- tsv
scope: text.advanced_csv
contexts:
main:
- match: (\")
captures:
1: string.quoted.double.advanced_csv
push:
- meta_scope: meta.quoted.advanced_csv
- match: (\")
captures:
1: string.quoted.double.advanced_csv
pop: true
- include: main
- match: '(\[([+-]?\d*)(\:)?([+-]?\d*)(\,)?([+-]?\d*)(\:)?([+-]?\d*)\])?\s*([<>v^])?\s*(=)'
captures:
1: keyword.operator.advanced_csv
2: constant.numeric.formula.advanced_csv
4: constant.numeric.formula.advanced_csv
6: constant.numeric.formula.advanced_csv
8: constant.numeric.formula.advanced_csv
9: keyword.operator.advanced_csv
10: keyword.operator.advanced_csv
push:
- meta_scope: meta.range.advanced_csv
- match: (?=(\")|$)
pop: true
- include: scope:source.python
- match: '(?<=^|,|\s|\")([0-9.eE+-]+)(?=$|,|\s|\")'
scope: meta.number.advanced_csv
captures:
1: constant.numeric.advanced_csv
- match: '(?<=^|,|\s|\")([^, \t\"]+)(?=$|,|\s|\")'
scope: meta.nonnumber.advanced_csv
captures:
1: storage.type.advanced_csv
- match: (\,)
scope: meta.delimiter.advanced_csv
captures:
1: keyword.operator.advanced_csv
+47
View File
@@ -0,0 +1,47 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: Cabal
file_extensions:
- cabal
scope: source.cabal
contexts:
main:
- match: ^(\s*)(exposed-modules):$
captures:
2: constant.other.cabal
push:
- meta_scope: exposed.modules.cabal
- match: ^(?!\1\s)
pop: true
- include: module_name
- match: ^(\s*)(build-depends):$
captures:
2: constant.other.cabal
push:
- meta_scope: exposed.modules.cabal
- match: ^(?!\1\s)
pop: true
- match: "([<>=]+)|([&|]+)"
scope: keyword.operator.haskell
- match: ((\d+|\*)\.)*(\d+|\*)
scope: constant.numeric.haskell
- match: '([\w\-]+)'
scope: support.function.haskell
- match: '^\s*([a-zA-Z_-]+)(:)\s+'
scope: entity.cabal
captures:
1: constant.other.cabal
2: punctuation.entity.cabal
- match: '^(?i)(executable|library|test-suite|benchmark|flag|source-repository|custom-setup)\s+([^\s,]+)\s*$'
scope: entity.cabal
captures:
1: keyword.entity.cabal
2: string.cabal
- match: ^(?i)library\s*$
scope: keyword.entity.cabal
- match: "--.*$"
scope: comment.cabal
module_name:
- match: '([A-Z][A-Za-z_''0-9]*)(\.[A-Z][A-Za-z_''0-9]*)*'
scope: storage.module.haskell
+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
File diff suppressed because it is too large Load Diff
+369
View File
@@ -0,0 +1,369 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: Dart
file_extensions:
- dart
scope: source.dart
contexts:
main:
- match: ^(#!.*)$
scope: meta.preprocessor.script.dart
- match: ^\s*\b(library|import|export|part of|part)\b
captures:
0: keyword.other.import.dart
push:
- meta_scope: meta.declaration.dart
- match: ;
captures:
0: punctuation.terminator.dart
pop: true
- include: strings
- match: \b(as|show|hide|deferred)\b
scope: keyword.other.import.dart
- include: comments
- include: constants-and-special-vars
- include: annotations
- include: decl-typedef
- include: decl-class
- include: decl-enum
- include: decl-function
- include: keywords
- include: strings
annotations:
- match: '^(?:\s*)((@)([a-zA-Z0-9_]+))'
captures:
1: annotation.dart
2: entity.name.function.annotation.dart
3: support.type.dart
comments:
- match: /\*\*/
scope: comment.block.empty.dart
captures:
0: punctuation.definition.comment.dart
- include: comments-inline
comments-inline:
- match: /\*
push:
- meta_scope: comment.block.dart
- match: \*/
pop: true
- include: scope:text.dart-doccomments
- match: (///)
captures:
1: marker.dart
push:
- meta_scope: comment.line.triple-slash.dart
- match: $
pop: true
- include: scope:text.dart-doccomments
- match: (//)
captures:
1: marker.dart
push:
- meta_scope: comment.line.double-slash.dart
- match: $
pop: true
- include: scope:text.dart-doccomments
constants-and-special-vars:
- match: \b(true|false|null)\b
scope: constant.language.dart
- match: \b(this|super)\b
scope: variable.language.dart
- match: '\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b'
scope: constant.numeric.dart
decl-class:
- match: \bclass\b
captures:
0: keyword.control.new.dart
push:
- meta_scope: meta.declaration.class.dart
- match: "(?={)"
pop: true
- include: keywords
- match: "[A-Za-z_][A-Za-z0-9_]*"
scope: class.name.dart
decl-enum:
- match: \benum\b
captures:
0: keyword.declaration.dart
push:
- meta_scope: meta.declaration.enum.dart
- match: "(?={)"
pop: true
- include: keywords
- match: "[A-Za-z_][A-Za-z0-9_]*"
scope: enum.name.dart
decl-function:
- match: ^\s*(?:\b(void|bool|num|int|double|dynamic|var|String|List|Map)\b)\s+(get)\s+(\w+)\s+(?==>)
comment: A getter with a primitive return type.
scope: meta.declaration.function.dart
captures:
1: storage.type.primitive.dart
2: keyword.declaration.dart
3: function.name.dart
- match: ^\s*(?:\b(\w+)\b\s+)?(get)\s+(\w+)\s+(?==>)
comment: A getter with a user-defined return type or no return type.
scope: meta.declaration.function.dart
captures:
1: type.user-defined.dart
2: keyword.declaration.dart
3: function.name.dart
- match: ^\s*(set)\s+(\w+)(?=\()
comment: A setter.
captures:
1: keyword.declaration.dart
2: function.name.dart
push:
- meta_scope: meta.declaration.function.dart
- match: \)
pop: true
- include: comments-inline
- include: decl-function-parameter
- include: strings
- include: keywords
- match: ^\s*(?:\b(void|bool|num|int|double|dynamic|var|String|List|Map)\b)\s+(\w+)(?=\()
comment: A function with a primitive return type.
captures:
1: storage.type.primitive.dart
2: function.name.dart
push:
- meta_scope: meta.declaration.function.dart
- match: \)
pop: true
- include: comments-inline
- include: decl-function-parameter
- include: strings
- include: keywords
- match: ^\s*(?:\b(return)\b)\s+(\w+)(?=\()
comment: A function invocation after 'return'
captures:
1: keyword.control.dart
2: function.name.dart
push:
- meta_scope: meta.invocation.function.dart
- match: \)
pop: true
- include: comments-inline
- include: decl-function-parameter
- include: strings
- include: keywords
- match: ^\s*\b(new)\b\s+(\w+)(?=\()
comment: A class instantiation after 'new'
captures:
1: keyword.declaration.dart
2: function.name.dart
push:
- meta_scope: meta.invocation.function.dart
- match: \)
pop: true
- include: comments-inline
- include: decl-function-parameter
- include: strings
- include: keywords
decl-function-parameter:
- include: constants-and-special-vars
- match: (?:\b(void|bool|num|int|double|dynamic|var|String|List|Map)\b)\s+(\w+)(?=\()
comment: A function with a primitive return type.
captures:
1: storage.type.primitive.dart
2: function.name.dart
push:
- meta_scope: meta.parameter.function.dart
- match: \)
pop: true
- include: decl-function-parameter
- include: strings
- include: keywords
- match: \b(new)\b\s+(\w+)(?=\()
comment: A class instantiation after 'new'
captures:
1: keyword.declaration.dart
2: function.name.dart
push:
- meta_scope: meta.invocation.function.dart
- match: \)
pop: true
- include: decl-function-parameter
- include: strings
- include: keywords
- match: (?:\b(\w+)\b)\s+(\w+)(?=\()
comment: A function with a user-defined return type.
captures:
1: type.user-defined.dart
2: function.name.dart
push:
- meta_scope: meta.parameter.function.dart
- match: \)
pop: true
- include: decl-function-parameter
- include: strings
- include: keywords
- match: (\w+)(?=\()
comment: A function with no return type.
captures:
1: function.name.dart
push:
- meta_scope: meta.parameter.function.dart
- match: \)
pop: true
- include: decl-function-parameter
- include: strings
- include: keywords
decl-typedef:
- match: typedef
captures:
0: keyword.control.new.dart
push:
- meta_scope: meta.declaration.typedef.dart
- match: ;
captures:
0: punctuation.terminator.dart
pop: true
- match: '(?:\b(void|bool|num|int|double|dynamic|var|String|List|Map)\b|([a-zA-Z_][a-zA-Z0-9_]*))\s+([a-zA-Z_][a-zA-Z0-9_]+)'
captures:
1: storage.type.primitive.dart
2: typedef.return.dart
3: typedef.name.dart
- match: \(
push:
- meta_scope: typedef.params.dart
- match: \)
pop: true
- include: keywords
keywords:
- match: \bassert\b
scope: keyword.control.assert.dart
- match: \bas\b
scope: keyword.cast.dart
- match: \b(try|catch|finally|throw|on|rethrow)\b
scope: keyword.control.catch-exception.dart
- match: \s+\?\s+|\s+:\s+
scope: keyword.control.ternary.dart
- match: \b(break|case|continue|default|do|else|for|if|in|return|switch|while)\b
scope: keyword.control.dart
- match: \b(async\*|async|await\*|await|yield)\b
scope: keyword.control.async.dart
- match: \b(new)\b
scope: keyword.control.new.dart
- match: \b(abstract|extends|external|factory|implements|with|interface|get|native|operator|set|typedef)\b
scope: keyword.declaration.dart
- match: \b(is\!?)\b
scope: keyword.operator.dart
- match: (<<|>>>?|~|\^|\||&)
scope: keyword.operator.bitwise.dart
- match: ((&|\^|\||<<|>>>?)=)
scope: keyword.operator.assignment.bitwise.dart
- match: (===?|!==?|<=?|>=?)
scope: keyword.operator.comparison.dart
- match: '(([+*/%-]|\~)=)'
scope: keyword.operator.assignment.arithmetic.dart
- match: (=)
scope: keyword.operator.assignment.dart
- match: (\-\-|\+\+)
scope: keyword.operator.increment-decrement.dart
- match: (\-|\+|\*|\/|\~\/|%)
scope: keyword.operator.arithmetic.dart
- match: (!|&&|\|\|)
scope: keyword.operator.logical.dart
- match: ;
scope: punctuation.terminator.dart
- match: \b(static|final|const)\b
scope: storage.modifier.dart
- match: \b(?:void|bool|num|int|double|dynamic|var|String|List|Map)\b
scope: storage.type.primitive.dart
regexp:
- match: '\\[^''"]'
scope: constant.character.escaped.regex.dart
- match: \(
push:
- meta_content_scope: meta.capture.regex.dart
- match: \)
pop: true
- match: \?(:|=|!)
scope: ignore.capture.regex.dart
- match: \*|\+|\?|\.|\|
scope: keyword.other.regex.dart
- match: \^|\$
scope: keyword.other.regex.dart
- match: \.
scope: constant.other.regex.dart
- match: '\[(\^)?'
captures:
1: keyword.other.negation.regex.dart
push:
- meta_scope: constant.character.range.regex.dart
- match: '\]'
pop: true
- match: '\\[^"'']'
scope: constant.character.escaped.regex.dart
- match: '\{(?:\d+)?,(?:\d+)?\}'
scope: keyword.other.regex.dart
string-interp:
- match: '(\$)(\{)'
captures:
1: keyword.other.dart
2: keyword.other.dart
push:
- meta_scope: interpolation.dart
- meta_content_scope: source.dart
- match: '(\})'
captures:
1: keyword.other.dart
pop: true
- include: main
- match: (\$)(\w+)
captures:
1: keyword.other.dart
2: variable.parameter.dart
- match: \\.
scope: constant.character.escape.dart
strings:
- match: (?<!r)"""
push:
- meta_scope: string.interpolated.triple.double.dart
- match: '"""(?!")'
pop: true
- include: string-interp
- match: (?<!r)'''
push:
- meta_scope: string.interpolated.triple.single.dart
- match: "'''(?!')"
pop: true
- include: string-interp
- match: r"""
push:
- meta_scope: string.quoted.triple.double.dart
- match: '"""(?!")'
pop: true
- match: r'''
push:
- meta_scope: string.quoted.triple.single.dart
- match: "'''(?!')"
pop: true
- match: (?<!\\|r)"
push:
- meta_scope: string.interpolated.double.dart
- match: '"'
pop: true
- match: \n
scope: invalid.string.newline
- include: string-interp
- match: r"
push:
- meta_scope: string.quoted.double.dart
- match: '"'
pop: true
- include: regexp
- match: (?<!\|r)'
push:
- meta_scope: string.interpolated.single.dart
- match: "'"
pop: true
- include: string-interp
- match: r'
push:
- meta_scope: string.quoted.single.dart
- match: "'"
pop: true
- include: regexp
+91
View File
@@ -0,0 +1,91 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: DotENV
file_extensions:
- .env
- .envrc
- .env.dist
- .env.local
- .env.sample
- .env.example
- .env.test
- .env.test.local
- .env.testing
- .env.dev
- .env.development
- .env.development.local
- .env.prod
- .env.production
- .env.production.local
- .env.dusk.local
- .flaskenv
- .env.staging
scope: source.env
contexts:
main:
- match: (#).*$\n?
comment: "Comments - starts with #"
scope: comment.line.number-sign.env
captures:
1: punctuation.definition.comment.env
- match: (\")
comment: Strings (double)
captures:
1: punctuation.definition.string.begin.env
push:
- meta_scope: string.quoted.double.env
- match: (\")
captures:
1: punctuation.definition.string.end
pop: true
- include: interpolation
- include: variable
- include: escape-characters
- match: (\')
comment: Strings (single)
captures:
1: punctuation.definition.string.begin.env
push:
- meta_scope: string.quoted.single.env
- match: (\')
captures:
1: punctuation.definition.string.end
pop: true
- match: '(?<=[\w])\s?='
comment: Assignment Operator
scope: keyword.operator.assignment.env
- match: '([\w]+)(?=\s?\=)'
comment: Variable
scope: variable.other.env
- match: (?i)\s?(export)
comment: Keywords
scope: keyword.other.env
- match: (?i)(?<=\=)\s?(true|false|null)
comment: Constants
scope: constant.language.env
- match: '\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b'
comment: Numeric
scope: constant.numeric.env
escape-characters:
- match: '\\[nrt\\\$\"\'']'
scope: constant.character.escape.env
interpolation:
- match: '(\$\{|\{)'
comment: 'Template Syntax: "foo ${bar} {$baz}"'
captures:
1: string.interpolated.env keyword.other.template.begin.env
push:
- match: '(\})'
captures:
1: string.interpolated.env keyword.other.template.end.env
pop: true
- match: '(?x)(\$+)?([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*?\b)'
captures:
1: punctuation.definition.variable.env variable.other.env
2: variable.other.env
variable:
- match: '(?x)(\$+)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*?\b)'
captures:
1: punctuation.definition.variable.env variable.other.env
2: variable.other.env
+134
View File
@@ -0,0 +1,134 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: fstab
file_extensions:
- fstab
- crypttab
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
+662
View File
@@ -0,0 +1,662 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: HTML (Twig)
file_extensions:
- twig
- html.twig
scope: text.html.twig
contexts:
main:
- match: '(<)([a-zA-Z0-9:]++)(?=[^>]*></\2>)'
captures:
1: punctuation.definition.tag.html
2: entity.name.tag.html
push:
- meta_scope: meta.tag.any.html
- match: (>(<)/)(\2)(>)
captures:
1: punctuation.definition.tag.html
2: meta.scope.between-tag-pair.html
3: entity.name.tag.html
4: punctuation.definition.tag.html
pop: true
- include: tag-stuff
- match: (<\?)(xml)
captures:
1: punctuation.definition.tag.html
2: entity.name.tag.xml.html
push:
- meta_scope: meta.tag.preprocessor.xml.html
- match: (\?>)
captures:
1: punctuation.definition.tag.html
2: entity.name.tag.xml.html
pop: true
- include: tag-generic-attribute
- include: string-double-quoted
- include: string-single-quoted
- match: <!--
captures:
0: punctuation.definition.comment.html
push:
- meta_scope: comment.block.html
- match: '--\s*>'
captures:
0: punctuation.definition.comment.html
pop: true
- match: "--"
scope: invalid.illegal.bad-comments-or-CDATA.html
- include: embedded-code
- match: <!
captures:
0: punctuation.definition.tag.html
push:
- meta_scope: meta.tag.sgml.html
- match: ">"
captures:
0: punctuation.definition.tag.html
pop: true
- match: (?i:DOCTYPE)
captures:
1: entity.name.tag.doctype.html
push:
- meta_scope: meta.tag.sgml.doctype.html
- match: (?=>)
captures:
1: entity.name.tag.doctype.html
pop: true
- match: '"[^">]*"'
scope: string.quoted.double.doctype.identifiers-and-DTDs.html
- match: '\[CDATA\['
push:
- meta_scope: constant.other.inline-data.html
- match: "]](?=>)"
pop: true
- match: (\s*)(?!--|>)\S(\s*)
scope: invalid.illegal.bad-comments-or-CDATA.html
- include: embedded-code
- match: '(?:^\s+)?(<)((?i:style))\b(?![^>]*/>)'
captures:
1: punctuation.definition.tag.html
2: entity.name.tag.style.html
3: punctuation.definition.tag.html
push:
- meta_scope: source.css.embedded.html
- match: (</)((?i:style))(>)(?:\s*\n)?
captures:
1: punctuation.definition.tag.html
2: entity.name.tag.style.html
3: punctuation.definition.tag.html
pop: true
- include: tag-stuff
- match: (>)
captures:
1: punctuation.definition.tag.html
push:
- match: (?=</(?i:style))
pop: true
- include: embedded-code
- include: scope:source.css
- match: '(?:^\s+)?(<)((?i:script))\b(?![^>]*/>)'
captures:
1: punctuation.definition.tag.html
2: entity.name.tag.script.html
push:
- meta_scope: source.js.embedded.html
- match: (?<=</(script|SCRIPT))(>)(?:\s*\n)?
captures:
2: punctuation.definition.tag.html
pop: true
- include: tag-stuff
- match: (?<!</(?:script|SCRIPT))(>)
captures:
1: punctuation.definition.tag.html
2: entity.name.tag.script.html
push:
- match: (</)((?i:script))
captures:
1: punctuation.definition.tag.html
2: entity.name.tag.script.html
pop: true
- match: (//).*?((?=</script)|$\n?)
scope: comment.line.double-slash.js
captures:
1: punctuation.definition.comment.js
- match: /\*
captures:
0: punctuation.definition.comment.js
push:
- meta_scope: comment.block.js
- match: \*/|(?=</script)
captures:
0: punctuation.definition.comment.js
pop: true
- include: php
- include: twig-print-tag
- include: twig-statement-tag
- include: twig-comment-tag
- include: scope:source.js
- match: (</?)((?i:body|head|html)\b)
captures:
1: punctuation.definition.tag.html
2: entity.name.tag.structure.any.html
push:
- meta_scope: meta.tag.structure.any.html
- match: (>)
captures:
1: punctuation.definition.tag.html
2: entity.name.tag.structure.any.html
pop: true
- include: tag-stuff
- match: (</?)((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)\b)
captures:
1: punctuation.definition.tag.begin.html
2: entity.name.tag.block.any.html
push:
- meta_scope: meta.tag.block.any.html
- match: (>)
captures:
1: punctuation.definition.tag.end.html
pop: true
- include: tag-stuff
- match: (</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\b)
captures:
1: punctuation.definition.tag.begin.html
2: entity.name.tag.inline.any.html
push:
- meta_scope: meta.tag.inline.any.html
- match: "((?: ?/)?>)"
captures:
1: punctuation.definition.tag.end.html
pop: true
- include: tag-stuff
- match: "(</?)([a-zA-Z0-9:]+)"
captures:
1: punctuation.definition.tag.begin.html
2: entity.name.tag.other.html
push:
- meta_scope: meta.tag.other.html
- match: (>)
captures:
1: punctuation.definition.tag.end.html
pop: true
- include: tag-stuff
- include: entities
- match: <>
scope: invalid.illegal.incomplete.html
- match: <
scope: invalid.illegal.bad-angle-bracket.html
- include: twig-print-tag
- include: twig-statement-tag
- include: twig-comment-tag
embedded-code:
- include: ruby
- include: php
- include: twig-print-tag
- include: twig-statement-tag
- include: twig-comment-tag
- include: python
entities:
- match: "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)"
scope: constant.character.entity.html
captures:
1: punctuation.definition.entity.html
3: punctuation.definition.entity.html
- match: "&"
scope: invalid.illegal.bad-ampersand.html
php:
- match: (?=(^\s*)?<\?)
push:
- match: (?!(^\s*)?<\?)
pop: true
- include: scope:text.html.php
python:
- match: (?:^\s*)<\?python(?!.*\?>)
push:
- meta_scope: source.python.embedded.html
- match: \?>(?:\s*$\n)?
pop: true
- include: scope:source.python
ruby:
- match: "<%+#"
captures:
0: punctuation.definition.comment.erb
push:
- meta_scope: comment.block.erb
- match: "%>"
captures:
0: punctuation.definition.comment.erb
pop: true
- match: <%+(?!>)=?
captures:
0: punctuation.section.embedded.ruby
push:
- meta_scope: source.ruby.embedded.html
- match: "-?%>"
captures:
0: punctuation.section.embedded.ruby
pop: true
- match: (#).*?(?=-?%>)
scope: comment.line.number-sign.ruby
captures:
1: punctuation.definition.comment.ruby
- include: scope:source.ruby
- match: <\?r(?!>)=?
captures:
0: punctuation.section.embedded.ruby.nitro
push:
- meta_scope: source.ruby.nitro.embedded.html
- match: '-?\?>'
captures:
0: punctuation.section.embedded.ruby.nitro
pop: true
- match: (#).*?(?=-?\?>)
scope: comment.line.number-sign.ruby.nitro
captures:
1: punctuation.definition.comment.ruby.nitro
- include: scope:source.ruby
string-double-quoted:
- match: '"'
captures:
0: punctuation.definition.string.begin.html
push:
- meta_scope: string.quoted.double.html
- match: '"'
captures:
0: punctuation.definition.string.end.html
pop: true
- include: embedded-code
- include: entities
string-single-quoted:
- match: "'"
captures:
0: punctuation.definition.string.begin.html
push:
- meta_scope: string.quoted.single.html
- match: "'"
captures:
0: punctuation.definition.string.end.html
pop: true
- include: embedded-code
- include: entities
tag-generic-attribute:
- match: '\b([a-zA-Z\-:]+)'
scope: entity.other.attribute-name.html
tag-id-attribute:
- match: \b(id)\b\s*(=)
captures:
1: entity.other.attribute-name.id.html
2: punctuation.separator.key-value.html
push:
- meta_scope: meta.attribute-with-value.id.html
- match: (?<='|")
captures:
1: entity.other.attribute-name.id.html
2: punctuation.separator.key-value.html
pop: true
- match: '"'
captures:
0: punctuation.definition.string.begin.html
push:
- meta_scope: string.quoted.double.html
- meta_content_scope: meta.toc-list.id.html
- match: '"'
captures:
0: punctuation.definition.string.end.html
pop: true
- include: embedded-code
- include: entities
- match: "'"
captures:
0: punctuation.definition.string.begin.html
push:
- meta_scope: string.quoted.single.html
- meta_content_scope: meta.toc-list.id.html
- match: "'"
captures:
0: punctuation.definition.string.end.html
pop: true
- include: embedded-code
- include: entities
tag-stuff:
- include: tag-id-attribute
- include: tag-generic-attribute
- include: string-double-quoted
- include: string-single-quoted
- include: embedded-code
twig-arrays:
- match: '(?<=[\s\(\{\[:,])\['
captures:
0: punctuation.section.array.begin.twig
push:
- meta_scope: meta.array.twig
- match: '\]'
captures:
0: punctuation.section.array.end.twig
pop: true
- include: twig-arrays
- include: twig-hashes
- include: twig-constants
- include: twig-strings
- include: twig-functions-warg
- include: twig-functions
- include: twig-macros
- include: twig-objects
- include: twig-properties
- include: twig-filters-warg
- include: twig-filters
- include: twig-filters-warg-ud
- include: twig-filters-ud
- match: ","
scope: punctuation.separator.object.twig
twig-comment-tag:
- match: '\{#-?'
captures:
0: punctuation.definition.comment.begin.twig
push:
- meta_scope: comment.block.twig
- match: '-?#\}'
captures:
0: punctuation.definition.comment.end.twig
pop: true
twig-constants:
- match: '(?i)(?<=[\s\[\(\{:,])(?:true|false|null|none)(?=[\s\)\]\}\,])'
scope: constant.language.twig
- match: '(?<=[\s\[\(\{:,]|\.\.|\*\*)[0-9]+(?:\.[0-9]+)?(?=[\s\)\]\}\,]|\.\.|\*\*)'
scope: constant.numeric.twig
twig-filters:
- match: '(?<=(?:[a-zA-Z0-9_\x{7f}-\x{ff}\]\)\''\"]\|)|\{%\sfilter\s)(abs|capitalize|e(?:scape)?|first|join|(?:json|url)_encode|keys|last|length|lower|nl2br|number_format|raw|reverse|round|sort|striptags|title|trim|upper)(?=[\s\|\]\}\):,]|\.\.|\*\*)'
captures:
1: support.function.twig
twig-filters-ud:
- match: '(?<=(?:[a-zA-Z0-9_\x{7f}-\x{ff}\]\)\''\"]\|)|\{%\sfilter\s)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)'
captures:
1: meta.function-call.other.twig
twig-filters-warg:
- match: '(?<=(?:[a-zA-Z0-9_\x{7f}-\x{ff}\]\)\''\"]\|)|\{%\sfilter\s)(batch|convert_encoding|date|date_modify|default|e(?:scape)?|format|join|merge|number_format|replace|round|slice|split|trim)(\()'
captures:
1: support.function.twig
2: punctuation.definition.parameters.begin.twig
push:
- meta_content_scope: meta.function.arguments.twig
- match: \)
captures:
0: punctuation.definition.parameters.end.twig
pop: true
- include: twig-constants
- include: twig-functions-warg
- include: twig-functions
- include: twig-macros
- include: twig-objects
- include: twig-properties
- include: twig-filters-warg
- include: twig-filters
- include: twig-filters-warg-ud
- include: twig-filters-ud
- include: twig-strings
- include: twig-arrays
- include: twig-hashes
twig-filters-warg-ud:
- match: '(?<=(?:[a-zA-Z0-9_\x{7f}-\x{ff}\]\)\''\"]\|)|\{%\sfilter\s)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(\()'
captures:
1: meta.function-call.other.twig
2: punctuation.definition.parameters.begin.twig
push:
- meta_content_scope: meta.function.arguments.twig
- match: \)
captures:
0: punctuation.definition.parameters.end.twig
pop: true
- include: twig-constants
- include: twig-functions-warg
- include: twig-functions
- include: twig-macros
- include: twig-objects
- include: twig-properties
- include: twig-filters-warg
- include: twig-filters
- include: twig-filters-warg-ud
- include: twig-filters-ud
- include: twig-strings
- include: twig-arrays
- include: twig-hashes
twig-functions:
- match: (?<=is\s)(defined|empty|even|iterable|odd)
captures:
1: support.function.twig
twig-functions-warg:
- match: '(?<=[\s\(\[\{:,])(attribute|block|constant|cycle|date|divisible by|dump|include|max|min|parent|random|range|same as|source|template_from_string)(\()'
captures:
1: support.function.twig
2: punctuation.definition.parameters.begin.twig
push:
- meta_content_scope: meta.function.arguments.twig
- match: \)
captures:
0: punctuation.definition.parameters.end.twig
pop: true
- include: twig-constants
- include: twig-functions-warg
- include: twig-functions
- include: twig-macros
- include: twig-objects
- include: twig-properties
- include: twig-filters-warg
- include: twig-filters
- include: twig-filters-warg-ud
- include: twig-filters-ud
- include: twig-strings
- include: twig-arrays
twig-hashes:
- match: '(?<=[\s\(\{\[:,])\{'
captures:
0: punctuation.section.hash.begin.twig
push:
- meta_scope: meta.hash.twig
- match: '\}'
captures:
0: punctuation.section.hash.end.twig
pop: true
- include: twig-hashes
- include: twig-arrays
- include: twig-constants
- include: twig-strings
- include: twig-functions-warg
- include: twig-functions
- include: twig-macros
- include: twig-objects
- include: twig-properties
- include: twig-filters-warg
- include: twig-filters
- include: twig-filters-warg-ud
- include: twig-filters-ud
- match: ":"
scope: punctuation.separator.key-value.twig
- match: ","
scope: punctuation.separator.object.twig
twig-keywords:
- match: (?<=\s)((?:end)?(?:autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim)|as|do|else|elseif|extends|flush|from|ignore missing|import|include|only|use|with)(?=\s)
scope: keyword.control.twig
twig-macros:
- match: |-
(?x)
(?<=[\s\(\[\{:,])
([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
(?:
(\.)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
)?
(\()
captures:
1: meta.function-call.twig
2: punctuation.separator.property.twig
3: variable.other.property.twig
4: punctuation.definition.parameters.begin.twig
push:
- meta_content_scope: meta.function.arguments.twig
- match: \)
captures:
0: punctuation.definition.parameters.end.twig
pop: true
- include: twig-constants
- include: twig-operators
- include: twig-functions-warg
- include: twig-functions
- include: twig-macros
- include: twig-objects
- include: twig-properties
- include: twig-filters-warg
- include: twig-filters
- include: twig-filters-warg-ud
- include: twig-filters-ud
- include: twig-strings
- include: twig-arrays
- include: twig-hashes
twig-objects:
- match: '(?<=[\s\{\[\(:,])([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?=[\s\}\[\]\(\)\.\|,:])'
captures:
1: variable.other.twig
twig-operators:
- match: (?<=\s)(\+|-|//?|%|\*\*?)(?=\s)
captures:
1: keyword.operator.arithmetic.twig
- match: (?<=\s)(=|~)(?=\s)
captures:
1: keyword.operator.assignment.twig
- match: (?<=\s)(b-(?:and|or|xor))(?=\s)
captures:
1: keyword.operator.bitwise.twig
- match: '(?<=\s)((?:!|=)=|<=?|>=?|(?:not )?in|is(?: not)?|(?:ends|starts) with|matches)(?=\s)'
captures:
1: keyword.operator.comparison.twig
- match: (?<=\s)(\?|:|and|not|or)(?=\s)
captures:
1: keyword.operator.logical.twig
- match: '(?<=[a-zA-Z0-9_\x{7f}-\x{ff}\]\)''"])\.\.(?=[a-zA-Z0-9_\x{7f}-\x{ff}''"])'
captures:
0: keyword.operator.other.twig
- match: '(?<=[a-zA-Z0-9_\x{7f}-\x{ff}\]\}\)''"])\|(?=[a-zA-Z_\x{7f}-\x{ff}])'
captures:
0: keyword.operator.other.twig
twig-print-tag:
- match: '\{\{-?'
captures:
0: punctuation.section.tag.twig
push:
- meta_scope: meta.tag.template.value.twig
- match: '-?\}\}'
captures:
0: punctuation.section.tag.twig
pop: true
- include: twig-constants
- include: twig-operators
- include: twig-functions-warg
- include: twig-functions
- include: twig-macros
- include: twig-objects
- include: twig-properties
- include: twig-filters-warg
- include: twig-filters
- include: twig-filters-warg-ud
- include: twig-filters-ud
- include: twig-strings
- include: twig-arrays
- include: twig-hashes
twig-properties:
- match: |-
(?x)
(?<=[a-zA-Z0-9_\x{7f}-\x{ff}])
(\.)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
(?=[\.\s\|\[\)\]\}:,])
captures:
1: punctuation.separator.property.twig
2: variable.other.property.twig
- match: |-
(?x)
(?<=[a-zA-Z0-9_\x{7f}-\x{ff}])
(\.)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
(\()
captures:
1: punctuation.separator.property.twig
2: variable.other.property.twig
3: punctuation.definition.parameters.begin.twig
push:
- meta_content_scope: meta.function.arguments.twig
- match: \)
captures:
0: punctuation.definition.parameters.end.twig
pop: true
- include: twig-constants
- include: twig-functions-warg
- include: twig-functions
- include: twig-macros
- include: twig-objects
- include: twig-properties
- include: twig-filters-warg
- include: twig-filters
- include: twig-filters-warg-ud
- include: twig-filters-ud
- include: twig-strings
- include: twig-arrays
- match: |-
(?x)
(?<=[a-zA-Z0-9_\x{7f}-\x{ff}\]])
(?:
(\[)('[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*')(\])
|(\[)("[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*")(\])
|(\[)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(\])
)
captures:
1: punctuation.section.array.begin.twig
2: variable.other.property.twig
3: punctuation.section.array.end.twig
4: punctuation.section.array.begin.twig
5: variable.other.property.twig
6: punctuation.section.array.end.twig
7: punctuation.section.array.begin.twig
8: variable.other.property.twig
9: punctuation.section.array.end.twig
twig-statement-tag:
- match: '\{%-?'
captures:
0: punctuation.section.tag.twig
push:
- meta_scope: meta.tag.template.block.twig
- match: '-?%\}'
captures:
0: punctuation.section.tag.twig
pop: true
- include: twig-constants
- include: twig-keywords
- include: twig-operators
- include: twig-functions-warg
- include: twig-functions
- include: twig-macros
- include: twig-filters-warg
- include: twig-filters
- include: twig-filters-warg-ud
- include: twig-filters-ud
- include: twig-objects
- include: twig-properties
- include: twig-strings
- include: twig-arrays
- include: twig-hashes
twig-strings:
- match: (?:(?<!\\)|(?<=\\\\))'
captures:
0: punctuation.definition.string.begin.twig
push:
- meta_scope: string.quoted.single.twig
- match: (?:(?<!\\)|(?<=\\\\))'
captures:
0: punctuation.definition.string.end.twig
pop: true
- match: (?:(?<!\\)|(?<=\\\\))"
captures:
0: punctuation.definition.string.begin.twig
push:
- meta_scope: string.quoted.double.twig
- match: (?:(?<!\\)|(?<=\\\\))"
captures:
0: punctuation.definition.string.end.twig
pop: true
+23
View File
@@ -0,0 +1,23 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: hosts
file_extensions:
- hosts
scope: source.hosts
contexts:
main:
- scope: comment.line.number-sign
match: \#.*
comment: comment
- match: ^\s*([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}|[0-9a-f:]+)
comment: ipaddress
scope: constant.numeric.ipaddress
- match: \s(localhost|ip6-loopback|ip6-localhost|ip6-localnet|ip6-mcastprefix|ip6-allnodes|ip6-allrouters|ip6-allhosts|broadcasthost)\b
scope: keyword.host.predefined}
comment: prefdfined
+47
View File
@@ -0,0 +1,47 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: INI
file_extensions:
- ini
- INI
- inf
- INF
- reg
- REG
- lng
- cfg
- CFG
- desktop
- url
- URL
- .editorconfig
- .hgrc
- hgrc
scope: source.ini
contexts:
main:
- match: ^\s*(;|#).*$\n?
scope: comment.line.semicolon.ini
captures:
1: punctuation.definition.comment.ini
- match: '^\s*(\[)(.*?)(\])\s*(;.*)?$\n?'
scope: meta.tag.section.ini
captures:
1: punctuation.definition.section.ini
2: entity.section.ini
3: punctuation.definition.section.ini
4: comment.definition.section.ini
- match: '^(\s*(["'']?)(.+?)(\2)\s*(=))?\s*((["'']?)(.*?)(\7))\s*(;.*)?$\n?'
scope: meta.declaration.ini
captures:
1: meta.property.ini
2: punctuation.definition.quote.ini
3: keyword.name.ini
4: punctuation.definition.quote.ini
5: punctuation.definition.equals.ini
6: meta.value.ini
7: punctuation.definition.quote.ini
8: string.name.value.ini
9: punctuation.definition.quote.ini
10: comment.declarationline.semicolon.ini
File diff suppressed because it is too large Load Diff
+398
View File
@@ -0,0 +1,398 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: Kotlin
file_extensions:
- kt
- kts
scope: source.Kotlin
contexts:
main:
- include: comments
- match: '^\s*(package)\b(?:\s*([^ ;$]+)\s*)?'
captures:
1: keyword.other.kotlin
2: entity.name.package.kotlin
- include: imports
- include: statements
classes:
- match: (?<!::)(?=\b(?:companion|class|object|interface)\b)
push:
- match: '(?=$|\})'
pop: true
- include: comments
- match: \b(companion\s*)?(class|object|interface)\b
captures:
1: storage.modifier.kotlin
2: storage.modifier.kotlin
push:
- match: '(?=<|\{|\(|:|$)'
pop: true
- include: comments
- match: \w+
scope: entity.name.type.class.kotlin
- match: <
push:
- match: ">"
pop: true
- include: generics
- match: \(
push:
- match: \)
pop: true
- include: parameters
- match: (:)
captures:
1: keyword.operator.declaration.kotlin
push:
- match: "(?={|$)"
pop: true
- match: \w+
scope: entity.other.inherited-class.kotlin
- match: \(
push:
- match: \)
pop: true
- include: expressions
- match: '\{'
push:
- match: '\}'
pop: true
- include: statements
comments:
- match: /\*
captures:
0: punctuation.definition.comment.kotlin
push:
- meta_scope: comment.block.kotlin
- match: \*/
captures:
0: punctuation.definition.comment.kotlin
pop: true
- match: \s*((//).*$\n?)
captures:
1: comment.line.double-slash.kotlin
2: punctuation.definition.comment.kotlin
constants:
- match: \b(true|false|null|this|super)\b
scope: constant.language.kotlin
- match: '\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)([LlFf])?\b'
scope: constant.numeric.kotlin
- match: '\b([A-Z][A-Z0-9_]+)\b'
scope: constant.other.kotlin
expressions:
- match: \(
push:
- match: \)
pop: true
- include: expressions
- include: types
- include: strings
- include: constants
- include: comments
- include: keywords
functions:
- match: (?=\s*\b(?:fun)\b)
push:
- match: '(?=$|\})'
pop: true
- match: \b(fun)\b
captures:
1: keyword.other.kotlin
push:
- match: (?=\()
pop: true
- match: <
push:
- match: ">"
pop: true
- include: generics
- match: '([\.<\?>\w]+\.)?(\w+)'
captures:
2: entity.name.function.kotlin
- match: \(
push:
- match: \)
pop: true
- include: parameters
- match: (:)
captures:
1: keyword.operator.declaration.kotlin
push:
- match: "(?={|=|$)"
pop: true
- include: types
- match: '\{'
push:
- match: '(?=\})'
pop: true
- include: statements
- match: (=)
captures:
1: keyword.operator.assignment.kotlin
push:
- match: (?=$)
pop: true
- include: expressions
generics:
- match: (:)
captures:
1: keyword.operator.declaration.kotlin
push:
- match: (?=,|>)
pop: true
- include: types
- include: keywords
- match: \w+
scope: storage.type.generic.kotlin
getters-and-setters:
- match: \b(get)\b\s*\(\s*\)
captures:
1: entity.name.function.kotlin
push:
- match: '\}|(?=\bset\b)|$'
pop: true
- match: (=)
captures:
1: keyword.operator.assignment.kotlin
push:
- match: (?=$|\bset\b)
pop: true
- include: expressions
- match: '\{'
push:
- match: '\}'
pop: true
- include: expressions
- match: \b(set)\b\s*(?=\()
captures:
1: entity.name.function.kotlin
push:
- match: '\}|(?=\bget\b)|$'
pop: true
- match: \(
push:
- match: \)
pop: true
- include: parameters
- match: (=)
captures:
1: keyword.operator.assignment.kotlin
push:
- match: (?=$|\bset\b)
pop: true
- include: expressions
- match: '\{'
push:
- match: '\}'
pop: true
- include: expressions
imports:
- match: '^\s*(import)\s+[^ $]+\s+(as)?'
captures:
1: keyword.other.kotlin
2: keyword.other.kotlin
keywords:
- match: \b(var|val|public|private|protected|abstract|final|sealed|enum|open|attribute|annotation|override|inline|vararg|in|out|internal|data|tailrec|operator|infix|const|yield|typealias|typeof|reified|suspend)\b
scope: storage.modifier.kotlin
- match: \b(try|catch|finally|throw)\b
scope: keyword.control.catch-exception.kotlin
- match: \b(if|else|while|for|do|return|when|where|break|continue)\b
scope: keyword.control.kotlin
- match: \b(in|is|!in|!is|as|as\?|assert)\b
scope: keyword.operator.kotlin
- match: (==|!=|===|!==|<=|>=|<|>)
scope: keyword.operator.comparison.kotlin
- match: (=)
scope: keyword.operator.assignment.kotlin
- match: (::)
scope: keyword.operator.kotlin
- match: (:)
scope: keyword.operator.declaration.kotlin
- match: \b(by)\b
scope: keyword.other.by.kotlin
- match: (\?\.)
scope: keyword.operator.safenav.kotlin
- match: (\.)
scope: keyword.operator.dot.kotlin
- match: (\?:)
scope: keyword.operator.elvis.kotlin
- match: (\-\-|\+\+)
scope: keyword.operator.increment-decrement.kotlin
- match: (\+=|\-=|\*=|\/=)
scope: keyword.operator.arithmetic.assign.kotlin
- match: (\.\.)
scope: keyword.operator.range.kotlin
- match: (\-|\+|\*|\/|%)
scope: keyword.operator.arithmetic.kotlin
- match: (!|&&|\|\|)
scope: keyword.operator.logical.kotlin
- match: (;)
scope: punctuation.terminator.kotlin
namespaces:
- match: \b(namespace)\b
scope: keyword.other.kotlin
- match: '\{'
push:
- match: '\}'
pop: true
- include: statements
parameters:
- match: (:)
captures:
1: keyword.operator.declaration.kotlin
push:
- match: (?=,|\)|=)
pop: true
- include: types
- match: (=)
captures:
1: keyword.operator.declaration.kotlin
push:
- match: (?=,|\))
pop: true
- include: expressions
- include: keywords
- match: \w+
scope: variable.parameter.function.kotlin
statements:
- include: namespaces
- include: typedefs
- include: classes
- include: functions
- include: variables
- include: getters-and-setters
- include: expressions
strings:
- match: '"""'
captures:
0: punctuation.definition.string.begin.kotlin
push:
- meta_scope: string.quoted.third.kotlin
- match: '"""'
captures:
0: punctuation.definition.string.end.kotlin
pop: true
- match: '(\$\w+|\$\{[^\}]+\})'
scope: variable.parameter.template.kotlin
- match: \\.
scope: constant.character.escape.kotlin
- match: '"'
captures:
0: punctuation.definition.string.begin.kotlin
push:
- meta_scope: string.quoted.double.kotlin
- match: '"'
captures:
0: punctuation.definition.string.end.kotlin
pop: true
- match: '(\$\w+|\$\{[^\}]+\})'
scope: variable.parameter.template.kotlin
- match: \\.
scope: constant.character.escape.kotlin
- match: "'"
captures:
0: punctuation.definition.string.begin.kotlin
push:
- meta_scope: string.quoted.single.kotlin
- match: "'"
captures:
0: punctuation.definition.string.end.kotlin
pop: true
- match: \\.
scope: constant.character.escape.kotlin
- match: "`"
captures:
0: punctuation.definition.string.begin.kotlin
push:
- meta_scope: string.quoted.single.kotlin
- match: "`"
captures:
0: punctuation.definition.string.end.kotlin
pop: true
typedefs:
- match: (?=\s*(?:type))
push:
- match: (?=$)
pop: true
- match: \b(type)\b
scope: keyword.other.kotlin
- match: <
push:
- match: ">"
pop: true
- include: generics
- include: expressions
types:
- match: \b(Nothing|Any|Unit|String|CharSequence|Int|Boolean|Char|Long|Double|Float|Short|Byte|dynamic)\b
scope: storage.type.buildin.kotlin
- match: \b(IntArray|BooleanArray|CharArray|LongArray|DoubleArray|FloatArray|ShortArray|ByteArray)\b
scope: storage.type.buildin.array.kotlin
- match: \b(Array|Collection|List|Map|Set|MutableList|MutableMap|MutableSet|Sequence)<\b
captures:
1: storage.type.buildin.collection.kotlin
push:
- match: ">"
pop: true
- include: types
- include: keywords
- match: \w+<
push:
- match: ">"
pop: true
- include: types
- include: keywords
- match: '\{'
push:
- match: '\}'
pop: true
- include: statements
- match: \(
push:
- match: \)
pop: true
- include: types
- match: (->)
scope: keyword.operator.declaration.kotlin
variables:
- match: (?=\s*\b(?:var|val)\b)
push:
- match: (?=:|=|(\b(by)\b)|$)
pop: true
- match: \b(var|val)\b
captures:
1: keyword.other.kotlin
push:
- match: (?=:|=|(\b(by)\b)|$)
pop: true
- match: <
push:
- match: ">"
pop: true
- include: generics
- match: '([\.<\?>\w]+\.)?(\w+)'
captures:
2: entity.name.variable.kotlin
- match: (:)
captures:
1: keyword.operator.declaration.kotlin
push:
- match: (?==|$)
pop: true
- include: types
- include: getters-and-setters
- match: \b(by)\b
captures:
1: keyword.other.kotlin
push:
- match: (?=$)
pop: true
- include: expressions
- match: (=)
captures:
1: keyword.operator.assignment.kotlin
push:
- match: (?=$)
pop: true
- include: expressions
- include: getters-and-setters
+163
View File
@@ -0,0 +1,163 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: Manpage
file_extensions:
- man
scope: source.man
variables:
section_heading: '^(?!#)\S.*$'
command_line_option: '(--?[A-Za-z0-9][_A-Za-z0-9-]*)'
contexts:
prototype:
# ignore syntax test lines
- match: '^#'
push:
- meta_scope: comment.syntax-test.man
- match: $\n?
pop: true
main:
- match: ^
push: first_line
first_line:
- match: '([A-Z0-9_\-]+)(\()([^)]+)(\))\s*'
captures:
1: meta.preprocessor.man
2: keyword.operator.man
3: string.quoted.other.man
4: keyword.operator.man
push:
- match: (?:[\w'-]+|\s(?!\s))
scope: markup.heading.title.man
- match: \s\s
pop: true
- match: '(?=\S|$)'
pop: true
- match: '$'
set: body
body:
# English, ..., ..., ..., Russian, ...
- match: '^(?:SYNOPSIS|SYNTAX|SINTASSI|SKŁADNIA|СИНТАКСИС|書式)'
scope: markup.heading.synopsis.man
embed: synopsis
escape: '(?={{section_heading}})'
- match: '^(?:USAGE)'
scope: markup.heading.synopsis.man
embed: synopsis
escape: '(?={{section_heading}})'
- match: '{{section_heading}}'
scope: markup.heading.other.man
embed: options # some man pages put command line options under the description heading
escape: '(?={{section_heading}})'
function-call:
- match: '\b([A-Za-z0-9_\-]+)(\()([^)]*)(\))'
captures:
1: entity.name.function.man
2: keyword.operator.man
3: constant.numeric.man
4: keyword.operator.man
options:
# command-line options like --option=value, --some-flag, or -x
- match: '^[ ]{7}(?=-)'
push: expect-command-line-option
- match: '(?:[^a-zA-Z0-9_-]|^|\s){{command_line_option}}'
captures:
1: entity.name.command-line-option
push:
- match: '='
scope: keyword.operator.man
set:
- match: '[^],.() ]+'
scope: variable.parameter.man
pop: true
- match: $
pop: true
- match: ''
pop: true
- include: function-call
- include: c-code
expect-command-line-option:
- match: '[A-Za-z0-9-]+'
scope: entity.name.command-line-option.man
- match: '(\[)(=)'
captures:
1: punctuation.section.brackets.begin.man
2: keyword.operator.man
push: [command-line-option-or-pipe, expect-parameter]
- match: '\['
push:
- meta_scope: entity.name.command-line-option.man
- match: '\]'
pop: true
- match: '='
scope: keyword.operator.man
push: expect-parameter
- match: (?=.*\.)
pop: true
- match: '\s'
push: expect-parameter
- match: '(,)\s*'
captures:
1: punctuation.separator.man
- match: $|(?=\])
pop: true
expect-parameter:
- match: '[A-Za-z0-9-]+'
scope: variable.parameter.man
- match: (?=\s+\|)
pop: true
- match: \|
scope: keyword.operator.logical.man
- match: '\['
scope: punctuation.section.brackets.begin.man
push:
- match: '\]'
scope: punctuation.section.brackets.end.man
pop: true
- include: expect-parameter
- match: '$|(?=[],]|{{command_line_option}})'
pop: true
c-code:
- match: '^(?=\s+(?:#include\b|#define\b|/\*|struct\s+(\w+\s*)?\{))'
embed: scope:source.c
#embed_scope: source.c.embedded.man
#escape: ^(?!#|\1|\s*(?:$|/\*|#include\b|#define\b))
escape: ^(?=\s*(?:\(.*\.\)\s*$|[A-Z](?![A-Z])))
synopsis:
- include: c-code
- match: \[
scope: punctuation.section.brackets.begin.man
push: command-line-option-or-pipe
- include: options
command-line-option-or-pipe:
- match: (\|)\s*
captures:
1: keyword.operator.logical.man
#- match: (?={{command_line_option}})
- match: \w+-\w+
- match: (?=-)
push:
- match: (?=\s*\|)
pop: true
- include: expect-command-line-option
- match: \]
scope: punctuation.section.brackets.end.man
pop: true
- match: \[
scope: punctuation.section.brackets.begin.man
push: command-line-option-or-pipe
+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
+52
View File
@@ -0,0 +1,52 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: Ninja
file_extensions:
- ninja
scope: source.ninja
contexts:
main:
- match: (#).*$\n?
comment: Comment line.
scope: comment.line.number-sign.ninja
captures:
1: punctuation.definition.comment.ninja
- match: ^(rule)\b
comment: Rule keyword and keywords for a rule.
captures:
1: keyword.other.ninja
push:
- match: ^(?=\S)
pop: true
- include: main
- match: \b(?:command|deps|depfile|description|generator|pool|restat|rspfile|rspfile_content)\b
scope: keyword.other.ninja
- match: ^(pool)\b
comment: Pool keyword and keywords for a pool.
captures:
1: keyword.other.ninja
push:
- match: ^(?=\S)
pop: true
- include: main
- match: \b(?:depth)\b
scope: keyword.other.ninja
- match: ^(?:build|rule|default|include|subninja)\b
comment: Other Keywords.
scope: keyword.other.ninja
- match: '(?:[=:]|\|{1,2})(?=\s)'
comment: Operators for variable assignment (=), rule definition (:), implicit (|) and order only (||) dependencies.
scope: keyword.operator.ninja
- match: \$$
comment: Line wrap.
scope: keyword.operator.ninja
- match: \$\$
comment: Dollar literal.
scope: keyword.operator.ninja
- match: '\$[[:alnum:]_-]+'
comment: Simple variables, e.g. $var.
scope: variable.other.ninja
- match: '\${[[:alnum:]_.-]+}'
comment: "Variables, e.g. ${some.var.name}."
scope: variable.other.ninja
+609
View File
@@ -0,0 +1,609 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: Nix
file_extensions:
- nix
scope: source.nix
contexts:
main:
- include: expression
comment:
- match: '/\*([^*]|\*[^\/])*'
push:
- meta_scope: comment.block.nix
- match: \*\/
pop: true
- include: comment-remark
- match: '\#'
push:
- meta_scope: comment.line.number-sign.nix
- match: $
pop: true
- include: comment-remark
attribute-bind:
- include: attribute-name
- include: attribute-bind-from-equals
attribute-bind-from-equals:
- match: \=
captures:
0: keyword.operator.bind.nix
push:
- match: \;
captures:
0: punctuation.terminator.bind.nix
pop: true
- include: expression
attribute-inherit:
- match: \binherit\b
captures:
0: keyword.other.inherit.nix
push:
- match: \;
captures:
0: punctuation.terminator.inherit.nix
pop: true
- match: \(
captures:
0: punctuation.section.function.arguments.nix
push:
- match: (?=\;)
pop: true
- match: \)
captures:
0: punctuation.section.function.arguments.nix
push:
- match: (?=\;)
pop: true
- include: bad-reserved
- include: attribute-name-single
- include: others
- include: expression
- match: '(?=[a-zA-Z\_])'
push:
- match: (?=\;)
pop: true
- include: bad-reserved
- include: attribute-name-single
- include: others
- include: others
attribute-name:
- match: '\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*'
scope: entity.other.attribute-name.multipart.nix
- match: \.
- include: string-quoted
- include: interpolation
attribute-name-single:
- match: '\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*'
scope: entity.other.attribute-name.single.nix
attrset-contents:
- include: attribute-inherit
- include: bad-reserved
- include: attribute-bind
- include: others
attrset-definition:
- match: '(?=\{)'
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- match: '(\{)'
captures:
0: punctuation.definition.attrset.nix
push:
- match: '(\})'
captures:
0: punctuation.definition.attrset.nix
pop: true
- include: attrset-contents
- match: '(?<=\})'
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: expression-cont
attrset-definition-brace-opened:
- match: '(?<=\})'
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: expression-cont
- match: (?=.?)
push:
- match: '\}'
captures:
0: punctuation.definition.attrset.nix
pop: true
- include: attrset-contents
attrset-for-sure:
- match: (?=\brec\b)
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- match: \brec\b
captures:
0: keyword.other.nix
push:
- match: '(?=\{)'
pop: true
- include: others
- include: attrset-definition
- include: others
- match: '(?=\{\s*(\}|[^,?]*(=|;)))'
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: attrset-definition
- include: others
attrset-or-function:
- match: '\{'
captures:
0: punctuation.definition.attrset-or-function.nix
push:
- match: '(?=([\])};]|\b(else|then)\b))'
pop: true
- match: '(?=(\s*\}|\"|\binherit\b|\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*(\s*\.|\s*=[^=])|\$\{[a-zA-z0-9\_\''\-]+\}(\s*\.|\s*=[^=])))'
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: attrset-definition-brace-opened
- match: '(?=(\.\.\.|\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*\s*[,?]))'
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: function-definition-brace-opened
- include: bad-reserved
- match: '\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*'
captures:
0: variable.parameter.function.maybe.nix
push:
- match: '(?=([\])};]|\b(else|then)\b))'
pop: true
- match: (?=\.)
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: attrset-definition-brace-opened
- match: \s*(\,)
captures:
1: keyword.operator.nix
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: function-definition-brace-opened
- match: (?=\=)
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: attribute-bind-from-equals
- include: attrset-definition-brace-opened
- match: (?=\?)
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: function-parameter-default
- match: \,
captures:
0: keyword.operator.nix
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: function-definition-brace-opened
- include: others
- include: others
bad-reserved:
- match: '(?<![\w''-])(if|then|else|assert|with|let|in|rec|inherit)(?![\w''-])'
scope: invalid.illegal.reserved.nix
comment-remark:
- match: (TODO|FIXME|BUG|\!\!\!):?
captures:
1: markup.bold.comment.nix
constants:
- match: \b(builtins|true|false|null)\b
captures:
0: constant.language.nix
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: expression-cont
- match: \b(scopedImport|import|isNull|abort|throw|baseNameOf|dirOf|removeAttrs|map|toString|derivationStrict|derivation)\b
captures:
0: support.function.nix
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: expression-cont
- match: '\b[0-9]+\b'
captures:
0: constant.numeric.nix
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: expression-cont
expression:
- include: parens-and-cont
- include: list-and-cont
- include: string
- include: interpolation
- include: with-assert
- include: function-for-sure
- include: attrset-for-sure
- include: attrset-or-function
- include: let
- include: if
- include: operator-unary
- include: constants
- include: bad-reserved
- include: parameter-name-and-cont
- include: others
expression-cont:
- match: (?=.?)
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: parens
- include: list
- include: string
- include: interpolation
- include: function-for-sure
- include: attrset-for-sure
- include: attrset-or-function
- match: '(\bor\b|\.|==|!=|!|\<\=|\<|\>\=|\>|&&|\|\||-\>|//|\?|\+\+|-|\*|/(?=([^*]|$))|\+)'
scope: keyword.operator.nix
- include: constants
- include: bad-reserved
- include: parameter-name
- include: others
function-body:
- match: '(@\s*([a-zA-Z\_][a-zA-Z0-9\_\''\-]*)\s*)?(\:)'
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: expression
function-body-from-colon:
- match: (\:)
captures:
0: punctuation.definition.function.nix
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: expression
function-contents:
- include: bad-reserved
- include: function-parameter
- include: others
function-definition:
- match: (?=.?)
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: function-body-from-colon
- match: (?=.?)
push:
- match: (?=\:)
pop: true
- match: '(\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*)'
captures:
0: variable.parameter.function.4.nix
push:
- match: (?=\:)
pop: true
- match: \@
push:
- match: (?=\:)
pop: true
- include: function-header-until-colon-no-arg
- include: others
- include: others
- match: '(?=\{)'
push:
- match: (?=\:)
pop: true
- include: function-header-until-colon-with-arg
- include: others
function-definition-brace-opened:
- match: (?=.?)
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: function-body-from-colon
- match: (?=.?)
push:
- match: (?=\:)
pop: true
- include: function-header-close-brace-with-arg
- match: (?=.?)
push:
- match: '(?=\})'
pop: true
- include: function-contents
- include: others
function-for-sure:
- match: '(?=(\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*\s*[:@]|\{[^}]*\}\s*:|\{[^#}"''/=]*[,\?]))'
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: function-definition
function-header-close-brace-no-arg:
- match: '\}'
captures:
0: punctuation.definition.entity.function.nix
push:
- match: (?=\:)
pop: true
- include: others
function-header-close-brace-with-arg:
- match: '\}'
captures:
0: punctuation.definition.entity.function.nix
push:
- match: (?=\:)
pop: true
- include: function-header-terminal-arg
- include: others
function-header-open-brace:
- match: '\{'
captures:
0: punctuation.definition.entity.function.2.nix
push:
- match: '(?=\})'
pop: true
- include: function-contents
function-header-terminal-arg:
- match: (?=@)
push:
- match: (?=\:)
pop: true
- match: \@
push:
- match: (?=\:)
pop: true
- match: '(\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*)'
push:
- meta_scope: variable.parameter.function.3.nix
- match: (?=\:)
pop: true
- include: others
- include: others
function-header-until-colon-no-arg:
- match: '(?=\{)'
push:
- match: (?=\:)
pop: true
- include: function-header-open-brace
- include: function-header-close-brace-no-arg
function-header-until-colon-with-arg:
- match: '(?=\{)'
push:
- match: (?=\:)
pop: true
- include: function-header-open-brace
- include: function-header-close-brace-with-arg
function-parameter:
- match: (\.\.\.)
push:
- meta_scope: keyword.operator.nix
- match: '(,|(?=\}))'
pop: true
- include: others
- match: '\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*'
captures:
0: variable.parameter.function.1.nix
push:
- match: '(,|(?=\}))'
captures:
0: keyword.operator.nix
pop: true
- include: whitespace
- include: comment
- include: function-parameter-default
- include: expression
- include: others
function-parameter-default:
- match: \?
captures:
0: keyword.operator.nix
push:
- match: "(?=[,}])"
pop: true
- include: expression
if:
- match: (?=\bif\b)
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- match: \bif\b
captures:
0: keyword.other.nix
push:
- match: \bth(?=en\b)
captures:
0: keyword.other.nix
pop: true
- include: expression
- match: (?<=th)en\b
captures:
0: keyword.other.nix
push:
- match: \bel(?=se\b)
captures:
0: keyword.other.nix
pop: true
- include: expression
- match: (?<=el)se\b
captures:
0: keyword.other.nix
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
captures:
0: keyword.other.nix
pop: true
- include: expression
illegal:
- match: .
scope: invalid.illegal
interpolation:
- match: '\$\{'
captures:
0: punctuation.section.embedded.begin.nix
push:
- meta_scope: markup.italic
- match: '\}'
captures:
0: punctuation.section.embedded.end.nix
pop: true
- include: expression
let:
- match: (?=\blet\b)
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- match: \blet\b
captures:
0: keyword.other.nix
push:
- match: '(?=([\])};,]|\b(in|else|then)\b))'
pop: true
- match: '(?=\{)'
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- match: '\{'
push:
- match: '\}'
pop: true
- include: attrset-contents
- match: '(^|(?<=\}))'
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: expression-cont
- include: others
- include: attrset-contents
- include: others
- match: \bin\b
captures:
0: keyword.other.nix
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: expression
list:
- match: '\['
captures:
0: punctuation.definition.list.nix
push:
- match: '\]'
captures:
0: punctuation.definition.list.nix
pop: true
- include: expression
list-and-cont:
- match: '(?=\[)'
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: list
- include: expression-cont
operator-unary:
- match: (!|-)
scope: keyword.operator.unary.nix
others:
- include: whitespace
- include: comment
- include: illegal
parameter-name:
- match: '\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*'
captures:
0: variable.parameter.name.nix
parameter-name-and-cont:
- match: '\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*'
captures:
0: variable.parameter.name.nix
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: expression-cont
parens:
- match: \(
captures:
0: punctuation.definition.expression.nix
push:
- match: \)
captures:
0: punctuation.definition.expression.nix
pop: true
- include: expression
parens-and-cont:
- match: (?=\()
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: parens
- include: expression-cont
string:
- match: (?=\'\')
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- match: \'\'
captures:
0: punctuation.definition.string.other.start.nix
push:
- meta_scope: string.quoted.other.nix
- match: \'\'(?!\$|\'|\\.)
captures:
0: punctuation.definition.string.other.end.nix
pop: true
- match: \'\'(\$|\'|\\.)
scope: constant.character.escape.nix
- include: interpolation
- include: expression-cont
- match: (?=\")
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: string-quoted
- include: expression-cont
- match: '(~?[a-zA-Z0-9\.\_\-\+]*(\/[a-zA-Z0-9\.\_\-\+]+)+)'
captures:
0: string.unquoted.path.nix
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: expression-cont
- match: '(\<[a-zA-Z0-9\.\_\-\+]+(\/[a-zA-Z0-9\.\_\-\+]+)*\>)'
captures:
0: string.unquoted.spath.nix
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: expression-cont
- match: '([a-zA-Z][a-zA-Z0-9\+\-\.]*\:[a-zA-Z0-9\%\/\?\:\@\&\=\+\$\,\-\_\.\!\~\*\'']+)'
captures:
0: string.unquoted.url.nix
push:
- match: '(?=([\])};,]|\b(else|then)\b))'
pop: true
- include: expression-cont
string-quoted:
- match: \"
captures:
0: punctuation.definition.string.double.start.nix
push:
- meta_scope: string.quoted.double.nix
- match: \"
captures:
0: punctuation.definition.string.double.end.nix
pop: true
- match: \\.
scope: constant.character.escape.nix
- include: interpolation
whitespace:
- match: \s+
with-assert:
- match: '(?<![\w''-])(with|assert)(?![\w''-])'
captures:
0: keyword.other.nix
push:
- match: \;
pop: true
- include: expression
+219
View File
@@ -0,0 +1,219 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: orgmode
file_extensions:
- org
scope: text.orgmode
contexts:
main:
- match: |-
(?x)
^(\*+) # leading stars
\s*([A-Z_]{2,})? # todo keywords
\s*(\[\#[A-Ca-c]\])? # priority
\s*(?=\s+[A-Za-z0-9]+) # expected heading text
comment: Outline headings
captures:
1: punctuation.definition.heading.orgmode
2: keyword.other.todo.orgmode
3: constant.other.priority.orgmode
push:
- meta_scope: markup.heading.orgmode
- meta_content_scope: entity.name.section.orgmode
- match: (?=\s*$\n?)
pop: true
- include: heading-inline
- match: "^-{5,}$"
scope: meta.separator.orgmode
- match: '^\s*([-+]|\s+\*)\s+(.*?)\s+::'
captures:
1: keyword.operator.list.orgmode
2: markup.bold.definition.orgmode
push:
- meta_scope: meta.list.definition.orgmode
- match: $
pop: true
- include: inline
- match: '^\s*?([-+]|\s+\*|\d+[).])'
captures:
1: keyword.operator.list.orgmode
push:
- meta_scope: meta.list.plain.orgmode
- match: $
pop: true
- include: list-inline
- match: (?i)^#\+(BEGIN_(QUOTE|VERSE|CENTER))$
captures:
1: keyword.control.block.orgmode
push:
- meta_scope: markup.quote.orgmode
- match: (?i)^#\+(END_\2)$
captures:
1: keyword.control.block.orgmode
pop: true
- match: "^#[^+].*$"
scope: comment.line.number-sign.orgmode
- match: ^:(PROPERTIES):$
captures:
1: keyword.control.drawer.orgmode
push:
- meta_scope: meta.drawer.properties.orgmode
- match: ^:(END):$
captures:
1: keyword.control.drawer.orgmode
pop: true
- include: properties
- match: ^:(.+):$
captures:
1: keyword.control.drawer.orgmode
push:
- meta_scope: meta.drawer.other.orgmode
- match: ^:(END):$
captures:
1: keyword.control.drawer.orgmode
pop: true
- match: (?i)#\+(BEGIN_LaTeX)$
captures:
1: keyword.control.block.orgmode
push:
- meta_scope: meta.block.latex.orgmode
- match: (?i)#\+(END_LaTeX)$
captures:
1: keyword.control.block.orgmode
pop: true
- include: scope:text.tex.latex
- match: (?i)#\+(BEGIN_HTML)$
captures:
1: keyword.control.block.orgmode
push:
- meta_scope: meta.block.html.orgmode
- match: (?i)#\+(END_HTML)$
captures:
1: keyword.control.block.orgmode
pop: true
- include: scope:text.html.basic
- match: (?i)#\+(BEGIN_SRC)\s+(python)\s*(.*)$
captures:
1: keyword.control.block.orgmode
2: constant.other.language.orgmode
3: string.other.header-args.orgmode
push:
- meta_scope: meta.block.source.python.orgmode
- match: (?i)#\+(END_SRC)$
captures:
1: keyword.control.block.orgmode
pop: true
- include: scope:source.python
- match: (?i)#\+(BEGIN_SRC)\s+(ruby)\s*(.*)$
captures:
1: keyword.control.block.orgmode
2: constant.other.language.orgmode
3: string.other.header-args.orgmode
push:
- meta_scope: meta.block.source.ruby.orgmode
- match: (?i)#\+(END_SRC)$
captures:
1: keyword.control.block.orgmode
pop: true
- include: scope:source.ruby
- match: (?i)#\+(BEGIN_SRC)\s+((?:emacs-)?lisp)\s*(.*)$
captures:
1: keyword.control.block.orgmode
2: constant.other.language.orgmode
3: string.other.header-args.orgmode
push:
- meta_scope: meta.block.source.lisp.orgmode
- match: (?i)#\+(END_SRC)$
captures:
1: keyword.control.block.orgmode
pop: true
- include: scope:source.lisp
- match: (?i)#\+(BEGIN_SRC)\s+(sh)\s*(.*)$
captures:
1: keyword.control.block.orgmode
2: constant.other.language.orgmode
3: string.other.header-args.orgmode
push:
- meta_scope: meta.block.source.shell.orgmode
- match: (?i)#\+(END_SRC)$
captures:
1: keyword.control.block.orgmode
pop: true
- include: scope:source.shell
- match: '(?i)#\+(BEGIN_(SRC|EXAMPLE))(?:\s+([\w-]+)?\s*(.*))?$'
captures:
1: keyword.control.block.orgmode
3: constant.other.language.orgmode
4: string.other.header-args.orgmode
push:
- meta_scope: meta.block.source.other.orgmode
- meta_content_scope: markup.raw.block.orgmode
- match: (?i)#\+(END_\2)$
captures:
1: keyword.control.block.orgmode
pop: true
- match: '#\+(OPTIONS):'
captures:
1: keyword.control.pragma.orgmode
push:
- meta_scope: meta.pragma.options.orgmode
- match: $
pop: true
- match: '([^\s]+):([^\s]+)'
scope: meta.option.orgmode
captures:
1: variable.parameter.option.orgmode
2: string.other.option.orgmode
- match: '#\+(CALL):\s+[A-Za-z-]+(?:\[([^\]]*)\])?\(?'
captures:
1: keyword.control.pragma.orgmode
2: string.other.header-args.orgmode
push:
- meta_scope: meta.pragma.call.orgmode
- match: '\)?([^)]*)$'
captures:
1: string.other.header-args.orgmode
pop: true
- match: (\w+)=
scope: meta.assignment.orgmode
captures:
1: variable.parameter.header-args.orgmode
- match: '^#\+([a-zA-Z_-]+): ?(.*)$'
scope: meta.pragma.orgmode
captures:
1: keyword.control.pragma.orgmode
2: string.unquoted.pragma.orgmode
- include: inline
heading-inline:
- match: ':([^:^\s]*)(?=:)'
scope: meta.keyword.orgmode
captures:
1: string.quoted.keyword.orgmode
- include: inline
inline:
- match: '(?<=^|[.,:;\s])/[^/]+/(?=$|[.,:;\s])'
scope: markup.italic.orgmode
- match: '(?<=^|[.,:;\s])\*[^*]+\*(?=$|[.,:;\s])'
scope: markup.bold.orgmode
- match: '(?<=^|[.,:;\s])_[^_]+_(?=$|[.,:;\s])'
scope: markup.underline.orgmode
- match: '(?<=^|[.,:;\s])([~=]).+?\1(?=$|[.,:;\s])'
scope: markup.raw.inline.orgmode
- match: '\[(?:\[([^\]]*)\])?\[([^\]]*)\]\]'
scope: meta.link.orgmode
captures:
1: markup.underline.link.orgmode
2: string.other.link.orgmode
- match: (?:http|ftp)s?:\/\/\S+
scope: markup.underline.url.orgmode
list-inline:
- match: '\[[ -X]\]'
scope: keyword.operator.checkbox.orgmode
- include: inline
properties:
- match: '^:([A-Za-z_]+):\s(.*)$'
scope: meta.property.orgmode
captures:
1: keyword.control.property.orgmode
2: string.unquoted.propval.orgmode
+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
+451
View File
@@ -0,0 +1,451 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: PowerShell
file_extensions:
- ps1
- psm1
- psd1
scope: source.powershell
contexts:
main:
- match: "<#"
captures:
0: punctuation.definition.comment.block.begin.powershell
push:
- meta_scope: comment.block.powershell
- match: "#>"
captures:
0: punctuation.definition.comment.block.end.powershell
pop: true
- include: commentEmbeddedDocs
- match: '[2-6]>&1|>>|>|<<|<|>|>\||[1-6]>|[1-6]>>'
scope: keyword.operator.redirection.powershell
- include: commands
- include: commentLine
- include: variable
- include: interpolatedStringContent
- include: function
- include: attribute
- include: UsingDirective
- include: type
- include: hashtable
- include: doubleQuotedString
- include: scriptblock
- include: doubleQuotedStringEscapes
- 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
- match: \@"(?=$)
push:
- meta_scope: string.quoted.double.heredoc.powershell
- match: ^"@
pop: true
- include: variableNoProperty
- include: doubleQuotedStringEscapes
- include: interpolation
- match: \@'(?=$)
push:
- meta_scope: string.quoted.single.heredoc.powershell
- match: ^'@
pop: true
- match: "''"
scope: constant.character.escape.powershell
- include: numericConstant
- match: (@)(\()
captures:
1: keyword.other.array.begin.powershell
2: punctuation.section.group.begin.powershell
push:
- meta_scope: meta.group.array-expression.powershell
- match: \)
captures:
0: punctuation.section.group.end.powershell
pop: true
- include: main
- match: (\$)(\()
comment: "TODO: move to repo; make recursive."
captures:
1: punctuation.definition.variable.powershell
2: punctuation.section.group.begin.powershell
push:
- meta_scope: meta.group.complex.subexpression.powershell
- match: \)
captures:
0: punctuation.section.group.end.powershell
pop: true
- include: main
- match: '(\b(([A-Za-z0-9\-_\.]+)\.(?i:exe|com|cmd|bat))\b)'
scope: support.function.powershell
- match: (?<!\w|-|\.)((?i:begin|break|catch|continue|data|default|define|do|dynamicparam|else|elseif|end|exit|finally|for|from|if|in|inlinescript|parallel|param|process|return|sequence|switch|throw|trap|try|until|var|while)|%|\?)(?!\w)
scope: keyword.control.powershell
- match: '(?<!\w|-|[^\)]\.)((?i:(foreach|where)(?!-object))|%|\?)(?!\w)'
scope: keyword.control.powershell
- match: (?<!\w)(--%)(?!\w)
comment: This should be moved to the repository at some point.
captures:
1: keyword.control.powershell
push:
- match: $
pop: true
- match: .+
scope: string.unquoted.powershell
- match: (?<!\w)((?i:hidden|static))(?!\w)
comment: This should only be relevant inside a class but will require a rework of how classes are matched. This is a temp fix.
scope: storage.modifier.powershell
- match: '(?<!\w|-)((?i:class)|%|\?)(?:\s)+((?:\p{L}|\d|_|-|)+)\b'
comment: capture should be entity.name.type, but it doesn't provide a good color in the default schema.
captures:
1: storage.type.powershell
2: entity.name.function
- match: (?<!\w)-(?i:is(?:not)?|as)\b
scope: keyword.operator.comparison.powershell
- match: '(?<!\w)-(?i:[ic]?(?:eq|ne|[gl][te]|(?:not)?(?:like|match|contains|in)|replace))(?!\p{L})'
scope: keyword.operator.comparison.powershell
- match: '(?<!\w)-(?i:join|split)(?!\p{L})|!'
scope: keyword.operator.unary.powershell
- match: '(?<!\w)-(?i:and|or|not|xor)(?!\p{L})|!'
scope: keyword.operator.logical.powershell
- match: '(?<!\w)-(?i:band|bor|bnot|bxor|shl|shr)(?!\p{L})'
scope: keyword.operator.bitwise.powershell
- match: '(?<!\w)-(?i:f)(?!\p{L})'
scope: keyword.operator.string-format.powershell
- match: "[+%*/-]?=|[+/*%-]"
scope: keyword.operator.assignment.powershell
- match: '\|{2}|&{2}|;'
scope: punctuation.terminator.statement.powershell
- match: '&|(?<!\w)\.(?= )|`|,|\|'
scope: keyword.operator.other.powershell
- match: (?<!\s|^)\.\.(?=\-?\d|\(|\$)
comment: This is very imprecise, is there a syntax for 'must come after...'
scope: keyword.operator.range.powershell
RequiresDirective:
- match: (?<=#)(?i:(requires))\s
captures:
0: keyword.control.requires.powershell
push:
- meta_scope: meta.requires.powershell
- match: $
pop: true
- match: \-(?i:Modules|PSSnapin|RunAsAdministrator|ShellId|Version)
scope: keyword.other.powershell
- match: '(?<!-)\b\p{L}+|\d+(?:\.\d+)*'
scope: variable.parameter.powershell
- include: hashtable
UsingDirective:
- match: (?<!\w)(?i:(using))\s+(?i:(namespace|module))\s+(?i:((?:\w+(?:\.)?)+))
captures:
1: keyword.control.using.powershell
2: keyword.other.powershell
3: variable.parameter.powershell
attribute:
- match: '(\[)\s*\b(?i)(cmdletbinding|alias|outputtype|parameter|validatenotnull|validatenotnullorempty|validatecount|validateset|allownull|allowemptycollection|allowemptystring|validatescript|validaterange|validatepattern|validatelength|supportswildcards)\b'
captures:
1: punctuation.section.bracket.begin.powershell
2: support.function.attribute.powershell
push:
- meta_scope: meta.attribute.powershell
- match: '(\])'
captures:
1: punctuation.section.bracket.end.powershell
pop: true
- match: \(
captures:
0: punctuation.section.group.begin.powershell
push:
- match: \)
captures:
0: punctuation.section.group.end.powershell
pop: true
- include: main
- match: (?i)\b(mandatory|valuefrompipeline|valuefrompipelinebypropertyname|valuefromremainingarguments|position|parametersetname|defaultparametersetname|supportsshouldprocess|supportspaging|positionalbinding|helpuri|confirmimpact|helpmessage)\b(?:\s+)?(=)?
captures:
1: variable.parameter.attribute.powershell
2: keyword.operator.assignment.powershell
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'
comment: "Verb-Noun pattern:"
scope: support.function.powershell
- match: (?<!\w)(?i:foreach-object)(?!\w)
comment: Builtin cmdlets with reserved verbs
scope: support.function.powershell
- match: (?<!\w)(?i:where-object)(?!\w)
comment: Builtin cmdlets with reserved verbs
scope: support.function.powershell
- match: (?<!\w)(?i:sort-object)(?!\w)
comment: Builtin cmdlets with reserved verbs
scope: support.function.powershell
- match: (?<!\w)(?i:tee-object)(?!\w)
comment: Builtin cmdlets with reserved verbs
scope: support.function.powershell
commentEmbeddedDocs:
- match: ^(?i:(?:\s?|#)+(\.)(COMPONENT|DESCRIPTION|EXAMPLE|EXTERNALHELP|FORWARDHELPCATEGORY|FORWARDHELPTARGETNAME|FUNCTIONALITY|INPUTS|LINK|NOTES|OUTPUTS|REMOTEHELPRUNSPACE|ROLE|SYNOPSIS))
scope: comment.documentation.embedded.powershell
captures:
1: constant.string.documentation.powershell
2: keyword.operator.documentation.powershell
- match: '(?i:\s?(\.)(PARAMETER|FORWARDHELPTARGETNAME|FORWARDHELPCATEGORY|REMOTEHELPRUNSPACE|EXTERNALHELP)\s+([a-z0-9-_]+))'
scope: comment.documentation.embedded.powershell
captures:
1: constant.string.documentation.powershell
2: keyword.operator.documentation.powershell
3: keyword.operator.documentation.powershell
commentLine:
- match: '(?<![`\\-])#'
captures:
0: punctuation.definition.comment.powershell
push:
- meta_scope: comment.line.powershell
- match: $\n?
captures:
0: punctuation.definition.comment.powershell
pop: true
- include: commentEmbeddedDocs
- include: RequiresDirective
doubleQuotedString:
- match: (?<!(?<!`)")"
captures:
0: punctuation.definition.string.begin.powershell
push:
- meta_scope: string.quoted.double.powershell
- match: '"(?!")'
captures:
0: punctuation.definition.string.end.powershell
pop: true
- match: '(?i)\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,64}\b'
- include: variableNoProperty
- include: doubleQuotedStringEscapes
- include: interpolation
- match: '`\s*$'
scope: keyword.other.powershell
doubleQuotedStringEscapes:
- match: '`[`0abefnrtv"''$]'
scope: constant.character.escape.powershell
- include: unicodeEscape
- match: '""'
scope: constant.character.escape.powershell
function:
- match: '^(?:\s*+)(?i)(function|filter|configuration|workflow)\s+(?:(global|local|script|private):)?((?:\p{L}|\d|_|-|\.)+)'
captures:
0: meta.function.powershell
1: storage.type.powershell
2: storage.modifier.scope.powershell
3: entity.name.function.powershell
push:
- match: '(?=\{|\()'
pop: true
- include: commentLine
hashtable:
- match: '(@)(\{)'
captures:
1: keyword.other.hashtable.begin.powershell
2: punctuation.section.braces.begin.powershell
push:
- meta_scope: meta.hashtable.powershell
- match: '(\})'
captures:
1: punctuation.section.braces.end.powershell
pop: true
- match: \b((?:\'|\")?)(\w+)((?:\'|\")?)(?:\s+)?(=)(?:\s+)?
scope: meta.hashtable.assignment.powershell
captures:
1: punctuation.definition.string.begin.powershell
2: variable.other.readwrite.powershell
3: punctuation.definition.string.end.powershell
4: keyword.operator.assignment.powershell
- include: scriptblock
- include: main
interpolatedStringContent:
- match: \(
captures:
0: punctuation.section.group.begin.powershell
push:
- meta_content_scope: interpolated.simple.source.powershell
- match: \)
captures:
0: punctuation.section.group.end.powershell
pop: true
- include: main
- include: interpolation
- include: interpolatedStringContent
interpolation:
- match: (\$)(\()
captures:
1: punctuation.definition.variable.powershell
2: punctuation.section.group.begin.powershell
push:
- meta_content_scope: interpolated.complex.source.powershell
- match: \)
captures:
0: punctuation.section.group.end.powershell
pop: true
- include: main
- include: interpolation
- include: interpolatedStringContent
numericConstant:
- match: '(?<!\w)([-+]?0(?:x|X)[0-9a-fA-F_]+(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\b'
captures:
1: constant.numeric.hex.powershell
2: keyword.other.powershell
- match: '(?<!\w)([-+]?(?:[0-9_]+)?\.[0-9_]+(?:(?:e|E)[0-9]+)?(?:F|f|D|d|M|m)?)((?i:[kmgtp]b)?)\b'
captures:
1: constant.numeric.integer.powershell
2: keyword.other.powershell
- match: '(?<!\w)([-+]?0(?:b|B)[01_]+(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\b'
captures:
1: constant.numeric.octal.powershell
2: keyword.other.powershell
- match: '(?<!\w)([-+]?[0-9_]+(?:e|E)(?:[0-9_])?+(?:F|f|D|d|M|m)?)((?i:[kmgtp]b)?)\b'
captures:
1: constant.numeric.integer.powershell
2: keyword.other.powershell
- match: '(?<!\w)([-+]?[0-9_]+\.(?:e|E)(?:[0-9_])?+(?:F|f|D|d|M|m)?)((?i:[kmgtp]b)?)\b'
captures:
1: constant.numeric.integer.powershell
2: keyword.other.powershell
- match: '(?<!\w)([-+]?[0-9_]+[\.]?(?:F|f|D|d|M|m))((?i:[kmgtp]b)?)\b'
captures:
1: constant.numeric.integer.powershell
2: keyword.other.powershell
- match: '(?<!\w)([-+]?[0-9_]+[\.]?(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\b'
captures:
1: constant.numeric.integer.powershell
2: keyword.other.powershell
scriptblock:
- match: '\{'
captures:
0: punctuation.section.braces.begin.powershell
push:
- meta_scope: meta.scriptblock.powershell
- match: '\}'
captures:
0: punctuation.section.braces.end.powershell
pop: true
- include: main
type:
- match: '\['
captures:
0: punctuation.section.bracket.begin.powershell
push:
- match: '\]'
captures:
0: punctuation.section.bracket.end.powershell
pop: true
- match: '(?!\d+|\.)(?:\p{L}|\p{N}|\.)+'
scope: storage.type.powershell
- 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:
- match: (\$)(?i:(False|Null|True))\b
comment: These are special constants.
captures:
0: constant.language.powershell
1: punctuation.definition.variable.powershell
- match: '(\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))((?:\.(?:\p{L}|\d|_)+)*\b)?\b'
comment: These are the other built-in constants.
captures:
0: support.constant.variable.powershell
1: punctuation.definition.variable.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)((?:\.(?:\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.
captures:
0: support.variable.automatic.powershell
1: punctuation.definition.variable.powershell
3: variable.other.member.powershell
- 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.
captures:
0: variable.language.powershell
1: punctuation.definition.variable.powershell
3: variable.other.member.powershell
- match: '(?i:(\$|@)(global|local|private|script|using|workflow):((?:\p{L}|\d|_)+))((?:\.(?:\p{L}|\d|_)+)*\b)?'
captures:
0: variable.other.readwrite.powershell
1: punctuation.definition.variable.powershell
2: storage.modifier.scope.powershell
4: variable.other.member.powershell
- match: '(?i:(\$)(\{)(global|local|private|script|using|workflow):([^}]*[^}`])(\}))((?:\.(?:\p{L}|\d|_)+)*\b)?'
captures:
0: variable.other.readwrite.powershell
1: punctuation.definition.variable.powershell
2: punctuation.section.braces.begin.powershell
3: storage.modifier.scope.powershell
5: punctuation.section.braces.end.powershell
6: variable.other.member.powershell
- match: '(?i:(\$|@)((?:\p{L}|\d|_)+:)?((?:\p{L}|\d|_)+))((?:\.(?:\p{L}|\d|_)+)*\b)?'
captures:
0: variable.other.readwrite.powershell
1: punctuation.definition.variable.powershell
2: support.variable.drive.powershell
4: variable.other.member.powershell
- match: '(?i:(\$)(\{)((?:\p{L}|\d|_)+:)?([^}]*[^}`])(\}))((?:\.(?:\p{L}|\d|_)+)*\b)?'
captures:
0: variable.other.readwrite.powershell
1: punctuation.definition.variable.powershell
2: punctuation.section.braces.begin.powershell
3: support.variable.drive.powershell
5: punctuation.section.braces.end.powershell
6: variable.other.member.powershell
variableNoProperty:
- match: (\$)(?i:(False|Null|True))\b
comment: These are special constants.
captures:
0: constant.language.powershell
1: punctuation.definition.variable.powershell
- match: (\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))\b
comment: These are the other built-in constants.
captures:
0: support.constant.variable.powershell
1: punctuation.definition.variable.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)'
comment: Automatic variables are not constants, but they are read-only...
captures:
0: support.variable.automatic.powershell
1: punctuation.definition.variable.powershell
3: variable.other.member.powershell
- 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.
captures:
0: variable.language.powershell
1: punctuation.definition.variable.powershell
3: variable.other.member.powershell
- match: '(?i:(\$)(global|local|private|script|using|workflow):((?:\p{L}|\d|_)+))'
captures:
0: variable.other.readwrite.powershell
1: punctuation.definition.variable.powershell
2: storage.modifier.scope.powershell
4: variable.other.member.powershell
- match: '(?i:(\$)(\{)(global|local|private|script|using|workflow):([^}]*[^}`])(\}))'
captures:
0: variable.other.readwrite.powershell
1: punctuation.definition.variable.powershell
2: storage.modifier.scope.powershell
4: keyword.other.powershell
5: variable.other.member.powershell
- match: '(?i:(\$)((?:\p{L}|\d|_)+:)?((?:\p{L}|\d|_)+))'
captures:
0: variable.other.readwrite.powershell
1: punctuation.definition.variable.powershell
2: support.variable.drive.powershell
4: variable.other.member.powershell
- match: '(?i:(\$)(\{)((?:\p{L}|\d|_)+:)?([^}]*[^}`])(\}))'
captures:
0: variable.other.readwrite.powershell
1: punctuation.definition.variable.powershell
2: punctuation.section.braces.begin
3: support.variable.drive.powershell
5: punctuation.section.braces.end
+103
View File
@@ -0,0 +1,103 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: QML
file_extensions:
- qml
- qmlproject
scope: source.qml
contexts:
main:
- match: /\*(?!/)
comment: Block comment.
push:
- meta_scope: comment.block.documentation.qml
- match: \*/
pop: true
- match: //.*$
comment: Line comment.
scope: comment.line.double-slash.qml
- match: \b(import)\s+
comment: import statement.
captures:
1: keyword.other.import.qml
push:
- meta_scope: meta.import.qml
- match: $
pop: true
- match: '([\w\d\.]+)\s+(\d+\.\d+)(?:\s+(as)\s+([A-Z][\w\d]*))?'
comment: "import Namespace VersionMajor.VersionMinor [as SingletonTypeIdentifier]"
scope: meta.import.namespace.qml
captures:
1: entity.name.class.qml
2: constant.numeric.qml
3: keyword.other.import.qml
4: entity.name.class.qml
- match: '(\"[^\"]+\")(?:\s+(as)\s+([A-Z][\w\d]*))?'
comment: "import <string> [as Script]"
scope: meta.import.dirjs.qml
captures:
1: string.quoted.double.qml
2: keyword.other.import.qml
3: entity.name.class.qml
- match: '\b[A-Z]\w*\b'
comment: Capitalized word (class or enum).
scope: support.class.qml
- match: '(((^|\{)\s*)|\b)on[A-Z]\w*\b'
comment: onSomething - handler.
scope: support.class.qml
- match: '(?:^|\{)\s*(id)\s*\:\s*([^;\s]+)\b'
comment: "id: <something>"
scope: meta.id.qml
captures:
1: keyword.other.qml
2: storage.modifier.qml
- match: '^\s*(?:(default|readonly)\s+)?(property)\s+(?:(alias)|([\w\<\>]+))\s+(\w+)'
comment: property definition.
scope: meta.propertydef.qml
captures:
1: keyword.other.qml
2: keyword.other.qml
3: keyword.other.qml
4: storage.type.qml
5: entity.other.attribute-name.qml
- match: \b(signal)\s+(\w+)\s*
comment: "signal <signalName>[([<type> <parameter>[, ...]])]"
captures:
1: keyword.other.qml
2: support.function.qml
push:
- meta_scope: meta.signal.qml
- match: ;|(?=/)|$
pop: true
- match: (\w+)\s+(\w+)
scope: meta.signal.parameters.qml
captures:
1: storage.type.qml
2: variable.parameter.qml
- match: (?:\b|\s+)(?:(true|false|null|undefined)|(var|void)|(on|as|enum|connect|break|case|catch|continue|debugger|default|delete|do|else|finally|for|if|in|instanceof|new|return|switch|this|throw|try|typeof|while|with))\b
comment: js keywords.
scope: meta.keyword.qml
captures:
1: constant.language.qml
2: storage.type.qml
3: keyword.control.qml
- match: '\b(function)\s+([\w_]+)\s*(?=\()'
comment: function definition.
scope: meta.function.qml
captures:
1: storage.type.qml
2: entity.name.function.untitled
- match: '\b[\w_]+\s*(?=\()'
comment: function call.
scope: support.function.qml
- match: '(?:^|\{|;)\s*[a-z][\w\.]*\s*(?=\:)'
comment: "property (property: <something>)."
scope: entity.other.attribute-name.qml
- match: (?<=\.)\b\w*
comment: property of the variable (name.property).
scope: entity.other.attribute-name.qml
- match: '\b([a-z_]\w*)\b'
comment: All non colored words are assumed to be variables.
scope: variable.parameter
- include: scope:source.js
+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
+57
View File
@@ -0,0 +1,57 @@
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: Robot Framework
file_extensions:
- robot
scope: source.robot
contexts:
main:
- match: '\$\{(\d+|\d+\.\d*|0[bB][01]+|0[oO][0-7]+|0[xX][0-9a-fA-F]+)\}'
comment: "Robot Framework numbers, like ${1} or ${12.3}"
scope: constant.numeric.robot
- match: '(?i)(%\{[\w|\s]+\})'
comment: "Robot Framework environment variable, like %{USER}"
scope: variable.parameter.robot
- match: '((?<!\\)|(?<=\\\\))[$&]{'
comment: Robot Framework scalar and dictionary variables
push:
- meta_scope: entity.name.class
- match: '\}'
pop: true
- match: '((?<!\\)(@{)|(?<=\\\\)(@{))'
comment: Robot Framework list variables
push:
- meta_scope: entity.name.class
- match: '(}\[.+])|(})'
pop: true
- match: '(?i)^(\|\s*)?(\*{1,3} ?)(settings?|variables?|keywords?|test cases?)( ?\*{1,3})?(\s*\|)?'
comment: Robot Framework data tables
scope: string.robot.header
- match: '(?i)(^\|\s*)?\[?Documentation\]?\s+'
comment: Test case, keyword and settings table documentation
push:
- meta_scope: comment
- match: ^(?!\s*+\.\.\.)
pop: true
- match: '(^| {2,}|\t|\\| {1,})(?<!\\\\)#'
comment: Comment character
push:
- meta_scope: comment
- match: $
pop: true
- match: '(?i)\s+\[(Tags|Setup|Teardown|Template|Timeout|Arguments|Return)\]'
comment: Tests case and keyword settings
scope: storage.type
- match: (?i)^(\|\s*)?(Library|Resource|Test Timeout|Test Template|Test Teardown|Test Setup|Default Tags|Force Tags|Metadata|Variables|Suite Setup|Suite Teardown)(?:( )|( \| ))
comment: Settings table settings, like Library
scope: constant.language
- match: '^(\|\s+)?(?!^\.{3})(?![\|$&])\S+'
comment: Keywords and test cases
push:
- meta_scope: keyword.control.robot
- match: '($|\||\s{2,})'
pop: true
- match: (?i)^\s+(Given|When|and|but|Then)
comment: BDD keywords
scope: string.robot.bdd

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