So https://eclipse.org/ldt/ (the new Eclipse LDT, successor to Koneki) seems to be pretty solid these days. I've started writing an Execution Environment (like IntelliJ's concept of an SDK) for LÖVE based on the previous Koneki work and a homegrown converter from the love-api table to LDT-format LuaDoc.
GitHub
Generator for the api.zip file that goes inside the outer EE zip: https://github.com/leafi/love-api-to-ldt-luadoc
Exploded outer EE zip: https://github.com/leafi/love-eclipse-ldt
Download & Installation
The easiest way to install this is to grab & install Eclipse LDT, then follow the instructions for a pre-built Execution Environment at https://github.com/leafi/love-eclipse-ldt#pre-built.
If you want to build a new version from the latest love-api tables, there's instructions for that, too.
It should be pretty straight-forward. Shout at me if you have any trouble.
Issues
- Enums are referenced, but not defined. You'll see an autocomplete popup telling you about window#FullscreenType, but not what the valid values are. I don't know how to encode enums in LDT format LuaDoc.
- All overloaded functions only have the first definition emitted. (First in lua-api order, not wiki order.) I can't find a way to represent function overloading in LDT LuaDoc. A particularly egregious example right now is the definition you're shown for love.graphics.newImage() implies the 'format' parameter is necessary.
- You'll need to set up the Eclipse Run Configurations yourself. Click the little down arrow next to the Run button, and edit Run Configurations... Slightly annoying, but not a deal breaker.
- utf8 Lua module autocomplete missing. For the non-LÖVE stuff, I'm literally shipping the LuaDoc files from https://github.com/RamiLego4Game/LOVELuaDoc-0.9.0, and it doesn't have that.
- Probably more I just haven't found yet. Report them!
- Original Koneki (pre-LDT) API files https://github.com/mkosler/LOVELuaDoc were used as reference material, and the non-LOVE parts have been stolen wholesale.
- https://github.com/rm-code/love-api/ is the definition set used by the generator to produce the necessary LOVE API LuaDoc.
- https://wiki.eclipse.org/LDT/User_Area/ ... n_Language is ridiculously useful
Suggestions, complaints, bug reports, forks, witticisms welcome.