docs.json is incomplete
Adam D. Ruppe
destructionator at gmail.com
Sat Apr 11 13:13:45 UTC 2020
On Saturday, 11 April 2020 at 06:49:21 UTC, Anonymouse wrote:
> I'm trying to get docs for my project hosted, and everything
> works, except there are entries missing. Looking at the
> generated docs.json there's simply a lot of omitted stuff.
My dpldocs.info site doesn't use docs.json, it goes directly from
the source with a custom parser. So always a chance I bugged
things up there.
> https://zorael.github.io/kameloso/kameloso/plugins/sedreplace/SedReplacePlugin.html
this is a wholly different generator though, so my bugs won't
affect it.
> (TL;DR: the module contains one public class and (private) two
> structs, three free functions and one module-level mixin, but
> only the class is shown.
It is all under a `private:` thing for this file.
http://kameloso.dpldocs.info/source/kameloso.plugins.sedreplace.d.html#L34
Then there's a `public:` directly above the class. My doc
generator skips private members unless you run the generator
yourself and pass `-p` to the command line. This is impossible on
the hosted version, but you can `dub run adrdox -- args...`
yourself to generate the files.
I would assume the json thing does the same basically.
> I have more elaborate examples where some free functions make
> it and some don't, showing that public/private visibility is
> not the cause.)
Have an example there? My parser has been known to get off track
before on things and just give up on the rest of the file. The D
parser I have is pretty hacky.
> The fact that it is listed four times seems to have to do with
> the use of `version(Something):` at the top of the module, to
> allow for opt-in enabling it based on dub build configuration.
> Commenting them out does not bring the missing stuff back.
>
> Is there a syntax error somewhere? I can't see it. Is the
> docs.json generator at fault?
That repetition sounds like a bug in the other thing. Their weird
handling of `version` is why I actually decided to write my own
parser!
my version at least shows it kinda sanely:
version(WithSedReplacePlugin)
class SedReplacePlugin : IRCPlugin {}
More information about the Digitalmars-d-learn
mailing list