nvim-treesitter/queries/rst/injections.scm
Pham Huy Hoang 78b54eb7f6 chore(injections)!: update injection syntax to 0.9
Since 0.9, @lang syntax is still available as fallback but will soon be deprecated.
Because of that, new syntax should be adopted once 0.9 becomes the
baseline requirements for nvim-treesitter

- update health check
- update doc
2023-08-12 17:34:15 +02:00

80 lines
2.2 KiB
Scheme

((doctest_block) @injection.content
(#set! injection.language "python"))
;; Directives with nested content without arguments nor options
((directive
name: (type) @_type
body: (body) @injection.content)
(#set! injection.language "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) @injection.content))
(#set! injection.language "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) @injection.content))
(#set! injection.language "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) @injection.language (content) @injection.content))
(#any-of? @_type "code" "code-block" "sourcecode"))
((directive
name: (type) @_type
body: (body (arguments) @injection.language (content) @injection.content))
(#eq? @_type "raw"))
((directive
name: (type) @_type
body: (body (content) @injection.content))
(#set! injection.language "latex")
(#eq? @_type "math"))
; TODO: re-add when a parser for csv is added.
; ((directive
; name: (type) @_type
; body: (body (content) @injection.content))
; (#set! injection.language "csv")
; (#eq? @_type "csv-table"))
;; Special roles - prefix
((interpreted_text
(role) @_role
"interpreted_text" @injection.content)
(#eq? @_role ":math:")
(#set! injection.language "latex"))
;; Special roles - suffix
((interpreted_text
"interpreted_text" @injection.content
(role) @_role)
(#eq? @_role ":math:")
(#set! injection.language "latex"))
((comment) @injection.content
(#set! injection.language "comment"))