nvim-treesitter/queries/rst/injections.scm
2021-03-12 11:21:46 -05:00

62 lines
1.6 KiB
Scheme

(doctest_block) @python
;; Directives with nested content without arguments nor options
((directive
name: (type) @_type
body: (body) @rst)
(#match?
@_type
"^(attention|caution|danger|error|hint|important|note|tip|warning|admonition)|(line-block|parsed-literal|epigraph|highlights|pull-quote|compound)|(header|footer)|(meta)|(replace)$"))
;; Directives with nested content without arguments, but with options
((directive
name: (type) @_type
body: (body (options) (content) @rst))
(#match?
@_type
"^(attention|caution|danger|error|hint|important|note|tip|warning|admonition)|(line-block|parsed-literal|compound)$"))
;; Directives with nested content with arguments and options
((directive
name: (type) @_type
body: (body (content) @rst))
(#match?
@_type
"^(figure)|(topic|sidebar|container)|(table|list-table)|(class|role|restructuredtext-test-directive)$"))
;; Special directives
((directive
name: (type) @_type
body: (body (arguments) @language (content) @content))
(#eq? @_type "code"))
((directive
name: (type) @_type
body: (body (arguments) @language (content) @content))
(#eq? @_type "raw"))
((directive
name: (type) @_type
body: (body (content) @latex))
(#eq? @_type "math"))
((directive
name: (type) @_type
body: (body (content) @csv))
(#eq? @_type "csv-table"))
;; Special roles - prefix
((interpreted_text
(role) @_role
"interpreted_text" @latex)
(#eq? @_role ":math:"))
;; Special roles - suffix
((interpreted_text
"interpreted_text" @latex
(role) @_role)
(#eq? @_role ":math:"))
(comment) @comment