lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

On Tue, May 1, 2018 at 9:16 AM, jitesh pabla <> wrote:
Hello everyone I'm going to build a GUI for LuaRocks this summer as a GSoC project, so there are a few questions I'd like to ask everyone:
1-Which CLI commands do you want to see implemented into the GUI first?
2-Would you rather have the GUI as a separate rock or do you want it to be embedded into the main distribution?
3-Will you actually use a GUI as your primary way to interact with luarocks?

Hurray! I've started a project using Qt here: It uses the most excellent sol2 C++ wrapper and relies on my WinLua which has luafilesystem included with the installation (that could be easily changed). 

I was able to hook into LuaRocks and do some primitive searching, but everything committed right now is just prototyping. Recently the internals of LuaRocks were simplified and I haven't upgraded it yet. In order to achieve integration between an application and LuaRocks, I believe one or more functions need to be added (to LuaRocks) because all output is currently formatted and sent straight to command line output (stdout?). 

The secret receipe in my opinion would be: 
- Automated checking for updates 
- Management of LUA_PATH and PATH variables. 
- The ability to manage multiple rocktrees and multiple lua versions in one UI. Milind Gupta is working on (investigating?) a method to manage per-project rock trees that may also be an excellent tool for  a GUI.
- The ability to create a (Rock Soup!) recipe that would pull down groups of projects
- A browser/linking to local help docs that are part of the rocks. (especially if it supports Markdown)

The truth is though, a GUI is almost an anti-pattern in Lua because there is so much flexibility in the language/ecosystem, it's impossible to support all the possibilities. However, the beauty of Qt is the massive amounts of example code available to do almost anything you could think of. Some nice superflous graphs and things would sure be neat. Hope that helps and good luck. Feel free to pilfer my project (but contributing would be better)!