diff options
| author | Mauro Carvalho Chehab <mchehab+huawei@kernel.org> | 2025-10-01 16:49:36 +0200 |
|---|---|---|
| committer | Jonathan Corbet <corbet@lwn.net> | 2025-10-17 13:56:59 -0600 |
| commit | 11578a2ecbeb619b9b2661606168bb981cda3cca (patch) | |
| tree | 490a029e4a313ac43e4e84e1359dec0c1990d9aa /scripts/lib/jobserver.py | |
| parent | 2792fc73077b5c51b45f4f03235643d53c757f18 (diff) | |
docs: kernel_include.py: use get_close_matches() to propose alternatives
Improve the suggestions algorithm by using get_close_matches() if
no suggestions with the same name are found. As we're now building
a dict, when the name is identical, but on a different domain,
the search is O(1), making it a lot faster.
The get_close_matches is also fast, as there is just one loop,
instead of 3.
This can be useful to detect typos on references, with could
be the base of a futuere extension that will handle ref unmatches
for the entire build, allowing someone to find typos and fix them.
As difflib and get_close_matches are there since the early
Python 3.x days, we don't need to handle any extra dependencies
to use it.
We're keeping the default values for the search, e.g. n=3, cutoff=0.6.
With that, we now have things like:
$ make SPHINXDIRS="userspace-api/media" htmldocs
...
include/uapi/linux/videodev2.h:199: WARNING: Invalid xref: c:type:`v4l2_memory`. Possible alternatives:
c:type:`v4l2_meta_format` (from v4l/dev-meta)
c:type:`v4l2_rect` (from v4l/dev-overlay)
c:type:`v4l2_area` (from v4l/ext-ctrls-image-source) [ref.missing]
...
include/uapi/linux/videodev2.h:1985: WARNING: Invalid xref: c:type:`V4L.v4l2_queryctrl`. Possible alternatives:
std:label:`v4l2-queryctrl` (from v4l/vidioc-queryctrl)
std:label:`v4l2-query-ext-ctrl` (from v4l/vidioc-queryctrl)
At the first example, it was not a typo, but a symbol that doesn't
seem to be properly documented. The second example points to
v4l2-queryctrl, which is a close match for the symbol.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Message-ID: <7365feb74cbdd6b982c87baf5863360ab98cf727.1759329363.git.mchehab+huawei@kernel.org>
Diffstat (limited to 'scripts/lib/jobserver.py')
0 files changed, 0 insertions, 0 deletions
