aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--languages.toml7
-rw-r--r--runtime/queries/cairo/highlights.scm95
-rw-r--r--runtime/queries/cairo/indents.scm1
-rw-r--r--runtime/queries/cairo/injections.scm6
-rw-r--r--runtime/queries/cairo/locals.scm1
-rw-r--r--runtime/queries/cairo/textobjects.scm1
6 files changed, 9 insertions, 102 deletions
diff --git a/languages.toml b/languages.toml
index d270c2ea..915fd81f 100644
--- a/languages.toml
+++ b/languages.toml
@@ -1700,10 +1700,9 @@ file-types = ["cairo"]
roots = []
comment-token = "//"
indent = { tab-width = 4, unit = " " }
-
-[[grammar]]
-name = "cairo"
-source = { git = "https://github.com/archseer/tree-sitter-cairo", rev = "b249662a1eefeb4d71c9529cdd971e74fecc10fe" }
+# auto-format = true
+language-server = { command = "cairo-language-server", args = [] }
+grammar = "rust"
[[language]]
name = "cpon"
diff --git a/runtime/queries/cairo/highlights.scm b/runtime/queries/cairo/highlights.scm
index c10ce5e0..ae55c7fa 100644
--- a/runtime/queries/cairo/highlights.scm
+++ b/runtime/queries/cairo/highlights.scm
@@ -1,94 +1 @@
-(ERROR) @error
-
-((identifier) @constant
- (#match? @constant "^[A-Z][A-Z\\d_]+$"))
-((identifier_def) @constant
- (#match? @constant "^[A-Z][A-Z\\d_]+$"))
-
-((identifier) @namespace
- (#match? @namespace "^[A-Z]"))
-((identifier_def) @namespace
- (#match? @namespace "^[A-Z]"))
-
-(identifier "." @punctuation)
-(function_call (identifier) @function)
-(func (identifier_def) @function)
-
-(string) @string
-(atom_short_string) @string
-
-(code_element_directive) @keyword.directive
-"return" @keyword
-
-(number) @constant.numeric
-(atom_hex_number) @constant.numeric
-
-(comment) @comment
-
-"*" @special
-(type) @type
-
-[
- "felt"
- ; "codeoffset"
-] @type.builtin
-
-[
- "if"
- "else"
- "assert"
- "with"
- "with_attr"
-] @keyword.control
-
-[
- "from"
- "import"
- "func"
- "namespace"
-] @keyword ; keyword.declaration
-
-[
- "let"
- "const"
- "local"
- "struct"
- "alloc_locals"
- "tempvar"
-] @keyword
-
-(decorator) @attribute
-
-[
- "="
- "+"
- "-"
- "*"
- "/"
- ; "%"
- ; "!"
- ; ">"
- ; "<"
- ; "\\"
- ; "&"
- ; "?"
- ; "^"
- ; "~"
- "=="
- "!="
- "new"
-] @operator
-
-[
- "("
- ")"
- "["
- "]"
- "{"
- "}"
-] @punctuation.bracket
-
-[
- ","
- ":"
-] @punctuation.delimiter
+; inherits: rust
diff --git a/runtime/queries/cairo/indents.scm b/runtime/queries/cairo/indents.scm
new file mode 100644
index 00000000..ae55c7fa
--- /dev/null
+++ b/runtime/queries/cairo/indents.scm
@@ -0,0 +1 @@
+; inherits: rust
diff --git a/runtime/queries/cairo/injections.scm b/runtime/queries/cairo/injections.scm
index e6f9be1b..a2358b1c 100644
--- a/runtime/queries/cairo/injections.scm
+++ b/runtime/queries/cairo/injections.scm
@@ -1,5 +1,3 @@
-((hint) @injection.content
- (#set! injection.language "python"))
-
-((comment) @injection.content
+([(line_comment) (block_comment)] @injection.content
(#set! injection.language "comment"))
+
diff --git a/runtime/queries/cairo/locals.scm b/runtime/queries/cairo/locals.scm
new file mode 100644
index 00000000..ae55c7fa
--- /dev/null
+++ b/runtime/queries/cairo/locals.scm
@@ -0,0 +1 @@
+; inherits: rust
diff --git a/runtime/queries/cairo/textobjects.scm b/runtime/queries/cairo/textobjects.scm
new file mode 100644
index 00000000..ae55c7fa
--- /dev/null
+++ b/runtime/queries/cairo/textobjects.scm
@@ -0,0 +1 @@
+; inherits: rust