RST: use any-of? instead of match? (#1678)

This commit is contained in:
Santos Gallegos 2021-08-08 12:37:08 -05:00 committed by GitHub
parent 1e8016d92d
commit 9a98ed1f96
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 42 additions and 10 deletions

View file

@ -30,10 +30,18 @@
((directive
name: (type) @function.builtin)
(#match?
(#any-of?
@function.builtin
; https://docutils.sourceforge.io/docs/ref/rst/directives.html
"^(attention|caution|danger|error|hint|important|note|tip|warning|admonition)|(image|figure)|(topic|sidebar|line-block|parsed-literal|code|math|rubric|epigraph|highlights|pull-quote|compound|container)|(table|csv-table|list-table)|(contents|sectnum|section-numbering|header|footer)|(target-notes)|(meta)|(replace|unicode|date)|(raw|class|role|default-role|title|restructuredtext-test-directive)$"))
"attention" "caution" "danger" "error" "hint" "important" "note" "tip" "warning" "admonition"
"image" "figure"
"topic" "sidebar" "line-block" "parsed-literal" "code" "math" "rubric" "epigraph" "highlights" "pull-quote" "compound" "container"
"table" "csv-table" "list-table"
"contents" "sectnum" "section-numbering" "header" "footer"
"target-notes"
"meta"
"replace" "unicode" "date"
"raw" "class" "role" "default-role" "title" "restructuredtext-test-directive"))
;; Blocks
@ -79,10 +87,26 @@
(role) @function
((role) @function.builtin
(#match?
(#any-of?
@function.builtin
; https://docutils.sourceforge.io/docs/ref/rst/roles.html
"^:(emphasis|literal|code|math|pep-reference|PEP|rfc-reference|RFC|strong|subscript|sub|superscript|sup|title-reference|title|t|raw):$"))
":emphasis:"
":literal:"
":code:"
":math:"
":pep-reference:"
":PEP:"
":rfc-reference:"
":RFC:"
":strong:"
":subscript:"
":sub:"
":superscript:"
":sup:"
":title-reference:"
":title:"
":t:"
":raw:"))
[
"interpreted_text"

View file

@ -4,25 +4,33 @@
((directive
name: (type) @_type
body: (body) @rst)
(#match?
(#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)$"))
"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?
(#any-of?
@_type
"^(attention|caution|danger|error|hint|important|note|tip|warning|admonition)|(line-block|parsed-literal|compound)$"))
"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?
(#any-of?
@_type
"^(figure)|(topic|sidebar|container)|(table|list-table)|(class|role|restructuredtext-test-directive)$"))
"figure"
"topic" "sidebar" "container"
"table" "list-table"
"class" "role" "restructuredtext-test-directive"))
;; Special directives
((directive