From 352c95cf0d4426ef72d23c0fafef8ca58d27d1c8 Mon Sep 17 00:00:00 2001 From: Affan Shahid Date: Fri, 23 Aug 2024 23:36:45 +0500 Subject: [PATCH] Add injections for GraphQL template literals and function calls (#16368) This PR adds syntax highlighting support for `gql` and `graphql` tagged literals. It also adds highlighting for `graphql()` and `gql()` function calls, which are another common way to define queries. Note: I am using the [`graphql`](https://github.com/11bit/zed-extension-graphql) extension to provide syntax highlighting Before: image After: image Release Notes: - Added syntax highlighting for `graphql` tagged template literals and function calls in javascript, typescript and tsx languages. --- crates/languages/src/javascript/injections.scm | 11 +++++++++++ crates/languages/src/tsx/injections.scm | 11 +++++++++++ crates/languages/src/typescript/injections.scm | 12 ++++++++++++ 3 files changed, 34 insertions(+) diff --git a/crates/languages/src/javascript/injections.scm b/crates/languages/src/javascript/injections.scm index d629a2b3df..180608944a 100644 --- a/crates/languages/src/javascript/injections.scm +++ b/crates/languages/src/javascript/injections.scm @@ -47,3 +47,14 @@ (#set! "language" "yaml")) ) +(call_expression + function: (identifier) @_name (#match? @_name "^g(raph)?ql$") + arguments: (template_string (string_fragment) @content + (#set! "language" "graphql")) +) + +(call_expression + function: (identifier) @_name (#match? @_name "^g(raph)?ql$") + arguments: (arguments (template_string (string_fragment) @content + (#set! "language" "graphql"))) +) diff --git a/crates/languages/src/tsx/injections.scm b/crates/languages/src/tsx/injections.scm index 681e476b18..3aa6bfd745 100644 --- a/crates/languages/src/tsx/injections.scm +++ b/crates/languages/src/tsx/injections.scm @@ -47,3 +47,14 @@ (#set! "language" "yaml")) ) +(call_expression + function: (identifier) @_name (#match? @_name "^g(raph)?ql$") + arguments: (template_string (string_fragment) @content + (#set! "language" "graphql")) +) + +(call_expression + function: (identifier) @_name (#match? @_name "^g(raph)?ql$") + arguments: (arguments (template_string (string_fragment) @content + (#set! "language" "graphql"))) +) diff --git a/crates/languages/src/typescript/injections.scm b/crates/languages/src/typescript/injections.scm index c47fc5efb4..db8d7a9b59 100644 --- a/crates/languages/src/typescript/injections.scm +++ b/crates/languages/src/typescript/injections.scm @@ -50,3 +50,15 @@ arguments: (template_string (string_fragment) @content (#set! "language" "yaml")) ) + +(call_expression + function: (identifier) @_name (#match? @_name "^g(raph)?ql$") + arguments: (template_string (string_fragment) @content + (#set! "language" "graphql")) +) + +(call_expression + function: (identifier) @_name (#match? @_name "^g(raph)?ql$") + arguments: (arguments (template_string (string_fragment) @content + (#set! "language" "graphql"))) +)