Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/rust/injections.scm')
| -rw-r--r-- | runtime/queries/rust/injections.scm | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/runtime/queries/rust/injections.scm b/runtime/queries/rust/injections.scm index 2c9ec7b1..42ca12b5 100644 --- a/runtime/queries/rust/injections.scm +++ b/runtime/queries/rust/injections.scm @@ -97,104 +97,3 @@ ] ) (#set! injection.language "sql")) - -; std::fmt - -; For these, only the first argument is format_args! -((macro_invocation - macro: - [ - (scoped_identifier - name: (_) @_macro_name) - (identifier) @_macro_name - ] - (token_tree . (string_literal) @injection.content)) - (#any-of? @_macro_name - ; std - "format" - "print" - "println" - "eprint" - "eprintln" - "format_args" - "todo" - "unreachable" - "unimplemented" - "compile_error" - ; log - "crit" - "trace" - "debug" - "info" - "warn" - "error" - ; anyhow - "anyhow" - "bail" - ; syn - "format_ident" - ; indoc - "formatdoc" - "printdoc" - "eprintdoc" - "writedoc") - (#set! injection.language "rustfmt") - (#set! injection.include-children)) - -; For these, only the second argument is format_args! -((macro_invocation - macro: - [ - (scoped_identifier - name: (_) @_macro_name) - (identifier) @_macro_name - ] - (token_tree . (_) . (string_literal) @injection.content)) - (#any-of? @_macro_name - ; std - "write" - "writeln" - "assert" - "debug_assert") - (#set! injection.language "rustfmt") - (#set! injection.include-children)) - -; For these, only the third argument is format_args! -((macro_invocation - macro: - [ - (scoped_identifier - name: (_) @_macro_name) - (identifier) @_macro_name - ] - (token_tree . (_) . (_) . (string_literal) @injection.content)) - (#any-of? @_macro_name - ; std - "assert_eq" - "debug_assert_eq" - "assert_ne" - "debug_assert_ne") - (#set! injection.language "rustfmt") - (#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)) - (#eq? @_macro_name "rsx") - (#set! injection.language "rustfmt") - (#set! injection.include-children)) |