rust: Add injection for leptos view macro (#30710)

Ben Kunkle created

Closes #ISSUE

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Change summary

crates/languages/src/rust/injections.scm | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)

Detailed changes

crates/languages/src/rust/injections.scm 🔗

@@ -1,7 +1,15 @@
 (macro_invocation
-  (token_tree) @injection.content
-  (#set! injection.language "rust"))
+    macro: (identifier) @_macro_name
+    (#not-any-of? @_macro_name "view" "html")
+    (token_tree) @injection.content
+    (#set! injection.language "rust"))
 
-(macro_rule
-  (token_tree) @injection.content
-  (#set! injection.language "rust"))
+; we need a better way for the leptos extension to declare that
+; it wants to inject inside of rust, instead of modifying the rust
+; injections to support leptos injections
+(macro_invocation
+    macro: (identifier) @_macro_name
+    (#any-of? @_macro_name "view" "html")
+    (token_tree) @injection.content
+    (#set! injection.language "rstml")
+    )