mirror of
https://github.com/sharkdp/bat.git
synced 2025-07-13 18:43:21 +01: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 |
.github/ISSUE_TEMPLATE
.gitignore.gitmodules.travis.ymlCargo.lockCargo.tomlLICENSE-MITREADME.mdappveyor.ymlassets
JavaDoc.sublime-syntax.patchREADME.md
build.rscompletions
create.shmanual
syntaxes.binsyntaxes
01_Packages
themes.bin02_Extra
AWKAsciiDocAsciiDoc.sublime-syntaxAssembly (ARM)Assembly (ARM).sublime-syntaxAssembly (x86_64).sublime-syntaxCMakeCSVCSV.sublime-syntaxCabalCabal.sublime-syntaxCoffeeScriptCoffeeScript.sublime-syntaxCpuInfo.sublime-syntaxCrystalCrystal.sublime-syntaxDartDart.sublime-syntaxDockerDotENVDotENV.sublime-syntaxElixirElmFSharpFishFstab.sublime-syntaxGraphQLGroup.sublime-syntaxHTML (Twig)HTML (Twig).sublime-syntaxHosts.sublime-syntaxINIINI.sublime-syntaxJavaScript (Babel)JavaScript (Babel).sublime-syntaxJinja2JsonnetJuliaKotlinKotlin.sublime-syntaxLESSManpage.sublime-syntaxMemInfo.sublime-syntaxNim.sublime-syntaxNixNix.sublime-syntaxOrg modeOrg mode.sublime-syntaxPasswd.sublime-syntaxPowerShellPowerShell.sublime-syntaxProtobufPuppetPureScriptResolv.sublime-syntaxRobotRobot.sublime-syntaxSCSS_SassSLSStraceSwiftSwift.sublime-syntaxSyslogTOMLTerraformTypeScriptTypeScript.sublime-syntaxTypsecriptReact.sublime-syntaxVerilogVerilog.sublime-syntaxVimLVimL.sublime-syntaxVuehostsrequirementstxtrequirementstxt.sublime-syntaxshow-nonprintable.sublime-syntaxssh-configvarlink
CabalCrystalDockerElixirFSharp.sublime-syntaxJavaScript (Babel)JsonnetJuliaLESSNixPackagesPowerShellProtobufPureScriptRobotTOMLTerraformTypeScriptfish.sublime-syntaxsublime-fishthemes
ci
diagnostics
doc
examples
src
assets.rs
bin
config.rscontroller.rsdecorations.rsdiff.rserrors.rsinputfile.rsless.rslib.rsline_range.rsoutput.rspreprocessor.rsprinter.rsstyle.rssyntax_mapping.rsterminal.rsutil.rswrap.rstests
39
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
39
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
---
|
||||
name: Bug Report
|
||||
about: Report a bug.
|
||||
title: ""
|
||||
labels: bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!--
|
||||
Hey there, thanks for creating an issue!
|
||||
|
||||
In order to reproduce your issue, we might need to know a little bit more about the environment
|
||||
which you're running `bat` on.
|
||||
|
||||
If you're on Linux or MacOS:
|
||||
Please run the script at https://github.com/sharkdp/bat/blob/master/diagnostics/info.sh and
|
||||
paste the output at the bottom of the bug report.
|
||||
|
||||
If you're on Windows:
|
||||
Please tell us about your Windows Version (e.g. "Windows 10 1908") at the
|
||||
bottom of the bug report.
|
||||
-->
|
||||
|
||||
**What version of `bat` are you using?**
|
||||
[paste the output of `bat --version` here]
|
||||
|
||||
**Describe the bug you encountered:**
|
||||
...
|
||||
|
||||
**Describe what you expected to happen?**
|
||||
...
|
||||
|
||||
**How did you install `bat`?**
|
||||
apt-get, homebrew, GitHub release, etc.
|
||||
|
||||
---
|
||||
|
||||
[paste the output of `info.sh` here]
|
2
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
2
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
blank_issues_enabled: true
|
||||
|
10
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
10
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
name: Feature Request
|
||||
about: Suggest an idea for this project.
|
||||
title: ''
|
||||
labels: feature-request
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
|
10
.github/ISSUE_TEMPLATE/question.md
vendored
Normal file
10
.github/ISSUE_TEMPLATE/question.md
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
name: Question
|
||||
about: Ask a question about 'bat'.
|
||||
title: ''
|
||||
labels: question
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
|
29
.github/ISSUE_TEMPLATE/syntax_request.md
vendored
Normal file
29
.github/ISSUE_TEMPLATE/syntax_request.md
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
name: Syntax Request
|
||||
about: Request adding a new syntax to bat.
|
||||
title: ""
|
||||
labels: syntax-request
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!--
|
||||
BEFORE YOU MAKE A REQUEST:
|
||||
|
||||
Are you looking to add a new syntax to use on one of your devices?
|
||||
Bat supports locally-installed language definitions. See the link below:
|
||||
|
||||
https://github.com/sharkdp/bat#adding-new-syntaxes--language-definitions
|
||||
|
||||
If you think adding this syntax would help others as well, please make sure that it meets our
|
||||
guidelines for adding new syntaxes:
|
||||
|
||||
- 10,000 downloads on packagecontrol.io
|
||||
-->
|
||||
|
||||
|
||||
**Syntax:**
|
||||
[Name or description of the syntax/language here]
|
||||
|
||||
**Guideline Criteria:**
|
||||
[packagecontro.io link here]
|
5
.gitignore
vendored
5
.gitignore
vendored
@ -1,3 +1,6 @@
|
||||
|
||||
/target/
|
||||
**/*.rs.bk
|
||||
|
||||
# Generated files
|
||||
/assets/completions/bat.fish
|
||||
/assets/manual/bat.1
|
||||
|
122
.gitmodules
vendored
122
.gitmodules
vendored
@ -1,32 +1,32 @@
|
||||
[submodule "assets/syntaxes/Elixir"]
|
||||
path = assets/syntaxes/Elixir
|
||||
path = assets/syntaxes/02_Extra/Elixir
|
||||
url = https://github.com/princemaple/elixir-sublime-syntax/
|
||||
[submodule "assets/syntaxes/Packages"]
|
||||
path = assets/syntaxes/Packages
|
||||
path = assets/syntaxes/01_Packages
|
||||
url = https://github.com/sublimehq/Packages/
|
||||
[submodule "assets/syntaxes/TOML"]
|
||||
path = assets/syntaxes/TOML
|
||||
path = assets/syntaxes/02_Extra/TOML
|
||||
url = https://github.com/jasonwilliams/sublime_toml_highlighting
|
||||
[submodule "assets/syntaxes/Julia"]
|
||||
path = assets/syntaxes/Julia
|
||||
path = assets/syntaxes/02_Extra/Julia
|
||||
url = https://github.com/JuliaEditorSupport/Julia-sublime
|
||||
[submodule "assets/themes/sublime-monokai-extended"]
|
||||
path = assets/themes/sublime-monokai-extended
|
||||
url = https://github.com/jonschlinkert/sublime-monokai-extended
|
||||
[submodule "assets/syntaxes/Docker"]
|
||||
path = assets/syntaxes/Docker
|
||||
path = assets/syntaxes/02_Extra/Docker
|
||||
url = https://github.com/asbjornenge/Docker.tmbundle
|
||||
[submodule "assets/syntaxes/VimL"]
|
||||
path = assets/syntaxes/VimL
|
||||
path = assets/syntaxes/02_Extra/VimL
|
||||
url = https://github.com/SalGnt/Sublime-VimL
|
||||
[submodule "assets/syntaxes/INI"]
|
||||
path = assets/syntaxes/INI
|
||||
path = assets/syntaxes/02_Extra/INI
|
||||
url = https://github.com/clintberry/sublime-text-2-ini
|
||||
[submodule "assets/syntaxes/CMake"]
|
||||
path = assets/syntaxes/CMake
|
||||
path = assets/syntaxes/02_Extra/CMake
|
||||
url = https://github.com/zyxar/Sublime-CMakeLists
|
||||
[submodule "assets/syntaxes/LESS"]
|
||||
path = assets/syntaxes/LESS
|
||||
path = assets/syntaxes/02_Extra/LESS
|
||||
url = https://github.com/danro/LESS-sublime
|
||||
[submodule "assets/themes/DarkNeon"]
|
||||
path = assets/themes/DarkNeon
|
||||
@ -41,88 +41,138 @@
|
||||
path = assets/themes/TwoDark
|
||||
url = https://github.com/erremauro/TwoDark
|
||||
[submodule "assets/syntaxes/AWK"]
|
||||
path = assets/syntaxes/AWK
|
||||
path = assets/syntaxes/02_Extra/AWK
|
||||
url = https://github.com/JohnNilsson/awk-sublime
|
||||
[submodule "assets/syntaxes/Nix"]
|
||||
path = assets/syntaxes/Nix
|
||||
path = assets/syntaxes/02_Extra/Nix
|
||||
url = https://github.com/wmertens/sublime-nix
|
||||
[submodule "assets/themes/zenburn"]
|
||||
path = assets/themes/zenburn
|
||||
url = https://github.com/colinta/zenburn.git
|
||||
[submodule "assets/syntaxes/Kotlin"]
|
||||
path = assets/syntaxes/Kotlin
|
||||
path = assets/syntaxes/02_Extra/Kotlin
|
||||
url = https://github.com/vkostyukov/kotlin-sublime-package
|
||||
[submodule "assets/syntaxes/Elm"]
|
||||
path = assets/syntaxes/Elm
|
||||
path = assets/syntaxes/02_Extra/Elm
|
||||
url = https://github.com/elm-community/SublimeElmLanguageSupport
|
||||
[submodule "assets/syntaxes/TypeScript"]
|
||||
path = assets/syntaxes/TypeScript
|
||||
path = assets/syntaxes/02_Extra/TypeScript
|
||||
url = https://github.com/Microsoft/TypeScript-Sublime-Plugin
|
||||
[submodule "assets/syntaxes/Puppet"]
|
||||
path = assets/syntaxes/Puppet
|
||||
path = assets/syntaxes/02_Extra/Puppet
|
||||
url = https://github.com/russCloak/SublimePuppet
|
||||
[submodule "assets/syntaxes/CSV"]
|
||||
path = assets/syntaxes/CSV
|
||||
path = assets/syntaxes/02_Extra/CSV
|
||||
url = https://github.com/wadetb/Sublime-Text-Advanced-CSV
|
||||
[submodule "assets/themes/onehalf"]
|
||||
path = assets/themes/onehalf
|
||||
url = https://github.com/sonph/onehalf
|
||||
[submodule "assets/syntaxes/JavaScript (Babel)"]
|
||||
path = assets/syntaxes/JavaScript (Babel)
|
||||
path = assets/syntaxes/02_Extra/JavaScript (Babel)
|
||||
url = https://github.com/babel/babel-sublime
|
||||
[submodule "assets/syntaxes/Cabal"]
|
||||
path = assets/syntaxes/Cabal
|
||||
path = assets/syntaxes/02_Extra/Cabal
|
||||
url = https://github.com/SublimeHaskell/SublimeHaskell
|
||||
[submodule "assets/syntaxes/Dart"]
|
||||
path = assets/syntaxes/Dart
|
||||
path = assets/syntaxes/02_Extra/Dart
|
||||
url = https://github.com/guillermooo/dart-sublime-bundle
|
||||
[submodule "assets/syntaxes/FSharp"]
|
||||
path = assets/syntaxes/FSharp
|
||||
path = assets/syntaxes/02_Extra/FSharp
|
||||
url = https://github.com/hoest/sublimetext-fsharp
|
||||
[submodule "assets/syntaxes/PureScript"]
|
||||
path = assets/syntaxes/PureScript
|
||||
path = assets/syntaxes/02_Extra/PureScript
|
||||
url = https://github.com/tellnobody1/sublime-purescript-syntax
|
||||
[submodule "assets/syntaxes/Swift"]
|
||||
path = assets/syntaxes/Swift
|
||||
path = assets/syntaxes/02_Extra/Swift
|
||||
url = https://github.com/quiqueg/Swift-Sublime-Package
|
||||
[submodule "assets/syntaxes/Crystal"]
|
||||
path = assets/syntaxes/Crystal
|
||||
path = assets/syntaxes/02_Extra/Crystal
|
||||
url = https://github.com/crystal-lang-tools/sublime-crystal.git
|
||||
[submodule "assets/syntaxes/PowerShell"]
|
||||
path = assets/syntaxes/PowerShell
|
||||
path = assets/syntaxes/02_Extra/PowerShell
|
||||
url = https://github.com/PowerShell/EditorSyntax
|
||||
[submodule "assets/syntaxes/Robot"]
|
||||
path = assets/syntaxes/Robot
|
||||
path = assets/syntaxes/02_Extra/Robot
|
||||
url = https://github.com/andriyko/sublime-robot-framework-assistant.git
|
||||
[submodule "assets/themes/sublime-snazzy"]
|
||||
path = assets/themes/sublime-snazzy
|
||||
url = https://github.com/greggb/sublime-snazzy
|
||||
[submodule "assets/syntaxes/HTML (Twig)"]
|
||||
path = assets/syntaxes/HTML (Twig)
|
||||
url = https://github.com/Anomareh/PHP-Twig.tmbundle.git
|
||||
[submodule "assets/syntaxes/AsciiDoc"]
|
||||
path = assets/syntaxes/AsciiDoc
|
||||
path = assets/syntaxes/02_Extra/AsciiDoc
|
||||
url = https://github.com/SublimeText/AsciiDoc.git
|
||||
[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
|
||||
[submodule "assets/syntaxes/syslog-syntax"]
|
||||
path = assets/syntaxes/Syslog
|
||||
path = assets/syntaxes/02_Extra/Syslog
|
||||
url = https://github.com/caos21/syslog-syntax.git
|
||||
branch = master
|
||||
[submodule "assets/syntaxes/protobuf-syntax-highlighting"]
|
||||
path = assets/syntaxes/Protobuf
|
||||
path = assets/syntaxes/02_Extra/Protobuf
|
||||
url = https://github.com/VcamX/protobuf-syntax-highlighting.git
|
||||
branch = master
|
||||
[submodule "assets/syntaxes/Terraform"]
|
||||
path = assets/syntaxes/Terraform
|
||||
path = assets/syntaxes/02_Extra/Terraform
|
||||
url = https://github.com/alexlouden/Terraform.tmLanguage.git
|
||||
[submodule "assets/syntaxes/Jsonnet"]
|
||||
path = assets/syntaxes/Jsonnet
|
||||
path = assets/syntaxes/02_Extra/Jsonnet
|
||||
url = https://github.com/gburiola/sublime-jsonnet-syntax.git
|
||||
[submodule "assets/syntaxes/varlink"]
|
||||
path = assets/syntaxes/varlink
|
||||
path = assets/syntaxes/02_Extra/varlink
|
||||
url = https://github.com/varlink/syntax-highlight-varlink.git
|
||||
[submodule "assets/syntaxes/sublime-fish"]
|
||||
path = assets/syntaxes/sublime-fish
|
||||
path = assets/syntaxes/02_Extra/Fish
|
||||
url = https://github.com/Phidica/sublime-fish.git
|
||||
[submodule "assets/syntaxes/Org mode"]
|
||||
path = assets/syntaxes/02_Extra/Org mode
|
||||
url = https://github.com/jezcope/Org.tmbundle.git
|
||||
[submodule "assets/syntaxes/requirementstxt"]
|
||||
path = assets/syntaxes/02_Extra/requirementstxt
|
||||
url = https://github.com/wuub/requirementstxt
|
||||
[submodule "assets/syntaxes/DotENV"]
|
||||
path = assets/syntaxes/02_Extra/DotENV
|
||||
url = https://github.com/zaynali53/DotENV
|
||||
[submodule "assets/syntaxes/hosts"]
|
||||
path = assets/syntaxes/02_Extra/hosts
|
||||
url = https://github.com/brandonwamboldt/sublime-hosts
|
||||
[submodule "assets/syntaxes/ssh-config"]
|
||||
path = assets/syntaxes/02_Extra/ssh-config
|
||||
url = https://github.com/robballou/sublimetext-sshconfig.git
|
||||
[submodule "assets/syntaxes/GraphQL"]
|
||||
path = assets/syntaxes/02_Extra/GraphQL
|
||||
url = https://github.com/dncrews/GraphQL-SublimeText3.git
|
||||
[submodule "assets/syntaxes/Verilog"]
|
||||
path = assets/syntaxes/02_Extra/Verilog
|
||||
url = https://github.com/pro711/sublime-verilog
|
||||
[submodule "assets/syntaxes/SCSS_Sass"]
|
||||
path = assets/syntaxes/02_Extra/SCSS_Sass
|
||||
url = https://github.com/braver/SublimeSass
|
||||
[submodule "assets/syntaxes/Strace"]
|
||||
path = assets/syntaxes/02_Extra/Strace
|
||||
url = https://github.com/djuretic/SublimeStrace
|
||||
[submodule "assets/syntaxes/Jinja2"]
|
||||
path = assets/syntaxes/02_Extra/Jinja2
|
||||
url = https://github.com/Martin819/sublime-jinja2
|
||||
[submodule "assets/syntaxes/SLS"]
|
||||
path = assets/syntaxes/02_Extra/SLS
|
||||
url = https://github.com/saltstack/sublime-text
|
||||
branch = master
|
||||
[submodule "assets/themes/dracula-sublime"]
|
||||
path = assets/themes/dracula-sublime
|
||||
url = https://github.com/dracula/sublime.git
|
||||
[submodule "assets/syntaxes/HTML (Twig)"]
|
||||
path = assets/syntaxes/02_Extra/HTML (Twig)
|
||||
url = https://github.com/Anomareh/PHP-Twig.tmbundle.git
|
||||
[submodule "assets/themes/Nord-sublime"]
|
||||
path = assets/themes/Nord-sublime
|
||||
url = https://github.com/crabique/Nord-plist.git
|
||||
[submodule "assets/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
|
||||
|
29
.travis.yml
29
.travis.yml
@ -1,4 +1,5 @@
|
||||
language: rust
|
||||
cache: cargo
|
||||
|
||||
matrix:
|
||||
include:
|
||||
@ -32,24 +33,25 @@ matrix:
|
||||
|
||||
# Minimum Rust supported channel.
|
||||
- os: linux
|
||||
rust: 1.31.0
|
||||
rust: 1.36.0
|
||||
env: TARGET=x86_64-unknown-linux-gnu
|
||||
- os: linux
|
||||
rust: 1.31.0
|
||||
rust: 1.36.0
|
||||
env:
|
||||
- TARGET=x86_64-unknown-linux-musl
|
||||
- CC_x86_64_unknown_linux_musl=/usr/bin/musl-gcc
|
||||
- os: osx
|
||||
rust: 1.31.0
|
||||
rust: 1.36.0
|
||||
env: TARGET=x86_64-apple-darwin
|
||||
|
||||
# Code formatting check
|
||||
- os: linux
|
||||
rust: nightly
|
||||
# skip the global install step
|
||||
install:
|
||||
- cargo install --debug --force rustfmt-nightly
|
||||
script: cargo fmt -- --check
|
||||
# Disable nightly for now
|
||||
# # Code formatting check
|
||||
# - os: linux
|
||||
# rust: nightly
|
||||
# # skip the global install step
|
||||
# install:
|
||||
# - cargo install --debug --force rustfmt-nightly
|
||||
# script: cargo fmt -- --check
|
||||
|
||||
sudo: required
|
||||
|
||||
@ -103,10 +105,3 @@ deploy:
|
||||
notifications:
|
||||
email:
|
||||
on_success: never
|
||||
|
||||
# Caching
|
||||
cache:
|
||||
directories:
|
||||
- /home/travis/.cargo
|
||||
before_cache:
|
||||
- rm -rf /home/travis/.cargo/registry
|
||||
|
1346
Cargo.lock
generated
1346
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
26
Cargo.toml
26
Cargo.toml
@ -7,7 +7,7 @@ license = "MIT/Apache-2.0"
|
||||
name = "bat"
|
||||
readme = "README.md"
|
||||
repository = "https://github.com/sharkdp/bat"
|
||||
version = "0.11.0"
|
||||
version = "0.13.0"
|
||||
exclude = [
|
||||
"assets/syntaxes/*",
|
||||
"assets/themes/*",
|
||||
@ -16,24 +16,26 @@ build = "build.rs"
|
||||
edition = '2018'
|
||||
|
||||
[dependencies]
|
||||
atty = "0.2.2"
|
||||
ansi_term = "0.11"
|
||||
atty = "0.2.14"
|
||||
ansi_term = "^0.12.1"
|
||||
ansi_colours = "^1.0"
|
||||
console = "0.7"
|
||||
dirs = "1.0"
|
||||
lazy_static = "1.3"
|
||||
console = "0.10"
|
||||
dirs = "2.0"
|
||||
lazy_static = "1.4"
|
||||
wild = "2.0"
|
||||
content_inspector = "0.2.4"
|
||||
encoding = "0.2"
|
||||
shell-words = "0.1.0"
|
||||
unicode-width = "0.1.7"
|
||||
globset = "0.4"
|
||||
|
||||
[dependencies.git2]
|
||||
version = "0.8"
|
||||
version = "0.13"
|
||||
default-features = false
|
||||
features = []
|
||||
|
||||
[dependencies.syntect]
|
||||
version = "3.2.0"
|
||||
version = "3.3.0"
|
||||
default-features = false
|
||||
features = ["parsing", "yaml-load", "dump-load", "dump-create"]
|
||||
|
||||
@ -49,8 +51,12 @@ features = []
|
||||
|
||||
[dev-dependencies]
|
||||
tempdir = "0.3"
|
||||
assert_cmd = "0.11.1"
|
||||
escargot = "0.5.0"
|
||||
assert_cmd = "0.12.0"
|
||||
|
||||
[build-dependencies]
|
||||
clap = "2.33"
|
||||
liquid = "0.19"
|
||||
lazy_static = "1.4"
|
||||
|
||||
[profile.release]
|
||||
lto = true
|
||||
|
@ -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
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
182
README.md
182
README.md
@ -1,7 +1,7 @@
|
||||
<p align="center">
|
||||
<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://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">
|
||||
<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.
|
||||
@ -13,7 +13,7 @@
|
||||
<a href="#installation">Installation</a> •
|
||||
<a href="#customization">Customization</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>
|
||||
|
||||
### 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
|
||||
```
|
||||
|
||||
#### `ripgrep`
|
||||
|
||||
With [`batgrep`](https://github.com/eth-p/bat-extras/blob/master/doc/batgrep.md), `bat` can be used as the printer for [`ripgrep`](https://github.com/BurntSushi/ripgrep) search results.
|
||||
|
||||
```bash
|
||||
batgrep needle src/
|
||||
```
|
||||
|
||||
#### `tail -f`
|
||||
|
||||
`bat` can be combined with `tail -f` to continuously monitor a given file with syntax highlighting.
|
||||
@ -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
|
||||
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
|
||||
highlighting:
|
||||
@ -122,6 +130,8 @@ highlighting:
|
||||
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`
|
||||
|
||||
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.
|
||||
|
||||
#### `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
|
||||
|
||||
[](https://repology.org/project/bat/versions)
|
||||
|
||||
### On Ubuntu
|
||||
*... 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:
|
||||
``` bash
|
||||
sudo dpkg -i bat_0.11.0_amd64.deb # adapt version number and architecture
|
||||
```bash
|
||||
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
|
||||
@ -154,16 +203,25 @@ pacman -S bat
|
||||
|
||||
### 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
|
||||
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
|
||||
|
||||
You can install `bat` via xbps-install:
|
||||
```
|
||||
```bash
|
||||
xbps-install -S bat
|
||||
```
|
||||
|
||||
@ -194,7 +252,7 @@ nix-env -i bat
|
||||
|
||||
You can install `bat` with zypper:
|
||||
|
||||
```
|
||||
```bash
|
||||
zypper install bat
|
||||
```
|
||||
|
||||
@ -206,20 +264,38 @@ You can install `bat` with [Homebrew](http://braumeister.org/formula/bat):
|
||||
brew install bat
|
||||
```
|
||||
|
||||
### On Windows
|
||||
|
||||
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):
|
||||
Or install `bat` with [MacPorts](https://ports.macports.org/port/bat/summary):
|
||||
|
||||
```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
|
||||
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
|
||||
|
||||
@ -265,15 +341,14 @@ binaries are also available: look for archives with `musl` in the file name.
|
||||
|
||||
### 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:
|
||||
|
||||
```bash
|
||||
cargo install bat
|
||||
```
|
||||
|
||||
You may have to install `cmake` and the `libz` development package
|
||||
(`libz-dev` or `libz-devel`) in order for the build to succeed.
|
||||
On some platforms, you might need to install `llvm` and/or `libclang-dev`.
|
||||
|
||||
## 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
|
||||
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"
|
||||
```
|
||||
|
||||
@ -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).
|
||||
|
||||
**Note**: By default, if the pager is set to `less` (and no command-line options are specified),
|
||||
`bat` will pass the following command line
|
||||
options to the pager: `-R`/`--RAW-CONTROL-CHARS`, `-F`/`--quit-if-one-screen` and `-X`/`--no-init`.
|
||||
The first (`-R`) is needed to interpret ANSI colors correctly. The second option (`-F`) instructs
|
||||
`bat` will pass the following command line options to the pager: `-R`/`--RAW-CONTROL-CHARS`,
|
||||
`-F`/`--quit-if-one-screen` and `-X`/`--no-init`. The last option (`-X`) is only used for `less`
|
||||
versions older than 530.
|
||||
|
||||
The `-R` option is needed to interpret ANSI colors correctly. The second option (`-F`) instructs
|
||||
less to exit immediately if the output size is smaller than the vertical size of the terminal.
|
||||
This is convenient for small files because you do not have to press `q` to quit the pager. The
|
||||
third option (`-X`) is needed to fix a bug with the `--quit-if-one-screen` feature in old versions
|
||||
of `less`. Unfortunately, it also breaks mouse-wheel support in `less`. If you want to enable
|
||||
mouse-wheel scrolling, 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.
|
||||
of `less`. Unfortunately, it also breaks mouse-wheel support in `less`.
|
||||
|
||||
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
|
||||
|
||||
@ -414,15 +500,11 @@ Example configuration file:
|
||||
# Use italic text on the terminal (not supported on all terminals)
|
||||
--italic-text=always
|
||||
|
||||
# Add mouse scrolling support in less (does not work with older
|
||||
# versions of "less")
|
||||
--pager="less -FR"
|
||||
# Use C++ syntax for .ino files
|
||||
--map-syntax "*.ino:C++"
|
||||
|
||||
# Use C++ syntax (instead of C) for .h header files
|
||||
--map-syntax h:cpp
|
||||
|
||||
# Use "gitignore" highlighting for ".ignore" files
|
||||
--map-syntax .ignore:.gitignore
|
||||
# Use ".gitignore"-style highlighting for ".ignore" files
|
||||
--map-syntax ".ignore:Git Ignore"
|
||||
```
|
||||
|
||||
## 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:
|
||||
|
||||
```shell
|
||||
```bash
|
||||
bat() {
|
||||
local index
|
||||
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
|
||||
`OneHalfLight` themes provide grid and line colors that are brighter.
|
||||
|
||||
### File encodings
|
||||
|
||||
`bat` natively supports UTF-8 as well as UTF-16. For every other file encoding, you may need to
|
||||
convert to UTF-8 first because the encodings can typically not be auto-detected. You can `iconv`
|
||||
to do so.
|
||||
Example: if you have a PHP file in Latin-1 (ISO-8859-1) encoding, you can call:
|
||||
``` bash
|
||||
iconv -f ISO-8859-1 -t UTF-8 my-file.php | bat
|
||||
```
|
||||
Note: you might have to use the `-l`/`--language` option if the syntax can not be auto-detected
|
||||
by `bat`.
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
@ -494,7 +588,7 @@ git clone --recursive https://github.com/sharkdp/bat
|
||||
|
||||
# Build (debug version)
|
||||
cd bat
|
||||
cargo build
|
||||
cargo build --bins
|
||||
|
||||
# Run unit tests and integration tests
|
||||
cargo test
|
||||
@ -507,6 +601,11 @@ bash assets/create.sh
|
||||
cargo install -f
|
||||
```
|
||||
|
||||
## Maintainers
|
||||
|
||||
- [sharkdp](https://github.com/sharkdp)
|
||||
- [eth-p](https://github.com/eth-p)
|
||||
|
||||
## Project goals and alternatives
|
||||
|
||||
`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
|
||||
[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.
|
||||
|
@ -16,11 +16,11 @@ install:
|
||||
build: false
|
||||
test_script:
|
||||
- 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:
|
||||
# Generate artifacts for release
|
||||
- cargo build --release --verbose
|
||||
- cargo build --bins --release --verbose
|
||||
- ps: ci\before_deploy.ps1
|
||||
|
||||
deploy:
|
||||
|
6
assets/JavaDoc.sublime-syntax.patch
vendored
6
assets/JavaDoc.sublime-syntax.patch
vendored
@ -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
|
||||
--- syntaxes/Packages/Java/JavaDoc.sublime-syntax
|
||||
+++ syntaxes/Packages/Java/JavaDoc.sublime-syntax
|
||||
--- syntaxes/01_Packages/Java/JavaDoc.sublime-syntax
|
||||
+++ syntaxes/01_Packages/Java/JavaDoc.sublime-syntax
|
||||
@@ -13,7 +13,7 @@ variables:
|
||||
contexts:
|
||||
prototype:
|
||||
|
2
assets/README.md
vendored
2
assets/README.md
vendored
@ -33,7 +33,9 @@ The following files have been manually modified after converting from a `.tmLang
|
||||
|
||||
* `Dart.sublime-syntax` => removed `#regex.dart` include.
|
||||
* `INI.sublime-syntax` => added `.hgrc`, `hgrc`, and `desktop` file types.
|
||||
* `Org mode.sublime-syntax` => removed `task` file type.
|
||||
|
||||
### 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
|
||||
* `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
|
||||
|
76
assets/completions/bat.fish
vendored
76
assets/completions/bat.fish
vendored
@ -1,76 +0,0 @@
|
||||
# Fish Shell Completions
|
||||
# Place or symlink to $XDG_CONFIG_HOME/fish/completions/bat.fish ($XDG_CONFIG_HOME is usually set to ~/.config)
|
||||
|
||||
# Helper function:
|
||||
function __bat_autocomplete_languages --description "A helper function used by "(status filename)
|
||||
bat --list-languages | awk -F':' '
|
||||
{
|
||||
lang=$1
|
||||
split($2, exts, ",")
|
||||
|
||||
for (i in exts) {
|
||||
ext=exts[i]
|
||||
if (ext !~ /[A-Z].*/ && ext !~ /^\..*rc$/) {
|
||||
print ext"\t"lang
|
||||
}
|
||||
}
|
||||
}
|
||||
' | sort
|
||||
end
|
||||
|
||||
# Completions:
|
||||
|
||||
complete -c bat -l color -xka "auto never always" -d "Specify when to use colored output (default: auto)" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -l config-dir -d "Display location of 'bat' configuration directory" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -l config-file -d "Display location of 'bat' configuration file" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -l decorations -xka "auto never always" -d "Specify when to use the decorations specified with '--style' (default: auto)" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -s h -l help -d "Print help message" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -s H -l highlight-line -x -d "<N> Highlight the N-th line with a different background color" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -l italic-text -xka "always never" -d "Specify when to use ANSI sequences for italic text (default: never)" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -s l -l language -d "Set the language for syntax highlighting" -n "not __fish_seen_subcommand_from cache" -xa "(__bat_autocomplete_languages)"
|
||||
|
||||
complete -c bat -s r -l line-range -x -d "<N:M> Only print the specified range of lines for each file" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -l list-languages -d "Display list of supported languages for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -l list-themes -d "Display a list of supported themes for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -s m -l map-syntax -x -d "<from:to> Map a file extension or file name to an existing syntax" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -s n -l number -d "Only show line numbers, no other decorations. Alias for '--style=numbers'" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -l pager -x -d "<command> Specify which pager program to use (default: less)" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -l paging -xka "auto never always" -d "Specify when to use the pager (default: auto)" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -s p -l plain -d "Only show plain style, no decorations. Alias for '--style=plain'" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -s A -l show-all -d "Show non-printable characters like space/tab/newline" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -l style -xka "auto full plain changes header grid numbers" -d "Comma-separated list of style elements or presets to display with file contents" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -l tabs -x -d "<T> Set the tab width to T spaces (width of 0 passes tabs through directly)" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -l terminal-width -x -d "<width> Explicitly set terminal width; Prefix with '+' or '-' to offset (default width is auto determined)" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -l theme -xka "(bat --list-themes | cat)" -d "Set the theme for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -s u -l unbuffered -d "POSIX-compliant unbuffered output. Option is ignored" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -s V -l version -d "Show version information" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -l wrap -xka "auto never character" -d "<mode> Specify the text-wrapping mode (default: auto)" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
# Sub-command 'cache' completions
|
||||
complete -c bat -a "cache" -d "Modify the syntax/language definition cache" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -l build -f -d "Parse syntaxes/language definitions into cache" -n "__fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c bat -l clear -f -d "Reset syntaxes/language definitions to default settings" -n "__fish_seen_subcommand_from cache"
|
76
assets/completions/bat.fish.in
vendored
Normal file
76
assets/completions/bat.fish.in
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
# Fish Shell Completions
|
||||
# Place or symlink to $XDG_CONFIG_HOME/fish/completions/{{PROJECT_EXECUTABLE}}.fish ($XDG_CONFIG_HOME is usually set to ~/.config)
|
||||
|
||||
# Helper function:
|
||||
function __{{PROJECT_EXECUTABLE}}_autocomplete_languages --description "A helper function used by "(status filename)
|
||||
{{PROJECT_EXECUTABLE}} --list-languages | awk -F':' '
|
||||
{
|
||||
lang=$1
|
||||
split($2, exts, ",")
|
||||
|
||||
for (i in exts) {
|
||||
ext=exts[i]
|
||||
if (ext !~ /[A-Z].*/ && ext !~ /^\..*rc$/) {
|
||||
print ext"\t"lang
|
||||
}
|
||||
}
|
||||
}
|
||||
' | sort
|
||||
end
|
||||
|
||||
# Completions:
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -l color -xka "auto never always" -d "Specify when to use colored output (default: auto)" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -l config-dir -d "Display location of '{{PROJECT_EXECUTABLE}}' configuration directory" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -l config-file -d "Display location of '{{PROJECT_EXECUTABLE}}' configuration file" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -l decorations -xka "auto never always" -d "Specify when to use the decorations specified with '--style' (default: auto)" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -s h -l help -d "Print help message" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -s H -l highlight-line -x -d "<N> Highlight the N-th line with a different background color" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -l italic-text -xka "always never" -d "Specify when to use ANSI sequences for italic text (default: never)" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -s l -l language -d "Set the language for syntax highlighting" -n "not __fish_seen_subcommand_from cache" -xa "(__{{PROJECT_EXECUTABLE}}_autocomplete_languages)"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -s r -l line-range -x -d "<N:M> Only print the specified range of lines for each file" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -l list-languages -d "Display list of supported languages for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -l list-themes -d "Display a list of supported themes for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -s m -l map-syntax -x -d "<from:to> Map a file extension or file name to an existing syntax" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -s n -l number -d "Only show line numbers, no other decorations. Alias for '--style=numbers'" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -l pager -x -d "<command> Specify which pager program to use (default: less)" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -l paging -xka "auto never always" -d "Specify when to use the pager (default: auto)" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -s p -l plain -d "Only show plain style, no decorations. Alias for '--style=plain'" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -s A -l show-all -d "Show non-printable characters like space/tab/newline" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -l style -xka "auto full plain changes header grid numbers" -d "Comma-separated list of style elements or presets to display with file contents" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -l tabs -x -d "<T> Set the tab width to T spaces (width of 0 passes tabs through directly)" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -l terminal-width -x -d "<width> Explicitly set terminal width; Prefix with '+' or '-' to offset (default width is auto determined)" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -l theme -xka "({{PROJECT_EXECUTABLE}} --list-themes | cat)" -d "Set the theme for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -s u -l unbuffered -d "POSIX-compliant unbuffered output. Option is ignored" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -s V -l version -d "Show version information" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -l wrap -xka "auto never character" -d "<mode> Specify the text-wrapping mode (default: auto)" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
# Sub-command 'cache' completions
|
||||
complete -c {{PROJECT_EXECUTABLE}} -a "cache" -d "Modify the syntax/language definition cache" -n "not __fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -l build -f -d "Parse syntaxes/language definitions into cache" -n "__fish_seen_subcommand_from cache"
|
||||
|
||||
complete -c {{PROJECT_EXECUTABLE}} -l clear -f -d "Reset syntaxes/language definitions to default settings" -n "__fish_seen_subcommand_from cache"
|
38
assets/create.sh
vendored
38
assets/create.sh
vendored
@ -2,13 +2,49 @@
|
||||
set -euo pipefail
|
||||
|
||||
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
|
||||
bat cache --clear
|
||||
|
||||
# TODO: Remove this (and the reverse part below) when
|
||||
# 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"
|
||||
patch "$JAVADOC_FILE" "$JAVADOC_PATCH"
|
||||
|
||||
|
197
doc/bat.1 → assets/manual/bat.1.in
vendored
197
doc/bat.1 → assets/manual/bat.1.in
vendored
@ -1,81 +1,76 @@
|
||||
.TH BAT "1"
|
||||
.TH {{PROJECT_EXECUTABLE | upcase}} "1"
|
||||
.SH NAME
|
||||
bat \- manual page for bat
|
||||
.SH DESCRIPTION
|
||||
bat - a cat(1) clone with syntax highlighting and Git integration.
|
||||
{{PROJECT_EXECUTABLE}} \- a cat(1) clone with syntax highlighting and Git integration.
|
||||
.SH "USAGE"
|
||||
.IP
|
||||
bat [OPTIONS] [FILE]...
|
||||
.IP
|
||||
bat <SUBCOMMAND>
|
||||
.IP "{{PROJECT_EXECUTABLE}} [OPTIONS] [FILE]..."
|
||||
.IP "{{PROJECT_EXECUTABLE}} cache [CACHE-OPTIONS] [--build|--clear]
|
||||
.SH DESCRIPTION
|
||||
{{PROJECT_EXECUTABLE}} prints the syntax-highlighted content of a collection of FILEs to the
|
||||
terminal. If no FILE is specified, or when FILE is '-', it reads from standard input.
|
||||
|
||||
{{PROJECT_EXECUTABLE}} supports a large number of programming and markup languages.
|
||||
It also communicates with git(1) to show modifications with respect to the git index.
|
||||
{{PROJECT_EXECUTABLE}} automatically pipes its output through a pager (by default: less).
|
||||
|
||||
Whenever the output of {{PROJECT_EXECUTABLE}} goes to a non-interactive terminal, i.e. when the
|
||||
output is piped into another process or into a file, {{PROJECT_EXECUTABLE}} will act as a drop-in
|
||||
replacement for cat(1) and fall back to printing the plain file contents.
|
||||
|
||||
.SH "OPTIONS"
|
||||
General remarks: Command-line options like '-l'/'--language' that take values can be specified as
|
||||
either '--language value', '--language=value', '-l value' or '-lvalue'.
|
||||
.HP
|
||||
\fB\-l\fR, \fB\-\-language\fR <language>
|
||||
\fB\-A\fR, \fB\-\-show\-all\fR
|
||||
.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\-\-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.
|
||||
Show non\-printable characters like space, tab or newline. Use '\-\-tabs' to
|
||||
control the width of the tab\-placeholders.
|
||||
.HP
|
||||
\fB\-p\fR, \fB\-\-plain\fR
|
||||
.IP
|
||||
Only show plain style, no decorations. This is an alias for '\-\-style=plain'. When '\-p'
|
||||
is used twice ('\-pp'), it also disables automatic paging (alias for '\-\-style=plain
|
||||
\fB\-\-pager\fR=\fI\,never\/\fR').
|
||||
Only show plain style, no decorations. This is an alias for
|
||||
\&'\-\-style=plain'. When '\-p' is used twice ('\-pp'), it also disables
|
||||
automatic paging (alias for '\-\-style=plain \fB\-\-pager\fR=\fI\,never\/\fR').
|
||||
.HP
|
||||
\fB\-l\fR, \fB\-\-language\fR <language>
|
||||
.IP
|
||||
Explicitly set the language for syntax highlighting. The language can be
|
||||
specified as a name (like 'C++' or 'LaTeX') or possible file extension
|
||||
(like 'cpp', 'hpp' or 'md'). Use '\-\-list\-languages' to show all supported
|
||||
language names and file extensions.
|
||||
.HP
|
||||
\fB\-H\fR, \fB\-\-highlight\-line\fR <N:M>...
|
||||
.IP
|
||||
Highlight the specified line ranges with a different background color For example:
|
||||
.RS
|
||||
.IP "\-\-highlight\-line 40"
|
||||
highlights line 40
|
||||
.IP "\-\-highlight\-line 30:40"
|
||||
highlights lines 30 to 40
|
||||
.IP "\-\-highlight\-line :40"
|
||||
highlights lines 1 to 40
|
||||
.IP "\-\-highlight\-line 40:"
|
||||
highlights lines 40 to the end of the file
|
||||
.RE
|
||||
.HP
|
||||
\fB\-\-tabs\fR <T>
|
||||
.IP
|
||||
Set the tab width to T spaces. Use a width of 0 to pass tabs through directly
|
||||
.HP
|
||||
\fB\-\-wrap\fR <mode>
|
||||
.IP
|
||||
Specify the text\-wrapping mode (*auto*, never, character). The '\-\-terminal\-width' option
|
||||
can be used in addition to control the output width.
|
||||
.HP
|
||||
\fB\-\-terminal\-width\fR <width>
|
||||
.IP
|
||||
Explicitly set the width of the terminal instead of determining it automatically. If
|
||||
prefixed with '+' or '\-', the value will be treated as an offset to the actual terminal
|
||||
width. See also: '\-\-wrap'.
|
||||
.HP
|
||||
\fB\-n\fR, \fB\-\-number\fR
|
||||
.IP
|
||||
Only show line numbers, no other decorations. This is an alias for '\-\-style=numbers'
|
||||
.HP
|
||||
\fB\-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>
|
||||
.IP
|
||||
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
|
||||
the '\-\-paging' option. Example: '\-\-pager "less \fB\-RF\fR"'.
|
||||
.HP
|
||||
\fB\-\-wrap\fR <mode>
|
||||
\fB\-m\fR, \fB\-\-map\-syntax\fR <glob-pattern:syntax-name>...
|
||||
.IP
|
||||
Specify the text\-wrapping mode (*auto*, never, character). The '\-\-terminal\-width' option
|
||||
can be used in addition to control the output width.
|
||||
Map a glob pattern to an existing syntax name. The glob pattern is matched on the full
|
||||
path and the filename. For example, to highlight *.build files with the Python syntax,
|
||||
use -m '*.build:Python'. To highlight files named '.myignore' with the Git Ignore
|
||||
syntax, use -m '.myignore:Git Ignore'.
|
||||
.HP
|
||||
\fB\-\-tabs\fR <T>
|
||||
\fB\-\-theme\fR <theme>
|
||||
.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
|
||||
\fB\-u\fR, \fB\-\-unbuffered\fR
|
||||
.IP
|
||||
This option exists for POSIX\-compliance reasons ('u' is for 'unbuffered'). The output is
|
||||
always unbuffered \- this option is simply ignored.
|
||||
.HP
|
||||
\fB\-\-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
|
||||
.IP
|
||||
Print this help message.
|
||||
@ -132,13 +154,20 @@ Print this help message.
|
||||
\fB\-V\fR, \fB\-\-version\fR
|
||||
.IP
|
||||
Show version information.
|
||||
.SH "ARGS"
|
||||
.SH "POSITIONAL ARGUMENTS"
|
||||
.HP
|
||||
\fB<FILE>...\fR
|
||||
.IP
|
||||
<FILE>...
|
||||
.IP
|
||||
File(s) to print / concatenate. Use a dash ('\-') or no argument at all to read
|
||||
from standard input.
|
||||
Files to print and concatenate. Use a dash ('\-') or no argument at all to read from
|
||||
standard input.
|
||||
.SH "SUBCOMMANDS"
|
||||
.IP
|
||||
cache
|
||||
Modify the syntax\-definition and theme cache
|
||||
.HP
|
||||
\fBcache\fR - Modify the syntax\-definition and theme cache.
|
||||
.SH "FILES"
|
||||
{{PROJECT_EXECUTABLE}} can also be customized with a configuration file. The location of the file
|
||||
is dependent on your operating system. To get the default path for your system, call:
|
||||
|
||||
\fB{{PROJECT_EXECUTABLE}} --config-file\fR
|
||||
|
||||
Alternatively, you can use the BAT_CONFIG_PATH environment variable to point bat to a non-default
|
||||
location of the configuration file.
|
BIN
assets/syntaxes.bin
vendored
BIN
assets/syntaxes.bin
vendored
Binary file not shown.
1
assets/syntaxes/01_Packages
vendored
Submodule
1
assets/syntaxes/01_Packages
vendored
Submodule
Submodule assets/syntaxes/01_Packages added at 759d6eed9b
0
assets/syntaxes/AsciiDoc.sublime-syntax → assets/syntaxes/02_Extra/AsciiDoc.sublime-syntax
vendored
0
assets/syntaxes/AsciiDoc.sublime-syntax → assets/syntaxes/02_Extra/AsciiDoc.sublime-syntax
vendored
1
assets/syntaxes/02_Extra/Cabal
vendored
Submodule
1
assets/syntaxes/02_Extra/Cabal
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Cabal added at 2d98cb79eb
@ -33,7 +33,7 @@ contexts:
|
||||
captures:
|
||||
1: constant.other.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
|
||||
captures:
|
||||
1: keyword.entity.cabal
|
1
assets/syntaxes/02_Extra/CoffeeScript
vendored
Submodule
1
assets/syntaxes/02_Extra/CoffeeScript
vendored
Submodule
Submodule assets/syntaxes/02_Extra/CoffeeScript added at e08f9b8cdf
271
assets/syntaxes/02_Extra/CoffeeScript.sublime-syntax
vendored
Normal file
271
assets/syntaxes/02_Extra/CoffeeScript.sublime-syntax
vendored
Normal file
@ -0,0 +1,271 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: CoffeeScript
|
||||
comment: "CoffeeScript Syntax: version 1"
|
||||
file_extensions:
|
||||
- coffee
|
||||
- Cakefile
|
||||
- coffee.erb
|
||||
- cson
|
||||
first_line_match: ^#!.*\bcoffee
|
||||
scope: source.coffee
|
||||
contexts:
|
||||
main:
|
||||
- match: '(\([^()]*?\))\s*([=-]>)'
|
||||
comment: "match stuff like: a -> …"
|
||||
scope: meta.inline.function.coffee
|
||||
captures:
|
||||
1: variable.parameter.function.coffee
|
||||
2: storage.type.function.coffee
|
||||
- match: (new)\s+(\w+(?:\.\w*)*)
|
||||
scope: meta.class.instance.constructor
|
||||
captures:
|
||||
1: keyword.operator.new.coffee
|
||||
2: support.class.coffee
|
||||
- match: "'''"
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.coffee
|
||||
push:
|
||||
- meta_scope: string.quoted.heredoc.coffee
|
||||
- match: "'''"
|
||||
captures:
|
||||
0: punctuation.definition.string.end.coffee
|
||||
pop: true
|
||||
- match: '"""'
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.coffee
|
||||
push:
|
||||
- meta_scope: string.quoted.double.heredoc.coffee
|
||||
- match: '"""'
|
||||
captures:
|
||||
0: punctuation.definition.string.end.coffee
|
||||
pop: true
|
||||
- match: \\.
|
||||
scope: constant.character.escape.coffee
|
||||
- include: interpolated_coffee
|
||||
- match: "`"
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.coffee
|
||||
push:
|
||||
- meta_scope: string.quoted.script.coffee
|
||||
- match: "`"
|
||||
captures:
|
||||
0: punctuation.definition.string.end.coffee
|
||||
pop: true
|
||||
- match: '\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)'
|
||||
scope: constant.character.escape.coffee
|
||||
- match: (?<!#)###(?!#)
|
||||
captures:
|
||||
0: punctuation.definition.comment.coffee
|
||||
push:
|
||||
- meta_scope: comment.block.coffee
|
||||
- match: '###(?:[ \t]*\n)'
|
||||
captures:
|
||||
0: punctuation.definition.comment.coffee
|
||||
pop: true
|
||||
- match: '@\w*'
|
||||
scope: storage.type.annotation.coffeescript
|
||||
- match: '(#)(?!\{).*$\n?'
|
||||
scope: comment.line.number-sign.coffee
|
||||
captures:
|
||||
1: punctuation.definition.comment.coffee
|
||||
- match: "/{3}"
|
||||
push:
|
||||
- meta_scope: string.regexp.coffee
|
||||
- match: "/{3}[imgy]{0,4}"
|
||||
pop: true
|
||||
- include: interpolated_coffee
|
||||
- include: embedded_comment
|
||||
- match: '/(?![\s=/*+{}?]).*?[^\\]/[igmy]{0,4}(?![a-zA-Z0-9])'
|
||||
scope: string.regexp.coffee
|
||||
- match: |-
|
||||
(?x)
|
||||
\b(?<![\.\$])(
|
||||
break|by|catch|continue|else|finally|for|in|of|if|return|switch|
|
||||
then|throw|try|unless|when|while|until|loop|do|(?<=for)\s+own
|
||||
)(?!\s*:)\b
|
||||
scope: keyword.control.coffee
|
||||
- match: |-
|
||||
(?x)
|
||||
and=|or=|!|%|&|\^|\*|\/|(\-)?\-(?!>)|\+\+|\+|~|==|=(?!>)|!=|<=|>=|<<=|>>=|
|
||||
>>>=|<>|<|>|!|&&|\.\.(\.)?|\?|\||\|\||\:|\*=|(?<!\()/=|%=|\+=|\-=|&=|
|
||||
\^=|\b(?<![\.\$])(instanceof|new|delete|typeof|and|or|is|isnt|not|super)\b
|
||||
scope: keyword.operator.coffee
|
||||
- match: '([a-zA-Z\$_](\w|\$|\.)*\s*(?!\::)((:)|(=[^=]))(?!(\s*\(.*\))?\s*((=|-)>)))'
|
||||
scope: variable.assignment.coffee
|
||||
captures:
|
||||
1: variable.assignment.coffee
|
||||
4: punctuation.separator.key-value
|
||||
5: keyword.operator.coffee
|
||||
- match: '(?<=\s|^)([\[\{])(?=.*?[\]\}]\s+[:=])'
|
||||
captures:
|
||||
0: keyword.operator.coffee
|
||||
push:
|
||||
- meta_scope: meta.variable.assignment.destructured.coffee
|
||||
- match: '([\]\}]\s*[:=])'
|
||||
captures:
|
||||
0: keyword.operator.coffee
|
||||
pop: true
|
||||
- include: variable_name
|
||||
- include: instance_variable
|
||||
- include: single_quoted_string
|
||||
- include: double_quoted_string
|
||||
- include: numeric
|
||||
- match: |-
|
||||
(?x)
|
||||
(\s*)
|
||||
(?=[a-zA-Z\$_])
|
||||
(
|
||||
[a-zA-Z\$_](\w|\$|:|\.)*\s*
|
||||
(?=[:=](\s*\(.*\))?\s*([=-]>))
|
||||
)
|
||||
scope: meta.function.coffee
|
||||
captures:
|
||||
2: entity.name.function.coffee
|
||||
3: entity.name.function.coffee
|
||||
4: variable.parameter.function.coffee
|
||||
5: storage.type.function.coffee
|
||||
- match: ^\s*(describe|it|app\.(get|post|put|all|del|delete))
|
||||
comment: Show well-known functions from Express and Mocha in Go To Symbol view
|
||||
push:
|
||||
- meta_scope: meta.function.symbols.coffee
|
||||
- match: $
|
||||
pop: true
|
||||
- include: main
|
||||
- match: "[=-]>"
|
||||
scope: storage.type.function.coffee
|
||||
- match: '\b(?<!\.)(true|on|yes)(?!\s*[:=])\b'
|
||||
scope: constant.language.boolean.true.coffee
|
||||
- match: '\b(?<!\.)(false|off|no)(?!\s*[:=])\b'
|
||||
scope: constant.language.boolean.false.coffee
|
||||
- match: '\b(?<!\.)null(?!\s*[:=])\b'
|
||||
scope: constant.language.null.coffee
|
||||
- match: '\b(?<!\.)(this|extends)(?!\s*[:=])\b'
|
||||
scope: variable.language.coffee
|
||||
- match: '(class\b)\s+(@?[a-zA-Z\$_][\w\.]*)?(?:\s+(extends)\s+(@?[a-zA-Z\$\._][\w\.]*))?'
|
||||
scope: meta.class.coffee
|
||||
captures:
|
||||
1: storage.type.class.coffee
|
||||
2: entity.name.type.class.coffee
|
||||
3: keyword.control.inheritance.coffee
|
||||
4: entity.other.inherited-class.coffee
|
||||
- match: \b(debugger|\\)\b
|
||||
scope: keyword.other.coffee
|
||||
- match: |-
|
||||
(?x)\b(
|
||||
Array|ArrayBuffer|Blob|Boolean|Date|document|event|Function|
|
||||
Int(8|16|32|64)Array|Math|Map|Number|
|
||||
Object|Proxy|RegExp|Set|String|WeakMap|
|
||||
window|Uint(8|16|32|64)Array|XMLHttpRequest
|
||||
)\b
|
||||
scope: support.class.coffee
|
||||
- match: ((?<=console\.)(debug|warn|info|log|error|time|timeEnd|assert))\b
|
||||
scope: support.function.console.coffee
|
||||
- match: |-
|
||||
(?x)\b(
|
||||
decodeURI(Component)?|encodeURI(Component)?|eval|parse(Float|Int)|require
|
||||
)\b
|
||||
scope: support.function.coffee
|
||||
- match: |-
|
||||
(?x)((?<=\.)(
|
||||
apply|call|concat|every|filter|forEach|from|hasOwnProperty|indexOf|
|
||||
isPrototypeOf|join|lastIndexOf|map|of|pop|propertyIsEnumerable|push|
|
||||
reduce(Right)?|reverse|shift|slice|some|sort|splice|to(Locale)?String|
|
||||
unshift|valueOf
|
||||
))\b
|
||||
scope: support.function.method.array.coffee
|
||||
- match: |-
|
||||
(?x)((?<=Array\.)(
|
||||
isArray
|
||||
))\b
|
||||
scope: support.function.static.array.coffee
|
||||
- match: |-
|
||||
(?x)((?<=Object\.)(
|
||||
create|definePropert(ies|y)|freeze|getOwnProperty(Descriptors?|Names)|
|
||||
getProperty(Descriptor|Names)|getPrototypeOf|is(Extensible|Frozen|Sealed)?|
|
||||
isnt|keys|preventExtensions|seal
|
||||
))\b
|
||||
scope: support.function.static.object.coffee
|
||||
- match: |-
|
||||
(?x)((?<=Math\.)(
|
||||
abs|acos|acosh|asin|asinh|atan|atan2|atanh|ceil|cos|cosh|exp|expm1|floor|
|
||||
hypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|
|
||||
tan|tanh|trunc
|
||||
))\b
|
||||
scope: support.function.static.math.coffee
|
||||
- match: |-
|
||||
(?x)((?<=Number\.)(
|
||||
is(Finite|Integer|NaN)|toInteger
|
||||
))\b
|
||||
scope: support.function.static.number.coffee
|
||||
- match: \b(Infinity|NaN|undefined)\b
|
||||
scope: constant.language.coffee
|
||||
- match: \;
|
||||
scope: punctuation.terminator.statement.coffee
|
||||
- match: ',[ |\t]*'
|
||||
scope: meta.delimiter.object.comma.coffee
|
||||
- match: \.
|
||||
scope: meta.delimiter.method.period.coffee
|
||||
- match: '\{|\}'
|
||||
scope: meta.brace.curly.coffee
|
||||
- match: \(|\)
|
||||
scope: meta.brace.round.coffee
|
||||
- match: '\[|\]\s*'
|
||||
scope: meta.brace.square.coffee
|
||||
- include: instance_variable
|
||||
- include: single_quoted_string
|
||||
- include: double_quoted_string
|
||||
- include: numeric
|
||||
double_quoted_string:
|
||||
- match: '"'
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.coffee
|
||||
push:
|
||||
- meta_scope: string.quoted.double.coffee
|
||||
- match: '"'
|
||||
captures:
|
||||
0: punctuation.definition.string.end.coffee
|
||||
pop: true
|
||||
- match: '\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)'
|
||||
scope: constant.character.escape.coffee
|
||||
- include: interpolated_coffee
|
||||
embedded_comment:
|
||||
- match: (?<!\\)(#).*$\n?
|
||||
scope: comment.line.number-sign.coffee
|
||||
captures:
|
||||
1: punctuation.definition.comment.coffee
|
||||
instance_variable:
|
||||
- match: '(@)([a-zA-Z_\$]\w*)?'
|
||||
scope: variable.other.readwrite.instance.coffee
|
||||
interpolated_coffee:
|
||||
- match: '\#\{'
|
||||
captures:
|
||||
0: punctuation.section.embedded.coffee
|
||||
push:
|
||||
- meta_scope: source.coffee.embedded.source
|
||||
- match: '\}'
|
||||
captures:
|
||||
0: punctuation.section.embedded.coffee
|
||||
pop: true
|
||||
- include: main
|
||||
numeric:
|
||||
- match: '(?<!\$)\b((0([box])[0-9a-fA-F]+)|([0-9]+(\.[0-9]+)?(e[+\-]?[0-9]+)?))\b'
|
||||
scope: constant.numeric.coffee
|
||||
single_quoted_string:
|
||||
- match: "'"
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.coffee
|
||||
push:
|
||||
- meta_scope: string.quoted.single.coffee
|
||||
- match: "'"
|
||||
captures:
|
||||
0: punctuation.definition.string.end.coffee
|
||||
pop: true
|
||||
- match: '\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)'
|
||||
scope: constant.character.escape.coffee
|
||||
variable_name:
|
||||
- match: '([a-zA-Z\$_]\w*(\.\w+)*)'
|
||||
scope: variable.assignment.coffee
|
||||
captures:
|
||||
1: variable.assignment.coffee
|
14
assets/syntaxes/02_Extra/CpuInfo.sublime-syntax
vendored
Normal file
14
assets/syntaxes/02_Extra/CpuInfo.sublime-syntax
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: CpuInfo
|
||||
file_extensions:
|
||||
- cpuinfo
|
||||
scope: source.cpuinfo
|
||||
|
||||
contexts:
|
||||
main:
|
||||
- match: '^([^:]+)\w*:\w*(.*)$'
|
||||
captures:
|
||||
1: keyword.other.cpuinfo-key
|
||||
2: string.other.cpuinfo-value
|
1
assets/syntaxes/02_Extra/Crystal
vendored
Submodule
1
assets/syntaxes/02_Extra/Crystal
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Crystal added at 2ee9d667ae
18
assets/syntaxes/Crystal.sublime-syntax → assets/syntaxes/02_Extra/Crystal.sublime-syntax
vendored
18
assets/syntaxes/Crystal.sublime-syntax → assets/syntaxes/02_Extra/Crystal.sublime-syntax
vendored
@ -131,9 +131,9 @@ contexts:
|
||||
scope: keyword.control.pseudo-method.crystal
|
||||
- match: '\b(nil|true|false)\b(?![?!])'
|
||||
scope: constant.language.crystal
|
||||
- match: '\b(__(DIR|FILE|LINE)__|self)\b(?![?!])'
|
||||
- match: '\b(__(DIR|FILE|LINE|END_LINE)__|self)\b(?![?!])'
|
||||
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..
|
||||
scope: keyword.control.special-method.crystal
|
||||
- match: \b(require)\b
|
||||
@ -180,7 +180,7 @@ contexts:
|
||||
(?<=^|\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]*(?>[?!]|=(?!>))? # the method name
|
||||
|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) # …or an operator method
|
||||
|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\](?:=|\?)?) ) # …or an operator method
|
||||
\s*(\() # the openning parenthesis for arguments
|
||||
comment: the method pattern comes from the symbol pattern, see there for a explaination
|
||||
captures:
|
||||
@ -201,7 +201,7 @@ contexts:
|
||||
(?<=^|\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}]*(?>[?!]|=(?!>))? # the method name
|
||||
|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) # …or an operator method
|
||||
|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\](?:=|\?)?) ) # …or an operator method
|
||||
[ \t] # the space separating the arguments
|
||||
(?=[ \t]*[^\s#;]) # make sure arguments and not a comment follow
|
||||
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…
|
||||
( (?>[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
|
||||
|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) )? # …or an operator method
|
||||
|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\](?:=|\?)?) ) )? # …or an operator method
|
||||
comment: the optional name is just to catch the def also without a method-name
|
||||
scope: meta.function.method.without-arguments.crystal
|
||||
captures:
|
||||
@ -588,7 +588,7 @@ contexts:
|
||||
pop: true
|
||||
- match: \\.
|
||||
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
|
||||
scope: constant.other.symbol.crystal
|
||||
captures:
|
||||
@ -713,14 +713,14 @@ contexts:
|
||||
captures:
|
||||
0: punctuation.definition.string.begin.crystal
|
||||
push:
|
||||
- meta_scope: string.unquoted.embedded.js.jquery.crystal
|
||||
- meta_content_scope: text.js.jquery.embedded.crystal
|
||||
- meta_scope: string.unquoted.embedded.js.crystal
|
||||
- meta_content_scope: text.js.embedded.crystal
|
||||
- match: \s*\2$
|
||||
captures:
|
||||
0: punctuation.definition.string.end.crystal
|
||||
pop: true
|
||||
- include: heredoc
|
||||
- include: scope:source.js.jquery
|
||||
- include: scope:source.js
|
||||
- include: interpolated_crystal
|
||||
- include: escaped_char
|
||||
- match: '(?><<-("?)((?:[_\w]+_|)(?:SH|SHELL))\b\1)'
|
1
assets/syntaxes/02_Extra/Docker
vendored
Submodule
1
assets/syntaxes/02_Extra/Docker
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Docker added at 9e9a518aed
1
assets/syntaxes/02_Extra/DotENV
vendored
Submodule
1
assets/syntaxes/02_Extra/DotENV
vendored
Submodule
Submodule assets/syntaxes/02_Extra/DotENV added at a1c917633d
91
assets/syntaxes/02_Extra/DotENV.sublime-syntax
vendored
Normal file
91
assets/syntaxes/02_Extra/DotENV.sublime-syntax
vendored
Normal file
@ -0,0 +1,91 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: DotENV
|
||||
file_extensions:
|
||||
- .env
|
||||
- .envrc
|
||||
- .env.dist
|
||||
- .env.local
|
||||
- .env.sample
|
||||
- .env.example
|
||||
- .env.test
|
||||
- .env.test.local
|
||||
- .env.testing
|
||||
- .env.dev
|
||||
- .env.development
|
||||
- .env.development.local
|
||||
- .env.prod
|
||||
- .env.production
|
||||
- .env.production.local
|
||||
- .env.dusk.local
|
||||
- .flaskenv
|
||||
- .env.staging
|
||||
scope: source.env
|
||||
contexts:
|
||||
main:
|
||||
- match: (#).*$\n?
|
||||
comment: "Comments - starts with #"
|
||||
scope: comment.line.number-sign.env
|
||||
captures:
|
||||
1: punctuation.definition.comment.env
|
||||
- match: (\")
|
||||
comment: Strings (double)
|
||||
captures:
|
||||
1: punctuation.definition.string.begin.env
|
||||
push:
|
||||
- meta_scope: string.quoted.double.env
|
||||
- match: (\")
|
||||
captures:
|
||||
1: punctuation.definition.string.end
|
||||
pop: true
|
||||
- include: interpolation
|
||||
- include: variable
|
||||
- include: escape-characters
|
||||
- match: (\')
|
||||
comment: Strings (single)
|
||||
captures:
|
||||
1: punctuation.definition.string.begin.env
|
||||
push:
|
||||
- meta_scope: string.quoted.single.env
|
||||
- match: (\')
|
||||
captures:
|
||||
1: punctuation.definition.string.end
|
||||
pop: true
|
||||
- match: '(?<=[\w])\s?='
|
||||
comment: Assignment Operator
|
||||
scope: keyword.operator.assignment.env
|
||||
- match: '([\w]+)(?=\s?\=)'
|
||||
comment: Variable
|
||||
scope: variable.other.env
|
||||
- match: (?i)\s?(export)
|
||||
comment: Keywords
|
||||
scope: keyword.other.env
|
||||
- match: (?i)(?<=\=)\s?(true|false|null)
|
||||
comment: Constants
|
||||
scope: constant.language.env
|
||||
- match: '\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b'
|
||||
comment: Numeric
|
||||
scope: constant.numeric.env
|
||||
escape-characters:
|
||||
- match: '\\[nrt\\\$\"\'']'
|
||||
scope: constant.character.escape.env
|
||||
interpolation:
|
||||
- match: '(\$\{|\{)'
|
||||
comment: 'Template Syntax: "foo ${bar} {$baz}"'
|
||||
captures:
|
||||
1: string.interpolated.env keyword.other.template.begin.env
|
||||
push:
|
||||
- match: '(\})'
|
||||
captures:
|
||||
1: string.interpolated.env keyword.other.template.end.env
|
||||
pop: true
|
||||
- match: '(?x)(\$+)?([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*?\b)'
|
||||
captures:
|
||||
1: punctuation.definition.variable.env variable.other.env
|
||||
2: variable.other.env
|
||||
variable:
|
||||
- match: '(?x)(\$+)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*?\b)'
|
||||
captures:
|
||||
1: punctuation.definition.variable.env variable.other.env
|
||||
2: variable.other.env
|
1
assets/syntaxes/02_Extra/Elixir
vendored
Submodule
1
assets/syntaxes/02_Extra/Elixir
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Elixir added at 89b3bada32
1
assets/syntaxes/02_Extra/Fish
vendored
Submodule
1
assets/syntaxes/02_Extra/Fish
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Fish added at 2c254cc851
133
assets/syntaxes/02_Extra/Fstab.sublime-syntax
vendored
Normal file
133
assets/syntaxes/02_Extra/Fstab.sublime-syntax
vendored
Normal file
@ -0,0 +1,133 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: fstab
|
||||
file_extensions:
|
||||
- fstab
|
||||
scope: source.fstab
|
||||
|
||||
contexts:
|
||||
main:
|
||||
- include: comment
|
||||
- match: '^'
|
||||
push: fstab_device
|
||||
comment: leading spaces
|
||||
|
||||
fstab_device:
|
||||
- include: comment
|
||||
- match: '\s*([^=\s]+=)([^\s]+)\s*'
|
||||
comment: device by uuid or label
|
||||
set: fstab_mountpoint
|
||||
captures:
|
||||
1: punctuation.accessor
|
||||
2: keyword.other.device
|
||||
- match: '\s*(//|\\\\)([^\s]+)\s*'
|
||||
comment: device by samba share
|
||||
set: fstab_mountpoint
|
||||
captures:
|
||||
1: punctuation.accessor
|
||||
2: keyword.other.device
|
||||
- match: '\s*([^\s]+)(:)([^\s]+)\s*'
|
||||
comment: device by server
|
||||
set: fstab_mountpoint
|
||||
captures:
|
||||
1: keyword.other.device
|
||||
2: punctuation.accessor
|
||||
3: keyword.other.device
|
||||
- match: '\s*[^\s/\\]+\s*'
|
||||
comment: device by dev name
|
||||
set: fstab_mountpoint
|
||||
scope: keyword.other.device
|
||||
- match: '\s*(/dev/)([^\s]+)\s*'
|
||||
comment: device by dev path
|
||||
set: fstab_mountpoint
|
||||
captures:
|
||||
1: punctuation.accessor
|
||||
2: keyword.other.device
|
||||
- match: '\s*([^\s/]*/)*([^\s]+)\s*'
|
||||
comment: device by unknown path
|
||||
set: fstab_mountpoint
|
||||
captures:
|
||||
1: punctuation.accessor
|
||||
2: keyword.other.device
|
||||
- include: clear
|
||||
|
||||
fstab_mountpoint:
|
||||
- include: comment
|
||||
- match: '\s*/[^\s]*\s*'
|
||||
comment: mount point
|
||||
set: fstab_filesystem
|
||||
scope: string.unquoted.mountpoint
|
||||
- match: '\s*[^\s]+\s*'
|
||||
comment: mount point without leading slash (invalid)
|
||||
set: fstab_filesystem
|
||||
scope: invalid.illegal
|
||||
- include: clear
|
||||
|
||||
fstab_filesystem:
|
||||
- include: comment
|
||||
- match: '\s*[^\s]+\s*'
|
||||
comment: filesystem type
|
||||
set: fstab_options
|
||||
scope: variable.parameter.filesystem
|
||||
- include: clear
|
||||
|
||||
fstab_options:
|
||||
- include: comment
|
||||
- match: '([^\s,=]+)(=)([^\s,]+)'
|
||||
comment: key-value option
|
||||
captures:
|
||||
1: entity.name.option
|
||||
2: entity.other.separator
|
||||
3: variable.parameter
|
||||
- match: '[^\s,]+'
|
||||
comment: flag option
|
||||
scope: entity.name.option
|
||||
- match: ','
|
||||
comment: option separator
|
||||
scope: punctuation.separator
|
||||
- match: '\s+'
|
||||
comment: next field
|
||||
set: fstab_dump
|
||||
- include: clear
|
||||
|
||||
fstab_dump:
|
||||
- include: comment
|
||||
- match: '\s*[01]\s*'
|
||||
comment: dump field
|
||||
scope: constant.numeric
|
||||
set: fstab_pass
|
||||
- match: '\s*[^\s]+\s*'
|
||||
comment: invalid dump field
|
||||
scope: invalid.illegal
|
||||
set: fstab_pass
|
||||
- include: clear
|
||||
|
||||
fstab_pass:
|
||||
- include: comment
|
||||
- match: '\s*[01]\s*'
|
||||
comment: pass field
|
||||
scope: constant.numeric
|
||||
set: expected_eol
|
||||
- match: '\s*[^\s]+\s*'
|
||||
comment: invalid pass field
|
||||
scope: invalid.illegal
|
||||
set: expected_eol
|
||||
- include: clear
|
||||
|
||||
expected_eol:
|
||||
- include: comment
|
||||
- include: clear
|
||||
- match: '.*'
|
||||
scope: invalid.illegal
|
||||
|
||||
comment:
|
||||
- match: '\s*#.*$'
|
||||
comment: comment using the number sign
|
||||
scope: comment.line
|
||||
|
||||
clear:
|
||||
- match: '.*$'
|
||||
comment: used for clearing the context
|
||||
pop: true
|
||||
|
1
assets/syntaxes/02_Extra/GraphQL
vendored
Submodule
1
assets/syntaxes/02_Extra/GraphQL
vendored
Submodule
Submodule assets/syntaxes/02_Extra/GraphQL added at c9d84587eb
48
assets/syntaxes/02_Extra/Group.sublime-syntax
vendored
Normal file
48
assets/syntaxes/02_Extra/Group.sublime-syntax
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: group
|
||||
file_extensions:
|
||||
- group
|
||||
scope: source.group
|
||||
|
||||
contexts:
|
||||
main:
|
||||
- comment: name
|
||||
match: ^[^:]+
|
||||
scope: keyword
|
||||
|
||||
- comment: password
|
||||
match: ":"
|
||||
push: password
|
||||
|
||||
password:
|
||||
- comment: uid
|
||||
match: ":"
|
||||
set: gid
|
||||
|
||||
- comment: shadowpassword
|
||||
match: "[^:]+"
|
||||
scope: invalid
|
||||
|
||||
gid:
|
||||
- comment: gid
|
||||
match: ":"
|
||||
set: users
|
||||
|
||||
- comment: number
|
||||
match: "[0-9]+"
|
||||
scope: constant.numeric
|
||||
|
||||
users:
|
||||
- comment: newline
|
||||
match: "\n"
|
||||
pop: true
|
||||
|
||||
- comment: directory
|
||||
match: "[^:\n]+"
|
||||
scope: variable.parameter
|
||||
|
||||
- comment: separator
|
||||
match: ","
|
||||
scope: punctuation
|
1
assets/syntaxes/02_Extra/HTML (Twig)
vendored
Submodule
1
assets/syntaxes/02_Extra/HTML (Twig)
vendored
Submodule
Submodule assets/syntaxes/02_Extra/HTML (Twig) added at 77def406d7
0
assets/syntaxes/HTML (Twig).sublime-syntax → assets/syntaxes/02_Extra/HTML (Twig).sublime-syntax
vendored
0
assets/syntaxes/HTML (Twig).sublime-syntax → assets/syntaxes/02_Extra/HTML (Twig).sublime-syntax
vendored
23
assets/syntaxes/02_Extra/Hosts.sublime-syntax
vendored
Normal file
23
assets/syntaxes/02_Extra/Hosts.sublime-syntax
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: hosts
|
||||
file_extensions:
|
||||
- hosts
|
||||
scope: source.hosts
|
||||
|
||||
contexts:
|
||||
main:
|
||||
- scope: comment.line.number-sign
|
||||
match: \#.*
|
||||
comment: comment
|
||||
|
||||
- match: ^\s*([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}|[0-9a-f:]+)
|
||||
comment: ipaddress
|
||||
scope: constant.numeric.ipaddress
|
||||
|
||||
|
||||
- match: \s(localhost|ip6-loopback|ip6-localhost|ip6-localnet|ip6-mcastprefix|ip6-allnodes|ip6-allrouters|ip6-allhosts|broadcasthost)\b
|
||||
scope: keyword.host.predefined}
|
||||
comment: prefdfined
|
||||
|
1
assets/syntaxes/02_Extra/JavaScript (Babel)
vendored
Submodule
1
assets/syntaxes/02_Extra/JavaScript (Babel)
vendored
Submodule
Submodule assets/syntaxes/02_Extra/JavaScript (Babel) added at f4579f9107
@ -4,9 +4,11 @@
|
||||
name: JavaScript (Babel)
|
||||
file_extensions:
|
||||
- js
|
||||
- mjs
|
||||
- jsx
|
||||
- babel
|
||||
- es6
|
||||
- cjs
|
||||
first_line_match: ^#!\s*/.*\b(node|js)$\n?
|
||||
scope: source.js
|
||||
contexts:
|
1
assets/syntaxes/02_Extra/Jinja2
vendored
Submodule
1
assets/syntaxes/02_Extra/Jinja2
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Jinja2 added at 45355633d1
1
assets/syntaxes/02_Extra/Jsonnet
vendored
Submodule
1
assets/syntaxes/02_Extra/Jsonnet
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Jsonnet added at e2c917ed7d
1
assets/syntaxes/02_Extra/Julia
vendored
Submodule
1
assets/syntaxes/02_Extra/Julia
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Julia added at 0ca4cc2990
1
assets/syntaxes/02_Extra/LESS
vendored
Submodule
1
assets/syntaxes/02_Extra/LESS
vendored
Submodule
Submodule assets/syntaxes/02_Extra/LESS added at 3020993658
53
assets/syntaxes/02_Extra/Manpage.sublime-syntax
vendored
Normal file
53
assets/syntaxes/02_Extra/Manpage.sublime-syntax
vendored
Normal file
@ -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
assets/syntaxes/02_Extra/MemInfo.sublime-syntax
vendored
Normal file
14
assets/syntaxes/02_Extra/MemInfo.sublime-syntax
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: MemInfo
|
||||
file_extensions:
|
||||
- meminfo
|
||||
scope: source.meminfo
|
||||
|
||||
contexts:
|
||||
main:
|
||||
- match: '^([^:]+)\w*:\w*(.*)$'
|
||||
captures:
|
||||
1: keyword.other.meminfo-key
|
||||
2: string.other.meminfo-value
|
257
assets/syntaxes/02_Extra/Nim.sublime-syntax
vendored
Normal file
257
assets/syntaxes/02_Extra/Nim.sublime-syntax
vendored
Normal file
@ -0,0 +1,257 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: Nim
|
||||
file_extensions:
|
||||
- nim
|
||||
- nims
|
||||
scope: source.nim
|
||||
contexts:
|
||||
main:
|
||||
- match: '(\#\[\s*(TODO|todo)?)'
|
||||
comment: A multiline comment.
|
||||
captures:
|
||||
1: punctuation.definition.multi-comment.nim
|
||||
2: invalid.illegal.TODO.nim
|
||||
push:
|
||||
- meta_scope: comment.line.number-sign.multi-comment.nim
|
||||
- match: '(.*]\#)'
|
||||
captures:
|
||||
1: punctuation.definition.multi-comment.nim
|
||||
2: invalid.illegal.TODO.nim
|
||||
pop: true
|
||||
- match: (##\s*(TODO|todo)?).+$\n?
|
||||
comment: A documentation comment.
|
||||
scope: comment.line.number-sign.doc-comment.nim
|
||||
captures:
|
||||
1: punctuation.definition.doc-comment.nim
|
||||
2: invalid.illegal.TODO.nim
|
||||
- match: (##\s*)$\n?
|
||||
comment: An empty documentation comment.
|
||||
scope: comment.line.number-sign.doc-comment.empty.nim
|
||||
captures:
|
||||
1: punctuation.definition.doc-comment.empty.nim
|
||||
- match: (#\s*(TODO|todo)?).*$\n?
|
||||
comment: A regular comment
|
||||
scope: comment.line.number-sign.comment.nim
|
||||
captures:
|
||||
1: punctuation.definition.comment.nim
|
||||
2: invalid.illegal.TODO.nim
|
||||
- match: '\{\.'
|
||||
comment: Pragmas
|
||||
push:
|
||||
- meta_scope: pragma
|
||||
- match: '\.?\}'
|
||||
pop: true
|
||||
- match: \"
|
||||
push:
|
||||
- meta_scope: string.something.nim
|
||||
- match: \"
|
||||
pop: true
|
||||
- match: '([\w\x{80}-\x{10FFFF}]+)'
|
||||
scope: entity.other.attribute-name.pragma.nim
|
||||
- match: discard \"\"\"
|
||||
comment: A discarded triple string literal comment
|
||||
push:
|
||||
- meta_scope: comment.line.discarded.nim
|
||||
- match: \"\"\"
|
||||
pop: true
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(\d[_\d]*((\.[_\d]+([eE][\+\-]?\d[_\d]*)?)|([eE][\+\-]?\d[_\d]*)))(''?([fF](32|64|128))|[fFdD])?'
|
||||
comment: A float literal
|
||||
scope: constant.numeric.float.decimal.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(0[xX][0-9A-Fa-f][_0-9A-Fa-f]*)(''?(([iIuUfF](8|16|32|64))|[uUfFdD]))?'
|
||||
comment: A hexadecimal literal
|
||||
scope: constant.numeric.integer.hexadecimal.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(0[ocC][0-7][_0-7]*)(''?(([iIuUfF](8|16|32|64))|[uUfFdD]))?'
|
||||
comment: A base-8 integer literal
|
||||
scope: constant.numeric.integer.octal.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(0(b|B)[01][_01]*)(''?(([iIuUfF](8|16|32|64))|[uUfFdD]))?'
|
||||
comment: A base-2 integer literal
|
||||
scope: constant.numeric.integer.binary.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(\d[_\d]*)(''?(([iIuUfF](8|16|32|64))|[uUfFdD]))?'
|
||||
comment: A base-10 integer literal
|
||||
scope: constant.numeric.integer.decimal.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(true|false|inf|nil)(?![\w\x{80}-\x{10FFFF}])'
|
||||
comment: Language Constants.
|
||||
scope: constant.language.nim
|
||||
- match: (?:^|\s+|=)(when|if)\b
|
||||
comment: Primary branching keywords
|
||||
captures:
|
||||
1: keyword.control.primary.nim
|
||||
push:
|
||||
- match: (?=:)
|
||||
captures:
|
||||
1: control.variable.parameter.nim
|
||||
pop: true
|
||||
- include: scope:source.nim
|
||||
- match: (?:^|\s+|=)(case)\b
|
||||
comment: Primary branching keyword 'case'
|
||||
captures:
|
||||
1: keyword.control.primary.nim
|
||||
push:
|
||||
- match: (?=\bof\b)
|
||||
captures:
|
||||
1: control.variable.parameter.nim
|
||||
pop: true
|
||||
- include: scope:source.nim
|
||||
- match: (?:^|\s+)(of|else|elif)\b
|
||||
comment: Secondary branching keywords and their conditions
|
||||
captures:
|
||||
1: keyword.control.secondary.nim
|
||||
push:
|
||||
- match: (?=:)
|
||||
captures:
|
||||
1: control.variable.parameter.nim
|
||||
pop: true
|
||||
- include: scope:source.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(await|block|break|continue|do|end|except|finally|raise|return|try|while|yield)(?![\w\x{80}-\x{10FFFF}])'
|
||||
comment: Keywords that affect program control flow or scope.
|
||||
scope: keyword.control.nim
|
||||
- match: '((?<![\w\x{80}-\x{10FFFF}])(and|in|is|isnot|not|notin|or|xor)(?![\w\x{80}-\x{10FFFF}]))'
|
||||
comment: Keyword boolean operators for expressions.
|
||||
scope: keyword.operator.boolean.nim
|
||||
- match: '((?<![\w\x{80}-\x{10FFFF}])(addr|as|atomic|bind|cast|const|converter|defer|discard|distinct|div|enum|export|include|let|mixin|object|of|ptr|ref|shl|shr|static|type|var)(?![\w\x{80}-\x{10FFFF}]))'
|
||||
comment: Other keywords.
|
||||
scope: keyword.other.nim
|
||||
- match: (\b()\b|(=|\+|-|\*|/|<|>|@|\$|~|&|%|!|\?|\^|\.|:|\\)+)
|
||||
comment: Generic operators for expressions.
|
||||
scope: keyword.operator.nim
|
||||
- match: (for)\s+
|
||||
comment: in keyword in a 'for' loop
|
||||
captures:
|
||||
1: keyword.control.nim
|
||||
push:
|
||||
- meta_scope: meta.forloop.nim
|
||||
- match: (?=:)
|
||||
captures:
|
||||
1: keyword.control.nim
|
||||
pop: true
|
||||
- match: '\ [\w\x{80}-\x{10FFFF},]+\s+(in)\s+'
|
||||
captures:
|
||||
1: keyword.control.nim
|
||||
- include: scope:source.nim
|
||||
- match: '((import)\s+[\.|\w|\/]+,?)'
|
||||
comment: Import syntax
|
||||
captures:
|
||||
2: keyword.control.nim
|
||||
- match: '(from)\s+[\/\w]+\s+(?=import)'
|
||||
captures:
|
||||
1: keyword.control.nim
|
||||
- match: (var|let)\s*\(
|
||||
comment: Destructure syntax
|
||||
captures:
|
||||
1: keyword.other.nim
|
||||
push:
|
||||
- match: \)
|
||||
captures:
|
||||
1: keyword.other.nim
|
||||
pop: true
|
||||
- match: '((?<![\w\x{80}-\x{10FFFF}])(generic|interface|lambda|out|shared|with|without)(?![\w\x{80}-\x{10FFFF}]))'
|
||||
comment: Invalid and unused keywords.
|
||||
scope: keyword.invalid.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(new|GC_ref|GC_unref|assert|echo|defined|declared|newException|countup|countdown|len|high|low)(?![\w\x{80}-\x{10FFFF}])'
|
||||
comment: Common functions
|
||||
scope: keyword.other.common.function.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(((uint|int|float)(8|16|32|64)?)|clong|culong|cchar|cschar|cshort|cint|csize|clonglong|cfloat|cdouble|clongdouble|cuchar|cushort|cuint|culonglong|cstringArray|bool|string|auto|cstring|char|byte|tobject|typedesc|stmt|expr|any|untyped|typed)(?![\w\x{80}-\x{10FFFF}])'
|
||||
comment: Built-in, concrete types.
|
||||
scope: storage.type.concrete.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(range|array|seq|tuple|natural|set|ref|ptr|pointer)(?![\w\x{80}-\x{10FFFF}])'
|
||||
comment: Built-in, generic types.
|
||||
scope: storage.type.generic.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(proc|iterator|method|template|macro)(?![\w\x{80}-\x{10FFFF}])'
|
||||
comment: Function types
|
||||
scope: storage.type.function.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(openarray|varargs|void)(?![\w\x{80}-\x{10FFFF}])'
|
||||
comment: Special types.
|
||||
scope: storage.type.generic.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])([A-Z][A-Z0-9_]+)(?![\w\x{80}-\x{10FFFF}])'
|
||||
comment: Other constants.
|
||||
scope: support.constant.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])([A-Z]\w+)(?![\w\x{80}-\x{10FFFF}])'
|
||||
comment: Other types.
|
||||
scope: support.type.nim
|
||||
- match: '(?<![\w\x{80}-\x{10FFFF}])(\w+)(?![\w\x{80}-\x{10FFFF}])(?=\()'
|
||||
comment: Function call.
|
||||
scope: support.function.any-method.nim
|
||||
- match: r?\"\"\"
|
||||
comment: (Raw) Triple Quoted String
|
||||
push:
|
||||
- meta_scope: string.quoted.triple.nim
|
||||
- match: '\"\"\"[^\"]'
|
||||
pop: true
|
||||
- match: r\"
|
||||
comment: Raw Double Quoted String
|
||||
push:
|
||||
- meta_scope: string.quoted.double.raw.nim
|
||||
- match: \"
|
||||
pop: true
|
||||
- match: \"\"
|
||||
- match: \"
|
||||
comment: Double Quoted String
|
||||
push:
|
||||
- meta_scope: string.quoted.double.nim
|
||||
- match: \"
|
||||
pop: true
|
||||
- include: escaped_char
|
||||
- match: \'
|
||||
comment: Single quoted character literal
|
||||
push:
|
||||
- meta_scope: string.quoted.single.nim
|
||||
- match: \'
|
||||
pop: true
|
||||
- match: \\n
|
||||
scope: invalid.illegal.character.nim
|
||||
- include: escaped_char
|
||||
- match: '([^\''][^\'']+?)'
|
||||
scope: invalid.illegal.character.nim
|
||||
- match: '([\w\x{80}-\x{10FFFF}\`]+)\s*(?=\(|\[.+?\]\s*\()'
|
||||
comment: Call syntax
|
||||
captures:
|
||||
1: support.function.any-method.nim
|
||||
push:
|
||||
- match: \)
|
||||
captures:
|
||||
1: support.function.any-method.nim
|
||||
pop: true
|
||||
- include: scope:source.nim
|
||||
- match: '([\w\x{80}-\x{10FFFF}]+)(?=\s+[\w](?![\w\x{80}-\x{10FFFF}]+((?!\n)\s)+))'
|
||||
comment: Command syntax
|
||||
captures:
|
||||
1: support.function.any-method.nim
|
||||
- match: '([\w\x{80}-\x{10FFFF}]+)(?=\s+[\"\''\`])'
|
||||
captures:
|
||||
1: support.function.any-method.nim
|
||||
- match: (tmpl(i)?)(?=( (nim|html|xml|js|css|glsl|md))?\"\"\")
|
||||
comment: tmpl specifier
|
||||
captures:
|
||||
1: storage.type.function.nim
|
||||
2: keyword.operator.nim
|
||||
escaped_char:
|
||||
- match: '\\[nN]'
|
||||
scope: constant.character.escape.newline.nim
|
||||
- match: '\\[cC]|\\[rR]'
|
||||
scope: constant.character.escape.carriagereturn.nim
|
||||
- match: '\\[lL]'
|
||||
scope: constant.character.escape.linefeed.nim
|
||||
- match: '\\[fF]'
|
||||
scope: constant.character.escape.formfeed.nim
|
||||
- match: '\\[tT]'
|
||||
scope: constant.character.escape.tabulator.nim
|
||||
- match: '\\[vV]'
|
||||
scope: constant.character.escape.verticaltabulator.nim
|
||||
- match: \\\"
|
||||
scope: constant.character.escape.double-quote.nim
|
||||
- match: \\'
|
||||
scope: constant.character.escape.single-quote.nim
|
||||
- match: '\\[0-9]+'
|
||||
scope: constant.character.escape.chardecimalvalue.nim
|
||||
- match: '\\[aA]'
|
||||
scope: constant.character.escape.alert.nim
|
||||
- match: '\\[bB]'
|
||||
scope: constant.character.escape.backspace.nim
|
||||
- match: '\\[eE]'
|
||||
scope: constant.character.escape.escape.nim
|
||||
- match: '\\[xX][0-9A-Fa-f]{2}'
|
||||
scope: constant.character.escape.hex.nim
|
||||
- match: \\\\
|
||||
scope: constant.character.escape.backslash.nim
|
1
assets/syntaxes/02_Extra/Nix
vendored
Submodule
1
assets/syntaxes/02_Extra/Nix
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Nix added at 9032bd6137
@ -140,7 +140,7 @@ contexts:
|
||||
push:
|
||||
- match: '(?=([\])};]|\b(else|then)\b))'
|
||||
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:
|
||||
- match: '(?=([\])};,]|\b(else|then)\b))'
|
||||
pop: true
|
||||
@ -563,7 +563,7 @@ contexts:
|
||||
pop: true
|
||||
- include: string-quoted
|
||||
- include: expression-cont
|
||||
- match: '([a-zA-Z0-9\.\_\-\+]*(\/[a-zA-Z0-9\.\_\-\+]+)+)'
|
||||
- match: '(~?[a-zA-Z0-9\.\_\-\+]*(\/[a-zA-Z0-9\.\_\-\+]+)+)'
|
||||
captures:
|
||||
0: string.unquoted.path.nix
|
||||
push:
|
1
assets/syntaxes/02_Extra/Org mode
vendored
Submodule
1
assets/syntaxes/02_Extra/Org mode
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Org mode added at 4976d8f84e
219
assets/syntaxes/02_Extra/Org mode.sublime-syntax
vendored
Normal file
219
assets/syntaxes/02_Extra/Org mode.sublime-syntax
vendored
Normal file
@ -0,0 +1,219 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: orgmode
|
||||
file_extensions:
|
||||
- org
|
||||
scope: text.orgmode
|
||||
contexts:
|
||||
main:
|
||||
- match: |-
|
||||
(?x)
|
||||
^(\*+) # leading stars
|
||||
\s*([A-Z_]{2,})? # todo keywords
|
||||
\s*(\[\#[A-Ca-c]\])? # priority
|
||||
\s*(?=\s+[A-Za-z0-9]+) # expected heading text
|
||||
comment: Outline headings
|
||||
captures:
|
||||
1: punctuation.definition.heading.orgmode
|
||||
2: keyword.other.todo.orgmode
|
||||
3: constant.other.priority.orgmode
|
||||
push:
|
||||
- meta_scope: markup.heading.orgmode
|
||||
- meta_content_scope: entity.name.section.orgmode
|
||||
- match: (?=\s*$\n?)
|
||||
pop: true
|
||||
- include: heading-inline
|
||||
- match: "^-{5,}$"
|
||||
scope: meta.separator.orgmode
|
||||
- match: '^\s*([-+]|\s+\*)\s+(.*?)\s+::'
|
||||
captures:
|
||||
1: keyword.operator.list.orgmode
|
||||
2: markup.bold.definition.orgmode
|
||||
push:
|
||||
- meta_scope: meta.list.definition.orgmode
|
||||
- match: $
|
||||
pop: true
|
||||
- include: inline
|
||||
- match: '^\s*?([-+]|\s+\*|\d+[).])'
|
||||
captures:
|
||||
1: keyword.operator.list.orgmode
|
||||
push:
|
||||
- meta_scope: meta.list.plain.orgmode
|
||||
- match: $
|
||||
pop: true
|
||||
- include: list-inline
|
||||
- match: (?i)^#\+(BEGIN_(QUOTE|VERSE|CENTER))$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
push:
|
||||
- meta_scope: markup.quote.orgmode
|
||||
- match: (?i)^#\+(END_\2)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
pop: true
|
||||
- match: "^#[^+].*$"
|
||||
scope: comment.line.number-sign.orgmode
|
||||
- match: ^:(PROPERTIES):$
|
||||
captures:
|
||||
1: keyword.control.drawer.orgmode
|
||||
push:
|
||||
- meta_scope: meta.drawer.properties.orgmode
|
||||
- match: ^:(END):$
|
||||
captures:
|
||||
1: keyword.control.drawer.orgmode
|
||||
pop: true
|
||||
- include: properties
|
||||
- match: ^:(.+):$
|
||||
captures:
|
||||
1: keyword.control.drawer.orgmode
|
||||
push:
|
||||
- meta_scope: meta.drawer.other.orgmode
|
||||
- match: ^:(END):$
|
||||
captures:
|
||||
1: keyword.control.drawer.orgmode
|
||||
pop: true
|
||||
- match: (?i)#\+(BEGIN_LaTeX)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
push:
|
||||
- meta_scope: meta.block.latex.orgmode
|
||||
- match: (?i)#\+(END_LaTeX)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
pop: true
|
||||
- include: scope:text.tex.latex
|
||||
- match: (?i)#\+(BEGIN_HTML)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
push:
|
||||
- meta_scope: meta.block.html.orgmode
|
||||
- match: (?i)#\+(END_HTML)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
pop: true
|
||||
- include: scope:text.html.basic
|
||||
- match: (?i)#\+(BEGIN_SRC)\s+(python)\s*(.*)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
2: constant.other.language.orgmode
|
||||
3: string.other.header-args.orgmode
|
||||
push:
|
||||
- meta_scope: meta.block.source.python.orgmode
|
||||
- match: (?i)#\+(END_SRC)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
pop: true
|
||||
- include: scope:source.python
|
||||
- match: (?i)#\+(BEGIN_SRC)\s+(ruby)\s*(.*)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
2: constant.other.language.orgmode
|
||||
3: string.other.header-args.orgmode
|
||||
push:
|
||||
- meta_scope: meta.block.source.ruby.orgmode
|
||||
- match: (?i)#\+(END_SRC)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
pop: true
|
||||
- include: scope:source.ruby
|
||||
- match: (?i)#\+(BEGIN_SRC)\s+((?:emacs-)?lisp)\s*(.*)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
2: constant.other.language.orgmode
|
||||
3: string.other.header-args.orgmode
|
||||
push:
|
||||
- meta_scope: meta.block.source.lisp.orgmode
|
||||
- match: (?i)#\+(END_SRC)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
pop: true
|
||||
- include: scope:source.lisp
|
||||
- match: (?i)#\+(BEGIN_SRC)\s+(sh)\s*(.*)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
2: constant.other.language.orgmode
|
||||
3: string.other.header-args.orgmode
|
||||
push:
|
||||
- meta_scope: meta.block.source.shell.orgmode
|
||||
- match: (?i)#\+(END_SRC)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
pop: true
|
||||
- include: scope:source.shell
|
||||
- match: '(?i)#\+(BEGIN_(SRC|EXAMPLE))(?:\s+([\w-]+)?\s*(.*))?$'
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
3: constant.other.language.orgmode
|
||||
4: string.other.header-args.orgmode
|
||||
push:
|
||||
- meta_scope: meta.block.source.other.orgmode
|
||||
- meta_content_scope: markup.raw.block.orgmode
|
||||
- match: (?i)#\+(END_\2)$
|
||||
captures:
|
||||
1: keyword.control.block.orgmode
|
||||
pop: true
|
||||
- match: '#\+(OPTIONS):'
|
||||
captures:
|
||||
1: keyword.control.pragma.orgmode
|
||||
push:
|
||||
- meta_scope: meta.pragma.options.orgmode
|
||||
- match: $
|
||||
pop: true
|
||||
- match: '([^\s]+):([^\s]+)'
|
||||
scope: meta.option.orgmode
|
||||
captures:
|
||||
1: variable.parameter.option.orgmode
|
||||
2: string.other.option.orgmode
|
||||
- match: '#\+(CALL):\s+[A-Za-z-]+(?:\[([^\]]*)\])?\(?'
|
||||
captures:
|
||||
1: keyword.control.pragma.orgmode
|
||||
2: string.other.header-args.orgmode
|
||||
push:
|
||||
- meta_scope: meta.pragma.call.orgmode
|
||||
- match: '\)?([^)]*)$'
|
||||
captures:
|
||||
1: string.other.header-args.orgmode
|
||||
pop: true
|
||||
- match: (\w+)=
|
||||
scope: meta.assignment.orgmode
|
||||
captures:
|
||||
1: variable.parameter.header-args.orgmode
|
||||
- match: '^#\+([a-zA-Z_-]+): ?(.*)$'
|
||||
scope: meta.pragma.orgmode
|
||||
captures:
|
||||
1: keyword.control.pragma.orgmode
|
||||
2: string.unquoted.pragma.orgmode
|
||||
- include: inline
|
||||
heading-inline:
|
||||
- match: ':([^:^\s]*)(?=:)'
|
||||
scope: meta.keyword.orgmode
|
||||
captures:
|
||||
1: string.quoted.keyword.orgmode
|
||||
- include: inline
|
||||
inline:
|
||||
- match: '(?<=^|[.,:;\s])/[^/]+/(?=$|[.,:;\s])'
|
||||
scope: markup.italic.orgmode
|
||||
- match: '(?<=^|[.,:;\s])\*[^*]+\*(?=$|[.,:;\s])'
|
||||
scope: markup.bold.orgmode
|
||||
- match: '(?<=^|[.,:;\s])_[^_]+_(?=$|[.,:;\s])'
|
||||
scope: markup.underline.orgmode
|
||||
- match: '(?<=^|[.,:;\s])([~=]).+?\1(?=$|[.,:;\s])'
|
||||
scope: markup.raw.inline.orgmode
|
||||
- match: '\[(?:\[([^\]]*)\])?\[([^\]]*)\]\]'
|
||||
scope: meta.link.orgmode
|
||||
captures:
|
||||
1: markup.underline.link.orgmode
|
||||
2: string.other.link.orgmode
|
||||
- match: (?:http|ftp)s?:\/\/\S+
|
||||
scope: markup.underline.url.orgmode
|
||||
list-inline:
|
||||
- match: '\[[ -X]\]'
|
||||
scope: keyword.operator.checkbox.orgmode
|
||||
- include: inline
|
||||
properties:
|
||||
- match: '^:([A-Za-z_]+):\s(.*)$'
|
||||
scope: meta.property.orgmode
|
||||
captures:
|
||||
1: keyword.control.property.orgmode
|
||||
2: string.unquoted.propval.orgmode
|
71
assets/syntaxes/02_Extra/Passwd.sublime-syntax
vendored
Normal file
71
assets/syntaxes/02_Extra/Passwd.sublime-syntax
vendored
Normal file
@ -0,0 +1,71 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: passwd
|
||||
file_extensions:
|
||||
- passwd
|
||||
scope: source.passwd
|
||||
|
||||
contexts:
|
||||
main:
|
||||
- comment: name
|
||||
match: ^[^:]+
|
||||
scope: keyword
|
||||
|
||||
- comment: password
|
||||
match: ":"
|
||||
push: password
|
||||
|
||||
password:
|
||||
- comment: uid
|
||||
match: ":"
|
||||
set: uid
|
||||
|
||||
- comment: shadowpassword
|
||||
match: "[^:]+"
|
||||
scope: invalid
|
||||
|
||||
uid:
|
||||
- comment: gid
|
||||
match: ":"
|
||||
set: gid
|
||||
|
||||
- comment: number
|
||||
match: "[0-9]+"
|
||||
scope: constant.numeric
|
||||
|
||||
gid:
|
||||
- comment: comment
|
||||
match: ":"
|
||||
set: comment
|
||||
|
||||
- comment: number
|
||||
match: "[0-9]+"
|
||||
scope: constant.language
|
||||
|
||||
comment:
|
||||
- comment: directory
|
||||
match: ":"
|
||||
set: directory
|
||||
|
||||
- comment: comment
|
||||
match: "[^:]+"
|
||||
scope: entity.name
|
||||
|
||||
directory:
|
||||
- comment: shell
|
||||
match: ":"
|
||||
set: shell
|
||||
|
||||
- comment: directory
|
||||
match: "[^:]+"
|
||||
scope: string.unquoted
|
||||
|
||||
shell:
|
||||
- comment: newline
|
||||
match: "\n"
|
||||
pop: true
|
||||
|
||||
- comment: directory
|
||||
match: "[^:\n]+"
|
||||
scope: variable.parameter
|
1
assets/syntaxes/02_Extra/PowerShell
vendored
Submodule
1
assets/syntaxes/02_Extra/PowerShell
vendored
Submodule
Submodule assets/syntaxes/02_Extra/PowerShell added at 4a0a076661
43
assets/syntaxes/PowerShell.sublime-syntax → assets/syntaxes/02_Extra/PowerShell.sublime-syntax
vendored
43
assets/syntaxes/PowerShell.sublime-syntax → assets/syntaxes/02_Extra/PowerShell.sublime-syntax
vendored
@ -147,7 +147,7 @@ contexts:
|
||||
2: keyword.other.powershell
|
||||
3: variable.parameter.powershell
|
||||
attribute:
|
||||
- match: '(\[)\s*\b(?i)(cmdletbinding|alias|outputtype|parameter|validatenotnull|validatenotnullorempty|validatecount|validateset|allownull|allowemptycollection|allowemptystring|validatescript|validaterange|validatepattern|validatelength)\b'
|
||||
- match: '(\[)\s*\b(?i)(cmdletbinding|alias|outputtype|parameter|validatenotnull|validatenotnullorempty|validatecount|validateset|allownull|allowemptycollection|allowemptystring|validatescript|validaterange|validatepattern|validatelength|supportswildcards)\b'
|
||||
captures:
|
||||
1: punctuation.section.bracket.begin.powershell
|
||||
2: support.function.attribute.powershell
|
||||
@ -165,31 +165,11 @@ contexts:
|
||||
captures:
|
||||
0: punctuation.section.group.end.powershell
|
||||
pop: true
|
||||
- include: variable
|
||||
- include: variableNoProperty
|
||||
- include: hashtable
|
||||
- include: scriptblock
|
||||
- include: doubleQuotedStringEscapes
|
||||
- include: doubleQuotedString
|
||||
- include: type
|
||||
- include: numericConstant
|
||||
- include: doubleQuotedString
|
||||
- include: main
|
||||
- match: (?i)\b(mandatory|valuefrompipeline|valuefrompipelinebypropertyname|valuefromremainingarguments|position|parametersetname|defaultparametersetname|supportsshouldprocess|supportspaging|positionalbinding|helpuri|confirmimpact|helpmessage)\b(?:\s+)?(=)?
|
||||
captures:
|
||||
1: variable.parameter.attribute.powershell
|
||||
2: keyword.operator.assignment.powershell
|
||||
- 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:
|
||||
- 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:"
|
||||
@ -242,14 +222,14 @@ contexts:
|
||||
pop: true
|
||||
- match: '(?i)\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,64}\b'
|
||||
- include: variableNoProperty
|
||||
- include: variable
|
||||
- include: doubleQuotedStringEscapes
|
||||
- include: interpolation
|
||||
- match: '`\s*$'
|
||||
scope: keyword.other.powershell
|
||||
doubleQuotedStringEscapes:
|
||||
- match: '`[0abnfrvt"''$`]'
|
||||
- match: '`[`0abefnrtv"''$]'
|
||||
scope: constant.character.escape.powershell
|
||||
- include: unicodeEscape
|
||||
- match: '""'
|
||||
scope: constant.character.escape.powershell
|
||||
function:
|
||||
@ -362,6 +342,11 @@ contexts:
|
||||
- match: '(?!\d+|\.)(?:\p{L}|\p{N}|\.)+'
|
||||
scope: storage.type.powershell
|
||||
- include: main
|
||||
unicodeEscape:
|
||||
- match: '`u\{(?:(?:10)?([0-9a-fA-F]){1,4}|0?\g<1>{1,5})}'
|
||||
scope: constant.character.escape.powershell
|
||||
- match: '`u(?:\{[0-9a-fA-F]{,6}.)?'
|
||||
scope: invalid.character.escape.powershell
|
||||
variable:
|
||||
- match: (\$)(?i:(False|Null|True))\b
|
||||
comment: These are special constants.
|
||||
@ -374,13 +359,13 @@ contexts:
|
||||
0: support.constant.variable.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
3: variable.other.member.powershell
|
||||
- match: '(\$)(?i:(\$|\^|\?|_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This))((?:\.(?:\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.
|
||||
captures:
|
||||
0: support.constant.automatic.powershell
|
||||
0: support.variable.automatic.powershell
|
||||
1: punctuation.definition.variable.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.
|
||||
captures:
|
||||
0: variable.language.powershell
|
||||
@ -426,19 +411,19 @@ contexts:
|
||||
0: support.constant.variable.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
3: variable.other.member.powershell
|
||||
- match: (\$)(?i:(\$|\^|\?|_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This))\b
|
||||
- match: '(\$)((?:[$^?])|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\b)'
|
||||
comment: Automatic variables are not constants, but they are read-only...
|
||||
captures:
|
||||
0: support.variable.automatic.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
3: variable.other.member.powershell
|
||||
- match: (\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|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.
|
||||
captures:
|
||||
0: variable.language.powershell
|
||||
1: punctuation.definition.variable.powershell
|
||||
3: variable.other.member.powershell
|
||||
- match: '(?i:(\$|@)(global|local|private|script|using|workflow):((?:\p{L}|\d|_)+))'
|
||||
- match: '(?i:(\$)(global|local|private|script|using|workflow):((?:\p{L}|\d|_)+))'
|
||||
captures:
|
||||
0: variable.other.readwrite.powershell
|
||||
1: punctuation.definition.variable.powershell
|
1
assets/syntaxes/02_Extra/Protobuf
vendored
Submodule
1
assets/syntaxes/02_Extra/Protobuf
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Protobuf added at 726e21d74d
1
assets/syntaxes/02_Extra/PureScript
vendored
Submodule
1
assets/syntaxes/02_Extra/PureScript
vendored
Submodule
Submodule assets/syntaxes/02_Extra/PureScript added at 5acebc1850
21
assets/syntaxes/02_Extra/Resolv.sublime-syntax
vendored
Normal file
21
assets/syntaxes/02_Extra/Resolv.sublime-syntax
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
# http://www.sublimetext.com/docs/3/syntax.html
|
||||
name: resolv
|
||||
file_extensions:
|
||||
- resolv.conf
|
||||
scope: source.resolv
|
||||
|
||||
contexts:
|
||||
main:
|
||||
- scope: comment.line.number-sign
|
||||
match: \#.*
|
||||
comment: comment
|
||||
|
||||
- comment: configuration
|
||||
match: "(nameserver|domain|search|sortlist|options)"
|
||||
scope: keyword.control
|
||||
|
||||
- comment: options
|
||||
match: "(debug|ndots|timeout|attempts|rotate|no-check-names|inet6|ip6-bytestring|ip6-dotint|no-ip6-dotint|edns0|single-request|single-request-reopen|no-tld-query|use-vc|no-reload)"
|
||||
scope: entity.name
|
1
assets/syntaxes/02_Extra/Robot
vendored
Submodule
1
assets/syntaxes/02_Extra/Robot
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Robot added at fcd3323b56
@ -52,3 +52,6 @@ contexts:
|
||||
- meta_scope: keyword.control.robot
|
||||
- match: '($|\||\s{2,})'
|
||||
pop: true
|
||||
- match: (?i)^\s+(Given|When|and|but|Then)
|
||||
comment: BDD keywords
|
||||
scope: string.robot.bdd
|
1
assets/syntaxes/02_Extra/SCSS_Sass
vendored
Submodule
1
assets/syntaxes/02_Extra/SCSS_Sass
vendored
Submodule
Submodule assets/syntaxes/02_Extra/SCSS_Sass added at b98a3f3ccf
1
assets/syntaxes/02_Extra/SLS
vendored
Submodule
1
assets/syntaxes/02_Extra/SLS
vendored
Submodule
Submodule assets/syntaxes/02_Extra/SLS added at f8a8cf90b1
1
assets/syntaxes/02_Extra/Strace
vendored
Submodule
1
assets/syntaxes/02_Extra/Strace
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Strace added at 3ec51e0bca
1
assets/syntaxes/02_Extra/TOML
vendored
Submodule
1
assets/syntaxes/02_Extra/TOML
vendored
Submodule
Submodule assets/syntaxes/02_Extra/TOML added at 0f14b7caf3
1
assets/syntaxes/02_Extra/Terraform
vendored
Submodule
1
assets/syntaxes/02_Extra/Terraform
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Terraform added at 64208ea816
1
assets/syntaxes/02_Extra/TypeScript
vendored
Submodule
1
assets/syntaxes/02_Extra/TypeScript
vendored
Submodule
Submodule assets/syntaxes/02_Extra/TypeScript added at 9cd994af73
1221
assets/syntaxes/TypeScript.sublime-syntax → assets/syntaxes/02_Extra/TypeScript.sublime-syntax
vendored
1221
assets/syntaxes/TypeScript.sublime-syntax → assets/syntaxes/02_Extra/TypeScript.sublime-syntax
vendored
File diff suppressed because it is too large
Load Diff
1
assets/syntaxes/02_Extra/Verilog
vendored
Submodule
1
assets/syntaxes/02_Extra/Verilog
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Verilog added at 532e87c1b4
149
assets/syntaxes/02_Extra/Verilog.sublime-syntax
vendored
Normal file
149
assets/syntaxes/02_Extra/Verilog.sublime-syntax
vendored
Normal file
@ -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
assets/syntaxes/02_Extra/Vue
vendored
Submodule
1
assets/syntaxes/02_Extra/Vue
vendored
Submodule
Submodule assets/syntaxes/02_Extra/Vue added at 6eb71bc6bb
1
assets/syntaxes/02_Extra/hosts
vendored
Submodule
1
assets/syntaxes/02_Extra/hosts
vendored
Submodule
Submodule assets/syntaxes/02_Extra/hosts added at 21250a7117
1
assets/syntaxes/02_Extra/requirementstxt
vendored
Submodule
1
assets/syntaxes/02_Extra/requirementstxt
vendored
Submodule
Submodule assets/syntaxes/02_Extra/requirementstxt added at 775e6dd62a
19
assets/syntaxes/02_Extra/requirementstxt.sublime-syntax
vendored
Normal file
19
assets/syntaxes/02_Extra/requirementstxt.sublime-syntax
vendored
Normal file
@ -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
|
@ -25,3 +25,7 @@ contexts:
|
||||
scope: entity.other.attribute-name.show-nonprintable.escape
|
||||
- match: "␈"
|
||||
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
assets/syntaxes/02_Extra/ssh-config
vendored
Submodule
1
assets/syntaxes/02_Extra/ssh-config
vendored
Submodule
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