aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--languages.toml5
-rw-r--r--runtime/queries/ron/highlights.scm44
-rw-r--r--runtime/queries/ron/indents.scm13
-rw-r--r--runtime/queries/ron/injections.scm3
4 files changed, 61 insertions, 4 deletions
diff --git a/languages.toml b/languages.toml
index d8207b3e..8b9b01e9 100644
--- a/languages.toml
+++ b/languages.toml
@@ -1689,7 +1689,10 @@ file-types = ["ron"]
roots = []
comment-token = "//"
indent = { tab-width = 4, unit = " " }
-grammar = "rust"
+
+[[grammar]]
+name = "ron"
+source = { git = "https://github.com/zee-editor/tree-sitter-ron", rev = "7762d709a0f7c1f9e269d0125a2e8a7a69006146" }
[[language]]
name = "robot"
diff --git a/runtime/queries/ron/highlights.scm b/runtime/queries/ron/highlights.scm
index 43766a4f..1061d559 100644
--- a/runtime/queries/ron/highlights.scm
+++ b/runtime/queries/ron/highlights.scm
@@ -1 +1,43 @@
-; inherits: rust \ No newline at end of file
+; Literals
+;------------
+
+(string) @string
+(boolean) @constant.builtin.boolean
+(integer) @constant.numeric.integer
+(float) @constant.numeric.float
+(char) @constant.character
+
+; Structs
+;------------
+
+(enum_variant) @type.enum.variant
+(struct_entry (_) @variable.other.member ":")
+(struct_name (identifier)) @type
+
+
+
+
+; Comments
+;------------
+
+(line_comment) @comment.line
+(block_comment) @comment.block
+
+
+; Punctuation
+;------------
+
+"," @punctuation.delimiter
+":" @punctuation.delimiter
+
+"(" @punctuation.bracket
+")" @punctuation.bracket
+"[" @punctuation.bracket
+"]" @punctuation.bracket
+"{" @punctuation.bracket
+"}" @punctuation.bracket
+
+
+; Special
+;------------
+(escape_sequence) @constant.character.escape
diff --git a/runtime/queries/ron/indents.scm b/runtime/queries/ron/indents.scm
index 43766a4f..e73bf922 100644
--- a/runtime/queries/ron/indents.scm
+++ b/runtime/queries/ron/indents.scm
@@ -1 +1,12 @@
-; inherits: rust \ No newline at end of file
+[
+ (array)
+ (map)
+ (tuple)
+ (struct)
+] @indent
+
+[
+ "}"
+ "]"
+ ")"
+] @outdent
diff --git a/runtime/queries/ron/injections.scm b/runtime/queries/ron/injections.scm
index 43766a4f..e4509a5f 100644
--- a/runtime/queries/ron/injections.scm
+++ b/runtime/queries/ron/injections.scm
@@ -1 +1,2 @@
-; inherits: rust \ No newline at end of file
+([(line_comment) (block_comment)] @injection.content
+ (#set! injection.language "comment"))