aboutsummaryrefslogtreecommitdiffstats
path: root/runtime/queries
diff options
context:
space:
mode:
authorpurarue <7804791+purarue@users.noreply.github.com>2025-09-14 08:53:21 +0000
committerGitHub <noreply@github.com>2025-09-14 10:53:21 +0200
commit7aa24acae3a288e442e06928171f360bbdf75ba4 (patch)
treee89fc98df4b46ed201e83f8495f61b88fb7b7e8b /runtime/queries
parentfeat(python)!: update parser and queries (diff)
downloadnvim-treesitter-7aa24acae3a288e442e06928171f360bbdf75ba4.tar
nvim-treesitter-7aa24acae3a288e442e06928171f360bbdf75ba4.tar.gz
nvim-treesitter-7aa24acae3a288e442e06928171f360bbdf75ba4.tar.bz2
nvim-treesitter-7aa24acae3a288e442e06928171f360bbdf75ba4.tar.lz
nvim-treesitter-7aa24acae3a288e442e06928171f360bbdf75ba4.tar.xz
nvim-treesitter-7aa24acae3a288e442e06928171f360bbdf75ba4.tar.zst
nvim-treesitter-7aa24acae3a288e442e06928171f360bbdf75ba4.zip
feat(rifleconf): add parser and queries
Diffstat (limited to 'runtime/queries')
-rw-r--r--runtime/queries/rifleconf/highlights.scm31
-rw-r--r--runtime/queries/rifleconf/injections.scm16
2 files changed, 47 insertions, 0 deletions
diff --git a/runtime/queries/rifleconf/highlights.scm b/runtime/queries/rifleconf/highlights.scm
new file mode 100644
index 000000000..2ac837a3e
--- /dev/null
+++ b/runtime/queries/rifleconf/highlights.scm
@@ -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
diff --git a/runtime/queries/rifleconf/injections.scm b/runtime/queries/rifleconf/injections.scm
new file mode 100644
index 000000000..e0463982f
--- /dev/null
+++ b/runtime/queries/rifleconf/injections.scm
@@ -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"))