mirror of https://github.com/helix-editor/helix
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
971 B
Scheme
37 lines
971 B
Scheme
2 years ago
|
; 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 "^//"))
|
||
|
|