mirror of
https://github.com/sharkdp/bat
synced 2026-08-04 19:01:44 +00:00
Compare commits
312 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5edd8260e8 | |||
| 02f2b55d5f | |||
| 6386a4b812 | |||
| c13935f3c0 | |||
| eb2f3ddb7c | |||
| dfd3ef022e | |||
| 978def2d40 | |||
| 57aed07814 | |||
| bd8a13dbc9 | |||
| ba29e07636 | |||
| 32346612b7 | |||
| 0550a286bd | |||
| dfe5eb3e98 | |||
| 2c2861db6a | |||
| bb0a3d586e | |||
| 90397a8aac | |||
| 84ba323b1c | |||
| a8851e1307 | |||
| d4a39f99d2 | |||
| 8c500a7e40 | |||
| acf51bd7b3 | |||
| 83dc13a86d | |||
| 094c526a0e | |||
| 62f2d0c100 | |||
| fc1ca0875a | |||
| a7338e2ea2 | |||
| 9b8ddb24d1 | |||
| 7e0115641d | |||
| fedd32173e | |||
| 4855a47105 | |||
| 06b7be7ee9 | |||
| b1b8addf7e | |||
| 4be5adc6f5 | |||
| a9a31dca7f | |||
| 9a9902bf9b | |||
| 4e40d4c720 | |||
| 916c1e4359 | |||
| 439be03634 | |||
| b611d2aef4 | |||
| a2075b0f24 | |||
| 3c1dd8558d | |||
| 17382d36b7 | |||
| 2e07aabb74 | |||
| f525fb974e | |||
| edf62953c4 | |||
| 260c5dcb75 | |||
| 1bc62cd7b5 | |||
| b1183f72a5 | |||
| a5e98146fb | |||
| 6d32d3dbec | |||
| c6bbca62ef | |||
| dd9755f223 | |||
| 61e39158de | |||
| 65023a987e | |||
| 91843f6f65 | |||
| 696547b646 | |||
| 4d2682325b | |||
| 65811d9034 | |||
| f2b7c060a3 | |||
| 08dd251b9c | |||
| d081473261 | |||
| 3901480c59 | |||
| 1cad3f56ec | |||
| 147503bd56 | |||
| d1b0e955ea | |||
| 4021cf8128 | |||
| 7155f76963 | |||
| b63f31e15d | |||
| 9c3d8c4028 | |||
| d33b7071e3 | |||
| ca066bf7cd | |||
| 4ac3161c19 | |||
| d479e07bcb | |||
| 369ba7bb0a | |||
| 9df85edc4c | |||
| d007caf39c | |||
| 7d453dfdc5 | |||
| 60f48a0c91 | |||
| 25640a8a81 | |||
| 944866affd | |||
| 22ded00824 | |||
| 85e84ab3eb | |||
| 993b76654d | |||
| 2b2743b120 | |||
| f01263bcff | |||
| 8648b86a73 | |||
| 39d9343a7d | |||
| 5faf7ca158 | |||
| ebe475247c | |||
| 63f6343cf1 | |||
| ad42b275a9 | |||
| 2dac1c8785 | |||
| 1225e65299 | |||
| d1bb47d741 | |||
| f079c14068 | |||
| 388f4c71fd | |||
| b675e1bb61 | |||
| f96220f33d | |||
| 6739230039 | |||
| 710018b845 | |||
| 7779d9f622 | |||
| e98f34b1e8 | |||
| 9ace915d71 | |||
| e5c415555d | |||
| 5ef1c6cce2 | |||
| 93881d9a64 | |||
| 87776ae07e | |||
| 6c71a4324b | |||
| 90ee939671 | |||
| cae06bf649 | |||
| 89220da47b | |||
| 903af3ee09 | |||
| 0418e6294b | |||
| eabd100dad | |||
| f66a5bfa42 | |||
| 8d0b8a227b | |||
| e400ebd1bd | |||
| 6684c0b07a | |||
| 6568d03924 | |||
| 67fe804256 | |||
| 126729f87a | |||
| 0aca27511a | |||
| 77ff853739 | |||
| 20ba984c6d | |||
| 6311ca22f9 | |||
| 41d547532f | |||
| e9156f8090 | |||
| 1eaa681c7e | |||
| d96ae099ef | |||
| 40e5befdc7 | |||
| f94ff93953 | |||
| 3523f60299 | |||
| 83dc8468b0 | |||
| 826624c9fa | |||
| 0fed098c53 | |||
| cc7eafb7fb | |||
| f35c41ba13 | |||
| 1f4246eb3c | |||
| 9300392c43 | |||
| 8d3ce5f88a | |||
| a1d18d8c8c | |||
| d43431d8f1 | |||
| 8baa76aa8f | |||
| 01846fad30 | |||
| 18255f9835 | |||
| 7b94f2c1d7 | |||
| 7ca73c2e79 | |||
| 75cb1ce196 | |||
| 35026a033a | |||
| 48031f282c | |||
| 7b2e98d5b7 | |||
| fb71b67a8d | |||
| d48f51e39d | |||
| 9b1930b2b3 | |||
| 96d8013581 | |||
| 46b345f2c2 | |||
| 4e5b40e274 | |||
| d0e7ca159a | |||
| e981e97407 | |||
| a8ec3b826c | |||
| f4a59d74f1 | |||
| b9b6d9e31e | |||
| d65ae517dd | |||
| bb675e57c7 | |||
| 9fe38e200e | |||
| a2fcb09d7a | |||
| 8c7916e128 | |||
| 3d23daa7b4 | |||
| 572cbb00e2 | |||
| dedaebdf15 | |||
| 3d90c6adee | |||
| 06a521ec34 | |||
| 37f7c94ba4 | |||
| 396e1ac6b6 | |||
| 49e2073910 | |||
| 7d18649284 | |||
| 850677f121 | |||
| c132e19e74 | |||
| 3334f74b72 | |||
| b9ce3c248c | |||
| 310654d49f | |||
| 3f37d292ec | |||
| 0a42d2b897 | |||
| 3b5fcf4619 | |||
| ab2a6ad1d5 | |||
| 7db30f9123 | |||
| 59f2b30768 | |||
| 9fb14d78e1 | |||
| 921a65f0a1 | |||
| b9c07e52e8 | |||
| edbb4b2fc9 | |||
| 15b1676b72 | |||
| 753a124ef2 | |||
| 58a4d009fa | |||
| 4664fb6f91 | |||
| e287594654 | |||
| 1e19404736 | |||
| 2253d07341 | |||
| 7208a63a49 | |||
| 0273848f54 | |||
| e542621125 | |||
| 26439b41d2 | |||
| a2ee753b25 | |||
| d3243903c0 | |||
| cf68b13322 | |||
| 837d0998da | |||
| 23d80f9e84 | |||
| e981bd88c1 | |||
| 710a1df4ff | |||
| cfd33168af | |||
| eefdb186b8 | |||
| fc0ad4db2e | |||
| f03b45f3e5 | |||
| 9a74bf1a88 | |||
| ff0b331dd6 | |||
| 00bfbbf884 | |||
| e44045a71a | |||
| 962abcef80 | |||
| 95f2e5bbb7 | |||
| f46123e149 | |||
| f0f77b1673 | |||
| 39112e80c3 | |||
| a84c598e2c | |||
| 6b2f78ec51 | |||
| 938005864f | |||
| 3a5f8ece49 | |||
| 047a6f3b85 | |||
| f09b75dafa | |||
| 54ec2e7bd0 | |||
| e57b2e9528 | |||
| ea2179b352 | |||
| c8478cedc5 | |||
| 1692e5fef7 | |||
| 7ba5bc78b7 | |||
| 25c2e1725e | |||
| 853e48e3f3 | |||
| f5d359927a | |||
| 4df5973fde | |||
| 45f3c73331 | |||
| 4102175d98 | |||
| 30ee2a464f | |||
| 7a5d1f27e7 | |||
| ac5ff9d454 | |||
| c9c3341a38 | |||
| a736889ef1 | |||
| ea5e096705 | |||
| 12330fd154 | |||
| 337ee568b1 | |||
| 608cefb05c | |||
| 8d0aa39181 | |||
| 5815364206 | |||
| 79f016e15c | |||
| 26f9125ebb | |||
| 9814eab13f | |||
| 82ca8804a2 | |||
| b48b9fcf3b | |||
| c64ab29739 | |||
| 83dd3fb551 | |||
| ed345f2889 | |||
| d2492980c0 | |||
| 47d5130764 | |||
| 4ba45e2ba2 | |||
| 7076ae5cd9 | |||
| 2e71146801 | |||
| f3824bad17 | |||
| ec908d5937 | |||
| 3a75d85b80 | |||
| 63d652dab5 | |||
| 7f2e61d579 | |||
| e289a2c698 | |||
| 83a213bae7 | |||
| 3967e28ded | |||
| 2dc2a3712a | |||
| 10e0f9efb0 | |||
| f8ea075e78 | |||
| c187dce2c2 | |||
| 108c907d69 | |||
| 187a3b9341 | |||
| 9c2d4f6a51 | |||
| c1126157d4 | |||
| dcfa810112 | |||
| f963104006 | |||
| 45e1c0ea6f | |||
| 590a1e9a4b | |||
| 8e2c6abb13 | |||
| 28266ee441 | |||
| 21821f1d4c | |||
| 772ce2e4fe | |||
| 35ca1c5191 | |||
| 0cc60a1519 | |||
| ee6659dacf | |||
| 76c615a304 | |||
| e8c04672f0 | |||
| 7f5a5612e4 | |||
| eee5d424bb | |||
| e5311e4b30 | |||
| a1b9334a44 | |||
| d86b7cf7e0 | |||
| 67834da681 | |||
| dcdf8dfaa7 | |||
| 9a44fa11c0 | |||
| 4ee0b2e16d | |||
| 518997135e | |||
| 69fc1caead | |||
| 175dd4c290 | |||
| e9210c0f6c | |||
| 3795acbd17 | |||
| c7d08cfcfd | |||
| 8ec96da9f0 | |||
| c9d7e3652b | |||
| dfa024f9e6 | |||
| b2757cb461 |
@@ -0,0 +1,39 @@
|
|||||||
|
---
|
||||||
|
name: Bug Report
|
||||||
|
about: Report a bug.
|
||||||
|
title: ""
|
||||||
|
labels: bug
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Hey there, thanks for creating an issue!
|
||||||
|
|
||||||
|
In order to reproduce your issue, we might need to know a little bit more about the environment
|
||||||
|
which you're running `bat` on.
|
||||||
|
|
||||||
|
If you're on Linux or MacOS:
|
||||||
|
Please run the script at https://github.com/sharkdp/bat/blob/master/diagnostics/info.sh and
|
||||||
|
paste the output at the bottom of the bug report.
|
||||||
|
|
||||||
|
If you're on Windows:
|
||||||
|
Please tell us about your Windows Version (e.g. "Windows 10 1908") at the
|
||||||
|
bottom of the bug report.
|
||||||
|
-->
|
||||||
|
|
||||||
|
**What version of `bat` are you using?**
|
||||||
|
[paste the output of `bat --version` here]
|
||||||
|
|
||||||
|
**Describe the bug you encountered:**
|
||||||
|
...
|
||||||
|
|
||||||
|
**Describe what you expected to happen?**
|
||||||
|
...
|
||||||
|
|
||||||
|
**How did you install `bat`?**
|
||||||
|
apt-get, homebrew, GitHub release, etc.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
[paste the output of `info.sh` here]
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
blank_issues_enabled: true
|
||||||
|
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
name: Feature Request
|
||||||
|
about: Suggest an idea for this project.
|
||||||
|
title: ''
|
||||||
|
labels: feature-request
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
name: Question
|
||||||
|
about: Ask a question about 'bat'.
|
||||||
|
title: ''
|
||||||
|
labels: question
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
@@ -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]
|
||||||
+4
-1
@@ -1,3 +1,6 @@
|
|||||||
|
|
||||||
/target/
|
/target/
|
||||||
**/*.rs.bk
|
**/*.rs.bk
|
||||||
|
|
||||||
|
# Generated files
|
||||||
|
/assets/completions/bat.fish
|
||||||
|
/assets/manual/bat.1
|
||||||
|
|||||||
+86
-36
@@ -1,32 +1,32 @@
|
|||||||
[submodule "assets/syntaxes/Elixir"]
|
[submodule "assets/syntaxes/Elixir"]
|
||||||
path = assets/syntaxes/Elixir
|
path = assets/syntaxes/02_Extra/Elixir
|
||||||
url = https://github.com/princemaple/elixir-sublime-syntax/
|
url = https://github.com/princemaple/elixir-sublime-syntax/
|
||||||
[submodule "assets/syntaxes/Packages"]
|
[submodule "assets/syntaxes/Packages"]
|
||||||
path = assets/syntaxes/Packages
|
path = assets/syntaxes/01_Packages
|
||||||
url = https://github.com/sublimehq/Packages/
|
url = https://github.com/sublimehq/Packages/
|
||||||
[submodule "assets/syntaxes/TOML"]
|
[submodule "assets/syntaxes/TOML"]
|
||||||
path = assets/syntaxes/TOML
|
path = assets/syntaxes/02_Extra/TOML
|
||||||
url = https://github.com/jasonwilliams/sublime_toml_highlighting
|
url = https://github.com/jasonwilliams/sublime_toml_highlighting
|
||||||
[submodule "assets/syntaxes/Julia"]
|
[submodule "assets/syntaxes/Julia"]
|
||||||
path = assets/syntaxes/Julia
|
path = assets/syntaxes/02_Extra/Julia
|
||||||
url = https://github.com/JuliaEditorSupport/Julia-sublime
|
url = https://github.com/JuliaEditorSupport/Julia-sublime
|
||||||
[submodule "assets/themes/sublime-monokai-extended"]
|
[submodule "assets/themes/sublime-monokai-extended"]
|
||||||
path = assets/themes/sublime-monokai-extended
|
path = assets/themes/sublime-monokai-extended
|
||||||
url = https://github.com/jonschlinkert/sublime-monokai-extended
|
url = https://github.com/jonschlinkert/sublime-monokai-extended
|
||||||
[submodule "assets/syntaxes/Docker"]
|
[submodule "assets/syntaxes/Docker"]
|
||||||
path = assets/syntaxes/Docker
|
path = assets/syntaxes/02_Extra/Docker
|
||||||
url = https://github.com/asbjornenge/Docker.tmbundle
|
url = https://github.com/asbjornenge/Docker.tmbundle
|
||||||
[submodule "assets/syntaxes/VimL"]
|
[submodule "assets/syntaxes/VimL"]
|
||||||
path = assets/syntaxes/VimL
|
path = assets/syntaxes/02_Extra/VimL
|
||||||
url = https://github.com/SalGnt/Sublime-VimL
|
url = https://github.com/SalGnt/Sublime-VimL
|
||||||
[submodule "assets/syntaxes/INI"]
|
[submodule "assets/syntaxes/INI"]
|
||||||
path = assets/syntaxes/INI
|
path = assets/syntaxes/02_Extra/INI
|
||||||
url = https://github.com/clintberry/sublime-text-2-ini
|
url = https://github.com/clintberry/sublime-text-2-ini
|
||||||
[submodule "assets/syntaxes/CMake"]
|
[submodule "assets/syntaxes/CMake"]
|
||||||
path = assets/syntaxes/CMake
|
path = assets/syntaxes/02_Extra/CMake
|
||||||
url = https://github.com/zyxar/Sublime-CMakeLists
|
url = https://github.com/zyxar/Sublime-CMakeLists
|
||||||
[submodule "assets/syntaxes/LESS"]
|
[submodule "assets/syntaxes/LESS"]
|
||||||
path = assets/syntaxes/LESS
|
path = assets/syntaxes/02_Extra/LESS
|
||||||
url = https://github.com/danro/LESS-sublime
|
url = https://github.com/danro/LESS-sublime
|
||||||
[submodule "assets/themes/DarkNeon"]
|
[submodule "assets/themes/DarkNeon"]
|
||||||
path = assets/themes/DarkNeon
|
path = assets/themes/DarkNeon
|
||||||
@@ -41,88 +41,138 @@
|
|||||||
path = assets/themes/TwoDark
|
path = assets/themes/TwoDark
|
||||||
url = https://github.com/erremauro/TwoDark
|
url = https://github.com/erremauro/TwoDark
|
||||||
[submodule "assets/syntaxes/AWK"]
|
[submodule "assets/syntaxes/AWK"]
|
||||||
path = assets/syntaxes/AWK
|
path = assets/syntaxes/02_Extra/AWK
|
||||||
url = https://github.com/JohnNilsson/awk-sublime
|
url = https://github.com/JohnNilsson/awk-sublime
|
||||||
[submodule "assets/syntaxes/Nix"]
|
[submodule "assets/syntaxes/Nix"]
|
||||||
path = assets/syntaxes/Nix
|
path = assets/syntaxes/02_Extra/Nix
|
||||||
url = https://github.com/wmertens/sublime-nix
|
url = https://github.com/wmertens/sublime-nix
|
||||||
[submodule "assets/themes/zenburn"]
|
[submodule "assets/themes/zenburn"]
|
||||||
path = assets/themes/zenburn
|
path = assets/themes/zenburn
|
||||||
url = https://github.com/colinta/zenburn.git
|
url = https://github.com/colinta/zenburn.git
|
||||||
[submodule "assets/syntaxes/Kotlin"]
|
[submodule "assets/syntaxes/Kotlin"]
|
||||||
path = assets/syntaxes/Kotlin
|
path = assets/syntaxes/02_Extra/Kotlin
|
||||||
url = https://github.com/vkostyukov/kotlin-sublime-package
|
url = https://github.com/vkostyukov/kotlin-sublime-package
|
||||||
[submodule "assets/syntaxes/Elm"]
|
[submodule "assets/syntaxes/Elm"]
|
||||||
path = assets/syntaxes/Elm
|
path = assets/syntaxes/02_Extra/Elm
|
||||||
url = https://github.com/elm-community/SublimeElmLanguageSupport
|
url = https://github.com/elm-community/SublimeElmLanguageSupport
|
||||||
[submodule "assets/syntaxes/TypeScript"]
|
[submodule "assets/syntaxes/TypeScript"]
|
||||||
path = assets/syntaxes/TypeScript
|
path = assets/syntaxes/02_Extra/TypeScript
|
||||||
url = https://github.com/Microsoft/TypeScript-Sublime-Plugin
|
url = https://github.com/Microsoft/TypeScript-Sublime-Plugin
|
||||||
[submodule "assets/syntaxes/Puppet"]
|
[submodule "assets/syntaxes/Puppet"]
|
||||||
path = assets/syntaxes/Puppet
|
path = assets/syntaxes/02_Extra/Puppet
|
||||||
url = https://github.com/russCloak/SublimePuppet
|
url = https://github.com/russCloak/SublimePuppet
|
||||||
[submodule "assets/syntaxes/CSV"]
|
[submodule "assets/syntaxes/CSV"]
|
||||||
path = assets/syntaxes/CSV
|
path = assets/syntaxes/02_Extra/CSV
|
||||||
url = https://github.com/wadetb/Sublime-Text-Advanced-CSV
|
url = https://github.com/wadetb/Sublime-Text-Advanced-CSV
|
||||||
[submodule "assets/themes/onehalf"]
|
[submodule "assets/themes/onehalf"]
|
||||||
path = assets/themes/onehalf
|
path = assets/themes/onehalf
|
||||||
url = https://github.com/sonph/onehalf
|
url = https://github.com/sonph/onehalf
|
||||||
[submodule "assets/syntaxes/JavaScript (Babel)"]
|
[submodule "assets/syntaxes/JavaScript (Babel)"]
|
||||||
path = assets/syntaxes/JavaScript (Babel)
|
path = assets/syntaxes/02_Extra/JavaScript (Babel)
|
||||||
url = https://github.com/babel/babel-sublime
|
url = https://github.com/babel/babel-sublime
|
||||||
[submodule "assets/syntaxes/Cabal"]
|
[submodule "assets/syntaxes/Cabal"]
|
||||||
path = assets/syntaxes/Cabal
|
path = assets/syntaxes/02_Extra/Cabal
|
||||||
url = https://github.com/SublimeHaskell/SublimeHaskell
|
url = https://github.com/SublimeHaskell/SublimeHaskell
|
||||||
[submodule "assets/syntaxes/Dart"]
|
[submodule "assets/syntaxes/Dart"]
|
||||||
path = assets/syntaxes/Dart
|
path = assets/syntaxes/02_Extra/Dart
|
||||||
url = https://github.com/guillermooo/dart-sublime-bundle
|
url = https://github.com/guillermooo/dart-sublime-bundle
|
||||||
[submodule "assets/syntaxes/FSharp"]
|
[submodule "assets/syntaxes/FSharp"]
|
||||||
path = assets/syntaxes/FSharp
|
path = assets/syntaxes/02_Extra/FSharp
|
||||||
url = https://github.com/hoest/sublimetext-fsharp
|
url = https://github.com/hoest/sublimetext-fsharp
|
||||||
[submodule "assets/syntaxes/PureScript"]
|
[submodule "assets/syntaxes/PureScript"]
|
||||||
path = assets/syntaxes/PureScript
|
path = assets/syntaxes/02_Extra/PureScript
|
||||||
url = https://github.com/tellnobody1/sublime-purescript-syntax
|
url = https://github.com/tellnobody1/sublime-purescript-syntax
|
||||||
[submodule "assets/syntaxes/Swift"]
|
[submodule "assets/syntaxes/Swift"]
|
||||||
path = assets/syntaxes/Swift
|
path = assets/syntaxes/02_Extra/Swift
|
||||||
url = https://github.com/quiqueg/Swift-Sublime-Package
|
url = https://github.com/quiqueg/Swift-Sublime-Package
|
||||||
[submodule "assets/syntaxes/Crystal"]
|
[submodule "assets/syntaxes/Crystal"]
|
||||||
path = assets/syntaxes/Crystal
|
path = assets/syntaxes/02_Extra/Crystal
|
||||||
url = https://github.com/crystal-lang-tools/sublime-crystal.git
|
url = https://github.com/crystal-lang-tools/sublime-crystal.git
|
||||||
[submodule "assets/syntaxes/PowerShell"]
|
[submodule "assets/syntaxes/PowerShell"]
|
||||||
path = assets/syntaxes/PowerShell
|
path = assets/syntaxes/02_Extra/PowerShell
|
||||||
url = https://github.com/PowerShell/EditorSyntax
|
url = https://github.com/PowerShell/EditorSyntax
|
||||||
[submodule "assets/syntaxes/Robot"]
|
[submodule "assets/syntaxes/Robot"]
|
||||||
path = assets/syntaxes/Robot
|
path = assets/syntaxes/02_Extra/Robot
|
||||||
url = https://github.com/andriyko/sublime-robot-framework-assistant.git
|
url = https://github.com/andriyko/sublime-robot-framework-assistant.git
|
||||||
[submodule "assets/themes/sublime-snazzy"]
|
[submodule "assets/themes/sublime-snazzy"]
|
||||||
path = assets/themes/sublime-snazzy
|
path = assets/themes/sublime-snazzy
|
||||||
url = https://github.com/greggb/sublime-snazzy
|
url = https://github.com/greggb/sublime-snazzy
|
||||||
[submodule "assets/syntaxes/HTML (Twig)"]
|
|
||||||
path = assets/syntaxes/HTML (Twig)
|
|
||||||
url = https://github.com/Anomareh/PHP-Twig.tmbundle.git
|
|
||||||
[submodule "assets/syntaxes/AsciiDoc"]
|
[submodule "assets/syntaxes/AsciiDoc"]
|
||||||
path = assets/syntaxes/AsciiDoc
|
path = assets/syntaxes/02_Extra/AsciiDoc
|
||||||
url = https://github.com/SublimeText/AsciiDoc.git
|
url = https://github.com/SublimeText/AsciiDoc.git
|
||||||
[submodule "assets/syntaxes/Assembly (ARM)"]
|
[submodule "assets/syntaxes/Assembly (ARM)"]
|
||||||
path = assets/syntaxes/Assembly (ARM)
|
path = assets/syntaxes/02_Extra/Assembly (ARM)
|
||||||
url = https://github.com/tvi/Sublime-ARM-Assembly
|
url = https://github.com/tvi/Sublime-ARM-Assembly
|
||||||
[submodule "assets/syntaxes/syslog-syntax"]
|
[submodule "assets/syntaxes/syslog-syntax"]
|
||||||
path = assets/syntaxes/Syslog
|
path = assets/syntaxes/02_Extra/Syslog
|
||||||
url = https://github.com/caos21/syslog-syntax.git
|
url = https://github.com/caos21/syslog-syntax.git
|
||||||
branch = master
|
branch = master
|
||||||
[submodule "assets/syntaxes/protobuf-syntax-highlighting"]
|
[submodule "assets/syntaxes/protobuf-syntax-highlighting"]
|
||||||
path = assets/syntaxes/Protobuf
|
path = assets/syntaxes/02_Extra/Protobuf
|
||||||
url = https://github.com/VcamX/protobuf-syntax-highlighting.git
|
url = https://github.com/VcamX/protobuf-syntax-highlighting.git
|
||||||
branch = master
|
branch = master
|
||||||
[submodule "assets/syntaxes/Terraform"]
|
[submodule "assets/syntaxes/Terraform"]
|
||||||
path = assets/syntaxes/Terraform
|
path = assets/syntaxes/02_Extra/Terraform
|
||||||
url = https://github.com/alexlouden/Terraform.tmLanguage.git
|
url = https://github.com/alexlouden/Terraform.tmLanguage.git
|
||||||
[submodule "assets/syntaxes/Jsonnet"]
|
[submodule "assets/syntaxes/Jsonnet"]
|
||||||
path = assets/syntaxes/Jsonnet
|
path = assets/syntaxes/02_Extra/Jsonnet
|
||||||
url = https://github.com/gburiola/sublime-jsonnet-syntax.git
|
url = https://github.com/gburiola/sublime-jsonnet-syntax.git
|
||||||
[submodule "assets/syntaxes/varlink"]
|
[submodule "assets/syntaxes/varlink"]
|
||||||
path = assets/syntaxes/varlink
|
path = assets/syntaxes/02_Extra/varlink
|
||||||
url = https://github.com/varlink/syntax-highlight-varlink.git
|
url = https://github.com/varlink/syntax-highlight-varlink.git
|
||||||
[submodule "assets/syntaxes/sublime-fish"]
|
[submodule "assets/syntaxes/sublime-fish"]
|
||||||
path = assets/syntaxes/sublime-fish
|
path = assets/syntaxes/02_Extra/Fish
|
||||||
url = https://github.com/Phidica/sublime-fish.git
|
url = https://github.com/Phidica/sublime-fish.git
|
||||||
|
[submodule "assets/syntaxes/Org mode"]
|
||||||
|
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/themes/solarized-sublime"]
|
||||||
|
path = assets/themes/solarized-sublime
|
||||||
|
url = https://github.com/paulcpederson/solarized-sublime.git
|
||||||
|
[submodule "assets/syntaxes/Vue"]
|
||||||
|
path = assets/syntaxes/02_Extra/Vue
|
||||||
|
url = https://github.com/vuejs/vue-syntax-highlight.git
|
||||||
|
branch = new
|
||||||
|
[submodule "assets/syntaxes/CoffeeScript"]
|
||||||
|
path = assets/syntaxes/02_Extra/CoffeeScript
|
||||||
|
url = https://github.com/sustained/CoffeeScript-Sublime-Plugin
|
||||||
|
|||||||
+12
-17
@@ -1,4 +1,5 @@
|
|||||||
language: rust
|
language: rust
|
||||||
|
cache: cargo
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
@@ -32,24 +33,25 @@ matrix:
|
|||||||
|
|
||||||
# Minimum Rust supported channel.
|
# Minimum Rust supported channel.
|
||||||
- os: linux
|
- os: linux
|
||||||
rust: 1.31.0
|
rust: 1.36.0
|
||||||
env: TARGET=x86_64-unknown-linux-gnu
|
env: TARGET=x86_64-unknown-linux-gnu
|
||||||
- os: linux
|
- os: linux
|
||||||
rust: 1.31.0
|
rust: 1.36.0
|
||||||
env:
|
env:
|
||||||
- TARGET=x86_64-unknown-linux-musl
|
- TARGET=x86_64-unknown-linux-musl
|
||||||
- CC_x86_64_unknown_linux_musl=/usr/bin/musl-gcc
|
- CC_x86_64_unknown_linux_musl=/usr/bin/musl-gcc
|
||||||
- os: osx
|
- os: osx
|
||||||
rust: 1.31.0
|
rust: 1.36.0
|
||||||
env: TARGET=x86_64-apple-darwin
|
env: TARGET=x86_64-apple-darwin
|
||||||
|
|
||||||
# Code formatting check
|
# Disable nightly for now
|
||||||
- os: linux
|
# # Code formatting check
|
||||||
rust: nightly
|
# - os: linux
|
||||||
# skip the global install step
|
# rust: nightly
|
||||||
install:
|
# # skip the global install step
|
||||||
- cargo install --debug --force rustfmt-nightly
|
# install:
|
||||||
script: cargo fmt -- --check
|
# - cargo install --debug --force rustfmt-nightly
|
||||||
|
# script: cargo fmt -- --check
|
||||||
|
|
||||||
sudo: required
|
sudo: required
|
||||||
|
|
||||||
@@ -103,10 +105,3 @@ deploy:
|
|||||||
notifications:
|
notifications:
|
||||||
email:
|
email:
|
||||||
on_success: never
|
on_success: never
|
||||||
|
|
||||||
# Caching
|
|
||||||
cache:
|
|
||||||
directories:
|
|
||||||
- /home/travis/.cargo
|
|
||||||
before_cache:
|
|
||||||
- rm -rf /home/travis/.cargo/registry
|
|
||||||
|
|||||||
Generated
+830
-516
File diff suppressed because it is too large
Load Diff
+16
-10
@@ -7,7 +7,7 @@ license = "MIT/Apache-2.0"
|
|||||||
name = "bat"
|
name = "bat"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
repository = "https://github.com/sharkdp/bat"
|
repository = "https://github.com/sharkdp/bat"
|
||||||
version = "0.11.0"
|
version = "0.13.0"
|
||||||
exclude = [
|
exclude = [
|
||||||
"assets/syntaxes/*",
|
"assets/syntaxes/*",
|
||||||
"assets/themes/*",
|
"assets/themes/*",
|
||||||
@@ -16,24 +16,26 @@ build = "build.rs"
|
|||||||
edition = '2018'
|
edition = '2018'
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
atty = "0.2.2"
|
atty = "0.2.14"
|
||||||
ansi_term = "0.11"
|
ansi_term = "^0.12.1"
|
||||||
ansi_colours = "^1.0"
|
ansi_colours = "^1.0"
|
||||||
console = "0.7"
|
console = "0.10"
|
||||||
dirs = "1.0"
|
dirs = "2.0"
|
||||||
lazy_static = "1.3"
|
lazy_static = "1.4"
|
||||||
wild = "2.0"
|
wild = "2.0"
|
||||||
content_inspector = "0.2.4"
|
content_inspector = "0.2.4"
|
||||||
encoding = "0.2"
|
encoding = "0.2"
|
||||||
shell-words = "0.1.0"
|
shell-words = "0.1.0"
|
||||||
|
unicode-width = "0.1.7"
|
||||||
|
globset = "0.4"
|
||||||
|
|
||||||
[dependencies.git2]
|
[dependencies.git2]
|
||||||
version = "0.8"
|
version = "0.13"
|
||||||
default-features = false
|
default-features = false
|
||||||
features = []
|
features = []
|
||||||
|
|
||||||
[dependencies.syntect]
|
[dependencies.syntect]
|
||||||
version = "3.2.0"
|
version = "3.3.0"
|
||||||
default-features = false
|
default-features = false
|
||||||
features = ["parsing", "yaml-load", "dump-load", "dump-create"]
|
features = ["parsing", "yaml-load", "dump-load", "dump-create"]
|
||||||
|
|
||||||
@@ -49,8 +51,12 @@ features = []
|
|||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
tempdir = "0.3"
|
tempdir = "0.3"
|
||||||
assert_cmd = "0.11.1"
|
assert_cmd = "0.12.0"
|
||||||
escargot = "0.5.0"
|
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
clap = "2.33"
|
clap = "2.33"
|
||||||
|
liquid = "0.19"
|
||||||
|
lazy_static = "1.4"
|
||||||
|
|
||||||
|
[profile.release]
|
||||||
|
lto = true
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
Copyright (c) 2018 bat-developers (https://github.com/sharkdp/bat).
|
Copyright (c) 2018-2020 bat-developers (https://github.com/sharkdp/bat).
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="doc/logo-header.svg" alt="bat - a cat clone with wings"><br>
|
<img src="doc/logo-header.svg" alt="bat - a cat clone with wings"><br>
|
||||||
<a href="https://travis-ci.org/sharkdp/bat"><img src="https://travis-ci.org/sharkdp/bat.svg?branch=master" alt="Build Status"></a>
|
<a href="https://travis-ci.org/sharkdp/bat"><img src="https://travis-ci.org/sharkdp/bat.svg?branch=master" alt="Build Status"></a>
|
||||||
<a href="https://ci.appveyor.com/project/sharkdp/bat"><img src="https://ci.appveyor.com/api/projects/status/cptsmtbiwbnr2vhf?svg=true"></a>
|
<a href="https://ci.appveyor.com/project/sharkdp/bat"><img src="https://ci.appveyor.com/api/projects/status/cptsmtbiwbnr2vhf/branch/master?svg=true"></a>
|
||||||
<img src="https://img.shields.io/crates/l/bat.svg" alt="license">
|
<img src="https://img.shields.io/crates/l/bat.svg" alt="license">
|
||||||
<a href="https://crates.io/crates/bat"><img src="https://img.shields.io/crates/v/bat.svg?colorB=319e8c" alt="Version info"></a><br>
|
<a href="https://crates.io/crates/bat"><img src="https://img.shields.io/crates/v/bat.svg?colorB=319e8c" alt="Version info"></a><br>
|
||||||
A <i>cat(1)</i> clone with syntax highlighting and Git integration.
|
A <i>cat(1)</i> clone with syntax highlighting and Git integration.
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
<a href="#installation">Installation</a> •
|
<a href="#installation">Installation</a> •
|
||||||
<a href="#customization">Customization</a> •
|
<a href="#customization">Customization</a> •
|
||||||
<a href="#project-goals-and-alternatives">Project goals, alternatives</a> •
|
<a href="#project-goals-and-alternatives">Project goals, alternatives</a> •
|
||||||
Translation [<a href="https://github.com/chinanf-boy/bat-zh">中文</a>][<a href="doc/README-ja.md">日本文</a>]
|
Translation [<a href="https://github.com/chinanf-boy/bat-zh">中文</a>][<a href="doc/README-ja.md">日本語</a>][<a href="doc/README-ko.md">한국어</a>]
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
### Syntax highlighting
|
### Syntax highlighting
|
||||||
@@ -105,6 +105,14 @@ If you happen to use [`fd`](https://github.com/sharkdp/fd), you can use the `-X`
|
|||||||
fd … -X bat
|
fd … -X bat
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### `ripgrep`
|
||||||
|
|
||||||
|
With [`batgrep`](https://github.com/eth-p/bat-extras/blob/master/doc/batgrep.md), `bat` can be used as the printer for [`ripgrep`](https://github.com/BurntSushi/ripgrep) search results.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
batgrep needle src/
|
||||||
|
```
|
||||||
|
|
||||||
#### `tail -f`
|
#### `tail -f`
|
||||||
|
|
||||||
`bat` can be combined with `tail -f` to continuously monitor a given file with syntax highlighting.
|
`bat` can be combined with `tail -f` to continuously monitor a given file with syntax highlighting.
|
||||||
@@ -114,7 +122,7 @@ tail -f /var/log/pacman.log | bat --paging=never -l log
|
|||||||
Note that we have to switch off paging in order for this to work. We have also specified the syntax
|
Note that we have to switch off paging in order for this to work. We have also specified the syntax
|
||||||
explicitly (`-l log`), as it can not be auto-detected in this case.
|
explicitly (`-l log`), as it can not be auto-detected in this case.
|
||||||
|
|
||||||
### `git show`
|
#### `git`
|
||||||
|
|
||||||
You can combine `bat` with `git show` to view an older version of a given file with proper syntax
|
You can combine `bat` with `git show` to view an older version of a given file with proper syntax
|
||||||
highlighting:
|
highlighting:
|
||||||
@@ -122,6 +130,8 @@ highlighting:
|
|||||||
git show v0.6.0:src/main.rs | bat -l rs
|
git show v0.6.0:src/main.rs | bat -l rs
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Note that syntax highlighting within diffs is currently not supported. If you are looking for this, check out [`delta`](https://github.com/dandavison/delta).
|
||||||
|
|
||||||
#### `xclip`
|
#### `xclip`
|
||||||
|
|
||||||
The line numbers and Git modification markers in the output of `bat` can make it hard to copy
|
The line numbers and Git modification markers in the output of `bat` can make it hard to copy
|
||||||
@@ -132,15 +142,54 @@ bat main.cpp | xclip
|
|||||||
```
|
```
|
||||||
`bat` will detect that the output is being redirected and print the plain file contents.
|
`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/Manpage.sublime-syntax) is developed in this repository and still needs some work.
|
||||||
|
|
||||||
|
#### `prettier` / `shfmt` / `rustfmt`
|
||||||
|
|
||||||
|
The [`prettybat`](https://github.com/eth-p/bat-extras/blob/master/doc/prettybat.md) script is a wrapper that will format code and print it with `bat`.
|
||||||
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
[](https://repology.org/project/bat/versions)
|
||||||
|
|
||||||
### On Ubuntu
|
### On Ubuntu
|
||||||
*... and other Debian-based Linux distributions.*
|
*... and other Debian-based Linux distributions.*
|
||||||
|
|
||||||
Download the latest `.deb` package from the [release page](https://github.com/sharkdp/bat/releases)
|
You can install [the Ubuntu `bat` package](https://packages.ubuntu.com/eoan/bat) or [the Debian `bat` package](https://packages.debian.org/sid/bat) since Ubuntu Eoan 19.10 or Debian unstable sid.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
apt install bat
|
||||||
|
```
|
||||||
|
|
||||||
|
If you want to run the latest release of bat or if you are on older versions of Ubuntu/Debian, download the latest `.deb` package from the [release page](https://github.com/sharkdp/bat/releases)
|
||||||
and install it via:
|
and install it via:
|
||||||
``` bash
|
```bash
|
||||||
sudo dpkg -i bat_0.11.0_amd64.deb # adapt version number and architecture
|
sudo dpkg -i bat_0.13.0_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
|
### On Arch Linux
|
||||||
@@ -154,16 +203,25 @@ pacman -S bat
|
|||||||
|
|
||||||
### On Fedora
|
### On Fedora
|
||||||
|
|
||||||
You can install `bat` from the [Fedora Modular](https://docs.fedoraproject.org/en-US/modularity/using-modules/) repository. On Fedora 29 and higher, it is enabled by default. Otherwise, run `dnf install fedora-repos-modular` to set up, and make sure that the `fedora-modular` and `fedora-updates-modular` repos are enabled in `/etc/yum.repos.d`.
|
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
|
```bash
|
||||||
dnf module install bat
|
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
|
### On Void Linux
|
||||||
|
|
||||||
You can install `bat` via xbps-install:
|
You can install `bat` via xbps-install:
|
||||||
```
|
```bash
|
||||||
xbps-install -S bat
|
xbps-install -S bat
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -194,7 +252,7 @@ nix-env -i bat
|
|||||||
|
|
||||||
You can install `bat` with zypper:
|
You can install `bat` with zypper:
|
||||||
|
|
||||||
```
|
```bash
|
||||||
zypper install bat
|
zypper install bat
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -206,20 +264,38 @@ You can install `bat` with [Homebrew](http://braumeister.org/formula/bat):
|
|||||||
brew install bat
|
brew install bat
|
||||||
```
|
```
|
||||||
|
|
||||||
### On Windows
|
Or install `bat` with [MacPorts](https://ports.macports.org/port/bat/summary):
|
||||||
|
|
||||||
You can download prebuilt binaries from the [Release page](https://github.com/sharkdp/bat/releases),
|
|
||||||
or install it with [scoop](https://scoop.sh/) or [Chocolatey](https://chocolatey.org):
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
scoop install bat
|
port install bat
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### On Windows
|
||||||
|
|
||||||
|
There are a few options to install `bat` on Windows. Once you have installed `bat`,
|
||||||
|
take a look at the ["Using `bat` on Windows"](#using-bat-on-windows) section.
|
||||||
|
|
||||||
|
#### With Chocolatey
|
||||||
|
|
||||||
|
You can install `bat` via [Chocolatey](https://chocolatey.org/packages/Bat):
|
||||||
```bash
|
```bash
|
||||||
choco install bat
|
choco install bat
|
||||||
```
|
```
|
||||||
|
|
||||||
[See below](#using-bat-on-windows) for notes.
|
#### With Scoop
|
||||||
|
|
||||||
|
You can install `bat` via [scoop](https://scoop.sh/):
|
||||||
|
```bash
|
||||||
|
scoop install bat
|
||||||
|
```
|
||||||
|
|
||||||
|
You will need to install the [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) package.
|
||||||
|
|
||||||
|
#### From prebuilt binaries:
|
||||||
|
|
||||||
|
You can download prebuilt binaries from the [Release page](https://github.com/sharkdp/bat/releases),
|
||||||
|
|
||||||
|
You will need to install the [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) package.
|
||||||
|
|
||||||
### Via Docker
|
### Via Docker
|
||||||
|
|
||||||
@@ -265,15 +341,14 @@ binaries are also available: look for archives with `musl` in the file name.
|
|||||||
|
|
||||||
### From source
|
### From source
|
||||||
|
|
||||||
If you want to build `bat` from source, you need Rust 1.31 or
|
If you want to build `bat` from source, you need Rust 1.36 or
|
||||||
higher. You can then use `cargo` to build everything:
|
higher. You can then use `cargo` to build everything:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cargo install bat
|
cargo install bat
|
||||||
```
|
```
|
||||||
|
|
||||||
You may have to install `cmake` and the `libz` development package
|
On some platforms, you might need to install `llvm` and/or `libclang-dev`.
|
||||||
(`libz-dev` or `libz-devel`) in order for the build to succeed.
|
|
||||||
|
|
||||||
## Customization
|
## Customization
|
||||||
|
|
||||||
@@ -288,7 +363,7 @@ make the change permanent. Alternatively, use `bat`s
|
|||||||
|
|
||||||
If you want to preview the different themes on a custom file, you can use
|
If you want to preview the different themes on a custom file, you can use
|
||||||
the following command (you need [`fzf`](https://github.com/junegunn/fzf) for this):
|
the following command (you need [`fzf`](https://github.com/junegunn/fzf) for this):
|
||||||
``` bash
|
```bash
|
||||||
bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file"
|
bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file"
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -372,18 +447,29 @@ export BAT_PAGER="less -RF"
|
|||||||
Instead of using environment variables, you can also use `bat`s [configuration file](https://github.com/sharkdp/bat#configuration-file) to configure the pager (`--pager` option).
|
Instead of using environment variables, you can also use `bat`s [configuration file](https://github.com/sharkdp/bat#configuration-file) to configure the pager (`--pager` option).
|
||||||
|
|
||||||
**Note**: By default, if the pager is set to `less` (and no command-line options are specified),
|
**Note**: By default, if the pager is set to `less` (and no command-line options are specified),
|
||||||
`bat` will pass the following command line
|
`bat` will pass the following command line options to the pager: `-R`/`--RAW-CONTROL-CHARS`,
|
||||||
options to the pager: `-R`/`--RAW-CONTROL-CHARS`, `-F`/`--quit-if-one-screen` and `-X`/`--no-init`.
|
`-F`/`--quit-if-one-screen` and `-X`/`--no-init`. The last option (`-X`) is only used for `less`
|
||||||
The first (`-R`) is needed to interpret ANSI colors correctly. The second option (`-F`) instructs
|
versions older than 530.
|
||||||
|
|
||||||
|
The `-R` option is needed to interpret ANSI colors correctly. The second option (`-F`) instructs
|
||||||
less to exit immediately if the output size is smaller than the vertical size of the terminal.
|
less to exit immediately if the output size is smaller than the vertical size of the terminal.
|
||||||
This is convenient for small files because you do not have to press `q` to quit the pager. The
|
This is convenient for small files because you do not have to press `q` to quit the pager. The
|
||||||
third option (`-X`) is needed to fix a bug with the `--quit-if-one-screen` feature in old versions
|
third option (`-X`) is needed to fix a bug with the `--quit-if-one-screen` feature in old versions
|
||||||
of `less`. Unfortunately, it also breaks mouse-wheel support in `less`. If you want to enable
|
of `less`. Unfortunately, it also breaks mouse-wheel support in `less`.
|
||||||
mouse-wheel scrolling, you can either pass just `-R` (as in the example above, this will disable
|
|
||||||
the quit-if-one-screen feature), or you can use a recent version of `less` and pass `-RF` which
|
|
||||||
will hopefully enable both quit-if-one-screen and mouse-wheel scrolling.
|
|
||||||
|
|
||||||
If scrolling still doesn't work for you, you can try to pass the `-S` option in addition.
|
If you want to enable mouse-wheel scrolling on older versions of `less`, you can pass just `-R` (as
|
||||||
|
in the example above, this will disable the quit-if-one-screen feature). For less 530 or newer,
|
||||||
|
it should work out of the box.
|
||||||
|
|
||||||
|
### Dark mode
|
||||||
|
|
||||||
|
If you make use of the dark mode feature in macOS, you might want to configure `bat` to use a different
|
||||||
|
theme based on the OS theme. The following snippet uses the `default` theme when in the light mode
|
||||||
|
and the `GitHub` theme when in the dark mode.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
alias cat="bat --theme=\$(defaults read -globalDomain AppleInterfaceStyle &> /dev/null && echo default || echo GitHub)"
|
||||||
|
```
|
||||||
|
|
||||||
## Configuration file
|
## Configuration file
|
||||||
|
|
||||||
@@ -414,15 +500,11 @@ Example configuration file:
|
|||||||
# Use italic text on the terminal (not supported on all terminals)
|
# Use italic text on the terminal (not supported on all terminals)
|
||||||
--italic-text=always
|
--italic-text=always
|
||||||
|
|
||||||
# Add mouse scrolling support in less (does not work with older
|
# Use C++ syntax for .ino files
|
||||||
# versions of "less")
|
--map-syntax "*.ino:C++"
|
||||||
--pager="less -FR"
|
|
||||||
|
|
||||||
# Use C++ syntax (instead of C) for .h header files
|
# Use ".gitignore"-style highlighting for ".ignore" files
|
||||||
--map-syntax h:cpp
|
--map-syntax ".ignore:Git Ignore"
|
||||||
|
|
||||||
# Use "gitignore" highlighting for ".ignore" files
|
|
||||||
--map-syntax .ignore:.gitignore
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Using `bat` on Windows
|
## Using `bat` on Windows
|
||||||
@@ -453,7 +535,7 @@ or by setting `BAT_PAGER` to an empty string.
|
|||||||
|
|
||||||
This can be solved by creating a wrapper or adding the following function to your `.bash_profile` file:
|
This can be solved by creating a wrapper or adding the following function to your `.bash_profile` file:
|
||||||
|
|
||||||
```shell
|
```bash
|
||||||
bat() {
|
bat() {
|
||||||
local index
|
local index
|
||||||
local args=("$@")
|
local args=("$@")
|
||||||
@@ -486,6 +568,18 @@ are supported (and fall back to 8-bit colors).
|
|||||||
Please try a different theme (see `bat --list-themes` for a list). The `OneHalfDark` and
|
Please try a different theme (see `bat --list-themes` for a list). The `OneHalfDark` and
|
||||||
`OneHalfLight` themes provide grid and line colors that are brighter.
|
`OneHalfLight` themes provide grid and line colors that are brighter.
|
||||||
|
|
||||||
|
### File encodings
|
||||||
|
|
||||||
|
`bat` natively supports UTF-8 as well as UTF-16. For every other file encoding, you may need to
|
||||||
|
convert to UTF-8 first because the encodings can typically not be auto-detected. You can `iconv`
|
||||||
|
to do so.
|
||||||
|
Example: if you have a PHP file in Latin-1 (ISO-8859-1) encoding, you can call:
|
||||||
|
``` bash
|
||||||
|
iconv -f ISO-8859-1 -t UTF-8 my-file.php | bat
|
||||||
|
```
|
||||||
|
Note: you might have to use the `-l`/`--language` option if the syntax can not be auto-detected
|
||||||
|
by `bat`.
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -494,7 +588,7 @@ git clone --recursive https://github.com/sharkdp/bat
|
|||||||
|
|
||||||
# Build (debug version)
|
# Build (debug version)
|
||||||
cd bat
|
cd bat
|
||||||
cargo build
|
cargo build --bins
|
||||||
|
|
||||||
# Run unit tests and integration tests
|
# Run unit tests and integration tests
|
||||||
cargo test
|
cargo test
|
||||||
@@ -507,6 +601,11 @@ bash assets/create.sh
|
|||||||
cargo install -f
|
cargo install -f
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Maintainers
|
||||||
|
|
||||||
|
- [sharkdp](https://github.com/sharkdp)
|
||||||
|
- [eth-p](https://github.com/eth-p)
|
||||||
|
|
||||||
## Project goals and alternatives
|
## Project goals and alternatives
|
||||||
|
|
||||||
`bat` tries to achieve the following goals:
|
`bat` tries to achieve the following goals:
|
||||||
@@ -518,3 +617,10 @@ cargo install -f
|
|||||||
|
|
||||||
There are a lot of alternatives, if you are looking for similar programs. See
|
There are a lot of alternatives, if you are looking for similar programs. See
|
||||||
[this document](doc/alternatives.md) for a comparison.
|
[this document](doc/alternatives.md) for a comparison.
|
||||||
|
|
||||||
|
## License
|
||||||
|
Copyright (c) 2018-2020 [bat-developers](https://github.com/sharkdp/bat).
|
||||||
|
|
||||||
|
`bat` is distributed under the terms of both the MIT License and the Apache License 2.0.
|
||||||
|
|
||||||
|
See the [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT) files for license details.
|
||||||
|
|||||||
+2
-2
@@ -16,11 +16,11 @@ install:
|
|||||||
build: false
|
build: false
|
||||||
test_script:
|
test_script:
|
||||||
- cargo test --target %TARGET% --verbose
|
- cargo test --target %TARGET% --verbose
|
||||||
- cargo run --target %TARGET% -- src/main.rs README.md --paging=never
|
- cargo run --target %TARGET% -- src/bin/bat/main.rs README.md --paging=never
|
||||||
|
|
||||||
before_deploy:
|
before_deploy:
|
||||||
# Generate artifacts for release
|
# Generate artifacts for release
|
||||||
- cargo build --release --verbose
|
- cargo build --bins --release --verbose
|
||||||
- ps: ci\before_deploy.ps1
|
- ps: ci\before_deploy.ps1
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
|
|||||||
Vendored
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
diff --git syntaxes/Packages/Java/JavaDoc.sublime-syntax syntaxes/Packages/Java/JavaDoc.sublime-syntax
|
diff --git syntaxes/01_Packages/Java/JavaDoc.sublime-syntax syntaxes/01_Packages/Java/JavaDoc.sublime-syntax
|
||||||
index 422a6a9..40a741e 100644
|
index 422a6a9..40a741e 100644
|
||||||
--- syntaxes/Packages/Java/JavaDoc.sublime-syntax
|
--- syntaxes/01_Packages/Java/JavaDoc.sublime-syntax
|
||||||
+++ syntaxes/Packages/Java/JavaDoc.sublime-syntax
|
+++ syntaxes/01_Packages/Java/JavaDoc.sublime-syntax
|
||||||
@@ -13,7 +13,7 @@ variables:
|
@@ -13,7 +13,7 @@ variables:
|
||||||
contexts:
|
contexts:
|
||||||
prototype:
|
prototype:
|
||||||
|
|||||||
Vendored
+2
@@ -33,7 +33,9 @@ The following files have been manually modified after converting from a `.tmLang
|
|||||||
|
|
||||||
* `Dart.sublime-syntax` => removed `#regex.dart` include.
|
* `Dart.sublime-syntax` => removed `#regex.dart` include.
|
||||||
* `INI.sublime-syntax` => added `.hgrc`, `hgrc`, and `desktop` file types.
|
* `INI.sublime-syntax` => added `.hgrc`, `hgrc`, and `desktop` file types.
|
||||||
|
* `Org mode.sublime-syntax` => removed `task` file type.
|
||||||
|
|
||||||
### Non-submodule additions
|
### Non-submodule additions
|
||||||
|
|
||||||
* `Assembly (x86_64)` has been manually added from https://github.com/13xforever/x86-assembly-textmate-bundle due to `git clone` recursion problems
|
* `Assembly (x86_64)` has been manually added from https://github.com/13xforever/x86-assembly-textmate-bundle due to `git clone` recursion problems
|
||||||
|
* `Nim.sublime-syntax` has been added manually from https://github.com/getzola/zola/blob/master/sublime_syntaxes/Nim.sublime-syntax as there was no suitable Git repository for it. The original syntax seems to originate from https://github.com/Varriount/NimLime
|
||||||
|
|||||||
Vendored
-76
@@ -1,76 +0,0 @@
|
|||||||
# Fish Shell Completions
|
|
||||||
# Place or symlink to $XDG_CONFIG_HOME/fish/completions/bat.fish ($XDG_CONFIG_HOME is usually set to ~/.config)
|
|
||||||
|
|
||||||
# Helper function:
|
|
||||||
function __bat_autocomplete_languages --description "A helper function used by "(status filename)
|
|
||||||
bat --list-languages | awk -F':' '
|
|
||||||
{
|
|
||||||
lang=$1
|
|
||||||
split($2, exts, ",")
|
|
||||||
|
|
||||||
for (i in exts) {
|
|
||||||
ext=exts[i]
|
|
||||||
if (ext !~ /[A-Z].*/ && ext !~ /^\..*rc$/) {
|
|
||||||
print ext"\t"lang
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
' | sort
|
|
||||||
end
|
|
||||||
|
|
||||||
# Completions:
|
|
||||||
|
|
||||||
complete -c bat -l color -xka "auto never always" -d "Specify when to use colored output (default: auto)" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -l config-dir -d "Display location of 'bat' configuration directory" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -l config-file -d "Display location of 'bat' configuration file" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -l decorations -xka "auto never always" -d "Specify when to use the decorations specified with '--style' (default: auto)" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -s h -l help -d "Print help message" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -s H -l highlight-line -x -d "<N> Highlight the N-th line with a different background color" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -l italic-text -xka "always never" -d "Specify when to use ANSI sequences for italic text (default: never)" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -s l -l language -d "Set the language for syntax highlighting" -n "not __fish_seen_subcommand_from cache" -xa "(__bat_autocomplete_languages)"
|
|
||||||
|
|
||||||
complete -c bat -s r -l line-range -x -d "<N:M> Only print the specified range of lines for each file" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -l list-languages -d "Display list of supported languages for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -l list-themes -d "Display a list of supported themes for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -s m -l map-syntax -x -d "<from:to> Map a file extension or file name to an existing syntax" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -s n -l number -d "Only show line numbers, no other decorations. Alias for '--style=numbers'" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -l pager -x -d "<command> Specify which pager program to use (default: less)" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -l paging -xka "auto never always" -d "Specify when to use the pager (default: auto)" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -s p -l plain -d "Only show plain style, no decorations. Alias for '--style=plain'" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -s A -l show-all -d "Show non-printable characters like space/tab/newline" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -l style -xka "auto full plain changes header grid numbers" -d "Comma-separated list of style elements or presets to display with file contents" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -l tabs -x -d "<T> Set the tab width to T spaces (width of 0 passes tabs through directly)" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -l terminal-width -x -d "<width> Explicitly set terminal width; Prefix with '+' or '-' to offset (default width is auto determined)" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -l theme -xka "(bat --list-themes | cat)" -d "Set the theme for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -s u -l unbuffered -d "POSIX-compliant unbuffered output. Option is ignored" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -s V -l version -d "Show version information" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -l wrap -xka "auto never character" -d "<mode> Specify the text-wrapping mode (default: auto)" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
# Sub-command 'cache' completions
|
|
||||||
complete -c bat -a "cache" -d "Modify the syntax/language definition cache" -n "not __fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -l build -f -d "Parse syntaxes/language definitions into cache" -n "__fish_seen_subcommand_from cache"
|
|
||||||
|
|
||||||
complete -c bat -l clear -f -d "Reset syntaxes/language definitions to default settings" -n "__fish_seen_subcommand_from cache"
|
|
||||||
Vendored
+76
@@ -0,0 +1,76 @@
|
|||||||
|
# Fish Shell Completions
|
||||||
|
# Place or symlink to $XDG_CONFIG_HOME/fish/completions/{{PROJECT_EXECUTABLE}}.fish ($XDG_CONFIG_HOME is usually set to ~/.config)
|
||||||
|
|
||||||
|
# Helper function:
|
||||||
|
function __{{PROJECT_EXECUTABLE}}_autocomplete_languages --description "A helper function used by "(status filename)
|
||||||
|
{{PROJECT_EXECUTABLE}} --list-languages | awk -F':' '
|
||||||
|
{
|
||||||
|
lang=$1
|
||||||
|
split($2, exts, ",")
|
||||||
|
|
||||||
|
for (i in exts) {
|
||||||
|
ext=exts[i]
|
||||||
|
if (ext !~ /[A-Z].*/ && ext !~ /^\..*rc$/) {
|
||||||
|
print ext"\t"lang
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
' | sort
|
||||||
|
end
|
||||||
|
|
||||||
|
# Completions:
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -l color -xka "auto never always" -d "Specify when to use colored output (default: auto)" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -l config-dir -d "Display location of '{{PROJECT_EXECUTABLE}}' configuration directory" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -l config-file -d "Display location of '{{PROJECT_EXECUTABLE}}' configuration file" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -l decorations -xka "auto never always" -d "Specify when to use the decorations specified with '--style' (default: auto)" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -s h -l help -d "Print help message" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -s H -l highlight-line -x -d "<N> Highlight the N-th line with a different background color" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -l italic-text -xka "always never" -d "Specify when to use ANSI sequences for italic text (default: never)" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -s l -l language -d "Set the language for syntax highlighting" -n "not __fish_seen_subcommand_from cache" -xa "(__{{PROJECT_EXECUTABLE}}_autocomplete_languages)"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -s r -l line-range -x -d "<N:M> Only print the specified range of lines for each file" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -l list-languages -d "Display list of supported languages for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -l list-themes -d "Display a list of supported themes for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -s m -l map-syntax -x -d "<from:to> Map a file extension or file name to an existing syntax" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -s n -l number -d "Only show line numbers, no other decorations. Alias for '--style=numbers'" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -l pager -x -d "<command> Specify which pager program to use (default: less)" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -l paging -xka "auto never always" -d "Specify when to use the pager (default: auto)" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -s p -l plain -d "Only show plain style, no decorations. Alias for '--style=plain'" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -s A -l show-all -d "Show non-printable characters like space/tab/newline" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -l style -xka "auto full plain changes header grid numbers" -d "Comma-separated list of style elements or presets to display with file contents" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -l tabs -x -d "<T> Set the tab width to T spaces (width of 0 passes tabs through directly)" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -l terminal-width -x -d "<width> Explicitly set terminal width; Prefix with '+' or '-' to offset (default width is auto determined)" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -l theme -xka "({{PROJECT_EXECUTABLE}} --list-themes | cat)" -d "Set the theme for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -s u -l unbuffered -d "POSIX-compliant unbuffered output. Option is ignored" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -s V -l version -d "Show version information" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -l wrap -xka "auto never character" -d "<mode> Specify the text-wrapping mode (default: auto)" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
# Sub-command 'cache' completions
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -a "cache" -d "Modify the syntax/language definition cache" -n "not __fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -l build -f -d "Parse syntaxes/language definitions into cache" -n "__fish_seen_subcommand_from cache"
|
||||||
|
|
||||||
|
complete -c {{PROJECT_EXECUTABLE}} -l clear -f -d "Reset syntaxes/language definitions to default settings" -n "__fish_seen_subcommand_from cache"
|
||||||
Vendored
+37
-1
@@ -2,13 +2,49 @@
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
ASSET_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
ASSET_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
REPO_DIR="$ASSET_DIR/.."
|
||||||
|
|
||||||
|
# Ensure submodules are initialized.
|
||||||
|
function update_submodules() {
|
||||||
|
local submodule
|
||||||
|
local submodule_prompt=unspecified
|
||||||
|
local submodule_path
|
||||||
|
|
||||||
|
{
|
||||||
|
while { read -r submodule && read -r submodule_path; } <&3; do
|
||||||
|
if ! [[ -d "${REPO_DIR}/.git/modules/${submodule}" ]] && [[ -d "${REPO_DIR}/${submodule_path}" ]]; then
|
||||||
|
if [[ "$submodule_prompt" = "unspecified" ]]; then
|
||||||
|
echo "One or more submodules were found to be uninitialized."
|
||||||
|
printf "Initialize and update them? [Y/n] "
|
||||||
|
read -r submodule_prompt
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$submodule_prompt" in
|
||||||
|
y|yes|'') {
|
||||||
|
git -C "$REPO_DIR" submodule update --init "$submodule_path"
|
||||||
|
};;
|
||||||
|
n|no) {
|
||||||
|
return
|
||||||
|
};;
|
||||||
|
*) {
|
||||||
|
echo "Unknown answer. Not updating submodules."
|
||||||
|
};;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
} 3< <(git config --file "${REPO_DIR}/.gitmodules" --null --get-regexp path | xargs -0 printf "%s\n" | sed 's/^submodule.//;s/.path$//')
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -t 0 ]; then
|
||||||
|
update_submodules
|
||||||
|
fi
|
||||||
|
|
||||||
# Always remove the local cache to avoid any confusion
|
# Always remove the local cache to avoid any confusion
|
||||||
bat cache --clear
|
bat cache --clear
|
||||||
|
|
||||||
# TODO: Remove this (and the reverse part below) when
|
# TODO: Remove this (and the reverse part below) when
|
||||||
# https://github.com/trishume/syntect/issues/222 has been fixed
|
# https://github.com/trishume/syntect/issues/222 has been fixed
|
||||||
JAVADOC_FILE="${ASSET_DIR}/syntaxes/Packages/Java/JavaDoc.sublime-syntax"
|
JAVADOC_FILE="${ASSET_DIR}/syntaxes/01_Packages/Java/JavaDoc.sublime-syntax"
|
||||||
JAVADOC_PATCH="${ASSET_DIR}/JavaDoc.sublime-syntax.patch"
|
JAVADOC_PATCH="${ASSET_DIR}/JavaDoc.sublime-syntax.patch"
|
||||||
patch "$JAVADOC_FILE" "$JAVADOC_PATCH"
|
patch "$JAVADOC_FILE" "$JAVADOC_PATCH"
|
||||||
|
|
||||||
|
|||||||
Vendored
+113
-84
@@ -1,81 +1,76 @@
|
|||||||
.TH BAT "1"
|
.TH {{PROJECT_EXECUTABLE | upcase}} "1"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
bat \- manual page for bat
|
{{PROJECT_EXECUTABLE}} \- a cat(1) clone with syntax highlighting and Git integration.
|
||||||
.SH DESCRIPTION
|
|
||||||
bat - a cat(1) clone with syntax highlighting and Git integration.
|
|
||||||
.SH "USAGE"
|
.SH "USAGE"
|
||||||
.IP
|
.IP "{{PROJECT_EXECUTABLE}} [OPTIONS] [FILE]..."
|
||||||
bat [OPTIONS] [FILE]...
|
.IP "{{PROJECT_EXECUTABLE}} cache [CACHE-OPTIONS] [--build|--clear]
|
||||||
.IP
|
.SH DESCRIPTION
|
||||||
bat <SUBCOMMAND>
|
{{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"
|
.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
|
.HP
|
||||||
\fB\-l\fR, \fB\-\-language\fR <language>
|
\fB\-A\fR, \fB\-\-show\-all\fR
|
||||||
.IP
|
.IP
|
||||||
Explicitly set the language for syntax highlighting. The language can be specified as a
|
Show non\-printable characters like space, tab or newline. Use '\-\-tabs' to
|
||||||
name (like 'C++' or 'LaTeX') or possible file extension (like 'cpp', 'hpp' or 'md'). Use
|
control the width of the tab\-placeholders.
|
||||||
\&'\-\-list\-languages' to show all supported language names and file extensions.
|
|
||||||
.HP
|
|
||||||
\fB\-\-list\-languages\fR
|
|
||||||
.IP
|
|
||||||
Display a list of supported languages for syntax highlighting.
|
|
||||||
.HP
|
|
||||||
\fB\-m\fR, \fB\-\-map\-syntax\fR <from:to>...
|
|
||||||
.IP
|
|
||||||
Map a file extension or file name to an existing syntax. For example, to highlight
|
|
||||||
*.conf files with the INI syntax, use '\-m conf:ini'. To highlight files named
|
|
||||||
\&'.myignore' with the Git Ignore syntax, use '\-m .myignore:gitignore'.
|
|
||||||
.HP
|
|
||||||
\fB\-\-theme\fR <theme>
|
|
||||||
.IP
|
|
||||||
Set the theme for syntax highlighting. Use '\-\-list\-themes' to see all available themes.
|
|
||||||
To set a default theme, add the '\-\-theme="..."' option to the configuration file or
|
|
||||||
export the BAT_THEME environment variable (e.g.: export BAT_THEME="...").
|
|
||||||
.HP
|
|
||||||
\fB\-\-list\-themes\fR
|
|
||||||
.IP
|
|
||||||
Display a list of supported themes for syntax highlighting.
|
|
||||||
.HP
|
|
||||||
\fB\-\-style\fR <style\-components>
|
|
||||||
.IP
|
|
||||||
Configure which elements (line numbers, file headers, grid borders, Git modifications,
|
|
||||||
\&..) to display in addition to the file contents. The argument is a comma\-separated list
|
|
||||||
of components to display (e.g. 'numbers,changes,grid') or a pre\-defined style ('full').
|
|
||||||
To set a default style, add the '\-\-style=".."' option to the configuration file or
|
|
||||||
export the BAT_STYLE environment variable (e.g.: export BAT_STYLE=".."). Possible
|
|
||||||
values: *auto*, full, plain, changes, header, grid, numbers.
|
|
||||||
.HP
|
.HP
|
||||||
\fB\-p\fR, \fB\-\-plain\fR
|
\fB\-p\fR, \fB\-\-plain\fR
|
||||||
.IP
|
.IP
|
||||||
Only show plain style, no decorations. This is an alias for '\-\-style=plain'. When '\-p'
|
Only show plain style, no decorations. This is an alias for
|
||||||
is used twice ('\-pp'), it also disables automatic paging (alias for '\-\-style=plain
|
\&'\-\-style=plain'. When '\-p' is used twice ('\-pp'), it also disables
|
||||||
\fB\-\-pager\fR=\fI\,never\/\fR').
|
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
|
.HP
|
||||||
\fB\-n\fR, \fB\-\-number\fR
|
\fB\-n\fR, \fB\-\-number\fR
|
||||||
.IP
|
.IP
|
||||||
Only show line numbers, no other decorations. This is an alias for '\-\-style=numbers'
|
Only show line numbers, no other decorations. This is an alias for '\-\-style=numbers'
|
||||||
.HP
|
.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\-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\-H\fR, \fB\-\-highlight\-line\fR <N>...
|
|
||||||
.IP
|
|
||||||
Highlight the N\-th line with a different background color
|
|
||||||
.HP
|
|
||||||
\fB\-\-color\fR <when>
|
\fB\-\-color\fR <when>
|
||||||
.IP
|
.IP
|
||||||
Specify when to use colored output. The automatic mode only enables colors if an
|
Specify when to use colored output. The automatic mode only enables colors if an
|
||||||
@@ -105,26 +100,53 @@ Determine which pager is used. This option will overwrite the PAGER and BAT_PAGE
|
|||||||
environment variables. The default pager is 'less'. To disable the pager completely, use
|
environment variables. The default pager is 'less'. To disable the pager completely, use
|
||||||
the '\-\-paging' option. Example: '\-\-pager "less \fB\-RF\fR"'.
|
the '\-\-paging' option. Example: '\-\-pager "less \fB\-RF\fR"'.
|
||||||
.HP
|
.HP
|
||||||
\fB\-\-wrap\fR <mode>
|
\fB\-m\fR, \fB\-\-map\-syntax\fR <glob-pattern:syntax-name>...
|
||||||
.IP
|
.IP
|
||||||
Specify the text\-wrapping mode (*auto*, never, character). The '\-\-terminal\-width' option
|
Map a glob pattern to an existing syntax name. The glob pattern is matched on the full
|
||||||
can be used in addition to control the output width.
|
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
|
.HP
|
||||||
\fB\-\-tabs\fR <T>
|
\fB\-\-theme\fR <theme>
|
||||||
.IP
|
.IP
|
||||||
Set the tab width to T spaces. Use a width of 0 to pass tabs through directly
|
Set the theme for syntax highlighting. Use '\-\-list\-themes' to see all available themes.
|
||||||
|
To set a default theme, add the '\-\-theme="..."' option to the configuration file or
|
||||||
|
export the BAT_THEME environment variable (e.g.: export BAT_THEME="...").
|
||||||
|
.HP
|
||||||
|
\fB\-\-list\-themes\fR
|
||||||
|
.IP
|
||||||
|
Display a list of supported themes for syntax highlighting.
|
||||||
|
.HP
|
||||||
|
\fB\-\-style\fR <style\-components>
|
||||||
|
.IP
|
||||||
|
Configure which elements (line numbers, file headers, grid borders, Git modifications,
|
||||||
|
\&..) to display in addition to the file contents. The argument is a comma\-separated list
|
||||||
|
of components to display (e.g. 'numbers,changes,grid') or a pre\-defined style ('full').
|
||||||
|
To set a default style, add the '\-\-style=".."' option to the configuration file or
|
||||||
|
export the BAT_STYLE environment variable (e.g.: export BAT_STYLE=".."). Possible
|
||||||
|
values: *auto*, full, plain, changes, header, grid, numbers, snip.
|
||||||
|
.HP
|
||||||
|
\fB\-r\fR, \fB\-\-line\-range\fR <N:M>...
|
||||||
|
.IP
|
||||||
|
Only print the specified range of lines for each file. For example:
|
||||||
|
.RS
|
||||||
|
.IP "\-\-line\-range 30:40"
|
||||||
|
prints lines 30 to 40
|
||||||
|
.IP "\-\-line\-range :40"
|
||||||
|
prints lines 1 to 40
|
||||||
|
.IP "\-\-line\-range 40:"
|
||||||
|
prints lines 40 to the end of the file
|
||||||
|
.RE
|
||||||
|
.HP
|
||||||
|
\fB\-L\fR, \fB\-\-list\-languages\fR
|
||||||
|
.IP
|
||||||
|
Display a list of supported languages for syntax highlighting.
|
||||||
.HP
|
.HP
|
||||||
\fB\-u\fR, \fB\-\-unbuffered\fR
|
\fB\-u\fR, \fB\-\-unbuffered\fR
|
||||||
.IP
|
.IP
|
||||||
This option exists for POSIX\-compliance reasons ('u' is for 'unbuffered'). The output is
|
This option exists for POSIX\-compliance reasons ('u' is for 'unbuffered'). The output is
|
||||||
always unbuffered \- this option is simply ignored.
|
always unbuffered \- this option is simply ignored.
|
||||||
.HP
|
.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\-h\fR, \fB\-\-help\fR
|
\fB\-h\fR, \fB\-\-help\fR
|
||||||
.IP
|
.IP
|
||||||
Print this help message.
|
Print this help message.
|
||||||
@@ -132,13 +154,20 @@ Print this help message.
|
|||||||
\fB\-V\fR, \fB\-\-version\fR
|
\fB\-V\fR, \fB\-\-version\fR
|
||||||
.IP
|
.IP
|
||||||
Show version information.
|
Show version information.
|
||||||
.SH "ARGS"
|
.SH "POSITIONAL ARGUMENTS"
|
||||||
|
.HP
|
||||||
|
\fB<FILE>...\fR
|
||||||
.IP
|
.IP
|
||||||
<FILE>...
|
Files to print and concatenate. Use a dash ('\-') or no argument at all to read from
|
||||||
.IP
|
standard input.
|
||||||
File(s) to print / concatenate. Use a dash ('\-') or no argument at all to read
|
|
||||||
from standard input.
|
|
||||||
.SH "SUBCOMMANDS"
|
.SH "SUBCOMMANDS"
|
||||||
.IP
|
.HP
|
||||||
cache
|
\fBcache\fR - Modify the syntax\-definition and theme cache.
|
||||||
Modify the syntax\-definition and theme cache
|
.SH "FILES"
|
||||||
|
{{PROJECT_EXECUTABLE}} can also be customized with a configuration file. The location of the file
|
||||||
|
is dependent on your operating system. To get the default path for your system, call:
|
||||||
|
|
||||||
|
\fB{{PROJECT_EXECUTABLE}} --config-file\fR
|
||||||
|
|
||||||
|
Alternatively, you can use the BAT_CONFIG_PATH environment variable to point bat to a non-default
|
||||||
|
location of the configuration file.
|
||||||
Vendored
BIN
Binary file not shown.
+1
Submodule assets/syntaxes/01_Packages added at 759d6eed9b
+1
Submodule assets/syntaxes/02_Extra/Cabal added at 2d98cb79eb
+1
-1
@@ -33,7 +33,7 @@ contexts:
|
|||||||
captures:
|
captures:
|
||||||
1: constant.other.cabal
|
1: constant.other.cabal
|
||||||
2: punctuation.entity.cabal
|
2: punctuation.entity.cabal
|
||||||
- match: '^(?i)(executable|library|test-suite|benchmark|flag|source-repository)\s+([^\s,]+)\s*$'
|
- match: '^(?i)(executable|library|test-suite|benchmark|flag|source-repository|custom-setup)\s+([^\s,]+)\s*$'
|
||||||
scope: entity.cabal
|
scope: entity.cabal
|
||||||
captures:
|
captures:
|
||||||
1: keyword.entity.cabal
|
1: keyword.entity.cabal
|
||||||
+1
Submodule assets/syntaxes/02_Extra/CoffeeScript added at e08f9b8cdf
@@ -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
@@ -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
|
||||||
+1
Submodule assets/syntaxes/02_Extra/Crystal added at 2ee9d667ae
+9
-9
@@ -131,9 +131,9 @@ contexts:
|
|||||||
scope: keyword.control.pseudo-method.crystal
|
scope: keyword.control.pseudo-method.crystal
|
||||||
- match: '\b(nil|true|false)\b(?![?!])'
|
- match: '\b(nil|true|false)\b(?![?!])'
|
||||||
scope: constant.language.crystal
|
scope: constant.language.crystal
|
||||||
- match: '\b(__(DIR|FILE|LINE)__|self)\b(?![?!])'
|
- match: '\b(__(DIR|FILE|LINE|END_LINE)__|self)\b(?![?!])'
|
||||||
scope: variable.language.crystal
|
scope: variable.language.crystal
|
||||||
- match: '\b(initialize|new|loop|include|extend|raise|getter|setter|property|class_getter|class_setter|class_property|describe|it|with|delegate|def_hash|def_equals|def_equals_and_hash|forward_missing_to|record|assert_responds_to|spawn)\b[!?]?'
|
- match: '\b(initialize|new|loop|include|extend|raise|getter|setter|property|class_getter|class_setter|class_property|describe|context|it|with|delegate|def_hash|def_equals|def_equals_and_hash|forward_missing_to|record|assert_responds_to|spawn|annotation|verbatim)\b[!?]?'
|
||||||
comment: everything being a method but having a special function is a..
|
comment: everything being a method but having a special function is a..
|
||||||
scope: keyword.control.special-method.crystal
|
scope: keyword.control.special-method.crystal
|
||||||
- match: \b(require)\b
|
- match: \b(require)\b
|
||||||
@@ -180,7 +180,7 @@ contexts:
|
|||||||
(?<=^|\s)(def)\s+ # the def keyword
|
(?<=^|\s)(def)\s+ # the def keyword
|
||||||
( (?>[a-zA-Z_\x{80}-\x{10FFFF}][\x{80}-\x{10FFFF}\w]*(?>\.|::))? # a method name prefix
|
( (?>[a-zA-Z_\x{80}-\x{10FFFF}][\x{80}-\x{10FFFF}\w]*(?>\.|::))? # a method name prefix
|
||||||
(?>[a-zA-Z_\x{80}-\x{10FFFF}][\x{80}-\x{10FFFF}\w]*(?>[?!]|=(?!>))? # the method name
|
(?>[a-zA-Z_\x{80}-\x{10FFFF}][\x{80}-\x{10FFFF}\w]*(?>[?!]|=(?!>))? # the method name
|
||||||
|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) # …or an operator method
|
|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\](?:=|\?)?) ) # …or an operator method
|
||||||
\s*(\() # the openning parenthesis for arguments
|
\s*(\() # the openning parenthesis for arguments
|
||||||
comment: the method pattern comes from the symbol pattern, see there for a explaination
|
comment: the method pattern comes from the symbol pattern, see there for a explaination
|
||||||
captures:
|
captures:
|
||||||
@@ -201,7 +201,7 @@ contexts:
|
|||||||
(?<=^|\s)(def)\s+ # the def keyword
|
(?<=^|\s)(def)\s+ # the def keyword
|
||||||
( (?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>\.|::))? # a method name prefix
|
( (?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>\.|::))? # a method name prefix
|
||||||
(?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>[?!]|=(?!>))? # the method name
|
(?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>[?!]|=(?!>))? # the method name
|
||||||
|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) # …or an operator method
|
|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\](?:=|\?)?) ) # …or an operator method
|
||||||
[ \t] # the space separating the arguments
|
[ \t] # the space separating the arguments
|
||||||
(?=[ \t]*[^\s#;]) # make sure arguments and not a comment follow
|
(?=[ \t]*[^\s#;]) # make sure arguments and not a comment follow
|
||||||
comment: same as the previous rule, but without parentheses around the arguments
|
comment: same as the previous rule, but without parentheses around the arguments
|
||||||
@@ -221,7 +221,7 @@ contexts:
|
|||||||
( \s+ # an optional group of whitespace followed by…
|
( \s+ # an optional group of whitespace followed by…
|
||||||
( (?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>\.|::))? # a method name prefix
|
( (?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>\.|::))? # a method name prefix
|
||||||
(?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>[?!]|=(?!>))? # the method name
|
(?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>[?!]|=(?!>))? # the method name
|
||||||
|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) )? # …or an operator method
|
|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\](?:=|\?)?) ) )? # …or an operator method
|
||||||
comment: the optional name is just to catch the def also without a method-name
|
comment: the optional name is just to catch the def also without a method-name
|
||||||
scope: meta.function.method.without-arguments.crystal
|
scope: meta.function.method.without-arguments.crystal
|
||||||
captures:
|
captures:
|
||||||
@@ -588,7 +588,7 @@ contexts:
|
|||||||
pop: true
|
pop: true
|
||||||
- match: \\.
|
- match: \\.
|
||||||
comment: Cant be named because its not neccesarily an escape.
|
comment: Cant be named because its not neccesarily an escape.
|
||||||
- match: '(?<!:)(:)(?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>[?!]|=(?![>=]))?|===?|>[>=]?|<[<=]?|<=>|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?|@@?[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*)'
|
- match: '(?<!:)(:)(?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>[?!]|=(?![>=]))?|===?|>[>=]?|<[<=]?|<=>|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\](?:=|\?)?|@@?[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*|!=?(?![?!]))'
|
||||||
comment: symbols
|
comment: symbols
|
||||||
scope: constant.other.symbol.crystal
|
scope: constant.other.symbol.crystal
|
||||||
captures:
|
captures:
|
||||||
@@ -713,14 +713,14 @@ contexts:
|
|||||||
captures:
|
captures:
|
||||||
0: punctuation.definition.string.begin.crystal
|
0: punctuation.definition.string.begin.crystal
|
||||||
push:
|
push:
|
||||||
- meta_scope: string.unquoted.embedded.js.jquery.crystal
|
- meta_scope: string.unquoted.embedded.js.crystal
|
||||||
- meta_content_scope: text.js.jquery.embedded.crystal
|
- meta_content_scope: text.js.embedded.crystal
|
||||||
- match: \s*\2$
|
- match: \s*\2$
|
||||||
captures:
|
captures:
|
||||||
0: punctuation.definition.string.end.crystal
|
0: punctuation.definition.string.end.crystal
|
||||||
pop: true
|
pop: true
|
||||||
- include: heredoc
|
- include: heredoc
|
||||||
- include: scope:source.js.jquery
|
- include: scope:source.js
|
||||||
- include: interpolated_crystal
|
- include: interpolated_crystal
|
||||||
- include: escaped_char
|
- include: escaped_char
|
||||||
- match: '(?><<-("?)((?:[_\w]+_|)(?:SH|SHELL))\b\1)'
|
- match: '(?><<-("?)((?:[_\w]+_|)(?:SH|SHELL))\b\1)'
|
||||||
+1
Submodule assets/syntaxes/02_Extra/Docker added at 9e9a518aed
+1
Submodule assets/syntaxes/02_Extra/DotENV added at a1c917633d
+91
@@ -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
|
||||||
+1
Submodule assets/syntaxes/02_Extra/Elixir added at 89b3bada32
+1
Submodule assets/syntaxes/02_Extra/Fish added at 2c254cc851
+133
@@ -0,0 +1,133 @@
|
|||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
# http://www.sublimetext.com/docs/3/syntax.html
|
||||||
|
name: fstab
|
||||||
|
file_extensions:
|
||||||
|
- fstab
|
||||||
|
scope: source.fstab
|
||||||
|
|
||||||
|
contexts:
|
||||||
|
main:
|
||||||
|
- include: comment
|
||||||
|
- match: '^'
|
||||||
|
push: fstab_device
|
||||||
|
comment: leading spaces
|
||||||
|
|
||||||
|
fstab_device:
|
||||||
|
- include: comment
|
||||||
|
- match: '\s*([^=\s]+=)([^\s]+)\s*'
|
||||||
|
comment: device by uuid or label
|
||||||
|
set: fstab_mountpoint
|
||||||
|
captures:
|
||||||
|
1: punctuation.accessor
|
||||||
|
2: keyword.other.device
|
||||||
|
- match: '\s*(//|\\\\)([^\s]+)\s*'
|
||||||
|
comment: device by samba share
|
||||||
|
set: fstab_mountpoint
|
||||||
|
captures:
|
||||||
|
1: punctuation.accessor
|
||||||
|
2: keyword.other.device
|
||||||
|
- match: '\s*([^\s]+)(:)([^\s]+)\s*'
|
||||||
|
comment: device by server
|
||||||
|
set: fstab_mountpoint
|
||||||
|
captures:
|
||||||
|
1: keyword.other.device
|
||||||
|
2: punctuation.accessor
|
||||||
|
3: keyword.other.device
|
||||||
|
- match: '\s*[^\s/\\]+\s*'
|
||||||
|
comment: device by dev name
|
||||||
|
set: fstab_mountpoint
|
||||||
|
scope: keyword.other.device
|
||||||
|
- match: '\s*(/dev/)([^\s]+)\s*'
|
||||||
|
comment: device by dev path
|
||||||
|
set: fstab_mountpoint
|
||||||
|
captures:
|
||||||
|
1: punctuation.accessor
|
||||||
|
2: keyword.other.device
|
||||||
|
- match: '\s*([^\s/]*/)*([^\s]+)\s*'
|
||||||
|
comment: device by unknown path
|
||||||
|
set: fstab_mountpoint
|
||||||
|
captures:
|
||||||
|
1: punctuation.accessor
|
||||||
|
2: keyword.other.device
|
||||||
|
- include: clear
|
||||||
|
|
||||||
|
fstab_mountpoint:
|
||||||
|
- include: comment
|
||||||
|
- match: '\s*/[^\s]*\s*'
|
||||||
|
comment: mount point
|
||||||
|
set: fstab_filesystem
|
||||||
|
scope: string.unquoted.mountpoint
|
||||||
|
- match: '\s*[^\s]+\s*'
|
||||||
|
comment: mount point without leading slash (invalid)
|
||||||
|
set: fstab_filesystem
|
||||||
|
scope: invalid.illegal
|
||||||
|
- include: clear
|
||||||
|
|
||||||
|
fstab_filesystem:
|
||||||
|
- include: comment
|
||||||
|
- match: '\s*[^\s]+\s*'
|
||||||
|
comment: filesystem type
|
||||||
|
set: fstab_options
|
||||||
|
scope: variable.parameter.filesystem
|
||||||
|
- include: clear
|
||||||
|
|
||||||
|
fstab_options:
|
||||||
|
- include: comment
|
||||||
|
- match: '([^\s,=]+)(=)([^\s,]+)'
|
||||||
|
comment: key-value option
|
||||||
|
captures:
|
||||||
|
1: entity.name.option
|
||||||
|
2: entity.other.separator
|
||||||
|
3: variable.parameter
|
||||||
|
- match: '[^\s,]+'
|
||||||
|
comment: flag option
|
||||||
|
scope: entity.name.option
|
||||||
|
- match: ','
|
||||||
|
comment: option separator
|
||||||
|
scope: punctuation.separator
|
||||||
|
- match: '\s+'
|
||||||
|
comment: next field
|
||||||
|
set: fstab_dump
|
||||||
|
- include: clear
|
||||||
|
|
||||||
|
fstab_dump:
|
||||||
|
- include: comment
|
||||||
|
- match: '\s*[01]\s*'
|
||||||
|
comment: dump field
|
||||||
|
scope: constant.numeric
|
||||||
|
set: fstab_pass
|
||||||
|
- match: '\s*[^\s]+\s*'
|
||||||
|
comment: invalid dump field
|
||||||
|
scope: invalid.illegal
|
||||||
|
set: fstab_pass
|
||||||
|
- include: clear
|
||||||
|
|
||||||
|
fstab_pass:
|
||||||
|
- include: comment
|
||||||
|
- match: '\s*[01]\s*'
|
||||||
|
comment: pass field
|
||||||
|
scope: constant.numeric
|
||||||
|
set: expected_eol
|
||||||
|
- match: '\s*[^\s]+\s*'
|
||||||
|
comment: invalid pass field
|
||||||
|
scope: invalid.illegal
|
||||||
|
set: expected_eol
|
||||||
|
- include: clear
|
||||||
|
|
||||||
|
expected_eol:
|
||||||
|
- include: comment
|
||||||
|
- include: clear
|
||||||
|
- match: '.*'
|
||||||
|
scope: invalid.illegal
|
||||||
|
|
||||||
|
comment:
|
||||||
|
- match: '\s*#.*$'
|
||||||
|
comment: comment using the number sign
|
||||||
|
scope: comment.line
|
||||||
|
|
||||||
|
clear:
|
||||||
|
- match: '.*$'
|
||||||
|
comment: used for clearing the context
|
||||||
|
pop: true
|
||||||
|
|
||||||
+1
Submodule assets/syntaxes/02_Extra/GraphQL added at c9d84587eb
+48
@@ -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
|
||||||
+1
Submodule assets/syntaxes/02_Extra/HTML (Twig) added at 77def406d7
Vendored
+23
@@ -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
|
||||||
|
|
||||||
+1
Submodule assets/syntaxes/02_Extra/JavaScript (Babel) added at f4579f9107
+2
@@ -4,9 +4,11 @@
|
|||||||
name: JavaScript (Babel)
|
name: JavaScript (Babel)
|
||||||
file_extensions:
|
file_extensions:
|
||||||
- js
|
- js
|
||||||
|
- mjs
|
||||||
- jsx
|
- jsx
|
||||||
- babel
|
- babel
|
||||||
- es6
|
- es6
|
||||||
|
- cjs
|
||||||
first_line_match: ^#!\s*/.*\b(node|js)$\n?
|
first_line_match: ^#!\s*/.*\b(node|js)$\n?
|
||||||
scope: source.js
|
scope: source.js
|
||||||
contexts:
|
contexts:
|
||||||
+1
Submodule assets/syntaxes/02_Extra/Jinja2 added at 45355633d1
+1
Submodule assets/syntaxes/02_Extra/Jsonnet added at e2c917ed7d
+1
Submodule assets/syntaxes/02_Extra/Julia added at 0ca4cc2990
+1
Submodule assets/syntaxes/02_Extra/LESS added at 3020993658
+53
@@ -0,0 +1,53 @@
|
|||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
# http://www.sublimetext.com/docs/3/syntax.html
|
||||||
|
name: Manpage
|
||||||
|
file_extensions:
|
||||||
|
- man
|
||||||
|
scope: source.man
|
||||||
|
|
||||||
|
variables:
|
||||||
|
section_heading: '^\S.*$'
|
||||||
|
|
||||||
|
contexts:
|
||||||
|
main:
|
||||||
|
- match: ^
|
||||||
|
push: first_line
|
||||||
|
|
||||||
|
first_line:
|
||||||
|
- match: '([A-Z0-9_\-]+)(\()([^)]+)(\))'
|
||||||
|
captures:
|
||||||
|
1: meta.preprocessor
|
||||||
|
2: keyword.operator
|
||||||
|
3: string.quoted.other
|
||||||
|
4: keyword.operator
|
||||||
|
|
||||||
|
- match: '$'
|
||||||
|
push: body
|
||||||
|
|
||||||
|
body:
|
||||||
|
- match: '^(SYNOPSIS|SYNTAX|SINTASSI|SKŁADNIA|СИНТАКСИС|書式)'
|
||||||
|
push: Packages/C/C.sublime-syntax
|
||||||
|
scope: markup.heading
|
||||||
|
with_prototype:
|
||||||
|
- match: '(?={{section_heading}})'
|
||||||
|
pop: true
|
||||||
|
|
||||||
|
- match: '^\S.*$'
|
||||||
|
scope: markup.heading
|
||||||
|
|
||||||
|
- match: '\b([A-Za-z0-9_\-]+)(\()([^)]*)(\))'
|
||||||
|
captures:
|
||||||
|
1: entity.name.function
|
||||||
|
2: keyword.operator
|
||||||
|
3: constant.numeric
|
||||||
|
4: keyword.operator
|
||||||
|
|
||||||
|
# command-line options like --option=value, --some-flag, or -x
|
||||||
|
- match: '(?:[^a-zA-Z0-9_-]|^|\s)(--?[A-Za-z0-9][A-Za-z0-9-]*)(?:(=)?("?)([A-Za-z0-9]+)("?))?'
|
||||||
|
captures:
|
||||||
|
1: entity.name
|
||||||
|
2: keyword.operator
|
||||||
|
3: punctuation.definition.string.begin
|
||||||
|
4: variable.parameter
|
||||||
|
3: punctuation.definition.string.end
|
||||||
+14
@@ -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
@@ -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
|
||||||
+1
Submodule assets/syntaxes/02_Extra/Nix added at 9032bd6137
+2
-2
@@ -140,7 +140,7 @@ contexts:
|
|||||||
push:
|
push:
|
||||||
- match: '(?=([\])};]|\b(else|then)\b))'
|
- match: '(?=([\])};]|\b(else|then)\b))'
|
||||||
pop: true
|
pop: true
|
||||||
- match: '(?=(\s*\}|\"|\binherit\b|\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*(\s*\.|\s*=[^=])))'
|
- match: '(?=(\s*\}|\"|\binherit\b|\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*(\s*\.|\s*=[^=])|\$\{[a-zA-z0-9\_\''\-]+\}(\s*\.|\s*=[^=])))'
|
||||||
push:
|
push:
|
||||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||||
pop: true
|
pop: true
|
||||||
@@ -563,7 +563,7 @@ contexts:
|
|||||||
pop: true
|
pop: true
|
||||||
- include: string-quoted
|
- include: string-quoted
|
||||||
- include: expression-cont
|
- include: expression-cont
|
||||||
- match: '([a-zA-Z0-9\.\_\-\+]*(\/[a-zA-Z0-9\.\_\-\+]+)+)'
|
- match: '(~?[a-zA-Z0-9\.\_\-\+]*(\/[a-zA-Z0-9\.\_\-\+]+)+)'
|
||||||
captures:
|
captures:
|
||||||
0: string.unquoted.path.nix
|
0: string.unquoted.path.nix
|
||||||
push:
|
push:
|
||||||
+1
Submodule assets/syntaxes/02_Extra/Org mode added at 4976d8f84e
+219
@@ -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
@@ -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
|
||||||
+1
Submodule assets/syntaxes/02_Extra/PowerShell added at 4a0a076661
Vendored
+14
-29
@@ -147,7 +147,7 @@ contexts:
|
|||||||
2: keyword.other.powershell
|
2: keyword.other.powershell
|
||||||
3: variable.parameter.powershell
|
3: variable.parameter.powershell
|
||||||
attribute:
|
attribute:
|
||||||
- match: '(\[)\s*\b(?i)(cmdletbinding|alias|outputtype|parameter|validatenotnull|validatenotnullorempty|validatecount|validateset|allownull|allowemptycollection|allowemptystring|validatescript|validaterange|validatepattern|validatelength)\b'
|
- match: '(\[)\s*\b(?i)(cmdletbinding|alias|outputtype|parameter|validatenotnull|validatenotnullorempty|validatecount|validateset|allownull|allowemptycollection|allowemptystring|validatescript|validaterange|validatepattern|validatelength|supportswildcards)\b'
|
||||||
captures:
|
captures:
|
||||||
1: punctuation.section.bracket.begin.powershell
|
1: punctuation.section.bracket.begin.powershell
|
||||||
2: support.function.attribute.powershell
|
2: support.function.attribute.powershell
|
||||||
@@ -165,31 +165,11 @@ contexts:
|
|||||||
captures:
|
captures:
|
||||||
0: punctuation.section.group.end.powershell
|
0: punctuation.section.group.end.powershell
|
||||||
pop: true
|
pop: true
|
||||||
- include: variable
|
|
||||||
- include: variableNoProperty
|
|
||||||
- include: hashtable
|
|
||||||
- include: scriptblock
|
|
||||||
- include: doubleQuotedStringEscapes
|
|
||||||
- include: doubleQuotedString
|
|
||||||
- include: type
|
|
||||||
- include: numericConstant
|
|
||||||
- include: doubleQuotedString
|
|
||||||
- include: main
|
- include: main
|
||||||
- match: (?i)\b(mandatory|valuefrompipeline|valuefrompipelinebypropertyname|valuefromremainingarguments|position|parametersetname|defaultparametersetname|supportsshouldprocess|supportspaging|positionalbinding|helpuri|confirmimpact|helpmessage)\b(?:\s+)?(=)?
|
- match: (?i)\b(mandatory|valuefrompipeline|valuefrompipelinebypropertyname|valuefromremainingarguments|position|parametersetname|defaultparametersetname|supportsshouldprocess|supportspaging|positionalbinding|helpuri|confirmimpact|helpmessage)\b(?:\s+)?(=)?
|
||||||
captures:
|
captures:
|
||||||
1: variable.parameter.attribute.powershell
|
1: variable.parameter.attribute.powershell
|
||||||
2: keyword.operator.assignment.powershell
|
2: keyword.operator.assignment.powershell
|
||||||
- match: (?<!')'
|
|
||||||
captures:
|
|
||||||
0: punctuation.definition.string.begin.powershell
|
|
||||||
push:
|
|
||||||
- meta_scope: string.quoted.single.powershell
|
|
||||||
- match: "'(?!')"
|
|
||||||
captures:
|
|
||||||
0: punctuation.definition.string.end.powershell
|
|
||||||
pop: true
|
|
||||||
- match: "''"
|
|
||||||
scope: constant.character.escape.powershell
|
|
||||||
commands:
|
commands:
|
||||||
- match: '(?:(\p{L}|\d|_|-|\\|\:)*\\)?\b(?i:Add|Approve|Assert|Backup|Block|Build|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Deploy|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Mount|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Write)\-.+?(?:\.(?i:exe|cmd|bat|ps1))?\b'
|
- match: '(?:(\p{L}|\d|_|-|\\|\:)*\\)?\b(?i:Add|Approve|Assert|Backup|Block|Build|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Deploy|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Mount|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Write)\-.+?(?:\.(?i:exe|cmd|bat|ps1))?\b'
|
||||||
comment: "Verb-Noun pattern:"
|
comment: "Verb-Noun pattern:"
|
||||||
@@ -242,14 +222,14 @@ contexts:
|
|||||||
pop: true
|
pop: true
|
||||||
- match: '(?i)\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,64}\b'
|
- match: '(?i)\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,64}\b'
|
||||||
- include: variableNoProperty
|
- include: variableNoProperty
|
||||||
- include: variable
|
|
||||||
- include: doubleQuotedStringEscapes
|
- include: doubleQuotedStringEscapes
|
||||||
- include: interpolation
|
- include: interpolation
|
||||||
- match: '`\s*$'
|
- match: '`\s*$'
|
||||||
scope: keyword.other.powershell
|
scope: keyword.other.powershell
|
||||||
doubleQuotedStringEscapes:
|
doubleQuotedStringEscapes:
|
||||||
- match: '`[0abnfrvt"''$`]'
|
- match: '`[`0abefnrtv"''$]'
|
||||||
scope: constant.character.escape.powershell
|
scope: constant.character.escape.powershell
|
||||||
|
- include: unicodeEscape
|
||||||
- match: '""'
|
- match: '""'
|
||||||
scope: constant.character.escape.powershell
|
scope: constant.character.escape.powershell
|
||||||
function:
|
function:
|
||||||
@@ -362,6 +342,11 @@ contexts:
|
|||||||
- match: '(?!\d+|\.)(?:\p{L}|\p{N}|\.)+'
|
- match: '(?!\d+|\.)(?:\p{L}|\p{N}|\.)+'
|
||||||
scope: storage.type.powershell
|
scope: storage.type.powershell
|
||||||
- include: main
|
- include: main
|
||||||
|
unicodeEscape:
|
||||||
|
- match: '`u\{(?:(?:10)?([0-9a-fA-F]){1,4}|0?\g<1>{1,5})}'
|
||||||
|
scope: constant.character.escape.powershell
|
||||||
|
- match: '`u(?:\{[0-9a-fA-F]{,6}.)?'
|
||||||
|
scope: invalid.character.escape.powershell
|
||||||
variable:
|
variable:
|
||||||
- match: (\$)(?i:(False|Null|True))\b
|
- match: (\$)(?i:(False|Null|True))\b
|
||||||
comment: These are special constants.
|
comment: These are special constants.
|
||||||
@@ -374,13 +359,13 @@ contexts:
|
|||||||
0: support.constant.variable.powershell
|
0: support.constant.variable.powershell
|
||||||
1: punctuation.definition.variable.powershell
|
1: punctuation.definition.variable.powershell
|
||||||
3: variable.other.member.powershell
|
3: variable.other.member.powershell
|
||||||
- match: '(\$)(?i:(\$|\^|\?|_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This))((?:\.(?:\p{L}|\d|_)+)*\b)?\b'
|
- match: '(\$)((?:[$^?])|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\b)((?:\.(?:\p{L}|\d|_)+)*\b)?'
|
||||||
comment: Automatic variables are not constants, but they are read-only. In monokai (default) color schema support.variable doesn't have color, so we use constant.
|
comment: Automatic variables are not constants, but they are read-only. In monokai (default) color schema support.variable doesn't have color, so we use constant.
|
||||||
captures:
|
captures:
|
||||||
0: support.constant.automatic.powershell
|
0: support.variable.automatic.powershell
|
||||||
1: punctuation.definition.variable.powershell
|
1: punctuation.definition.variable.powershell
|
||||||
3: variable.other.member.powershell
|
3: variable.other.member.powershell
|
||||||
- match: '(\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|ProgressPreference|PsCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|VerbosePreference|WarningPreference|WhatIfPreference))((?:\.(?:\p{L}|\d|_)+)*\b)?\b'
|
- match: '(\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))((?:\.(?:\p{L}|\d|_)+)*\b)?\b'
|
||||||
comment: Style preference variables as language variables so that they stand out.
|
comment: Style preference variables as language variables so that they stand out.
|
||||||
captures:
|
captures:
|
||||||
0: variable.language.powershell
|
0: variable.language.powershell
|
||||||
@@ -426,19 +411,19 @@ contexts:
|
|||||||
0: support.constant.variable.powershell
|
0: support.constant.variable.powershell
|
||||||
1: punctuation.definition.variable.powershell
|
1: punctuation.definition.variable.powershell
|
||||||
3: variable.other.member.powershell
|
3: variable.other.member.powershell
|
||||||
- match: (\$)(?i:(\$|\^|\?|_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This))\b
|
- match: '(\$)((?:[$^?])|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\b)'
|
||||||
comment: Automatic variables are not constants, but they are read-only...
|
comment: Automatic variables are not constants, but they are read-only...
|
||||||
captures:
|
captures:
|
||||||
0: support.variable.automatic.powershell
|
0: support.variable.automatic.powershell
|
||||||
1: punctuation.definition.variable.powershell
|
1: punctuation.definition.variable.powershell
|
||||||
3: variable.other.member.powershell
|
3: variable.other.member.powershell
|
||||||
- match: (\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|ProgressPreference|PsCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|VerbosePreference|WarningPreference|WhatIfPreference))\b
|
- match: (\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))\b
|
||||||
comment: Style preference variables as language variables so that they stand out.
|
comment: Style preference variables as language variables so that they stand out.
|
||||||
captures:
|
captures:
|
||||||
0: variable.language.powershell
|
0: variable.language.powershell
|
||||||
1: punctuation.definition.variable.powershell
|
1: punctuation.definition.variable.powershell
|
||||||
3: variable.other.member.powershell
|
3: variable.other.member.powershell
|
||||||
- match: '(?i:(\$|@)(global|local|private|script|using|workflow):((?:\p{L}|\d|_)+))'
|
- match: '(?i:(\$)(global|local|private|script|using|workflow):((?:\p{L}|\d|_)+))'
|
||||||
captures:
|
captures:
|
||||||
0: variable.other.readwrite.powershell
|
0: variable.other.readwrite.powershell
|
||||||
1: punctuation.definition.variable.powershell
|
1: punctuation.definition.variable.powershell
|
||||||
+1
Submodule assets/syntaxes/02_Extra/Protobuf added at 726e21d74d
+1
Submodule assets/syntaxes/02_Extra/PureScript added at 5acebc1850
+21
@@ -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
|
||||||
+1
Submodule assets/syntaxes/02_Extra/Robot added at fcd3323b56
+3
@@ -52,3 +52,6 @@ contexts:
|
|||||||
- meta_scope: keyword.control.robot
|
- meta_scope: keyword.control.robot
|
||||||
- match: '($|\||\s{2,})'
|
- match: '($|\||\s{2,})'
|
||||||
pop: true
|
pop: true
|
||||||
|
- match: (?i)^\s+(Given|When|and|but|Then)
|
||||||
|
comment: BDD keywords
|
||||||
|
scope: string.robot.bdd
|
||||||
+1
Submodule assets/syntaxes/02_Extra/SCSS_Sass added at b98a3f3ccf
+1
Submodule assets/syntaxes/02_Extra/SLS added at f8a8cf90b1
+1
Submodule assets/syntaxes/02_Extra/Strace added at 3ec51e0bca
+1
Submodule assets/syntaxes/02_Extra/TOML added at 0f14b7caf3
+1
Submodule assets/syntaxes/02_Extra/Terraform added at 64208ea816
+1
Submodule assets/syntaxes/02_Extra/TypeScript added at 9cd994af73
Vendored
+767
-454
File diff suppressed because it is too large
Load Diff
+1
Submodule assets/syntaxes/02_Extra/Verilog added at 532e87c1b4
+149
@@ -0,0 +1,149 @@
|
|||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
# http://www.sublimetext.com/docs/3/syntax.html
|
||||||
|
name: Verilog
|
||||||
|
file_extensions:
|
||||||
|
- v
|
||||||
|
- V
|
||||||
|
scope: source.verilog
|
||||||
|
contexts:
|
||||||
|
main:
|
||||||
|
- match: '^\s*(module|function|primitive)\s+\b([a-zA-Z_][a-zA-Z0-9_]*)\b'
|
||||||
|
scope: meta.entity.module.verilog
|
||||||
|
captures:
|
||||||
|
1: storage.type.verilog
|
||||||
|
2: entity.name.type.class.verilog
|
||||||
|
- match: '^\s*(?!else)(?!begin)([a-zA-Z_][a-zA-Z0-9_]*)\s+([a-zA-Z_][a-zA-Z0-9_]*)\s*(\()'
|
||||||
|
scope: meta.definition.verilog
|
||||||
|
captures:
|
||||||
|
1: entity.name.type.class.verilog
|
||||||
|
2: entity.name.type.instance.verilog
|
||||||
|
3: keyword.operator.parenthesis.round.verilog
|
||||||
|
- match: '^\s*(?!else)(?!begin)([a-zA-Z_][a-zA-Z0-9_]*)\s+([#])(\()([ ._+`,a-zA-Z0-9]+)(\))\s+([a-zA-Z_][a-zA-Z0-9_]*)\s*(\()'
|
||||||
|
scope: meta.definition.withparameter.verilog
|
||||||
|
captures:
|
||||||
|
1: entity.name.type.class.verilog
|
||||||
|
2: keyword.other.verilog
|
||||||
|
3: keyword.operator.parenthesis.round.verilog
|
||||||
|
4: keyword.other.verilog
|
||||||
|
5: keyword.operator.parenthesis.round.verilog
|
||||||
|
6: entity.name.type.instance.verilog
|
||||||
|
7: keyword.operator.parenthesis.round.verilog
|
||||||
|
- match: '^\s*\b(?!else)(?!begin)([a-zA-Z_][a-zA-Z0-9_]*)\b\s+([#])'
|
||||||
|
scope: meta.definition.withparameter.verilog
|
||||||
|
captures:
|
||||||
|
1: entity.name.type.class.verilog
|
||||||
|
2: keyword.other.verilog
|
||||||
|
- match: '^\s*(defparam)\s+([a-zA-Z_][a-zA-Z0-9_]*)(.[a-zA-Z_][a-zA-Z0-9_]*)\s*(=)'
|
||||||
|
scope: meta.definition.defparam.verilog
|
||||||
|
captures:
|
||||||
|
1: keyword.other.verilog
|
||||||
|
2: entity.name.type.instance.verilog
|
||||||
|
3: meta.module.parameters.verilog
|
||||||
|
4: keyword.other.verilog
|
||||||
|
- match: \b(automatic|cell|config|deassign|defparam|design|disable|edge|endconfig|endgenerate|endspecify|endtable|endtask|event|generate|genvar|ifnone|incdir|include|instance|liblist|library|localparam|macromodule|negedge|noshowcancelled|posedge|pulsestyle_onevent|pulsestyle_ondetect|real|realtime|scalared|showcancelled|specify|specparam|table|task|time|use|vectored)\b
|
||||||
|
scope: keyword.other.verilog
|
||||||
|
- match: "(#[0-9]+)"
|
||||||
|
scope: keyword.delay.verilog
|
||||||
|
- match: \b(initial|always|wait|force|release|assign)\b
|
||||||
|
scope: keyword.control.verilog
|
||||||
|
- match: \b(begin|end|fork|join)\b
|
||||||
|
scope: keyword.other.verilog
|
||||||
|
- match: \b(forever|repeat|while|for|if|else|case|casex|casez|default|endcase)\b
|
||||||
|
scope: keyword.control.verilog
|
||||||
|
- match: '^\s*(`include)\s+(["<].*[">])'
|
||||||
|
scope: meta.include.verilog
|
||||||
|
captures:
|
||||||
|
1: meta.preprocessor.verilog
|
||||||
|
2: entity.name.type.include.verilog
|
||||||
|
- match: '^\s*(`ifdef|`ifndef|`undef|`define)\s+([a-zA-Z_][a-zA-Z0-9_]*)\b'
|
||||||
|
scope: meta.preprocessor.ifdef.verilog
|
||||||
|
captures:
|
||||||
|
1: meta.preprocessor.verilog
|
||||||
|
2: constant.other.define.verilog
|
||||||
|
- match: '`(celldefine|default_nettype|define|else|elsif|endcelldefine|endif|ifdef|ifndef|include|line|nounconnected_drive|resetall|timescale|unconnected_drive|undef)\b'
|
||||||
|
scope: meta.preprocessor.verilog
|
||||||
|
- match: "[.][_a-zA-Z0-9]+"
|
||||||
|
scope: meta.module.parameters.verilog
|
||||||
|
- match: '`\b([a-zA-Z_][a-zA-Z0-9_]*)\b'
|
||||||
|
scope: constant.other.define.verilog
|
||||||
|
- include: comments
|
||||||
|
- match: \b(endmodule|endfunction|endprimitive)\b
|
||||||
|
scope: storage.type.verilog
|
||||||
|
- match: '^\s*\b([a-zA-Z_][a-zA-Z0-9_]*)\b\s*(:)\s*'
|
||||||
|
scope: meta.case.verilog
|
||||||
|
captures:
|
||||||
|
1: entity.name.state.verilog
|
||||||
|
2: keyword.operator.bitwise.verilog
|
||||||
|
- include: all-types
|
||||||
|
- match: (==|===|!=|!==|<=|>=|<|>)
|
||||||
|
scope: keyword.operator.comparison.verilog
|
||||||
|
- match: (\-|\+|\*|\/|%)
|
||||||
|
scope: keyword.operator.arithmetic.verilog
|
||||||
|
- match: (!|&&|\|\|)
|
||||||
|
scope: keyword.operator.logical.verilog
|
||||||
|
- match: (&|\||\^|~|<<|>>|\?|:)
|
||||||
|
scope: keyword.operator.bitwise.verilog
|
||||||
|
- match: "({|})"
|
||||||
|
scope: keyword.operator.parenthesis.curly.verilog
|
||||||
|
- match: (\(|\))
|
||||||
|
scope: keyword.operator.parenthesis.round.verilog
|
||||||
|
- match: '(\[|\])'
|
||||||
|
scope: keyword.operator.parenthesis.square.verilog
|
||||||
|
- match: "([;,])"
|
||||||
|
scope: keyword.delimiter.verilog
|
||||||
|
- match: (#|@|=)
|
||||||
|
scope: keyword.other.verilog
|
||||||
|
- match: '\b(output|input|inout|and|nand|nor|or|xor|xnor|buf|not|bufif[01]|notif[01]|r?[npc]mos|tran|r?tranif[01]|pullup|pulldown)\b'
|
||||||
|
scope: support.type.verilog
|
||||||
|
- match: '((\b\d+)?''s?([bB]\s*(([0-1_xXzZ?]+)|(`[A-Z]+[_0-9a-zA-Z]*))|[oO]\s*(([0-7_xXzZ?]+)|(`[A-Z]+[_0-9a-zA-Z]*))|[dD]\s*(([0-9_xXzZ?]+)|(`[A-Z]+[_0-9a-zA-Z]*))|[hH]\s*(([0-9a-fA-F_xXzZ?]+)|(`[A-Z]+[_0-9a-zA-Z]*)))((e|E)(\+|-)?[0-9]+)?\b)|(\b\d+\b)'
|
||||||
|
scope: constant.numeric.verilog
|
||||||
|
- include: strings
|
||||||
|
- match: '\$\b([a-zA-Z_][a-zA-Z0-9_]*)\b'
|
||||||
|
scope: support.function.verilog
|
||||||
|
all-types:
|
||||||
|
- include: storage-type-verilog
|
||||||
|
- include: storage-modifier-verilog
|
||||||
|
comments:
|
||||||
|
- match: /\*
|
||||||
|
captures:
|
||||||
|
0: punctuation.definition.comment.verilog
|
||||||
|
push:
|
||||||
|
- meta_scope: comment.block.verilog
|
||||||
|
- match: \*/
|
||||||
|
captures:
|
||||||
|
0: punctuation.definition.comment.verilog
|
||||||
|
pop: true
|
||||||
|
- match: (//).*$\n?
|
||||||
|
scope: comment.line.double-slash.verilog
|
||||||
|
captures:
|
||||||
|
1: punctuation.definition.comment.verilog
|
||||||
|
storage-modifier-verilog:
|
||||||
|
- match: '\b(signed|unsigned|small|medium|large|supply[01]|strong[01]|pull[01]|weak[01]|highz[01])\b'
|
||||||
|
scope: storage.modifier.verilog
|
||||||
|
storage-type-verilog:
|
||||||
|
- match: '\b(wire|tri|tri[01]|supply[01]|wand|triand|wor|trior|trireg|reg|parameter|integer)\b'
|
||||||
|
scope: storage.type.verilog
|
||||||
|
strings:
|
||||||
|
- match: '"'
|
||||||
|
captures:
|
||||||
|
0: punctuation.definition.string.begin.verilog
|
||||||
|
push:
|
||||||
|
- meta_scope: string.quoted.double.verilog
|
||||||
|
- match: '"'
|
||||||
|
captures:
|
||||||
|
0: punctuation.definition.string.end.verilog
|
||||||
|
pop: true
|
||||||
|
- match: \\.
|
||||||
|
scope: constant.character.escape.verilog
|
||||||
|
- match: "'"
|
||||||
|
captures:
|
||||||
|
0: punctuation.definition.string.begin.verilog
|
||||||
|
push:
|
||||||
|
- meta_scope: string.quoted.single.verilog
|
||||||
|
- match: "'"
|
||||||
|
captures:
|
||||||
|
0: punctuation.definition.string.end.verilog
|
||||||
|
pop: true
|
||||||
|
- match: \\.
|
||||||
|
scope: constant.character.escape.verilog
|
||||||
+1
Submodule assets/syntaxes/02_Extra/Vue added at 6eb71bc6bb
+1
Submodule assets/syntaxes/02_Extra/hosts added at 21250a7117
+1
Submodule assets/syntaxes/02_Extra/requirementstxt added at 775e6dd62a
@@ -0,0 +1,19 @@
|
|||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
# http://www.sublimetext.com/docs/3/syntax.html
|
||||||
|
name: requirements.txt
|
||||||
|
file_extensions:
|
||||||
|
- requirements.txt
|
||||||
|
scope: source.requirementstxt
|
||||||
|
contexts:
|
||||||
|
main:
|
||||||
|
- match: (#).*$\n?
|
||||||
|
scope: comment.line.requirementstxt
|
||||||
|
captures:
|
||||||
|
1: punctuation.definition.comment.requirementstxt
|
||||||
|
- match: '(?i)^[a-z0-9_\-\.]+'
|
||||||
|
scope: string.package_name.requirementstxt
|
||||||
|
- match: (?i)==|<|<=|>=|>
|
||||||
|
scope: keyword.operator.logical.punctuation.requirementstxt
|
||||||
|
- match: '(?i)\d+\.[\da-z\-_\.]*'
|
||||||
|
scope: constant.numeric.verions.requirementstxt
|
||||||
+4
@@ -25,3 +25,7 @@ contexts:
|
|||||||
scope: entity.other.attribute-name.show-nonprintable.escape
|
scope: entity.other.attribute-name.show-nonprintable.escape
|
||||||
- match: "␈"
|
- match: "␈"
|
||||||
scope: entity.other.attribute-name.show-nonprintable.backspace
|
scope: entity.other.attribute-name.show-nonprintable.backspace
|
||||||
|
- match: "\\\\x[A-Z0-9][A-Z0-9]"
|
||||||
|
scope: comment.block.show-nonprintable.backspace
|
||||||
|
- match: "\\\\u\\{[a-z0-9]+\\}"
|
||||||
|
scope: comment.block.show-nonprintable.backspace
|
||||||
+1
Submodule assets/syntaxes/02_Extra/ssh-config added at 16e19d5da4
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user