Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate inline documentation if it's available in the extension_api.json #1311

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dsnopek
Copy link
Contributor

@dsnopek dsnopek commented Nov 16, 2023

Fixes #604

This uses functionality from PR godotengine/godot#82331, which optionally adds documentation to the extension_api.json, to generate Doxygen-style inline documentation if it's available.

This is marked as a DRAFT because it's incomplete! There's more places to inject the documentation, and there's more bbcode to parse.

This also updates the included extension_api.json to have the documentation. I could see an argument for not including this, since it increases the size of the file by 65%, and then leaving it up to users to include the documentation if they want it. However, I suspect that quite a few folks are going to want it?

@dsnopek dsnopek added the enhancement This is an enhancement on the current functionality label Nov 16, 2023
@dsnopek dsnopek added this to the 4.x milestone Nov 16, 2023
@dsnopek dsnopek requested a review from a team as a code owner November 16, 2023 22:40
@dsnopek dsnopek marked this pull request as draft November 16, 2023 22:42
@DmitriySalnikov
Copy link
Contributor

DmitriySalnikov commented Nov 18, 2023

That's cool! With this PR, it will finally be possible not to run Godot to find out details about the class and methods being used.

Even 10MB of extension_api.json won't be a problem. This will not affect the size of the binaries, and besides this file there is a lot of garbage that takes up much more space, for example, the v17\ipch\AutoPCH folder from Visual Studio, which takes about 1GB when I open my project.

@Naros
Copy link
Contributor

Naros commented Dec 27, 2023

I most definitely like the idea of this being part of the extension_api.json file. I am already doing a processing pass on this file as-is to generate an ExtensionDB class for quite a bit of metadata that isn't directly accessible from ClassDB, so having access to this documentation will be helpful for my Visual Scripting solution's tooltips and the user experience.

@GoldAndPurple
Copy link

What's the priority on this PR?

@dsnopek
Copy link
Contributor Author

dsnopek commented Feb 12, 2024

What's the priority on this PR?

It's not a very high priority for me, personally. So, if someone else is super motivated to finish this, feel free to make a new PR to supersede this one! Otherwise, I will get back to it eventually. :-)

@Naros
Copy link
Contributor

Naros commented Feb 12, 2024

I can certainly take a look, but it'll likely be closer to the weekend before I can @GoldAndPurple

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement This is an enhancement on the current functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Why does the documentation in C ++ not have the information of each class and method as in godot C #?
4 participants