aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCole Helbling2023-04-27 05:37:17 +0000
committerGitHub2023-04-27 05:37:17 +0000
commit6dd5054da46fd68993d386de75bfc65130dc2c3b (patch)
tree9dcd6d9e0e460b912ed1ca849ca6cd8c85bb4c5d
parent8f1671eaaa6c917c131567dec1dc7dce628e548b (diff)
Highlight sqlx's `query_scalar{,_unchecked}` macros as SQL (#6793)
* Highlight sqlx's `query_scalar{,_unchecked}` macros as SQL * Update injections.scm * fixup copy-pasta
-rw-r--r--runtime/queries/rust/injections.scm35
1 files changed, 4 insertions, 31 deletions
diff --git a/runtime/queries/rust/injections.scm b/runtime/queries/rust/injections.scm
index d191a53a..b29a5ad7 100644
--- a/runtime/queries/rust/injections.scm
+++ b/runtime/queries/rust/injections.scm
@@ -25,11 +25,11 @@
arguments: (arguments (raw_string_literal) @injection.content)
(#set! injection.language "regex"))
-; Highlight SQL in `sqlx::query!()`
+; Highlight SQL in `sqlx::query!()`, `sqlx::query_scalar!()`, and `sqlx::query_scalar_unchecked!()`
(macro_invocation
macro: (scoped_identifier
path: (identifier) @_sqlx (#eq? @_sqlx "sqlx")
- name: (identifier) @_query (#eq? @_query "query"))
+ name: (identifier) @_query (#match? @_query "^query(_scalar|_scalar_unchecked)?$"))
(token_tree
; Only the first argument is SQL
.
@@ -37,38 +37,11 @@
)
(#set! injection.language "sql"))
-; Highlight SQL in `sqlx::query_as!()`
+; Highlight SQL in `sqlx::query_as!()` and `sqlx::query_as_unchecked!()`
(macro_invocation
macro: (scoped_identifier
path: (identifier) @_sqlx (#eq? @_sqlx "sqlx")
- name: (identifier) @_query_as (#eq? @_query_as "query_as"))
- (token_tree
- ; Only the second argument is SQL
- .
- ; Allow anything as the first argument in case the user has lower case type
- ; names for some reason
- (_)
- [(string_literal) (raw_string_literal)] @injection.content
- )
- (#set! injection.language "sql"))
-
-; Highlight SQL in `sqlx::query_unchecked!()`
-(macro_invocation
- macro: (scoped_identifier
- path: (identifier) @_sqlx (#eq? @_sqlx "sqlx")
- name: (identifier) @_query_as (#eq? @_query_as "query_unchecked"))
- (token_tree
- ; Only the first argument is SQL
- .
- [(string_literal) (raw_string_literal)] @injection.content
- )
- (#set! injection.language "sql"))
-
-; Highlight SQL in `sqlx::query_as_unchecked!()`
-(macro_invocation
- macro: (scoped_identifier
- path: (identifier) @_sqlx (#eq? @_sqlx "sqlx")
- name: (identifier) @_query_as (#eq? @_query_as "query_as_unchecked"))
+ name: (identifier) @_query_as (#match? @_query_as "^query_as(_unchecked)?$"))
(token_tree
; Only the second argument is SQL
.