summaryrefslogtreecommitdiff
path: root/queries
diff options
context:
space:
mode:
Diffstat (limited to 'queries')
-rw-r--r--queries/lalrpop/highlights.scm57
-rw-r--r--queries/lalrpop/locals.scm5
2 files changed, 62 insertions, 0 deletions
diff --git a/queries/lalrpop/highlights.scm b/queries/lalrpop/highlights.scm
new file mode 100644
index 00000000..34040dd5
--- /dev/null
+++ b/queries/lalrpop/highlights.scm
@@ -0,0 +1,57 @@
+[
+ "pub"
+ "grammar"
+ "match"
+ "extern"
+ "type"
+ "enum"
+] @keyword
+
+[
+ "+"
+ "*"
+ "?"
+] @operator
+
+(grammar_type_params
+ "<" @punctuation.bracket
+ ">" @punctuation.bracket)
+
+(symbol
+ "<" @punctuation.bracket
+ ">" @punctuation.bracket)
+
+(binding_symbol
+ "<" @punctuation.bracket
+ ">" @punctuation.bracket)
+
+(binding_symbol
+ name: (identifier) @parameter)
+
+(bare_symbol
+ (macro
+ ((macro_id) @function)))
+
+(bare_symbol
+ (identifier) @function)
+
+(nonterminal_name
+ (macro_id) @function)
+
+(nonterminal_name
+ (identifier) @function)
+
+(nonterminal
+ (type_ref) @type)
+
+"(" @punctuation.bracket
+")" @punctuation.bracket
+"[" @punctuation.bracket
+"]" @punctuation.bracket
+
+";" @punctuation.delimiter
+
+(lifetime (identifier) @label)
+
+(string_literal) @string
+(regex_literal) @string
diff --git a/queries/lalrpop/locals.scm b/queries/lalrpop/locals.scm
new file mode 100644
index 00000000..7a30cce9
--- /dev/null
+++ b/queries/lalrpop/locals.scm
@@ -0,0 +1,5 @@
+(nonterminal_name
+ (macro_id) @definition.function)
+
+(nonterminal_name
+ (identifier) @definition.function)