diff --git a/languages.toml b/languages.toml index 77c629e49462..af7f1aa04e20 100644 --- a/languages.toml +++ b/languages.toml @@ -1676,7 +1676,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 43766a4f8125..1061d559a80b 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 43766a4f8125..e73bf9224c51 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 43766a4f8125..e4509a5fd317 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"))