feat(highlights)!: enforce documented captures (#6232)

Problem: Allowing undocumented "secret" (sub)captures makes it harder
to write comprehensive colorschemes and catch inconsistent captures.

Solution: Only allow captures listed in CONTRIBUTING.md. Add useful
(cross-language) subcaptures and drop language-specific or too niche
ones.

Follow-up: Adding further `*.builtin` captures and changing queries to
use them.

Language-specific subcaptures should instead be added in user config or
a custom language plugin.
This commit is contained in:
Christian Clason 2024-03-03 11:00:11 +01:00 committed by GitHub
parent 22c5a0d833
commit 99ddf57353
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
29 changed files with 108 additions and 112 deletions

View file

@ -65,7 +65,7 @@
(yadayada) @keyword.exception
(phaser_statement
phase: _ @keyword.phaser)
phase: _ @keyword)
[
"or"
@ -207,50 +207,50 @@
; highlights punc vars and also numeric only like $11
(#lua-match? @variable.builtin "^%A+$"))
(scalar) @variable.scalar
(scalar) @variable
(scalar_deref_expression
[
"$"
"*"
] @variable.scalar)
] @variable)
[
(array)
(arraylen)
] @variable.array
] @variable
(array_deref_expression
[
"@"
"*"
] @variable.array)
] @variable)
(hash) @variable.hash
(hash) @variable
(hash_deref_expression
[
"%"
"*"
] @variable.hash)
] @variable)
(array_element_expression
array: (_) @variable.array)
array: (_) @variable)
(slice_expression
array: (_) @variable.array)
array: (_) @variable)
(keyval_expression
array: (_) @variable.array)
array: (_) @variable)
(hash_element_expression
hash: (_) @variable.hash)
hash: (_) @variable)
(slice_expression
hash: (_) @variable.hash)
hash: (_) @variable)
(keyval_expression
hash: (_) @variable.hash)
hash: (_) @variable)
(comment) @comment