1

Update generated neovim config

This commit is contained in:
2024-09-22 20:41:25 +02:00
parent 1743764e48
commit aa1271c42c
1247 changed files with 26512 additions and 15067 deletions

View File

@ -1,7 +0,0 @@
/lua/nvim-treesitter/textobjects/ @theHamsta
/lua/nvim-treesitter/incremental_selection.lua @theHamsta
/lua/nvim-treesitter/fold.lua @vigoux
/lua/nvim-treesitter/highlight.lua @vigoux
/lua/nvim-treesitter/refactor/ @steelsojka

View File

@ -27,7 +27,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Lint with stylua
uses: JohnnyMorganz/stylua-action@v3
uses: JohnnyMorganz/stylua-action@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
version: latest

View File

@ -31,7 +31,7 @@ jobs:
- name: Update parsers
env:
SKIP_LOCKFILE_UPDATE_FOR_LANGS: "javascript"
SKIP_LOCKFILE_UPDATE_FOR_LANGS: ""
run: |
cp lockfile.json /tmp/old_lockfile.json
nvim -l scripts/write-lockfile.lua
@ -42,10 +42,10 @@ jobs:
echo "UPDATED_PARSERS=$UPDATED_PARSERS" >> $GITHUB_ENV
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
uses: peter-evans/create-pull-request@v7
with:
token: ${{ steps.app-token.outputs.token }}
author: "nvim-treesitter-bot[bot] <157957100+nvim-treesitter-bot[bot]@users.noreply.github.com>"
sign-commits: true
commit-message: "bot(lockfile): update ${{ env.UPDATED_PARSERS }}"
title: "Update lockfile.json: ${{ env.UPDATED_PARSERS }}"
body: "[beep boop](https://github.com/peter-evans/create-pull-request)"

View File

@ -30,10 +30,10 @@ jobs:
nvim -l scripts/update-readme.lua || echo 'Needs update'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
uses: peter-evans/create-pull-request@v7
with:
token: ${{ steps.app-token.outputs.token }}
author: "nvim-treesitter-bot[bot] <157957100+nvim-treesitter-bot[bot]@users.noreply.github.com>"
sign-commits: true
commit-message: "bot(readme): update"
title: Update README
body: "[beep boop](https://github.com/peter-evans/create-pull-request)"

View File

