[llvm-dev] Linting rst files
MyDeveloper Day via llvm-dev
llvm-dev at lists.llvm.org
Fri Dec 14 07:57:00 PST 2018
All
I've recently been doing some work in the clang-tidy module,
https://reviews.llvm.org/D55523
I had noticed that a lot of code review comments in that area came about
because of inconsistent style in the .rst documentation
I wrote a small python script to check the documentation for simple errors
like
- double blank lines
- double spaces
- empty last lines
- trailing spaces
- inconsistent markup and headers above
It was only later that I noticed these problems were actually universal
across all of LLVM, both in llvm/docs and llvm/tools/clang/docs and not
just in llvm/tools/clang/tools/extra/docs
Its definitely not a full sphinx parser so I'm sure it would go wrong from
time to time, but globally in llvm it found 1000s of minor errors in rst
files all across the llvm tree
$ find . -name '*.rst' -exec
./tools/clang/tools/extra/clang-tidy/validate_check.py --no-maximize --rst
{} \; | grep warning | wc -l
14172
Gave 14,000+ warnings across the entire LLVM tree
6231 - line is in excess of 80 characters
4774 - line contains double spaces
1528 - line multiple blank lines
1078 - line trailing whitespace
484 - title and markup non matching lengths
81 - empty lines at the end of the file (almost 16% of all .rst files)
I think those doing code reviews over in clang-tidy would like developers
of new checkers to check their rst files as part of the build process, and
for those sorts of warning to be "on them" at build time and not on the
reviewer
As I've looked at this more holistically I see value in something simpler
for all of llvm,
1) is this something people care about?
2) are code review comments regarding the state of the rst files common in
other areas?
3) where would such a tool go (llvm/lnt hasn't had a commit since 2009)?
4) how would we (if at all) bring such warnings into the build system, if
desired?
Is there someone I should speak to regarding the wider llvm tooling? (I
couldn't find anything in CODE_OWNERS.txt that would point me to who owns
that.)
I realize changing a few .rst files isn't pushing the envelop of
LLVM/clang, but perhaps for those of us without the skills yet to dive in
and write a new backend, its something we can contribute to.
Comments and any Feedback are welcome
MyDeveloperDay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181214/09d37ac3/attachment.html>
More information about the llvm-dev
mailing list