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
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 56 additions and 0 deletions

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"))