@ -176,7 +176,7 @@ We are looking for maintainers to add more parsers and to write query files for
- [x] [ada](https://github.com/briot/tree-sitter-ada) (maintained by @briot)
- [x] [agda](https://github.com/tree-sitter/tree-sitter-agda) (maintained by @Decodetalkers)
- [x] [angular](https://github.com/dlvandenberg/tree-sitter-angular) (experimental, maintained by @dlvandenberg)
- [x] [apex](https://github.com/aheber/tree-sitter-sfapex) (maintained by @aheber)
- [x] [apex](https://github.com/aheber/tree-sitter-sfapex) (maintained by @aheber, @xixiaofinland)
- [x] [arduino](https://github.com/ObserverOfTime/tree-sitter-arduino) (maintained by @ObserverOfTime)
- [x] [asm](https://github.com/RubixDev/tree-sitter-asm) (maintained by @RubixDev)
- [x] [astro](https://github.com/virchau13/tree-sitter-astro) (maintained by @virchau13)
@ -241,6 +241,8 @@ We are looking for maintainers to add more parsers and to write query files for
- [x] [fsh](https://github.com/mgramigna/tree-sitter-fsh) (maintained by @mgramigna)
- [x] [func](https://github.com/amaanq/tree-sitter-func) (maintained by @amaanq)
- [x] [fusion](https://gitlab.com/jirgn/tree-sitter-fusion.git) (maintained by @jirgn)
- [x] [GAP system](https://github.com/gap-system/tree-sitter-gap) (maintained by @reiniscirpons)
- [x] [GAP system test files](https://github.com/gap-system/tree-sitter-gaptst) (maintained by @reiniscirpons)
- [x] [Godot (gdscript)](https://github.com/PrestonKnopp/tree-sitter-gdscript) (maintained by @PrestonKnopp)
- [x] [gdshader](https://github.com/GodOfAvacyn/tree-sitter-gdshader) (maintained by @godofavacyn)
- [x] [git_config](https://github.com/the-mikedavis/tree-sitter-git-config) (maintained by @amaanq)
@ -249,7 +251,9 @@ We are looking for maintainers to add more parsers and to write query files for
- [x] [gitcommit](https://github.com/gbprod/tree-sitter-gitcommit) (maintained by @gbprod)
- [x] [gitignore](https://github.com/shunsambongi/tree-sitter-gitignore) (maintained by @theHamsta)
- [x] [gleam](https://github.com/gleam-lang/tree-sitter-gleam) (maintained by @amaanq)
- [x] [Glimmer and Ember](https://github.com/alexlafroscia/tree-sitter-glimmer) (maintained by @NullVoxPopuli)
- [x] [Glimmer and Ember](https://github.com/ember-tooling/tree-sitter-glimmer) (maintained by @NullVoxPopuli)
- [x] [glimmer_javascript](https://github.com/NullVoxPopuli/tree-sitter-glimmer-javascript) (maintained by @NullVoxPopuli)
- [x] [glimmer_typescript](https://github.com/NullVoxPopuli/tree-sitter-glimmer-typescript) (maintained by @NullVoxPopuli)
- [x] [glsl](https://github.com/theHamsta/tree-sitter-glsl) (maintained by @theHamsta)
- [x] [GN (Generate Ninja)](https://github.com/amaanq/tree-sitter-gn) (maintained by @amaanq)
- [x] [gnuplot](https://github.com/dpezto/tree-sitter-gnuplot) (maintained by @dpezto)
@ -343,8 +347,8 @@ We are looking for maintainers to add more parsers and to write query files for
- [x] [passwd](https://github.com/ath3/tree-sitter-passwd) (maintained by @amaanq)
- [x] [pem](https://github.com/ObserverOfTime/tree-sitter-pem) (maintained by @ObserverOfTime)
- [x] [perl](https://github.com/tree-sitter-perl/tree-sitter-perl) (maintained by @RabbiVeesh, @LeoNerd)
- [x] [php](https://github.com/tree-sitter/tree-sitter-php) (maintained by @tk-shirasaka)
- [x] [php_only](https://github.com/tree-sitter/tree-sitter-php) (maintained by @tk-shirasaka)
- [x] [php](https://github.com/tree-sitter/tree-sitter-php) (maintained by @tk-shirasaka, @calebdw)
- [x] [php_only](https://github.com/tree-sitter/tree-sitter-php) (maintained by @tk-shirasaka, @calebdw)
- [x] [phpdoc](https://github.com/claytonrcarter/tree-sitter-phpdoc) (experimental, maintained by @mikehaertl)
- [x] [pioasm](https://github.com/leo60228/tree-sitter-pioasm) (maintained by @leo60228)
- [x] [po](https://github.com/erasin/tree-sitter-po) (maintained by @amaanq)
@ -393,14 +397,15 @@ We are looking for maintainers to add more parsers and to write query files for
- [x] [scfg](https://github.com/rockorager/tree-sitter-scfg) (maintained by @WhyNotHugo)
- [ ] [scheme](https://github.com/6cdh/tree-sitter-scheme)
- [x] [scss](https://github.com/serenadeai/tree-sitter-scss) (maintained by @elianiva)
- [x] [sflog](https://github.com/aheber/tree-sitter-sfapex) (maintained by @aheber, @xixiaofinland)
- [x] [slang](https://github.com/theHamsta/tree-sitter-slang) (experimental, maintained by @theHamsta)
- [x] [slint](https://github.com/slint-ui/tree-sitter-slint) (maintained by @hunger)
- [x] [smali](https://github.com/tree-sitter-grammars/tree-sitter-smali) (maintained by @amaanq)
- [x] [smithy](https://github.com/indoorvivants/tree-sitter-smithy) (maintained by @amaanq, @keynmol)
- [ ] [snakemake](https://github.com/osthomas/tree-sitter-snakemake) (experimental)
- [x] [solidity](https://github.com/JoranHonig/tree-sitter-solidity) (maintained by @amaanq)
- [x] [soql](https://github.com/aheber/tree-sitter-sfapex) (maintained by @aheber)
- [x] [sosl](https://github.com/aheber/tree-sitter-sfapex) (maintained by @aheber)
- [x] [soql](https://github.com/aheber/tree-sitter-sfapex) (maintained by @aheber, @xixiaofinland)
- [x] [sosl](https://github.com/aheber/tree-sitter-sfapex) (maintained by @aheber, @xixiaofinland)
- [x] [sourcepawn](https://github.com/nilshelmig/tree-sitter-sourcepawn) (maintained by @Sarrus1)
- [x] [sparql](https://github.com/GordianDziwis/tree-sitter-sparql) (maintained by @GordianDziwis)
- [x] [sql](https://github.com/derekstride/tree-sitter-sql) (maintained by @derekstride)
@ -463,7 +468,7 @@ We are looking for maintainers to add more parsers and to write query files for
- [x] [yang](https://github.com/Hubro/tree-sitter-yang) (maintained by @Hubro)
- [x] [yuck](https://github.com/Philipp-M/tree-sitter-yuck) (maintained by @Philipp-M, @amaanq)
- [x] [zathurarc](https://github.com/Freed-Wu/tree-sitter-zathurarc) (maintained by @Freed-Wu)
- [x] [zig](https://github.com/maxxnino/tree-sitter-zig) (maintained by @maxxnino)
- [x] [zig](https://github.com/tree-sitter-grammars/tree-sitter-zig) (maintained by @amaanq)
<!--parserinfo-->
For related information on the supported languages, including related plugins, see [this wiki page](https://github.com/nvim-treesitter/nvim-treesitter/wiki/Supported-Languages-Information).

View File

@ -6,16 +6,16 @@
"revision": "d3dc807692e6bca671d4491b3bf5c67eeca8c016"
},
"angular": {
"revision": "31182d43b062a350d4bd2449f2fc0d5654972be9"
"revision": "c473dbc54ca27f95d8928cfdb2a1a79300e16951"
},
"apex": {
"revision": "c99ad4b16d112fea91745e3f1b769754239fdaba"
"revision": "602cc4b050ef1e14a69acc2ea094968bf928fa59"
},
"arduino": {
"revision": "afb34b2c65f507932c5c6ddbf0d5a9ca6a772f2f"
"revision": "ce02903e3ae74c729e9415dc32c276447b1c8afd"
},
"asm": {
"revision": "b0306e9bb2ebe01c6562f1aef265cc42ccc53070"
"revision": "55b2b913f1e71136027d6fce8212e760c64f3532"
},
"astro": {
"revision": "4be180759ec13651f72bacee65fa477c64222a1a"
@ -24,16 +24,16 @@
"revision": "1dec7e1af96c56924e3322cd85fdce15d0a31d00"
},
"awk": {
"revision": "ba7472152d79a8c916550c80fdbfd5724d07a0c9"
"revision": "553fdc4afb3b603332c3f4baf50c711506f4e797"
},
"bash": {
"revision": "2fbd860f802802ca76a6661ce025b3a3bca2d3ed"
"revision": "c8713e50f0bd77d080832fc61ad128bc8f2934e9"
},
"bass": {
"revision": "28dc7059722be090d04cd751aed915b2fee2f89a"
},
"beancount": {
"revision": "384c55ede2a1f13e83d8e18dbef8f11304c379c2"
"revision": "01c0da29e0fc7130420a09d939ecc524e09b6ba6"
},
"bibtex": {
"revision": "ccfd77db0ed799b6c22c214fe9d2937f47bc8b34"
@ -51,10 +51,10 @@
"revision": "4e60cf3c2e613625c06f6f85540b3631e2d06cd3"
},
"c": {
"revision": "be23d2c9d8e5b550e713ef0f86126a248462ca6e"
"revision": "bc85948c0bec746ebe921f72d2296d47e17d4ea7"
},
"c_sharp": {
"revision": "31a64b28292aac6adf44071e449fa03fb80eaf4e"
"revision": "fd7f7402db6e66afd70b402fb2e367b2d71c10d6"
},
"cairo": {
"revision": "6238f609bea233040fe927858156dee5515a0745"
@ -72,7 +72,7 @@
"revision": "69d7a8b0f7493b0dbb07d54e8fea96c5421e8a71"
},
"comment": {
"revision": "5d8b29f6ef3bf64d59430dcfe76b31cc44b5abfd"
"revision": "3555706cef8b98d3e4c7379d7260548ff03ad363"
},
"commonlisp": {
"revision": "bf2a65b1c119898a1a17389e07f2a399c05cdc0c"
@ -87,16 +87,16 @@
"revision": "594289eadfec719198e560f9d7fd243c4db678d5"
},
"cpp": {
"revision": "0b4aa47f07d958a49260aadc87e8474b03897c23"
"revision": "30f973c2244f0bff444186185f475c3bd76bc3a5"
},
"css": {
"revision": "f6be52c3d1cdb1c5e4dd7d8bce0a57497f55d6af"
"revision": "a68fcd1e6b03118d1e92ffa45e7ab7a39d52d3f7"
},
"csv": {
"revision": "7eb7297823605392d2bbcc4c09b1cd18d6fa9529"
},
"cuda": {
"revision": "7c97acb8398734d790c86210c53c320df61ff66b"
"revision": "635e8aa3747823a0c4e9660c07cef76fe8d3ef93"
},
"cue": {
"revision": "8a5f273bfa281c66354da562f2307c2d394b6c81"
@ -105,10 +105,10 @@
"revision": "ac584585a15c4cacd6cda8e6bfe7cb1ca7b3898e"
},
"dart": {
"revision": "ac0bb849ccd1a923963af47573b5e396736ff582"
"revision": "9ac03bb2154316624fb4c41fe0f372a5f1597b43"
},
"devicetree": {
"revision": "fb07e6044ffd36932c57a5be01ba5d6b8a9337bb"
"revision": "296b3c294a8bcfca6673296d99f9cd37049b8026"
},
"dhall": {
"revision": "affb6ee38d629c9296749767ab832d69bb0d9ea8"
@ -135,13 +135,13 @@
"revision": "809266ed1694d64dedc168a18893cc254e3edf7e"
},
"earthfile": {
"revision": "b0a9bc5737340a9b80b489fe9ae93d7b2fe78cd7"
"revision": "1d637f2002bb8b22d4c08d26ad2bfbc22916f3ce"
},
"ebnf": {
"revision": "8e635b0b723c620774dfb8abf382a7f531894b40"
},
"editorconfig": {
"revision": "fd0d64d2fc91eab903bed4c11ce280b62e46f16e"
"revision": "faf014c607f912ff666b20183d32a03dcfc3111d"
},
"eds": {
"revision": "0ad62cb635c2f4353359a88dec9e3a57bbf9f66d"
@ -150,7 +150,7 @@
"revision": "f742f2fe327463335e8671a87c0b9b396905d1d1"
},
"elixir": {
"revision": "c7ae8b77e2749826dcf23df6514f08fdd68c66a3"
"revision": "2c6e93171477973b38de4b1d2be427cc99f990a6"
},
"elm": {
"revision": "09dbf221d7491dc8d8839616b27c21b9c025c457"
@ -162,10 +162,10 @@
"revision": "5e7210d945425b77f82cbaebc5af4dd3e1ad40f5"
},
"embedded_template": {
"revision": "38d5004a797298dc42c85e7706c5ceac46a3f29f"
"revision": "62b0a6e45900a7dff7c37da95fec20a09968ba52"
},
"erlang": {
"revision": "8f41b588fe38b981156651ef56b192ed3d158efd"
"revision": "0dfcdf18b35dd9cfcf92be42659794d07d819d88"
},
"facility": {
"revision": "2d037f2f2bf668737f72e6be6eda4b7918b68d86"
@ -192,7 +192,7 @@
"revision": "90189238385cf636b9ee99ce548b9e5b5e569d48"
},
"fortran": {
"revision": "6b633433fb3f132f21250cf8e8be76d5a6389b7e"
"revision": "8f842945abefb76b9a68c0835619b37060b8f098"
},
"fsh": {
"revision": "fad2e175099a45efbc98f000cc196d3674cc45e0"
@ -203,6 +203,12 @@
"fusion": {
"revision": "19db2f47ba4c3a0f6238d4ae0e2abfca16e61dd6"
},
"gap": {
"revision": "141b063335e85299bde3f61b4888d02d674a1abc"
},
"gaptst": {
"revision": "e0723dc6136309b3d5904dad2c73ef71267428c1"
},
"gdscript": {
"revision": "1f1e782fe2600f50ae57b53876505b8282388d77"
},
@ -225,10 +231,16 @@
"revision": "f4685bf11ac466dd278449bcfe5fd014e94aa504"
},
"gleam": {
"revision": "426e67087fd62be5f4533581b5916b2cf010fb5b"
"revision": "9586f38658da115c90e2d01099c83479eb0eea99"
},
"glimmer": {
"revision": "6b25d265c990139353e1f7f97baf84987ebb7bf0"
"revision": "da605af8c5999b43e6839b575eae5e6cafabb06f"
},
"glimmer_javascript": {
"revision": "a260911201684f80cf815418b3771e6c39309f81"
},
"glimmer_typescript": {
"revision": "9d018a0f93417e6951264a26093b89ee63df7315"
},
"glsl": {
"revision": "ddc3137a2d775aca93084ff997fa13cc1691058a"
@ -240,10 +252,10 @@
"revision": "3c895f5d9c0b3a3c7e02383766b462c21913c000"
},
"go": {
"revision": "7ee8d928db5202f6831a78f8112fd693bf69f98b"
"revision": "81a11f8252998ee6b98d59e6da91fc307491e53d"
},
"goctl": {
"revision": "f107937259c7ec4bb05f7e3d2c24b89ac36d4cc3"
"revision": "49c43532689fe1f53e8b9e009d0521cab02c432b"
},
"godot_resource": {
"revision": "2ffb90de47417018651fc3b970e5f6b67214dc9d"
@ -255,7 +267,7 @@
"revision": "e2ac513b2240c7ff1069ae33b2df29ce90777c11"
},
"gotmpl": {
"revision": "9d3f6e526dd074b9edae9070b7bb778f00e87a5b"
"revision": "fd9e1c6647e5e9b23918d00d1e48710d0f703e19"
},
"gowork": {
"revision": "949a8a470559543857a62102c84700d291fc984c"
@ -267,7 +279,7 @@
"revision": "5e66e961eee421786bdda8495ed1db045e06b5fe"
},
"groovy": {
"revision": "105ee343682b7eee86b38ec6858a269e16474a72"
"revision": "0d8884514fe10c4fa47527d9a0284d207f38ddea"
},
"gstlaunch": {
"revision": "549aef253fd38a53995cda1bf55c501174372bf7"
@ -279,7 +291,7 @@
"revision": "4af5d82cf9ec39f67cb1db5b7a9269d337406592"
},
"haskell": {
"revision": "a50070d5bb5bd5c1281740a6102ecf1f4b0c4f19"
"revision": "558b997049fddcb07fc513528189c57d6129a260"
},
"haskell_persistent": {
"revision": "577259b4068b2c281c9ebf94c109bd50a74d5857"
@ -291,16 +303,16 @@
"revision": "6dd0303acf7138dd2b9b432a229e16539581c701"
},
"helm": {
"revision": "9d3f6e526dd074b9edae9070b7bb778f00e87a5b"
"revision": "fd9e1c6647e5e9b23918d00d1e48710d0f703e19"
},
"hjson": {
"revision": "02fa3b79b3ff9a296066da6277adfc3f26cbc9e0"
},
"hlsl": {
"revision": "81dbfa44a2e0f9e36d16f449fc792020e2f38426"
"revision": "cf432a7420eb71e9b40954aa829dcb8a9bf6b546"
},
"hlsplaylist": {
"revision": "64f19029339e75d6762feae39e7878595860c980"
"revision": "3bfda9271e3adb08d35f47a2102fe957009e1c55"
},
"hocon": {
"revision": "c390f10519ae69fdb03b3e5764f5592fb6924bcc"
@ -309,13 +321,13 @@
"revision": "a24c5a39d1d7e993a8bee913c8e8b6a652ca5ae8"
},
"html": {
"revision": "e4d834eb4918df01dcad5c27d1b15d56e3bd94cd"
"revision": "14bdaf0da9e26e2de9b30178c2242539d2b0b285"
},
"htmldjango": {
"revision": "ea71012d3fe14dd0b69f36be4f96bdfe9155ebae"
},
"http": {
"revision": "5ae6c7cfa62a7d7325c26171a1de4f6b866702b5"
"revision": "7c68e1c8ce6eeef6bc4b749330c540dbbda5ba44"
},
"hurl": {
"revision": "fba6ed8db3a009b9e7d656511931b181a3ee5b08"
@ -324,10 +336,10 @@
"revision": "6858695eba0e63b9e0fceef081d291eb352abce8"
},
"idl": {
"revision": "1a6683f6809f7bc630f10fcad7d9ac6471deb706"
"revision": "5573b295410201ed22771776b34d636900eba368"
},
"ini": {
"revision": "87176e524f0a98f5be75fa44f4f0ff5c6eac069c"
"revision": "962568c9efa71d25720ab42c5d36e222626ef3a6"
},
"inko": {
"revision": "234c87be1dac20f766ddf6f486a7bde2a4bc5594"
@ -336,22 +348,22 @@
"revision": "9b2f9aec2106b94b4e099fe75e73ebd8ae707c04"
},
"janet_simple": {
"revision": "ea842cb57a90865c8f50bcb4499de1a94860f3a4"
"revision": "12bfab7db8a5f5b1d774ef84b5831acd34936071"
},
"java": {
"revision": "953abfc8bb3eb2f578e1f461edba4a9885f974b8"
"revision": "245b05c6ba900fa708242835f6168ef76f9d951e"
},
"javascript": {
"revision": "12e45374422f6051648717be62f0ffc40a279ee2"
"revision": "b6f0624c1447bc209830b195999b78a56b10a579"
},
"jq": {
"revision": "13990f530e8e6709b7978503da9bc8701d366791"
},
"jsdoc": {
"revision": "49fde205b59a1d9792efc21ee0b6d50bbd35ff14"
"revision": "bc09606fc786ead131a301e4b7524888f2d5c517"
},
"json": {
"revision": "94f5c527b2965465956c2000ed6134dd24daf2a7"
"revision": "8bfdb43f47ad805bb1ce093203cfcbaa8ed2c571"
},
"json5": {
"revision": "ab0ba8229d639ec4f3fa5f674c9133477f4b77bd"
@ -360,10 +372,10 @@
"revision": "02b01653c8a1c198ae7287d566efa86a135b30d5"
},
"jsonnet": {
"revision": "d34615fa12cc1d1cfc1f1f1a80acc9db80ee4596"
"revision": "ddd075f1939aed8147b7aa67f042eda3fce22790"
},
"julia": {
"revision": "f1baa5f8e271109d01cc8ff7473c11df2d8a9aee"
"revision": "3520b57e418f734f582215181ecd926a6178c90f"
},
"just": {
"revision": "6648ac1c0cdadaec8ee8bcf9a4ca6ace5102cf21"
@ -375,7 +387,7 @@
"revision": "b37e3d58e5c5cf8d739b315d6114e02d42e66664"
},
"kotlin": {
"revision": "8d9d372b09fa4c3735657c5fc2ad03e53a5f05f5"
"revision": "ec985672ff21f7fd7f835869d8021e8f87304bb4"
},
"koto": {
"revision": "d4109879ba1387d19095269a7473bd7d274ab848"
@ -387,19 +399,19 @@
"revision": "854a40e99f7c70258e522bdb8ab584ede6196e2e"
},
"latex": {
"revision": "efe5afdbb59b70214e6d70db5197dc945d5b213e"
"revision": "90fd9894bebddce79f5b8041e7f82523364a619b"
},
"ledger": {
"revision": "8a841fb20ce683bfbb3469e6ba67f2851cfdf94a"
},
"leo": {
"revision": "304611b5eaf53aca07459a0a03803b83b6dfd3b3"
"revision": "6ca11a96fc2cab51217e0cf4a2f9ed3ea63e28fb"
},
"linkerscript": {
"revision": "f99011a3554213b654985a4b0a65b3b032ec4621"
},
"liquid": {
"revision": "7862a3424832c3a9d45eb21143b375837bd6573b"
"revision": "23ac814111e2b4b4b083e2c92219af2d5b74d13d"
},
"liquidsoap": {
"revision": "14feafa91630afb1ab9988cf9b738b7ea29f3f89"
@ -408,7 +420,7 @@
"revision": "1b96e58faf558ce057d4dc664b904528aee743cb"
},
"lua": {
"revision": "a24dab177e58c9c6832f96b9a73102a0cfbced4a"
"revision": "99fc677e6971c425e8d407f59c77ab897e585c92"
},
"luadoc": {
"revision": "873612aadd3f684dd4e631bdf42ea8990c57634e"
@ -426,13 +438,13 @@
"revision": "a4b9187417d6be349ee5fd4b6e77b4172c6827dd"
},
"markdown": {
"revision": "7fe453beacecf02c86f7736439f238f5bb8b5c9b"
"revision": "c25b6354120182f1e0d5caa52f717b097a7e46a3"
},
"markdown_inline": {
"revision": "7fe453beacecf02c86f7736439f238f5bb8b5c9b"
"revision": "c25b6354120182f1e0d5caa52f717b097a7e46a3"
},
"matlab": {
"revision": "0d5a05e543af2de60cdb5e71f0f5888c95ab936f"
"revision": "306c43ab28b7b8a4976e40ff0a7c26b019ad52df"
},
"menhir": {
"revision": "be8866a6bcc2b563ab0de895af69daeffa88fe70"
@ -444,10 +456,10 @@
"revision": "bd17c824196ce70800f64ad39cfddd1b17acc13f"
},
"mlir": {
"revision": "affbd6f3b08155826a22cfa8373147acbf60f1f1"
"revision": "02af5a1a1cfa69a094e3136b10dfb602f968232e"
},
"muttrc": {
"revision": "90ef60852c410bd964cd3b954366e4c403c17314"
"revision": "173b0ab53a9c07962c9777189c4c70e90f1c1837"
},
"nasm": {
"revision": "570f3d7be01fffc751237f4cfcf52d04e20532d1"
@ -456,7 +468,7 @@
"revision": "281d184b8240b2b22670b8907b57b6d6842db6f3"
},
"nickel": {
"revision": "3039ad9e9af3c1ffe049a04ee83a2b489915b0b9"
"revision": "88d836a24b3b11c8720874a1a9286b8ae838d30a"
},
"nim": {
"revision": "897e5d346f0b59ed62b517cfb0f1a845ad8f0ab7"
@ -468,10 +480,10 @@
"revision": "0a95cfdc0745b6ae82f60d3a339b37f19b7b9267"
},
"nix": {
"revision": "68d3b7999ad89d31690461884270e5658e0a22c4"
"revision": "537095ddc80cf610fa75a2a0149fe9799b011014"
},
"norg": {
"revision": "aa1a1a7ded81a094cc3d5cb14bea6f34b86d8688"
"revision": "d89d95af13d409f30a6c7676387bde311ec4a2c8"
},
"nqc": {
"revision": "14e6da1627aaef21d2b2aa0c37d04269766dcc1d"
@ -483,10 +495,10 @@
"revision": "28d3b2e25a0b1881d1b47ed1924ca276c7003d45"
},
"ocaml": {
"revision": "036226e5edb410aec004cc7ac0f4b2014dd04a0e"
"revision": "14beb5ef0e7488bf1d93b8c67f69942324fee557"
},
"ocaml_interface": {
"revision": "036226e5edb410aec004cc7ac0f4b2014dd04a0e"
"revision": "14beb5ef0e7488bf1d93b8c67f69942324fee557"
},
"ocamllex": {
"revision": "4b9898ccbf198602bb0dec9cd67cc1d2c0a4fad2"
@ -498,7 +510,7 @@
"revision": "64cfbc213f5a83da17632c95382a5a0a2f3357c1"
},
"pascal": {
"revision": "a9ee969dec5b2e3b2ccccc5954fec04100c7619e"
"revision": "d0ebabefaea9ac3f6fc3004cf08cd121b66da9e4"
},
"passwd": {
"revision": "20239395eacdc2e0923a7e5683ad3605aee7b716"
@ -507,16 +519,16 @@
"revision": "217ff2af3f2db15a79ab7e3d21ea1e0c17e71a1a"
},
"perl": {
"revision": "3a21d9cb2a20a062c17f8f53d5983fd473c4673c"
"revision": "70db420b20885ecd7268e5a710ebb3aeaef3a293"
},
"php": {
"revision": "c07d69739ba71b5a449bdbb7735991f8aabf8546"
"revision": "74c6b0d560c2660db4d9e8c76b681f538d494160"
},
"php_only": {
"revision": "c07d69739ba71b5a449bdbb7735991f8aabf8546"
"revision": "74c6b0d560c2660db4d9e8c76b681f538d494160"
},
"phpdoc": {
"revision": "1d0e255b37477d0ca46f1c9e9268c8fa76c0b3fc"
"revision": "df5e7da4b83da072f99135079ac3436550b8d67d"
},
"pioasm": {
"revision": "924aadaf5dea2a6074d72027b064f939acf32e20"
@ -525,7 +537,7 @@
"revision": "bd860a0f57f697162bf28e576674be9c1500db5e"
},
"pod": {
"revision": "39da859947b94abdee43e431368e1ae975c0a424"
"revision": "0bf8387987c21bf2f8ed41d2575a8f22b139687f"
},
"poe_filter": {
"revision": "592476d81f95d2451f2ca107dc872224c76fecdf"
@ -576,25 +588,25 @@
"revision": "be062582956165019d3253794b4d712f66dfeaaa"
},
"python": {
"revision": "0dee05ef958ba2eae88d1e65f24b33cad70d4367"
"revision": "8c65e256f971812276ff2a69a2f515c218ed7f82"
},
"ql": {
"revision": "42becd6f8f7bae82c818fa3abb1b6ff34b552310"
"revision": "c73c31c89cb0019ef56fe8bc1723e7c36e0be607"
},
"qmldir": {
"revision": "6b2b5e41734bd6f07ea4c36ac20fb6f14061c841"
},
"qmljs": {
"revision": "febf48a5b6928600cd8fb2a01254743af550780d"
"revision": "cc4186f15e2829385be33440561fdd17b1c40cf7"
},
"query": {
"revision": "f767fb0ac5e711b6d44c5e0c8d1f349687a86ce0"
},
"r": {
"revision": "b1e211f52ad8f8e1e182bbbcc16dcd5e3688eb7d"
"revision": "c8b6e5f3f3c055cfc76471ebc912286e9e73d7d2"
},
"racket": {
"revision": "171f52a8c0ed635b85cd42d1e36d82f1066a03b4"
"revision": "5b211bf93021d1c45f39aa96898be9f794f087e4"
},
"ralph": {
"revision": "f6d81bf7a4599c77388035439cf5801cd461ff77"
@ -612,7 +624,7 @@
"revision": "3d4768b04d7cfaf40533e12b28672603428b8f31"
},
"regex": {
"revision": "47007f195752d8e57bda80b0b6cdb2d173a9f7d7"
"revision": "f70251e1f1d72bd6dc1f897f956f9112f8668441"
},
"rego": {
"revision": "20b5a5958c837bc9f74b231022a68a594a313f6d"
@ -642,28 +654,31 @@
"revision": "5120f6e59284cb8b85b450bd2db0bd352635ba9f"
},
"ruby": {
"revision": "0ffe457fb6aabf064f173fd30ea356845cef2513"
"revision": "a66579f70d6f50ffd81a16fc3d3358e2ac173c88"
},
"rust": {
"revision": "9c84af007b0f144954adb26b3f336495cbb320a7"
"revision": "6b7d1fc73ded57f73b1619bcf4371618212208b1"
},
"scala": {
"revision": "a13f2d1ee9609cc5c4c8ffce9640c353b77a24d8"
"revision": "b02af60518ae1633d552ae2d0f25ca5e05f274f7"
},
"scfg": {
"revision": "a5512800ea0220da4abbae61b8aea8423d1549aa"
},
"scheme": {
"revision": "8f9dff3d038f09934db5ea113cebc59c74447743"
"revision": "63e25a4a84142ae7ee0ee01fe3a32c985ca16745"
},
"scss": {
"revision": "c478c6868648eff49eb04a4df90d703dc45b312a"
},
"sflog": {
"revision": "602cc4b050ef1e14a69acc2ea094968bf928fa59"
},
"slang": {
"revision": "d84b43d75d65bbc4ba57166ce17555f32c0b8983"
"revision": "4a3fabd26b09efd7431ea4899e5f2d81b568a4b9"
},
"slint": {
"revision": "4a0558cc0fcd7a6110815b9bbd7cc12d7ab31e74"
"revision": "34ccfd58d3baee7636f62d9326f32092264e8407"
},
"smali": {
"revision": "fdfa6a1febc43c7467aa7e937b87b607956f2346"
@ -672,16 +687,16 @@
"revision": "fa898ac0885d1da9a253695c3e0e91f5efc587cd"
},
"snakemake": {
"revision": "46d4de8e6cfca8a97c0489aea936bb15beeaf666"
"revision": "e909815acdbe37e69440261ebb1091ed52e1dec6"
},
"solidity": {
"revision": "ee5a2d2ba30b487c4bbf613d2ef310a454c09c7c"
},
"soql": {
"revision": "c99ad4b16d112fea91745e3f1b769754239fdaba"
"revision": "602cc4b050ef1e14a69acc2ea094968bf928fa59"
},
"sosl": {
"revision": "c99ad4b16d112fea91745e3f1b769754239fdaba"
"revision": "602cc4b050ef1e14a69acc2ea094968bf928fa59"
},
"sourcepawn": {
"revision": "6b9bf9cbab91443380d2ca8a2f6c491cc7fac5bf"
@ -690,7 +705,7 @@
"revision": "d853661ca680d8ff7f8d800182d5782b61d0dd58"
},
"sql": {
"revision": "b8175006d9c8120d41cf40a4ef3711bbbbc08973"
"revision": "a8b10c76759a372d0f92bb070b4f5c993e0ce5f9"
},
"squirrel": {
"revision": "072c969749e66f000dba35a33c387650e203e96e"
@ -705,7 +720,7 @@
"revision": "d819cdd5dbe455bd3c859193633c8d91c0df7c36"
},
"styled": {
"revision": "65835cca33a5f033bcde580ed66cde01c1fabbbe"
"revision": "b729198642b3058d4ea0f864d86efb271d594595"
},
"supercollider": {
"revision": "affa4389186b6939d89673e1e9d2b28364f5ca6f"
@ -714,16 +729,16 @@
"revision": "f4586b35ac8548667a9aaa4eae44456c1f43d032"
},
"svelte": {
"revision": "7ab8221e3f378a3b04b4b488f07c1f408c5bd0d8"
"revision": "774a65aea563accc35f5d45fafa4d96ec5761f57"
},
"swift": {
"revision": "769bb834feb2947f2c706d82830b0a05958727de"
"revision": "7d303df70012edb7385a6a3b3938e0e7b89ecfbd"
},
"sxhkdrc": {
"revision": "440d5f913d9465c9c776a1bd92334d32febcf065"
},
"systemtap": {
"revision": "1af543a96d060b1f808982037bfc54cc02218edd"
"revision": "f2b378a9af0b7e1192cff67a5fb45508c927205d"
},
"systemverilog": {
"revision": "4f897d5e3f0e38bf8fbb55e8f39dc97d2bc2229e"
@ -735,16 +750,16 @@
"revision": "b1170880c61355aaf38fc06f4af7d3c55abdabc4"
},
"tact": {
"revision": "91cc49a83f4f0b3a756bf7d0e65403a9cf757003"
"revision": "b3710fe2723bd9b285de7f3d0c0717bebf3f17bd"
},
"tcl": {
"revision": "8784024358c233efd0f3a6fd9e7a3c5852e628bc"
"revision": "cdba4ab96a9896492d0d5219b70300c8783ca4e7"
},
"teal": {
"revision": "19b02da829d1721a521bf7b802eb80a50bd53aab"
},
"templ": {
"revision": "de0d0ee129cf643872e8e0d5c4a6589b5a3aae23"
"revision": "0524da9e1f14b9b7d7d6d36608293f85a550b263"
},
"terraform": {
"revision": "9e3ec9848f28d26845ba300fd73c740459b83e9b"
@ -762,7 +777,7 @@
"revision": "bba02e79f85e335f310fc95e21c677e49f2c4439"
},
"tmux": {
"revision": "9138ea508410e0f34da2666609f600f65e944f22"
"revision": "0252ecd080016e45e6305ef1a943388f5ae2f4b4"
},
"todotxt": {
"revision": "3937c5cd105ec4127448651a21aef45f52d19609"
@ -774,7 +789,7 @@
"revision": "7eb7297823605392d2bbcc4c09b1cd18d6fa9529"
},
"tsx": {
"revision": "198d03553f43a45b92ac5d0ee167db3fec6a6fd6"
"revision": "9951831c5f05be434514dce38b30eef213667601"
},
"turtle": {
"revision": "7f789ea7ef765080f71a298fc96b7c957fa24422"
@ -783,7 +798,7 @@
"revision": "085648e01d1422163a1702a44e72303b4e2a0bd1"
},
"typescript": {
"revision": "198d03553f43a45b92ac5d0ee167db3fec6a6fd6"
"revision": "9951831c5f05be434514dce38b30eef213667601"
},
"typespec": {
"revision": "0ee05546d73d8eb64635ed8125de6f35c77759fe"
@ -810,7 +825,7 @@
"revision": "ad9b638b914095320de85d59c49ab271603af048"
},
"v": {
"revision": "7f80a0441ff2ca6aa8ced8e1ee87cead9dd26515"
"revision": "d63bc6c08a88715c89f4b1b06642e130dd899aba"
},
"vala": {
"revision": "8f690bfa639f2b83d1fb938ed3dd98a7ba453e8b"
@ -822,10 +837,10 @@
"revision": "075ebfc84543675f12e79a955f79d717772dcef3"
},
"vhdl": {
"revision": "4ab3e251eae8890a020d083d00acd1b8c2653c07"
"revision": "3f13cd14952b39ccf6817f58880834b84565ca54"
},
"vhs": {
"revision": "90028bbadb267ead5b87830380f6a825147f0c0f"
"revision": "09f8fbfe40a3a699b200daca7d92e65fbbe9f9e6"
},
"vim": {
"revision": "f3cd62d8bd043ef20507e84bb6b4b53731ccf3a7"
@ -846,7 +861,7 @@
"revision": "0f06f24e259ac725045956436b9025dab008ff9f"
},
"wing": {
"revision": "bd1d35cf3e013dc7e189b46a593bdc2b281b0dd7"
"revision": "76e0c25844a66ebc6e866d690fcc5f4e90698947"
},
"wit": {
"revision": "c52f0b07786603df17ad0197f6cef680f312eb2c"
@ -867,9 +882,9 @@
"revision": "e877f6ade4b77d5ef8787075141053631ba12318"
},
"zathurarc": {
"revision": "6e7c8edfcd6f5f7c12b2fa9ffc6d042f1b6d7068"
"revision": "0554b4a5d313244b7fc000cbb41c04afae4f4e31"
},
"zig": {
"revision": "2bac4cc6c697d46a193905fef6d003bfa0bfabfd"
"revision": "21e2218e0ec7f4e3c0640d16bf8c67e6f0a61e18"
}
}

View File

@ -98,7 +98,7 @@ list.apex = {
files = { "src/parser.c" },
location = "apex",
},
maintainers = { "@aheber" },
maintainers = { "@aheber", "@xixiaofinland" },
}
list.arduino = {
@ -633,6 +633,24 @@ list.fusion = {
maintainers = { "@jirgn" },
}
list.gap = {
install_info = {
url = "https://github.com/gap-system/tree-sitter-gap",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@reiniscirpons" },
readme_name = "GAP system",
}
list.gaptst = {
install_info = {
url = "https://github.com/gap-system/tree-sitter-gaptst",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@reiniscirpons" },
readme_name = "GAP system test files",
}
list.gdscript = {
install_info = {
url = "https://github.com/PrestonKnopp/tree-sitter-gdscript",
@ -704,7 +722,7 @@ list.gleam = {
list.glimmer = {
install_info = {
url = "https://github.com/alexlafroscia/tree-sitter-glimmer",
url = "https://github.com/ember-tooling/tree-sitter-glimmer",
files = { "src/parser.c", "src/scanner.c" },
},
filetype = "handlebars",
@ -712,6 +730,26 @@ list.glimmer = {
readme_name = "Glimmer and Ember",
}
list.glimmer_javascript = {
install_info = {
url = "https://github.com/NullVoxPopuli/tree-sitter-glimmer-javascript",
files = { "src/parser.c", "src/scanner.c" },
generate_requires_npm = true,
},
filetype = "javascript.glimmer",
maintainers = { "@NullVoxPopuli" },
}
list.glimmer_typescript = {
install_info = {
url = "https://github.com/NullVoxPopuli/tree-sitter-glimmer-typescript",
files = { "src/parser.c", "src/scanner.c" },
generate_requires_npm = true,
},
filetype = "typescript.glimmer",
maintainers = { "@NullVoxPopuli" },
}
list.glsl = {
install_info = {
url = "https://github.com/theHamsta/tree-sitter-glsl",
@ -1495,7 +1533,7 @@ list.php = {
location = "php",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@tk-shirasaka" },
maintainers = { "@tk-shirasaka", "@calebdw" },
}
list.php_only = {
@ -1504,7 +1542,7 @@ list.php_only = {
location = "php_only",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@tk-shirasaka" },
maintainers = { "@tk-shirasaka", "@calebdw" },
}
-- Parsers for injections
@ -1908,6 +1946,15 @@ list.scss = {
maintainers = { "@elianiva" },
}
list.sflog = {
install_info = {
url = "https://github.com/aheber/tree-sitter-sfapex",
files = { "src/parser.c" },
location = "sflog",
},
maintainers = { "@aheber", "@xixiaofinland" },
}
list.slang = {
install_info = {
url = "https://github.com/theHamsta/tree-sitter-slang",
@ -1966,7 +2013,7 @@ list.soql = {
files = { "src/parser.c" },
location = "soql",
},
maintainers = { "@aheber" },
maintainers = { "@aheber", "@xixiaofinland" },
}
list.sosl = {
@ -1975,7 +2022,7 @@ list.sosl = {
files = { "src/parser.c" },
location = "sosl",
},
maintainers = { "@aheber" },
maintainers = { "@aheber", "@xixiaofinland" },
}
list.sourcepawn = {
@ -2499,10 +2546,10 @@ list.zathurarc = {
list.zig = {
install_info = {
url = "https://github.com/maxxnino/tree-sitter-zig",
url = "https://github.com/tree-sitter-grammars/tree-sitter-zig",
files = { "src/parser.c" },
},
maintainers = { "@maxxnino" },
maintainers = { "@amaanq" },
}
list.templ = {

View File

@ -248,7 +248,7 @@ function M.iter_prepared_matches(query, qnode, bufnr, start_row, end_row)
return t
end
local matches = query:iter_matches(qnode, bufnr, start_row, end_row)
local matches = query:iter_matches(qnode, bufnr, start_row, end_row, { all = false })
local function iterator()
local pattern, match, metadata = matches()

View File

@ -15,6 +15,9 @@ local non_filetype_match_injection_language_aliases = {
ts = "typescript",
}
-- compatibility shim for breaking change on nightly/0.11
local opts = vim.fn.has "nvim-0.10" == 1 and { force = true, all = false } or true
local function get_parser_from_markdown_info_string(injection_alias)
local match = vim.filetype.match { filename = "a." .. injection_alias }
return match or non_filetype_match_injection_language_aliases[injection_alias] or injection_alias
@ -57,7 +60,7 @@ query.add_predicate("nth?", function(match, _pattern, _bufnr, pred)
end
return false
end, true)
end, opts)
---@param match (TSNode|nil)[]
---@param _pattern string
@ -91,9 +94,9 @@ local function has_ancestor(match, _pattern, _bufnr, pred)
return false
end
query.add_predicate("has-ancestor?", has_ancestor, true)
query.add_predicate("has-ancestor?", has_ancestor, opts)
query.add_predicate("has-parent?", has_ancestor, true)
query.add_predicate("has-parent?", has_ancestor, opts)
---@param match (TSNode|nil)[]
---@param _pattern string
@ -117,7 +120,7 @@ query.add_predicate("is?", function(match, _pattern, bufnr, pred)
local _, _, kind = locals.find_definition(node, bufnr)
return vim.tbl_contains(types, kind)
end, true)
end, opts)
---@param match (TSNode|nil)[]
---@param _pattern string
@ -137,7 +140,7 @@ query.add_predicate("kind-eq?", function(match, _pattern, _bufnr, pred)
end
return vim.tbl_contains(types, node:type())
end, true)
end, opts)
---@param match (TSNode|nil)[]
---@param _ string
@ -158,7 +161,7 @@ query.add_directive("set-lang-from-mimetype!", function(match, _, bufnr, pred, m
local parts = vim.split(type_attr_value, "/", {})
metadata["injection.language"] = parts[#parts]
end
end, true)
end, opts)
---@param match (TSNode|nil)[]
---@param _ string
@ -173,10 +176,10 @@ query.add_directive("set-lang-from-info-string!", function(match, _, bufnr, pred
end
local injection_alias = vim.treesitter.get_node_text(node, bufnr):lower()
metadata["injection.language"] = get_parser_from_markdown_info_string(injection_alias)
end, true)
end, opts)
-- Just avoid some annoying warnings for this directive
query.add_directive("make-range!", function() end, true)
query.add_directive("make-range!", function() end, opts)
--- transform node text to lower case (e.g., to make @injection.language case insensitive)
---
@ -197,7 +200,7 @@ query.add_directive("downcase!", function(match, _, bufnr, pred, metadata)
metadata[id] = {}
end
metadata[id].text = string.lower(text)
end, true)
end, opts)
-- Trim blank lines from end of the region
-- Arguments are the captures to trim.
@ -235,4 +238,4 @@ query.add_directive("trim!", function(match, _, bufnr, pred, metadata)
metadata[id].range = { start_row, start_col, end_row, end_col }
end
end
end, true)
end, opts)

View File

@ -1,5 +1,6 @@
local fn = vim.fn
local utils = require "nvim-treesitter.utils"
local uv = vim.uv or vim.loop
-- Convert path for cmd.exe on Windows.
-- This is needed when vim.opt.shellslash is in use.
@ -303,10 +304,11 @@ function M.select_download_commands(repo, project_name, cache_folder, revision,
"GIT_PREFIX",
"GIT_WORK_TREE",
} do
if vim.uv.os_getenv(k) then
if uv.os_getenv(k) then
vim.api.nvim_err_writeln(
string.format(
"Cannot install %s with git in an active git session. Exit the session and run ':TSInstall %s' manually",
project_name,
project_name
)
)

View File

@ -358,6 +358,9 @@
(preproc_pragma
(identifier) @constant)
(preproc_if
(identifier) @constant)
[
"if"
"else"
@ -367,15 +370,6 @@
"when"
] @keyword.conditional
(preproc_pragma
(identifier) @constant)
(preproc_if
(identifier) @constant)
(preproc_if
(identifier) @constant)
[
"while"
"for"

View File

@ -230,7 +230,7 @@
"private"
"protected"
"final"
(virtual)
"virtual"
] @keyword.modifier
[

View File

@ -0,0 +1,5 @@
[
(block)
(hunks)
(hunk)
] @fold

View File

@ -43,10 +43,6 @@
(statement_identifier) @label
(glimmer_opening_tag) @tag.builtin
(glimmer_closing_tag) @tag.builtin
; Function and method definitions
;--------------------------------
(function_expression

View File

@ -7,11 +7,7 @@
; html(`...`), html`...`, sql(`...`), etc.
(call_expression
function: [
(await_expression
(identifier) @injection.language)
(identifier) @injection.language
]
function: (identifier) @injection.language
arguments: [
(arguments
(template_string) @injection.content)
@ -27,13 +23,8 @@
; svg`...` or svg(`...`)
(call_expression
function: [
(await_expression
(identifier) @_name
(#eq? @_name "svg"))
((identifier) @_name
(#eq? @_name "svg"))
]
function: (identifier) @_name
(#eq? @_name "svg")
arguments: [
(arguments
(template_string) @injection.content)
@ -46,13 +37,8 @@
; Vercel PostgreSQL
; foo.sql`...` or foo.sql(`...`)
(call_expression
function: [
(await_expression
(member_expression
property: (property_identifier) @injection.language))
(member_expression
property: (property_identifier) @injection.language)
]
function: (member_expression
property: (property_identifier) @injection.language)
arguments: [
(arguments
(template_string) @injection.content)
@ -63,47 +49,29 @@
(#set! injection.include-children))
(call_expression
function: [
(await_expression
(identifier) @_name
(#eq? @_name "gql"))
((identifier) @_name
(#eq? @_name "gql"))
]
arguments: ((template_string) @injection.content
(#offset! @injection.content 0 1 0 -1)
(#set! injection.include-children)
(#set! injection.language "graphql")))
function: (identifier) @_name
(#eq? @_name "gql")
arguments: (template_string) @injection.content
(#offset! @injection.content 0 1 0 -1)
(#set! injection.include-children)
(#set! injection.language "graphql"))
(call_expression
function: [
(await_expression
(identifier) @_name
(#eq? @_name "hbs"))
((identifier) @_name
(#eq? @_name "hbs"))
]
arguments: ((template_string) @injection.content
(#offset! @injection.content 0 1 0 -1)
(#set! injection.include-children)
(#set! injection.language "glimmer")))
((glimmer_template) @injection.content
function: (identifier) @_name
(#eq? @_name "hbs")
arguments: (template_string) @injection.content
(#offset! @injection.content 0 1 0 -1)
(#set! injection.include-children)
(#set! injection.language "glimmer"))
; css`<css>`, keyframes`<css>`
(call_expression
function: [
(await_expression
(identifier) @_name
(#any-of? @_name "css" "keyframes"))
((identifier) @_name
(#any-of? @_name "css" "keyframes"))
]
arguments: ((template_string) @injection.content
(#offset! @injection.content 0 1 0 -1)
(#set! injection.include-children)
(#set! injection.language "styled")))
function: (identifier) @_name
(#any-of? @_name "css" "keyframes")
arguments: (template_string) @injection.content
(#offset! @injection.content 0 1 0 -1)
(#set! injection.include-children)
(#set! injection.language "styled"))
; styled.div`<css>`
(call_expression

View File

@ -1,8 +1,7 @@
(comment) @comment @spell
; consistency with toml and ini
(section
(section_name) @type)
(section_name) @string.special.path)
(character_choice
(character) @constant)

View File

@ -0,0 +1,12 @@
[
(if_statement)
(elif_clause)
(else_clause)
(while_statement)
(repeat_statement)
(for_statement)
(atomic_statement)
(lambda)
(function)
(atomic_function)
] @fold

View File

@ -0,0 +1,208 @@
(identifier) @variable
; Functions
(assignment_statement
left: (identifier) @function
right: (function))
(assignment_statement
left: (identifier) @function
right: (atomic_function))
(assignment_statement
left: (identifier) @function
right: (lambda))
(call
function: (identifier) @function.call)
((call
function: (identifier) @function.builtin)
(#any-of? @function.builtin "Assert" "Info" "IsBound" "Unbind" "TryNextMethod"))
(parameters
(identifier) @variable.parameter)
(qualified_parameters
(identifier) @variable.parameter)
(qualified_parameters
(qualified_identifier
(identifier) @variable.parameter))
(lambda_parameters
(identifier) @variable.parameter)
; arg is treated specially when it is the only parameter of a function
((parameters
.
(identifier) @variable.parameter.builtin .)
(#eq? @variable.parameter.builtin "arg"))
((qualified_parameters
.
(identifier) @variable.parameter.builtin .)
(#eq? @variable.parameter.builtin "arg"))
((qualified_parameters
.
(qualified_identifier
(identifier) @variable.parameter.builtin) .)
(#eq? @variable.parameter.builtin "arg"))
((lambda_parameters
.
(identifier) @variable.parameter.builtin .)
(#eq? @variable.parameter.builtin "arg"))
; Literals
(bool) @constant.builtin
(integer) @number
(float) @number.float
(string) @string
(char) @character
(escape_sequence) @string.escape
[
(help_topic)
(help_book)
] @string.special
(tilde) @variable.builtin
; Record selectors
(record_entry
left: [
(identifier)
(integer)
] @variable.member)
(record_selector
selector: [
(identifier)
(integer)
] @variable.member)
(component_selector
selector: [
(identifier)
(integer)
] @variable.member)
(function_call_option
[
(identifier)
(record_entry ;Record entries specify global properties in function calls
left: [
(identifier)
(integer)
])
] @property)
(help_statement
(help_selector) @property)
; Operators
[
"+"
"-"
"*"
"/"
"^"
"->"
":="
"<"
"<="
"<>"
"="
">"
">="
".."
(ellipsis)
] @operator
(help_statement
(help_operator) @operator)
; Keywords
[
(break_statement)
(continue_statement)
"atomic"
(quit_statement)
] @keyword
[
"function"
"local"
"end"
] @keyword.function
[
"and"
"in"
"mod"
"not"
"or"
] @keyword.operator
"rec" @keyword.type
[
"readonly"
"readwrite"
] @keyword.modifier
(atomic_function
"atomic" @keyword.modifier)
[
"for"
"while"
"do"
"od"
"repeat"
"until"
] @keyword.repeat
[
"if"
"then"
"elif"
"else"
"fi"
] @keyword.conditional
"return" @keyword.return
(pragma) @keyword.directive
;Punctuation
[
","
";"
"."
"!."
":"
] @punctuation.delimiter
[
"("
")"
"["
"!["
"]"
"{"
"}"
] @punctuation.bracket
(help_statement
"?" @punctuation.special)
;Comments
(comment) @comment @spell

View File

@ -0,0 +1,2 @@
((comment) @injection.content
(#set! injection.language "comment"))

View File

@ -0,0 +1,43 @@
[
(lambda)
(function)
(atomic_function)
] @local.scope
(parameters
(identifier) @local.definition.parameter)
(qualified_parameters
(identifier) @local.definition.parameter)
(qualified_parameters
(qualified_identifier
(identifier) @local.definition.parameter))
(lambda_parameters
(identifier) @local.definition.parameter)
(locals
(identifier) @local.definition.var)
(record_entry
left: [
(identifier)
(integer)
] @local.definition.field)
(assignment_statement
left: (identifier) @local.definition.var)
(for_statement
identifier: (identifier) @local.definition.var)
(assignment_statement
left: (identifier) @local.definition.function
right: [
(lambda)
(function)
(atomic_function)
])
(identifier) @local.reference

View File

@ -0,0 +1,7 @@
[
(if_statement)
(else_clause)
(local_statement)
(exec_statement)
(test_case)
] @fold

View File

@ -0,0 +1,19 @@
(output_line) @markup.raw.block
[
"#@local"
"#@exec"
] @keyword
[
"gap> "
"> "
] @keyword.debug
[
"#@if"
"#@else"
"#@fi"
] @keyword.conditional
(comment) @comment @spell

View File

@ -0,0 +1,9 @@
((comment) @injection.content
(#set! injection.language "comment"))
((gap_expression) @injection.content
(#set! injection.language "gap"))
((input_line) @injection.content
(#set! injection.language "gap")
(#set! injection.combined))

View File

@ -1,5 +1,5 @@
; Sections
(section_name) @type
(section_name) @markup.heading
((section_name) @keyword.import
(#eq? @keyword.import "include"))

View File

@ -24,6 +24,9 @@
; References
(identifier) @local.reference
; Block Scope
(block) @local.scope
; Function Body Scope
(function_body) @local.scope

View File

@ -1,2 +1,21 @@
; comments
((comment_statement) @injection.content
(#set! injection.language "comment"))
; <style> tags
((element_node
(element_node_start
(tag_name) @_tag_name
(#eq? @_tag_name "style"))) @injection.content
(#offset! @injection.content 0 7 0 -8)
(#set! injection.language "css")
(#set! injection.include-children))
; <script> tags
((element_node
(element_node_start
(tag_name) @_tag_name
(#eq? @_tag_name "script"))) @injection.content
(#offset! @injection.content 0 8 0 -9)
(#set! injection.language "glimmer_javascript")
(#set! injection.include-children))

View File

@ -0,0 +1,61 @@
; inherits: ecma
(glimmer_opening_tag) @tag.builtin
(glimmer_closing_tag) @tag.builtin
; Copied from javascript
; Parameters
(formal_parameters
(identifier) @variable.parameter)
(formal_parameters
(rest_pattern
(identifier) @variable.parameter))
; ({ a }) => null
(formal_parameters
(object_pattern
(shorthand_property_identifier_pattern) @variable.parameter))
; ({ a = b }) => null
(formal_parameters
(object_pattern
(object_assignment_pattern
(shorthand_property_identifier_pattern) @variable.parameter)))
; ({ a: b }) => null
(formal_parameters
(object_pattern
(pair_pattern
value: (identifier) @variable.parameter)))
; ([ a ]) => null
(formal_parameters
(array_pattern
(identifier) @variable.parameter))
; ({ a } = { a }) => null
(formal_parameters
(assignment_pattern
(object_pattern
(shorthand_property_identifier_pattern) @variable.parameter)))
; ({ a = b } = { a }) => null
(formal_parameters
(assignment_pattern
(object_pattern
(object_assignment_pattern
(shorthand_property_identifier_pattern) @variable.parameter))))
; a => null
(arrow_function
parameter: (identifier) @variable.parameter)
; optional parameters
(formal_parameters
(assignment_pattern
left: (identifier) @variable.parameter))
; punctuation
(optional_chain) @punctuation.delimiter

View File

@ -0,0 +1,5 @@
; inherits: ecma
(glimmer_opening_tag) @indent.begin
(glimmer_closing_tag) @indent.end

View File

@ -0,0 +1,15 @@
; inherits: ecma
; Parse Ember/Glimmer/Handlebars/HTMLBars/etc. template literals
; e.g.: await render(hbs`<SomeComponent />`)
(call_expression
function: ((identifier) @_name
(#eq? @_name "hbs"))
arguments: ((template_string) @glimmer
(#offset! @glimmer 0 1 0 -1)))
; Ember Unified <template> syntax
; e.g.: <template><SomeComponent @arg={{double @value}} /></template>
((glimmer_template) @injection.content
(#set! injection.language "glimmer")
(#set! injection.include-children))

View File

@ -0,0 +1,6 @@
; inherits: typescript
; Sub-language delimeters
(glimmer_opening_tag) @tag.builtin
(glimmer_closing_tag) @tag.builtin

View File

@ -0,0 +1,3 @@
(glimmer_opening_tag) @indent.begin
(glimmer_closing_tag) @indent.end

View File

@ -0,0 +1,15 @@
; inherits: typescript
; Parse Ember/Glimmer/Handlebars/HTMLBars/etc. template literals
; e.g.: await render(hbs`<SomeComponent />`)
(call_expression
function: ((identifier) @_name
(#eq? @_name "hbs"))
arguments: ((template_string) @glimmer
(#offset! @glimmer 0 1 0 -1)))
; Ember Unified <template> syntax
; e.g.: <template><SomeComponent @arg={{double @value}} /></template>
((glimmer_template) @injection.content
(#set! injection.language "glimmer")
(#set! injection.include-children))

View File

@ -34,7 +34,7 @@
(import_spec_list
")" @indent.branch)
(var_declaration
(var_spec_list
")" @indent.branch)
[

View File

@ -1,50 +1,36 @@
; Keywords
(scheme) @module
; Methods
(method) @function.method
; Headers
(header
name: (name) @constant)
name: (_) @constant)
; Variables
(variable_declaration
name: (identifier) @variable)
; Fields
(pair
name: (identifier) @variable.member)
; URL / Host
(host) @string.special.url
(path
(identifier) @string.special.url)
; Parameters
(query_param
(key) @variable.parameter)
; Operators
[
"="
"?"
"&"
"@"
"<"
] @operator
(comment
"=" @operator)
(variable_declaration
"=" @operator)
; keywords
(comment
"@" @keyword
name: (_) @keyword)
; Literals
(target_url) @string.special.url
(request
url: (_) @string.special.url)
(http_version) @constant
(string) @string
; Response
(status_code) @number
(number) @number
(boolean) @boolean
(status_text) @string
; Punctuation
[
@ -52,11 +38,15 @@
"}}"
] @punctuation.bracket
":" @punctuation.delimiter
(header
":" @punctuation.delimiter)
; external JSON body
(external_body
file_path: (path) @string.special.path)
path: (_) @string.special.path)
; Comments
(comment) @comment @spell
[
(comment)
(request_separator)
] @comment @spell

View File

@ -9,9 +9,16 @@
((xml_body) @injection.content
(#set! injection.language "xml"))
((graphql_body) @injection.content
((graphql_data) @injection.content
(#set! injection.language "graphql"))
; Lua scripting
((script_variable) @injection.content
(#set! injection.language "lua"))
; Script (default to javascript)
((comment
name: (_) @_name
(#eq? @_name "lang")
value: (_) @injection.language)?
.
(_
(script) @injection.content
(#offset! @injection.content 0 2 0 -2))
(#set! injection.language "javascript"))

View File

@ -168,7 +168,7 @@
(preproc_call
directive: (preproc_directive) @keyword.directive
argument: (_) @constant)
argument: (_)? @constant)
(module_dcl
(identifier) @module)

View File

@ -1,5 +1,5 @@
(section_name
(text) @type) ; consistency with toml
(text) @markup.heading)
(comment) @comment @spell
@ -13,4 +13,4 @@
(setting
(setting_name) @property)
; (setting_value) @none ; grammar does not support subtypes
(setting_value) @string

View File

@ -1,2 +1,3 @@
((comment) @injection.content
((comment
(text) @injection.content)
(#set! injection.language "comment"))

View File

@ -141,6 +141,8 @@
(constant_pattern) @constant
(boolean_pattern) @boolean
; Types
(generic_type
name: _ @type)

View File

@ -6,6 +6,7 @@
(abstract_definition)
(struct_definition)
(function_definition)
(macro_definition)
(assignment)
(const_statement)
]

View File

@ -177,7 +177,7 @@
] @number
[
"null"
(null_literal)
; should be highlighted the same as booleans
(boolean_literal)
] @boolean

View File

@ -112,10 +112,11 @@
command: _ @function.macro @nospell
keys: (curly_group_text_list) @markup.link @nospell)
(hyperlink
((hyperlink
command: _ @function @nospell
uri: (curly_group_uri
(_) @markup.link.url @nospell))
(_) @markup.link.url @nospell)) @_hyperlink
(#set! @_hyperlink url @markup.link.url))
(glossary_entry_definition
command: _ @function.macro @nospell
@ -237,6 +238,14 @@
(_) @markup.strong))
(#any-of? @_name "\\textbf" "\\mathbf"))
(generic_command
(command_name) @keyword.conditional
(#lua-match? @keyword.conditional "^\\if[a-zA-Z@]+$"))
(generic_command
(command_name) @keyword.conditional
(#any-of? @keyword.conditional "\\fi" "\\else"))
; File inclusion commands
(class_include
command: _ @keyword.import

View File

@ -1,7 +1,3 @@
(variable_identifier) @variable
(constant_identifier) @constant
[
"assert"
"assert_eq"
@ -31,6 +27,10 @@
"self" @variable.builtin
"network" @variable.builtin
"async" @keyword.coroutine
[
"finalize"
"function"
@ -113,16 +113,21 @@
(boolean_literal) @boolean
(constant_declaration
(identifier) @constant)
(identifier
(constant_identifier) @constant))
[
(program_id)
(this_program_id)
] @string.special
(variable
(constant_identifier) @constant)
(associated_constant) @constant
(variable) @variable
(program_id) @string.special
;record declaration
(record_declaration
(identifier) @variable.member)
(identifier) @type.definition)
;struct component
(struct_component_declaration
@ -130,18 +135,26 @@
(type) @type
(associated_constant) @constant
[
(block_height)
(self_address)
(self_caller)
(self_signer)
(network_id)
] @constant.builtin
(free_function_call
(locator
(identifier) @function))
(associated_function_call
(named_type
(identifier
(constant_identifier) @function)))
(associated_function_call
(identifier) @function.call)
(record_type
(locator
(identifier) @variable.member))
@ -171,11 +184,10 @@
(identifier) @variable.parameter)
(struct_declaration
name: (identifier) @variable.member)
name: (identifier) @type.definition)
(variable_declaration
(identifier_or_identifiers
(identifier) @variable))
(identifier) @variable)
[
(address_literal)
@ -189,4 +201,6 @@
(unsigned_literal)
] @number
(string_literal) @string
(annotation) @attribute

View File

@ -25,6 +25,7 @@
"as"
"assign"
"capture"
(custom_unpaired_statement)
"decrement"
"echo"
"endcapture"
@ -94,6 +95,7 @@
[
"include"
"include_relative"
"render"
"section"
"sections"

View File

@ -17,6 +17,7 @@
[
"end"
"}"
"]]"
] @indent.end
(")" @indent.end

View File

@ -114,6 +114,22 @@
")"
] @operator)
(automatic_variable
"$"
_ @character.special
(#set! priority 105))
(automatic_variable
[
"$"
"("
")"
] @operator
(#set! priority 105))
(recipe_line
"@" @character.special)
(function_call
[
"subst"

View File

@ -45,6 +45,11 @@
(link_destination) @_url
(#set! @_label url @_url))
(image
(image_description) @_label
(link_destination) @_url
(#set! @_label url @_url))
; Conceal image links
(image
[

View File

@ -211,3 +211,6 @@
(comment)
(line_continuation)
] @comment @spell
((comment) @keyword.directive
(#lua-match? @keyword.directive "^%%%% "))

View File

@ -0,0 +1,10 @@
[
(diagram_sequence)
(diagram_class)
(diagram_state)
(diagram_gantt)
(diagram_pie)
(diagram_er)
(diagram_flow)
(flow_stmt_subgraph)
] @fold

View File

@ -0,0 +1,18 @@
([
(diagram_sequence)
(diagram_class)
(diagram_state)
(diagram_gantt)
(diagram_pie)
(diagram_er)
(diagram_flow)
(flow_stmt_subgraph)
] @indent.begin
(#set! indent.immediate 1))
"end" @indent.branch
[
(ERROR)
(comment)
] @indent.auto

View File

@ -2,20 +2,31 @@
(pod) @fold
; fold the block-typed package statements only
; fold the block-typed package and class statements only
(package_statement
(block)) @fold
(class_statement
(block)) @fold
[
(subroutine_declaration_statement)
(method_declaration_statement)
(conditional_statement)
(loop_statement)
(for_statement)
(cstyle_for_statement)
(block_statement)
(defer_statement)
(phaser_statement)
] @fold
(try_statement
(block) @fold)
(eval_expression
(block) @fold)
(anonymous_subroutine_expression) @fold
; perhaps folks want to fold these too?

View File

@ -32,9 +32,18 @@
("continue" @keyword.repeat
(block))
[
"try"
"catch"
"finally"
] @keyword.exception
"return" @keyword.return
"sub" @keyword.function
[
"sub"
"method"
] @keyword.function
[
"map"
@ -42,14 +51,20 @@
"sort"
] @function.builtin
"package" @keyword.import
[
"package"
"class"
] @keyword.import
[
"defer"
"do"
"eval"
"my"
"our"
"local"
"state"
"field"
"last"
"next"
"redo"
@ -129,12 +144,18 @@
(package_statement
(package) @type)
(class_statement
(package) @type)
(require_expression
(bareword) @type)
(subroutine_declaration_statement
name: (bareword) @function)
(method_declaration_statement
name: (bareword) @function)
(attribute_name) @attribute
(attribute_value) @string

View File

@ -221,10 +221,26 @@
(name) @type
(qualified_name
(name) @type)
alias: (name) @type.definition
])
(namespace_aliasing_clause
(name) @type.definition)
(namespace_use_clause
type: "function"
[
(name) @function
(qualified_name
(name) @function)
alias: (name) @function
])
(namespace_use_clause
type: "const"
[
(name) @constant
(qualified_name
(name) @constant)
alias: (name) @constant
])
(class_interface_clause
[
@ -369,9 +385,8 @@
name: (namespace_name
(name) @module))
(namespace_name_as_prefix
(namespace_name
(name) @module))
(namespace_name
(name) @module)
; Attributes
(attribute_list) @attribute

View File

@ -13,12 +13,13 @@
(match_block)
(case_statement)
(default_statement)
(property_hook_list)
] @indent.begin
(return_statement
[
(object_creation_expression)
(anonymous_function_creation_expression)
(anonymous_function)
(arrow_function)
(match_expression)
]) @indent.dedent
@ -49,6 +50,9 @@
(return_statement
";" @indent.end)
(property_hook_list
"}" @indent.end)
(ERROR
"(" @indent.align
.

View File

@ -12,7 +12,7 @@
name: (name) @local.definition.function) @local.scope
(#set! definition.function.scope "parent"))
(anonymous_function_creation_expression
(anonymous_function
(anonymous_function_use_clause
(variable_name
(name) @local.definition.var))) @local.scope

View File

@ -0,0 +1,11 @@
[
(message_body)
(enum_body)
] @indent.begin
"}" @indent.end @indent.branch
[
(ERROR)
(comment)
] @indent.auto

View File

@ -33,7 +33,10 @@
")"
] @punctuation.bracket
":" @punctuation.delimiter
[
":"
"/"
] @punctuation.delimiter
[
"@"

View File

View File

@ -172,10 +172,10 @@
; (#is-not? local))
; Literals
[
(string)
(bare_string)
(subshell)
(heredoc_body)
(string_content)
(heredoc_content)
"\""
"`"
] @string
[
@ -190,11 +190,8 @@
(hash_key_symbol)
] @string.special.symbol
(pair
key: (hash_key_symbol)
":" @constant)
(regex) @string.regexp
(regex
(string_content) @string.regexp)
(escape_sequence) @string.escape
@ -276,8 +273,15 @@
";"
"."
"&."
"::"
] @punctuation.delimiter
(regex
"/" @punctuation.bracket)
(pair
":" @punctuation.delimiter)
[
"("
")"
@ -289,6 +293,9 @@
"%i("
] @punctuation.bracket
(block_parameters
"|" @punctuation.bracket)
(interpolation
"#{" @punctuation.special
"}" @punctuation.special) @none
"}" @punctuation.special)

View File

@ -23,6 +23,8 @@
(field_identifier) @variable.member
(shorthand_field_identifier) @variable.member
(shorthand_field_initializer
(identifier) @variable.member)
@ -212,17 +214,6 @@
(identifier) @function.macro .))
; Literals
[
(line_comment)
(block_comment)
] @comment @spell
(line_comment
(doc_comment)) @comment.documentation
(block_comment
(doc_comment)) @comment.documentation
(boolean_literal) @boolean
(integer_literal) @number
@ -461,3 +452,17 @@
macro: (identifier) @keyword.debug
"!" @keyword.debug
(#eq? @keyword.debug "dbg"))
; Comments
[
(line_comment)
(block_comment)
(outer_doc_comment_marker)
(inner_doc_comment_marker)
] @comment @spell
(line_comment
(doc_comment)) @comment.documentation
(block_comment
(doc_comment)) @comment.documentation

View File

@ -0,0 +1,48 @@
; highlights.scm
[
"|"
"|["
"]"
"("
")"
"|("
")|"
] @punctuation.bracket
[
","
";"
":"
] @punctuation.delimiter
"EXTERNAL" @keyword
"out of" @property
(number) @number
(identifier) @variable
(version) @string.special
(anonymous_block) @string
(limit) @property
(time) @function
(limit
(identifier) @string)
(event_detail
(event_detail_value) @string)
(log_level_setting
(component) @type)
(log_level_setting
(log_level) @constant)
(log_entry
(event_identifier
(identifier) @type))

View File

@ -13,10 +13,9 @@
name: _ @keyword))
; Subordinate directives (eg. input, output)
(_
body: (_
(directive
name: _ @label)))
body: (_
(directive
name: _ @label))
; rule/module/checkpoint names
(rule_definition
@ -30,11 +29,14 @@
; Rule imports
(rule_import
"use" @keyword.import
"rule" @keyword.import
"from" @keyword.import
"as"? @keyword.import
"with"? @keyword.import)
[
"use"
"rule"
"from"
"exclude"
"as"
"with"
] @keyword.import)
; Rule inheritance
(rule_inheritance
@ -44,7 +46,9 @@
; Wildcard names
(wildcard
(identifier) @variable
(identifier) @variable)
(wildcard
(flag) @variable.parameter.builtin)
; builtin variables

View File

@ -9,8 +9,17 @@
((rule_inheritance) @indent.begin
(#set! indent.immediate 1))
((rule_import
"with"
":") @indent.begin
(#set! indent.immediate 1))
((module_definition) @indent.begin
(#set! indent.immediate 1))
((directive) @indent.begin
(#set! indent.immediate 1))
; end indentation after last parameter node (no following ',')
(directive_parameters
(_) @indent.end .)

View File

@ -138,10 +138,6 @@
(instance_argument
name: (identifier) @variable.member)
(lvalue
(_)
(_) @variable.member)
(field_access_expression
name: (identifier) @variable.member)

View File

@ -71,5 +71,5 @@
(value_expression
(identifier) @local.reference)
(lvalue
(identifier) @local.reference)
(field_access_expression
name: (identifier) @local.reference)

View File

@ -7,9 +7,11 @@
(while_statement)
(if_statement)
(if_let_statement)
(elif_block)
(else_if_block)
(struct_definition)
(enum_definition)
(try_catch_statement)
(method_definition)
(import_statement)+
(initializer)
] @fold

View File

@ -8,17 +8,34 @@
(custom_type) @type
(class_field
name: (identifier) @variable.member)
name: (identifier) @property)
(struct_field
name: (identifier) @property)
(class_definition
name: (identifier) @type)
(struct_definition
name: (identifier) @type)
(interface_definition
name: (identifier) @type)
(method_definition
name: (identifier) @function.method)
(json_literal_member
(identifier) @property)
; Functions
(keyword_argument_key) @variable.parameter
(parameter_definition
name: (identifier) @variable.parameter)
(variadic) @variable.parameter.builtin
(call
caller: (reference
(nested_identifier
@ -37,24 +54,30 @@
(bool) @boolean
(builtin_type) @type.builtin
[
(builtin_type)
"MutSet"
"MutMap"
"MutArray"
"Json"
"Set"
"Map"
"Array"
"MutJson"
] @type.builtin
(json_container_type) @type.builtin
; Special
(comment) @comment @spell
[
"("
")"
"{"
"}"
] @punctuation.bracket
[
"-"
"-="
"+"
"+="
"*"
"**"
"/"
"%"
"<"
@ -68,23 +91,54 @@
"&&"
"??"
"||"
"?"
] @operator
[
"("
")"
"{"
"}"
"["
"]"
] @punctuation.bracket
(mutable_container_type
[
"<"
">"
] @punctuation.bracket)
(immutable_container_type
[
"<"
">"
] @punctuation.bracket)
[
";"
"."
","
":"
"=>"
] @punctuation.delimiter
[
"as"
"bring"
"let"
"new"
(inflight_specifier)
(phase_specifier)
"impl"
"test"
] @keyword
"class" @keyword.type
"bring" @keyword.import
[
"class"
"struct"
"interface"
] @keyword.type
[
"for"
@ -100,6 +154,26 @@
"pub"
"protected"
"internal"
"extern"
(static)
] @keyword.modifier
"return" @keyword.return
(import_statement
module_name: (identifier) @module)
(import_statement
alias: (identifier) @module)
(call
(reference
(nested_identifier
object: (reference) @_ref
property: (member_identifier) @_ident))
(argument_list
(positional_argument
(string) @string.regexp))
(#eq? @_ref "regex")
(#eq? @_ident "compile")
(#offset! @string.regexp 0 1 0 -1))

View File

@ -1,2 +1,15 @@
((comment) @injection.content
(#set! injection.language "comment"))
(call
(reference
(nested_identifier
object: (reference) @_ref
property: (member_identifier) @_ident))
(argument_list
(positional_argument
(string) @injection.content))
(#eq? @_ref "regex")
(#eq? @_ident "compile")
(#offset! @injection.content 0 1 0 -1)
(#set! injection.language "regex"))

View File

@ -1,14 +1,23 @@
[
(Block)
(ContainerDecl)
(SwitchExpr)
(InitList)
(AsmExpr)
(ErrorSetDecl)
(LINESTRING)
[
(IfPrefix)
(WhilePrefix)
(ForPrefix)
]
(block)
(switch_expression)
(initializer_list)
(asm_expression)
(multiline_string)
(if_statement)
(while_statement)
(for_statement)
(if_expression)
(else_clause)
(for_expression)
(while_expression)
(if_type_expression)
(function_signature)
(parameters)
(call_expression)
(struct_declaration)
(opaque_declaration)
(enum_declaration)
(union_declaration)
(error_set_declaration)
] @fold

View File

@ -1,104 +1,116 @@
(line_comment) @comment @spell
; Variables
(identifier) @variable
; Parameters
(parameter
name: (identifier) @variable.parameter)
(payload
(identifier) @variable.parameter)
; Types
(parameter
type: (identifier) @type)
((identifier) @type
(#lua-match? @type "^[A-Z_][a-zA-Z0-9_]*"))
(variable_declaration
(identifier) @type
"="
[
(struct_declaration)
(enum_declaration)
(union_declaration)
(opaque_declaration)
])
[
(container_doc_comment)
(doc_comment)
] @comment.documentation @spell
(builtin_type)
"anyframe"
] @type.builtin
; Constants
((identifier) @constant
(#lua-match? @constant "^[A-Z][A-Z_0-9]+$"))
[
variable: (IDENTIFIER)
variable_type_function: (IDENTIFIER)
] @variable
"null"
"unreachable"
"undefined"
] @constant.builtin
parameter: (IDENTIFIER) @variable.parameter
(field_expression
.
member: (identifier) @constant)
(enum_declaration
(container_field
type: (identifier) @constant))
; Labels
(block_label
(identifier) @label)
(break_label
(identifier) @label)
; Fields
(field_initializer
.
(identifier) @variable.member)
(field_expression
(_)
member: (identifier) @variable.member)
(container_field
name: (identifier) @variable.member)
(initializer_list
(assignment_expression
left: (field_expression
.
member: (identifier) @variable.member)))
; Functions
(builtin_identifier) @function.builtin
(call_expression
function: (identifier) @function.call)
(call_expression
function: (field_expression
member: (identifier) @function.call))
(function_declaration
name: (identifier) @function)
; Modules
(variable_declaration
(identifier) @module
(builtin_function
(builtin_identifier) @keyword.import
(#any-of? @keyword.import "@import" "@cImport")))
; Builtins
[
field_member: (IDENTIFIER)
field_access: (IDENTIFIER)
] @variable.member
"c"
"..."
] @variable.builtin
; assume TitleCase is a type
([
variable_type_function: (IDENTIFIER)
field_access: (IDENTIFIER)
parameter: (IDENTIFIER)
] @type
(#lua-match? @type "^%u([%l]+[%u%l%d]*)*$"))
; assume camelCase is a function
([
variable_type_function: (IDENTIFIER)
field_access: (IDENTIFIER)
parameter: (IDENTIFIER)
] @function
(#lua-match? @function "^%l+([%u][%l%d]*)+$"))
; assume all CAPS_1 is a constant
([
variable_type_function: (IDENTIFIER)
field_access: (IDENTIFIER)
] @constant
(#lua-match? @constant "^%u[%u%d_]+$"))
function: (IDENTIFIER) @function
function_call: (IDENTIFIER) @function.call
exception: "!" @keyword.exception
((IDENTIFIER) @variable.builtin
((identifier) @variable.builtin
(#eq? @variable.builtin "_"))
(PtrTypeStart
"c" @variable.builtin)
(ContainerDecl
(ContainerDeclType
"enum")
(ContainerField
(ErrorUnionExpr
(SuffixExpr
(IDENTIFIER) @constant))))
field_constant: (IDENTIFIER) @constant
(BUILTINIDENTIFIER) @function.builtin
((BUILTINIDENTIFIER) @keyword.import
(#any-of? @keyword.import "@import" "@cImport"))
(INTEGER) @number
(FLOAT) @number.float
[
"true"
"false"
] @boolean
[
(LINESTRING)
(STRINGLITERALSINGLE)
] @string @spell
(CHAR_LITERAL) @character
(EscapeSequence) @string.escape
(FormatSequence) @string.special
(BreakLabel
(IDENTIFIER) @label)
(BlockLabel
(IDENTIFIER) @label)
(calling_convention
(identifier) @variable.builtin)
; Keywords
[
"asm"
"defer"
"errdefer"
"test"
"opaque"
"error"
"const"
"var"
@ -108,6 +120,7 @@ field_constant: (IDENTIFIER) @constant
"struct"
"union"
"enum"
"opaque"
] @keyword.type
[
@ -151,11 +164,6 @@ field_constant: (IDENTIFIER) @constant
"catch"
] @keyword.exception
[
"anytype"
(BuildinTypeExpr)
] @type.builtin
[
"volatile"
"allowzero"
@ -168,50 +176,85 @@ field_constant: (IDENTIFIER) @constant
"inline"
"noinline"
"extern"
] @keyword.modifier
[
"comptime"
"packed"
"threadlocal"
] @attribute
] @keyword.modifier
; Operator
[
"null"
"unreachable"
"undefined"
] @constant.builtin
[
(CompareOp)
(BitwiseOp)
(BitShiftOp)
(AdditionOp)
(AssignOp)
(MultiplyOp)
(PrefixOp)
"="
"*="
"*%="
"*|="
"/="
"%="
"+="
"+%="
"+|="
"-="
"-%="
"-|="
"<<="
"<<|="
">>="
"&="
"^="
"|="
"!"
"~"
"-"
"-%"
"&"
"=="
"!="
">"
">="
"<="
"<"
"&"
"^"
"|"
"<<"
">>"
"<<|"
"+"
"++"
"+%"
"-%"
"+|"
"-|"
"*"
"/"
"%"
"**"
"->"
".?"
"*%"
"*|"
"||"
".*"
".?"
"?"
".."
] @operator
[
";"
"."
","
":"
"=>"
] @punctuation.delimiter
; Literals
(character) @character
[
".."
"..."
] @punctuation.special
([
(string)
(multiline_string)
] @string
(#set! "priority" 95))
(integer) @number
(float) @number.float
(boolean) @boolean
(escape_sequence) @string.escape
; Punctuation
[
"["
"]"
@ -221,19 +264,20 @@ field_constant: (IDENTIFIER) @constant
"}"
] @punctuation.bracket
(Payload
[
";"
"."
","
":"
"=>"
"->"
] @punctuation.delimiter
(payload
"|" @punctuation.bracket)
(PtrPayload
"|" @punctuation.bracket)
; Comments
(comment) @comment @spell
(PtrIndexPayload
"|" @punctuation.bracket)
(PtrListPayload
"|" @punctuation.bracket)
(ParamType
(ErrorUnionExpr
(SuffixExpr
variable_type_function: (IDENTIFIER) @type)))
((comment) @comment.documentation
(#lua-match? @comment.documentation "^//!"))

View File

@ -1,11 +1,10 @@
[
(Block)
(ContainerDecl)
(SwitchExpr)
(InitList)
(block)
(switch_expression)
(initializer_list)
] @indent.begin
(Block
(block
"}" @indent.end)
[
@ -18,8 +17,6 @@
] @indent.branch
[
(line_comment)
(container_doc_comment)
(doc_comment)
(LINESTRING)
(comment)
(multiline_string)
] @indent.ignore

View File

@ -1,6 +1,10 @@
([
(container_doc_comment)
(doc_comment)
(line_comment)
] @injection.content
((comment) @injection.content
(#set! injection.language "comment"))
; TODO: add when asm is added
; (asm_output_item (string) @injection.content
; (#set! injection.language "asm"))
; (asm_input_item (string) @injection.content
; (#set! injection.language "asm"))
; (asm_clobbers (string) @injection.content
; (#set! injection.language "asm"))

View File

@ -1,4 +1,4 @@
#!/nix/store/w1iq3315z63558j04gnlzdd2yk1v1hfz-coreutils-9.5/bin/env -S -l
#!/nix/store/0kg70swgpg45ipcz3pr2siidq9fn6d77-coreutils-9.5/bin/env -S -l
vim.opt.rtp:prepend "./"
-- Equivalent to print(), but this will ensure consistent output regardless of

View File

@ -1,4 +1,4 @@
#!/nix/store/4bj2kxdm1462fzcc2i2s4dn33g2angcc-bash-5.2p32/bin/bash
#!/nix/store/izpf49b74i15pcr9708s3xdwyqs4jxwl-bash-5.2p32/bin/bash
set -e

View File

@ -1,4 +1,4 @@
#!/nix/store/w1iq3315z63558j04gnlzdd2yk1v1hfz-coreutils-9.5/bin/env -S -l
#!/nix/store/0kg70swgpg45ipcz3pr2siidq9fn6d77-coreutils-9.5/bin/env -S -l
local ts = vim.treesitter
local get_node_text = ts.get_node_text
@ -14,7 +14,8 @@ else
end
ts.query.add_predicate("kind-eq?", function(match, _, _, pred)
local node = match[pred[2]]
local cap = match[pred[2]]
local node = type(cap) == "table" and cap[1] or cap
if not node then
return true
end
@ -24,7 +25,8 @@ ts.query.add_predicate("kind-eq?", function(match, _, _, pred)
end, true)
ts.query.add_predicate("is-start-of-line?", function(match, _, _, pred)
local node = match[pred[2]]
local cap = match[pred[2]]
local node = type(cap) == "table" and cap[1] or cap
if not node then
return true
end

View File

@ -1,4 +1,4 @@
#!/nix/store/4bj2kxdm1462fzcc2i2s4dn33g2angcc-bash-5.2p32/bin/bash
#!/nix/store/izpf49b74i15pcr9708s3xdwyqs4jxwl-bash-5.2p32/bin/bash
# Can be used as a pre-push hook
# Just symlink this file to .git/hooks/pre-push

View File

@ -1,4 +1,4 @@
#!/nix/store/4bj2kxdm1462fzcc2i2s4dn33g2angcc-bash-5.2p32/bin/bash
#!/nix/store/izpf49b74i15pcr9708s3xdwyqs4jxwl-bash-5.2p32/bin/bash
HERE="$(dirname "$(realpath "${BASH_SOURCE[0]}")")"
cd $HERE/..

View File

@ -1,4 +1,4 @@
#!/nix/store/4bj2kxdm1462fzcc2i2s4dn33g2angcc-bash-5.2p32/bin/bash
#!/nix/store/izpf49b74i15pcr9708s3xdwyqs4jxwl-bash-5.2p32/bin/bash
make_ignored() {
if [[ -n $1 ]]; then

View File

@ -1,4 +1,4 @@
#!/nix/store/w1iq3315z63558j04gnlzdd2yk1v1hfz-coreutils-9.5/bin/env -S -l
#!/nix/store/0kg70swgpg45ipcz3pr2siidq9fn6d77-coreutils-9.5/bin/env -S -l
---@class Parser
---@field name string

View File

@ -1,4 +1,4 @@
#!/nix/store/w1iq3315z63558j04gnlzdd2yk1v1hfz-coreutils-9.5/bin/env -S -l
#!/nix/store/0kg70swgpg45ipcz3pr2siidq9fn6d77-coreutils-9.5/bin/env -S -l
---@type string|any[]
local skip_langs = vim.fn.getenv "SKIP_LOCKFILE_UPDATE_FOR_LANGS"

View File

@ -3,3 +3,7 @@ a
multiline
string
]]
print [[
test
]]

View File

@ -28,6 +28,7 @@ describe("indent Lua:", function()
run:new_line("string.lua", { on_line = 2, text = "x", indent = 0 })
run:new_line("string.lua", { on_line = 3, text = "x", indent = 2 })
run:new_line("string.lua", { on_line = 4, text = "x", indent = 4 })
run:new_line("string.lua", { on_line = 9, text = "x", indent = 0 })
run:new_line("table.lua", { on_line = 1, text = "b = 0,", indent = 2 })
run:new_line("table.lua", { on_line = 5, text = "4,", indent = 4 })
run:new_line("table.lua", { on_line = 7, text = "4,", indent = 4 })

View File

@ -0,0 +1,13 @@
<?php
class Foo
{
private string $_baz;
public string $baz {
&get => $this->_baz;
set {
$this->_baz = strtoupper($value);
}
}
}

View File

@ -67,5 +67,10 @@ describe("indent PHP:", function()
run:new_line("issue-6888.php", { on_line = 6, text = "$a;", indent = 0 })
run:new_line("issue-6888.php", { on_line = 8, text = "$a;", indent = 4 })
run:new_line("issue-6888.php", { on_line = 11, text = "$a;", indent = 0 })
run:new_line("property-hooks.php", { on_line = 7, text = "get;", indent = 8 })
run:new_line("property-hooks.php", { on_line = 8, text = "set;", indent = 8 })
run:new_line("property-hooks.php", { on_line = 9, text = "$a;", indent = 12 })
run:new_line("property-hooks.php", { on_line = 11, text = "get;", indent = 8 })
run:new_line("property-hooks.php", { on_line = 12, text = "get;", indent = 4 })
end)
end)

View File

@ -1,5 +1,40 @@
<?php
namespace Foo\Bar;
//^^^^^^^ @keyword.type
// ^^^ @module
// ^^^ @module
use Foo\Baz as Baaz;
//^ @keyword.import
// ^^^ @module
// ^^^ @type
// ^^ @keyword.operator
// ^^^^ @type.definition
use function Foo\foo as fooo;
// ^^^^^^^^ @keyword.function
// ^^^ @function
// ^^^^ @function
use const Foo\FOO as FOOO;
// ^^^^^ @keyword.modifier
// ^^^ @constant
// ^^^^ @constant
use Foo\Baz\{
// ^^^ @module
// ^^^ @module
Bar,
//^^^ @type
function foo,
//^^^^^^^^ @keyword.function
// ^^^ @function
const FOO,
//^^^^^ @keyword.modifier
// ^^^ @constant
};
abstract class A
{
protected readonly static $a;

View File

@ -1,12 +1,13 @@
bring cloud;
// <- @keyword
// <- @keyword.import
// ^ @module
class Foo {
// <- @keyword.type
// ^ @type
// ^ @punctuation.bracket
name: str;
//^ @variable.member
//^ @property
// ^ @type.builtin
// ^ @punctuation.delimiter
new(name: str) {
@ -14,6 +15,7 @@ class Foo {
// ^ @variable
this.name = name;
// ^ @punctuation.delimiter
// ^ @variable.member
// ^ @operator
}
}