feat(rifleconf): add parser and queries

This commit is contained in:
purarue
2025-09-14 08:53:21 +00:00
committed by GitHub
parent 682d083292
commit 7aa24acae3
4 changed files with 56 additions and 0 deletions

View File

@@ -244,6 +244,7 @@ jsx (queries only)[^jsx] | unstable | `HFIJ ` | | @steelsojka
[rego](https://github.com/FallenAngel97/tree-sitter-rego) | unstable | `H  J ` | | @FallenAngel97
[requirements](https://github.com/tree-sitter-grammars/tree-sitter-requirements) | unstable | `H  J ` | | @ObserverOfTime
[rescript](https://github.com/rescript-lang/tree-sitter-rescript) | unstable | `HFIJL` | | @ribru17
[rifleconf](https://github.com/purarue/tree-sitter-rifleconf) | unstable | `H  J ` | | @purarue
[rnoweb](https://github.com/bamonroe/tree-sitter-rnoweb) | unstable | `HF J ` | | @bamonroe
[robot](https://github.com/Hubro/tree-sitter-robot) | unstable | `HFIJ ` | | @Hubro
[robots](https://github.com/opa-oz/tree-sitter-robots-txt) | unstable | `H  J ` | | @opa-oz

View File

@@ -1908,6 +1908,14 @@ return {
maintainers = { '@ribru17' },
tier = 2,
},
rifleconf = {
install_info = {
url = 'https://github.com/purarue/tree-sitter-rifleconf',
revision = 'b215640ba72a9a8cac6f5d95dbc3d320cb546e13',
},
maintainers = { '@purarue' },
tier = 2,
},
rnoweb = {
install_info = {
revision = '1a74dc0ed731ad07db39f063e2c5a6fe528cae7f',

View File

@@ -0,0 +1,31 @@
(comment) @comment @spell
[
","
";"
] @punctuation.delimiter
[
"="
(condition_negation)
] @operator
; mark the string values for items interpreted as regex as string.regexp
(binary_condition_expression
(binary_condition_identifier) @_keyword
(identifier) @string.regexp
(#any-of? @_keyword "match" "ext" "mime" "name" "path"))
(binary_condition_identifier) @keyword
(unary_condition_identifier) @keyword
(condition_expression
(binary_condition_expression
(binary_condition_identifier) @keyword
(identifier) @number)
(#eq? @keyword "number"))
(ask) @function.builtin
(string) @string

View File

@@ -0,0 +1,16 @@
; These are all interpreted as regex when evaluated
; https://github.com/ranger/ranger/blob/38bb8901004b75a407ffee4b9e176bc0a436cb15/ranger/ext/rifle.py#L273-L282
(binary_condition_expression
(binary_condition_identifier) @_keyword
(identifier) @injection.content
(#any-of? @_keyword "match" "ext" "mime" "name" "path")
(#set! injection.language "regex"))
; highlight any commands using the bash tree-sitter parser
(command_list
(command) @injection.content
(#set! injection.include-children)
(#set! injection.language "bash"))
((comment) @injection.content
(#set! injection.language "comment"))