@@ -51,3 +51,30 @@
51 [(string_literal) (raw_string_literal)] @injection.content
51 [(string_literal) (raw_string_literal)] @injection.content
53 (#set! injection.language "sql"))
53 (#set! injection.language "sql"))
55+; Highlight SQL in `sqlx::query_unchecked!()`
57+ macro: (scoped_identifier
58+ path: (identifier) @_sqlx (#eq? @_sqlx "sqlx")
59+ name: (identifier) @_query_as (#eq? @_query_as "query_unchecked"))
61+ ; Only the first argument is SQL
63+ [(string_literal) (raw_string_literal)] @injection.content
65+ (#set! injection.language "sql"))
67+; Highlight SQL in `sqlx::query_as_unchecked!()`
69+ macro: (scoped_identifier
70+ path: (identifier) @_sqlx (#eq? @_sqlx "sqlx")
71+ name: (identifier) @_query_as (#eq? @_query_as "query_as_unchecked"))
73+ ; Only the second argument is SQL
75+ ; Allow anything as the first argument in case the user has lower case type
76+ ; names for some reason
78+ [(string_literal) (raw_string_literal)] @injection.content
80+ (#set! injection.language "sql"))