2022-12-17 12:27:14 +09:00
|
|
|
(
|
|
|
|
|
(style_element
|
2022-12-24 01:59:30 +09:00
|
|
|
(start_tag) @_no_attribute
|
2022-12-17 12:27:14 +09:00
|
|
|
(raw_text) @css)
|
2022-12-26 00:38:57 +09:00
|
|
|
(#match? @_no_attribute "^\\<\\s*style\\s*\\>$")
|
2022-12-26 00:38:57 +09:00
|
|
|
; unsure why, but without escaping < and > the query breaks
|
2022-12-17 12:27:14 +09:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
(
|
|
|
|
|
(style_element
|
|
|
|
|
(start_tag
|
|
|
|
|
(attribute
|
2022-12-24 01:59:30 +09:00
|
|
|
(attribute_name) @_no_lang))
|
|
|
|
|
(raw_text) @css)
|
|
|
|
|
(#not-eq? @_no_lang "lang")
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
(
|
|
|
|
|
(style_element
|
|
|
|
|
(start_tag
|
|
|
|
|
(attribute
|
|
|
|
|
(attribute_name) @_lang
|
|
|
|
|
(quoted_attribute_value (attribute_value) @_css)))
|
2022-12-17 12:27:14 +09:00
|
|
|
(raw_text) @css)
|
2022-12-24 01:59:30 +09:00
|
|
|
(#eq? @_lang "lang")
|
|
|
|
|
(#eq? @_css "css")
|
2022-12-17 12:27:14 +09:00
|
|
|
)
|
|
|
|
|
|
2022-12-24 01:59:30 +09:00
|
|
|
; If script tag does not have any extra attributes, set it to javascript
|
|
|
|
|
(
|
|
|
|
|
(script_element
|
|
|
|
|
(start_tag) @_no_attribute
|
|
|
|
|
(raw_text) @javascript)
|
2022-12-26 00:38:57 +09:00
|
|
|
(#match? @_no_attribute "^\\<\\s*script\\s*\\>$")
|
2022-12-24 01:59:30 +09:00
|
|
|
)
|
|
|
|
|
|
2022-12-17 12:27:14 +09:00
|
|
|
; if start_tag does not specify `lang="..."` then set it to javascript
|
|
|
|
|
(
|
|
|
|
|
(script_element
|
2022-12-24 01:59:30 +09:00
|
|
|
(start_tag
|
|
|
|
|
(attribute
|
|
|
|
|
(attribute_name) @_no_lang))
|
|
|
|
|
(raw_text) @javascript)
|
|
|
|
|
(#not-eq? @_no_lang "lang")
|
2022-12-17 12:27:14 +09:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
(
|
|
|
|
|
(script_element
|
|
|
|
|
(start_tag
|
|
|
|
|
(attribute
|
2022-12-24 01:59:30 +09:00
|
|
|
(attribute_name) @_lang
|
|
|
|
|
(quoted_attribute_value (attribute_value) @_js)))
|
2022-12-17 12:27:14 +09:00
|
|
|
(raw_text) @javascript)
|
2022-12-24 01:59:30 +09:00
|
|
|
(#eq? @_lang "lang")
|
|
|
|
|
(#eq? @_js "js")
|
2022-12-17 12:27:14 +09:00
|
|
|
)
|
2021-02-08 18:48:14 +01:00
|
|
|
|
2022-12-24 01:59:30 +09:00
|
|
|
; TODO: When nvim-treesitter have postcss and less parser, use @language and @content instead
|
2021-03-29 06:30:31 +07:00
|
|
|
(
|
|
|
|
|
(style_element
|
|
|
|
|
(start_tag
|
|
|
|
|
(attribute
|
2022-12-24 01:59:30 +09:00
|
|
|
(attribute_name) @_lang
|
|
|
|
|
(quoted_attribute_value (attribute_value) @_scss)))
|
2021-03-29 06:30:31 +07:00
|
|
|
(raw_text) @scss)
|
2022-12-24 01:59:30 +09:00
|
|
|
(#eq? @_lang "lang")
|
|
|
|
|
(#any-of? @_scss "scss" "less" "postcss")
|
2021-03-29 06:30:31 +07:00
|
|
|
)
|
2021-02-08 18:48:14 +01:00
|
|
|
|
|
|
|
|
(
|
|
|
|
|
(script_element
|
|
|
|
|
(start_tag
|
|
|
|
|
(attribute
|
2022-12-24 01:59:30 +09:00
|
|
|
(attribute_name) @_lang
|
|
|
|
|
(quoted_attribute_value (attribute_value) @_ts)))
|
2021-02-08 18:48:14 +01:00
|
|
|
(raw_text) @typescript)
|
2022-12-24 01:59:30 +09:00
|
|
|
(#eq? @_lang "lang")
|
|
|
|
|
(#eq? @_ts "ts")
|
2021-02-08 18:48:14 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
((interpolation
|
|
|
|
|
(raw_text) @javascript))
|
2021-03-12 11:21:46 -05:00
|
|
|
|
2021-05-05 16:40:36 +07:00
|
|
|
((directive_attribute
|
|
|
|
|
(quoted_attribute_value
|
2021-04-22 18:52:20 +02:00
|
|
|
(attribute_value) @javascript)))
|
|
|
|
|
|
2021-07-10 17:36:49 +02:00
|
|
|
(
|
|
|
|
|
(template_element
|
|
|
|
|
(start_tag
|
|
|
|
|
(attribute
|
|
|
|
|
(quoted_attribute_value (attribute_value) @_lang)))
|
2021-11-30 23:27:08 +01:00
|
|
|
(text) @pug)
|
|
|
|
|
(#eq? @_lang "pug")
|
2021-07-10 17:36:49 +02:00
|
|
|
)
|
|
|
|
|
|
2021-04-30 13:22:12 -05:00
|
|
|
(comment) @comment
|