From 8d05bb090c9a02c813e342cb19add2eb7be0e088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iha=20Shin=20=28=EC=8B=A0=EC=9D=98=ED=95=98=29?= Date: Tue, 9 Sep 2025 01:04:37 +0900 Subject: [PATCH] Add injections for Isograph function calls in JavaScript and TypeScript (#36320) Required for https://github.com/isographlabs/isograph/pull/568 to work properly. Tested with a local build and made sure everything's working great! Release Notes: - JavaScript/TypeScript/JSX: Added support for injecting Isograph language support into `iso` function calls --- crates/languages/src/javascript/injections.scm | 6 ++++++ crates/languages/src/tsx/injections.scm | 6 ++++++ crates/languages/src/typescript/injections.scm | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/crates/languages/src/javascript/injections.scm b/crates/languages/src/javascript/injections.scm index dbec1937b12a24d336d69051d70e45d0eee5b3de..987be660d3c5ebd706284990d7d21a481b24a2af 100644 --- a/crates/languages/src/javascript/injections.scm +++ b/crates/languages/src/javascript/injections.scm @@ -73,3 +73,9 @@ arguments: (arguments (template_string (string_fragment) @injection.content (#set! injection.language "graphql"))) ) + +(call_expression + function: (identifier) @_name(#match? @_name "^iso$") + arguments: (arguments (template_string (string_fragment) @injection.content + (#set! injection.language "isograph"))) +) diff --git a/crates/languages/src/tsx/injections.scm b/crates/languages/src/tsx/injections.scm index 9eec01cc8962b6c807db77a5f8bd2ff1707b4a0d..f749aac43a713dadc6abe81a0523f241610b2675 100644 --- a/crates/languages/src/tsx/injections.scm +++ b/crates/languages/src/tsx/injections.scm @@ -73,3 +73,9 @@ arguments: (arguments (template_string (string_fragment) @injection.content (#set! injection.language "graphql"))) ) + +(call_expression + function: (identifier) @_name(#match? @_name "^iso$") + arguments: (arguments (template_string (string_fragment) @injection.content + (#set! injection.language "isograph"))) +) diff --git a/crates/languages/src/typescript/injections.scm b/crates/languages/src/typescript/injections.scm index 1ca1e9ad59176cc1df9461d6fe8630179162e45c..331f42fa913ff8ce79bde5c50599e679ef780962 100644 --- a/crates/languages/src/typescript/injections.scm +++ b/crates/languages/src/typescript/injections.scm @@ -78,6 +78,12 @@ (#set! injection.language "graphql"))) ) +(call_expression + function: (identifier) @_name(#match? @_name "^iso$") + arguments: (arguments (template_string (string_fragment) @injection.content + (#set! injection.language "isograph"))) +) + ;; Angular Component template injection (call_expression function: [