Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--runtime/queries/rust/injections.scm28
1 files changed, 4 insertions, 24 deletions
diff --git a/runtime/queries/rust/injections.scm b/runtime/queries/rust/injections.scm
index abf25ac6..0c7cc350 100644
--- a/runtime/queries/rust/injections.scm
+++ b/runtime/queries/rust/injections.scm
@@ -160,31 +160,11 @@
; std
"assert_eq" "debug_assert_eq" "assert_ne" "debug_assert_ne"
- )
- (#set! injection.language "rust-format-args-macro")
- (#set! injection.include-children)
-)
-; Dioxus' "rsx!" macro relies heavily on string interpolation as well. The strings can be nested very deeply
-(
- (macro_invocation
- macro: [
- (scoped_identifier
- name: (_) @_macro_name)
- (identifier) @_macro_name
- ]
- ; TODO: This only captures 1 level of string literals. But in dioxus you can have
- ; nested string literals. For instance:
- ;
- ; rsx! { "{hello} world" }:
- ; -> (token_tree (string_literal))
- ; rsx! { div { "{hello} world" } }
- ; -> (token_tree (token_tree (string_literal)))
- ; rsx! { div { div { "{hello} world" } } }
- ; -> (token_tree (token_tree (token_tree (string_literal))))
- (token_tree (string_literal) @injection.content)
+ ; Dioxus's rsx! macro accepts string interpolation in all
+ ; strings, across the entire token tree
+ "rsx"
)
- (#eq? @_macro_name "rsx")
- (#set! injection.language "rust-format-args")
+ (#set! injection.language "rust-format-args-macro")
(#set! injection.include-children)
)