aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Svirshchevskiy <svirshchevskiy@gmail.com>2025-11-05 05:07:27 +0100
committerGitHub <noreply@github.com>2025-11-04 20:07:27 -0800
commit896e92a7f63c31d3d8f1df402b9824add8886a58 (patch)
tree86c20c8cfeaf5f226213240732ffdddaafc025b9
parentfeat(ecma): variable definition from object destructure (#8233) (diff)
downloadnvim-treesitter-896e92a7f63c31d3d8f1df402b9824add8886a58.tar
nvim-treesitter-896e92a7f63c31d3d8f1df402b9824add8886a58.tar.gz
nvim-treesitter-896e92a7f63c31d3d8f1df402b9824add8886a58.tar.bz2
nvim-treesitter-896e92a7f63c31d3d8f1df402b9824add8886a58.tar.lz
nvim-treesitter-896e92a7f63c31d3d8f1df402b9824add8886a58.tar.xz
nvim-treesitter-896e92a7f63c31d3d8f1df402b9824add8886a58.tar.zst
nvim-treesitter-896e92a7f63c31d3d8f1df402b9824add8886a58.zip
fix(typescript): support type param for styled components (#8066)
-rw-r--r--runtime/queries/tsx/injections.scm2
-rw-r--r--runtime/queries/typescript/injections.scm27
2 files changed, 28 insertions, 1 deletions
diff --git a/runtime/queries/tsx/injections.scm b/runtime/queries/tsx/injections.scm
index b6d9b28bf..07391231c 100644
--- a/runtime/queries/tsx/injections.scm
+++ b/runtime/queries/tsx/injections.scm
@@ -1 +1 @@
-; inherits: ecma,jsx
+; inherits: typescript,jsx
diff --git a/runtime/queries/typescript/injections.scm b/runtime/queries/typescript/injections.scm
index 04328f099..42c50efff 100644
--- a/runtime/queries/typescript/injections.scm
+++ b/runtime/queries/typescript/injections.scm
@@ -1 +1,28 @@
; inherits: ecma
+
+; styled.div<{}>`<css>`
+(call_expression
+ function: (non_null_expression
+ (instantiation_expression
+ (member_expression
+ object: (identifier) @_name
+ (#eq? @_name "styled")
+ property: (property_identifier))
+ type_arguments: (type_arguments)))
+ arguments: ((template_string) @injection.content
+ (#offset! @injection.content 0 1 0 -1)
+ (#set! injection.include-children)
+ (#set! injection.language "styled")))
+
+; styled.div<T>`<css>`
+(binary_expression
+ left: (binary_expression
+ left: (member_expression
+ object: (identifier) @_name
+ (#eq? @_name "styled")
+ property: (property_identifier))
+ right: (identifier))
+ right: (template_string) @injection.content
+ (#offset! @injection.content 0 1 0 -1)
+ (#set! injection.include-children)
+ (#set! injection.language "styled"))