我想用pygrep
用pre-commit
编写一个钩子,它可以找到。
.. warning:
(应该是.. warning::
)。
如果我写
- repo: local
- id: incorrect-sphinx-directives
name: Check for incorrect Sphinx directives
language: pygrep
entry: \.\. (autosummary|contents|currentmodule|deprecated|function|image|important|include|ipython|literalinclude|math|module|note|raw|seealso|toctree|versionadded|versionchanged|warning):[^:]
files: \.(py|pyx|rst)$
然后,这是有效的-然而,字符串是不可读的长。有办法把它分成多行吗?
我试过了
entry: "\
.. (autosummary|contents|currentmodule|deprecated\
|function|image|important|include|ipython\
|literalinclude|math|module|note|raw|seealso\
|toctree|versionadded|versionchanged|warning\
):[^:]"
但这不起作用(结果的正则表达式不同)。
有什么建议吗?
发布于 2020-10-20 15:02:22
作为记录在案,您可以使用详细的表达式:
entry: |
(?x)^(
thing|
other_thing|
other_other_thing
)$
发布于 2020-10-20 13:20:30
解决办法是
entry: "\
\\.\\. (autosummary|contents|currentmodule|deprecated\
|function|image|important|include|ipython\
|literalinclude|math|module|note|raw|seealso\
|toctree|versionadded|versionchanged|warning\
):[^:]"
https://stackoverflow.com/questions/64445822
复制相似问题