On Saturday, 11 April 2020 at 13:13:45 UTC, Adam D. Ruppe wrote:
On Saturday, 11 April 2020 at 06:49:21 UTC, Anonymouse wrote:
(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 makes sense.

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.

Yes, http://kameloso.dpldocs.info/kameloso.plugins.seen.html. onBusMessage is private like the other functions, but it shows up. (Additionally the public imports are private.)

In http://kameloso.dpldocs.info/kameloso.plugins.admin.html, http://kameloso.dpldocs.info/kameloso.plugins.automode.html, http://kameloso.dpldocs.info/kameloso.plugins.chatbot.html, http://kameloso.dpldocs.info/kameloso.plugins.connect.html, http://kameloso.dpldocs.info/kameloso.plugins.notes.html, ...; in nearly all modules listed in http://kameloso.dpldocs.info/kameloso.plugins.html private members are partly included.

The idea is for every plugin module to only expose the public IRCPlugin class and hide the rest. Some, correctly then, only show the plugin (e.g. http://kameloso.dpldocs.info/kameloso.plugins.ctcp.html).

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 {}

Yeah, I like yours more, I just imagined it used docs.json too.

Reply via email to