Add checkdocs_ignore to exclude certain modules from checkdocs
Fixes #2233
I went with missingdocs_ignore only rather than trying to check the other way i.e. that they are not included in the docs. I think this is an edge case and not something people need help verifying in practice.
It might be nice to have a more general API at some point. I did think about this again this a bit, but I have had the need (a few times) for what's in this PR so maybe let's go with a KISS approach for now?
This generally seems fine to me. There might be some opportunity to bikeshed the API here.. Should it be modules_ignore or something? Or should this just be done somehow via the modules keyword. A more general mechanism could be to filter by having the user pass a callback that checks the bindings (you could e.g. then filter out functions that start with _).
But I also think that we could have this as is, and deprecate this approach if we think we have a better API. The behavior here seems to be very well-defined, so deprecation should be relatively easy.
Forgot about this PR! Rebased.
I think on balance that this is probably fine as-is if you are able to accept it. It would be possible to filter at the symbol level, but that seems like a different thing in that it is not a small change to this PR to do that, although I suppose module and symbol filtering could be exposed together with some kind of common (tree-walking-callback) API. I suspect these other requirement may not materialize, so perhaps let's lean towards saying YAGNI? It might be fine and/or nicer to do module filtering and symbol filtering separately if and when such a need arises?
I don't think it should be modules_ignore. The modules are not being ignored, they're just being ignored by checkdocs. I could change checkdocs_ignore to checkdocs_ignore_modules, but that might be a bit long?
What should I do with the changelog? Do I start a new heading?