1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-24 06:40:05 +08:00
SpaceVim/bundle/nvim-treesitter/queries/rst/injections.scm

72 lines
1.7 KiB
Scheme

(doctest_block) @python
;; Directives with nested content without arguments nor options
((directive
name: (type) @_type
body: (body) @rst)
(#any-of?
@_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))
(#any-of?
@_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))
(#any-of?
@_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))
(#any-of? @_type "code" "code-block" "sourcecode"))
((directive
name: (type) @_type
body: (body (arguments) @language (content) @content))
(#eq? @_type "raw"))
((directive
name: (type) @_type
body: (body (content) @latex))
(#eq? @_type "math"))
; TODO: re-add when a parser for csv is added.
; ((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