MiniIDE: live code inside a LOVE app
Posted: Sat Aug 26, 2023 7:26 am
Hello, LÖVE Community, we’d like to introduce “MiniIDE”!
MiniIDE was created so that developers can live-code LÖVE scripts inside of LÖVE itself. Its initial target was mobile iOS developers who lack options to live-code Love2D on their devices, but it has been tested on Windows, MacOS, Linux, iOS (iPad) and Android (tablet). We are grateful to the developers of Lua, LÖVE and the libraries love-console, Slab and native-fs. MiniIDE is built upon all their work.
MiniIDE comes with a console (bottom of the screen), a terminal (left hand side of the screen), and a resizable/movable mini-text editor.
MiniIDE has the ability to load and save lua scripts, and call its own LÖVE callback loops and return back to the editor from them.
MiniIDE is also able to render graphics commands directly from the MiniIDE screen to allow easy experimentation with the love.graphics API. One can even use the included Slab GUI library to create GUIs from one's script inside MiniIDE.
Note:
If you wish to break out of scripts that you run in MiniIDE that use LÖVE callbacks (e.g. love.update or love.draw), we’ve programmed into MiniIDE (using `xpcall`) to intercept any error in your script (e.g. if you call `error()`) and return you back to the MiniIDE editor when miniIDE encounters that code. For your convenience, we included a simple `escape()` function you can call in your script that calls `error()` and that can be inserted into the end of your script by pressing the “Stop Code” button in the Editor.
Limitations:
Cannot use the `love.run` or `love.load` callbacks in your scripts (used by MiniIDE)
No warnings yet if you forget to save editor contents.
Directory for storing scripts is currently set to the Source Base Directory (which contains the MiniIDE.love file--user could easily change in the program's code).
Acknowledgements:
MiniIDE includes the following libraries with grateful thanks:
love-console: https://github.com/rameshvarun/love-console
Slab: https://github.com/flamendless/Slab
nativefs: https://github.com/EngineerSmith/nativefs
We welcome any feedback you may have on MiniIDE and hope you enjoy using it and find it helpful :-)
------------------------------------------------------------------
YouTube MiniIDE Video:
MiniIDE was created so that developers can live-code LÖVE scripts inside of LÖVE itself. Its initial target was mobile iOS developers who lack options to live-code Love2D on their devices, but it has been tested on Windows, MacOS, Linux, iOS (iPad) and Android (tablet). We are grateful to the developers of Lua, LÖVE and the libraries love-console, Slab and native-fs. MiniIDE is built upon all their work.
MiniIDE comes with a console (bottom of the screen), a terminal (left hand side of the screen), and a resizable/movable mini-text editor.
MiniIDE has the ability to load and save lua scripts, and call its own LÖVE callback loops and return back to the editor from them.
MiniIDE is also able to render graphics commands directly from the MiniIDE screen to allow easy experimentation with the love.graphics API. One can even use the included Slab GUI library to create GUIs from one's script inside MiniIDE.
Note:
If you wish to break out of scripts that you run in MiniIDE that use LÖVE callbacks (e.g. love.update or love.draw), we’ve programmed into MiniIDE (using `xpcall`) to intercept any error in your script (e.g. if you call `error()`) and return you back to the MiniIDE editor when miniIDE encounters that code. For your convenience, we included a simple `escape()` function you can call in your script that calls `error()` and that can be inserted into the end of your script by pressing the “Stop Code” button in the Editor.
Limitations:
Cannot use the `love.run` or `love.load` callbacks in your scripts (used by MiniIDE)
No warnings yet if you forget to save editor contents.
Directory for storing scripts is currently set to the Source Base Directory (which contains the MiniIDE.love file--user could easily change in the program's code).
Acknowledgements:
MiniIDE includes the following libraries with grateful thanks:
love-console: https://github.com/rameshvarun/love-console
Slab: https://github.com/flamendless/Slab
nativefs: https://github.com/EngineerSmith/nativefs
We welcome any feedback you may have on MiniIDE and hope you enjoy using it and find it helpful :-)
------------------------------------------------------------------
YouTube MiniIDE Video: