lep / jassdoc

Document the WarCraft 3 API
52 stars 20 forks source link

Does this include vJass? #121

Open grandeljay opened 10 months ago

grandeljay commented 10 months ago

Sorry I accidentality submitted before finishing my question.

I'm really glad I found this repository, thanks for making this! I am just getting started with Jass and vJass. Since vJass seems to be officially supported by the World Editor I am asking if this documentaiton includes vJass and if pull requests regarding vJass will be considered?

lep commented 10 months ago

No, vjass is well documented in the jasshelpermanual and in the documentation of any vjass library one would use. This repository is for the interface between jass (and now also lua of course) and the functionality provided by warcraft 3. Also while not strictly neccessary, vjass is not easy to parse.

Maybe of some interest or curiosity: Barade also wrote some doxygen like tool for vjass here https://github.com/tdauth/vjassdoc Scraping all the systems on hive and making their API searchable would be pretty cool but out of scope for this.

grandeljay commented 10 months ago

I see, thanks!

Barade also wrote some doxygen like tool for vjass here https://github.com/tdauth/vjassdoc Scraping all the systems on hive and making their API searchable would be pretty cool but out of scope for this.

I understand that vJass is out of the scope of this project. This seems to be one of the few (or only?) still maintained projects regarding documentation. I find it easy to learn (v)Jass when I can simply lookup a functions description or types on the Jassbot site. It's a big pity for me to see it "end" with Jass. There is so much more potential in my opinion.

The Jassbot has become a convenient learning haven for me, I hope you might reconsider the scope of this project!

Luashine commented 10 months ago

vJass, Zinc are not standalone, they turn their extended syntax code into regular Jass (a preprocessor does that, JassHelper). Zinc isn't worthy of mention, but vJass is powerful enough to need some code documentation/auto-completion on its own (I've read the entire manual to make the new notepad++ syntax highlighter and trust me, no single person has ever used all of its features). There's no use in documenting "vJass" because it's a self-contained thing.

If you meant writing documentation for the libraries (aka "systems") out there, this is asking to comment someone else's code. The plan would sound like "document all (v)Jass code that was ever written!" The author should've done that... failing that, it'd be possible to cover a few very popular libraries but why? Ripping the code from the Hive (example) to have it hosted elsewhere (Github) to enable collaboration for some code comments? I think the respective comment section should be used, though this doc generator LeP linked looks neat.

For now Ricola has a grande idea of looking through and categorizing currently published libraries. That's the closest thing going in the direction you want.

This seems to be one of the few (or only?) still maintained projects regarding documentation.

The only, though Water (with me on the side) is spear-heading the file format work. We are only a handful people total, lep's supporting the code and infrastructure. From time to time I try to pitch the idea of contributing here to mappers on Hive's Discord but they aren't interested despite encountering problems that could've been long discovered and described once and for all. I was in your shoes when I tried to learn Jass. That's why I decided to contribute to jassdoc. The language was a lesser problem than the API.

grandeljay commented 9 months ago

If you meant writing documentation for the libraries (aka "systems") out there, this is asking to comment someone else's code.

Ripping the code from the Hive (example) to have it hosted elsewhere (Github) to enable collaboration for some code comments?

Yeah, I think that sounds good. The information is available at the hiveworkshop but it's not a standardised format, like here. I would have to actually read (probably) large amount of texts and filter out the information I need. I'd have to use my brain!