08b442f4cc
JavaScript queries now contain a few lines that prevent them from being used whole-sale in typescript with `; inherits: javascript`. Here we follow nvim-treesitter's way of using a fake 'ecma' language as a common base for JavaScript and TypeScript to share as much as we can.
36 lines
971 B
Scheme
36 lines
971 B
Scheme
; Parse the contents of tagged template literals using
|
|
; a language inferred from the tag.
|
|
|
|
(call_expression
|
|
function: [
|
|
(identifier) @injection.language
|
|
(member_expression
|
|
property: (property_identifier) @injection.language)
|
|
]
|
|
arguments: (template_string) @injection.content)
|
|
|
|
; Parse the contents of gql template literals
|
|
|
|
((call_expression
|
|
function: (identifier) @_template_function_name
|
|
arguments: (template_string) @injection.content)
|
|
(#eq? @_template_function_name "gql")
|
|
(#set! injection.language "graphql"))
|
|
|
|
; Parse regex syntax within regex literals
|
|
|
|
((regex_pattern) @injection.content
|
|
(#set! injection.language "regex"))
|
|
|
|
; Parse JSDoc annotations in multiline comments
|
|
|
|
((comment) @injection.content
|
|
(#set! injection.language "jsdoc")
|
|
(#match? @injection.content "^/\\*+"))
|
|
|
|
; Parse general tags in single line comments
|
|
|
|
((comment) @injection.content
|
|
(#set! injection.language "comment")
|
|
(#match? @injection.content "^//"))
|
|
|