Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
LDT/User Area/Compatible Lua VMs
Compatible VMs
This page aims to list the Lua VMs which work with Lua Development Tools (LDT).
By "work", we mean :
- VM which is compatible with our debugger.
- VM for which an execution environment is available. (enable API's autocompletion and documentation)
(Feel free to complete this list with your tests)
| VM | Debugger Compatibility | Execution Environment | |||
|---|---|---|---|---|---|
| Name-Version | Based on | Officially supported | Transport Layer | Comments | Execution environment is only used to enable some user assistance (autocompletion, documentation) for a given VM | 
| Lua-5.1 | Lua-5.1 |  Since LDT 0.1. | LuaSocket 2.0 needed. |  Officially available since 0.8, shipped with LDT since 0.9. | |
| Jnlua-0.9 | Lua-5.1 |  Since LDT 0.9. | Based on Java Socket. | Interpreter based on Jnlua 0.9 shipped with LDT since 0.9. |  Officially available since 0.8 (use Lua 5.1 one), shipped with LDT since 0.9. | 
| Mihini-0.8 | Lua-5.1 |  Coming soon. | LuaSocket 2.0 available in Mihini. | Available at Execution Environment page | |
| Lua-5.2 | Lua-5.2 |  Since LDT 1.0 | LuaSocket 3.0 RC1 needed (not released yet). |  Shipped with LDT since 1.0. | |
| Jnlua-1.0 | Lua-5.2 |  Shipped since LDT 1.0 | Based on Java Socket. |  Shipped since LDT 1.0 | |
| LuaJIT-2.0 | Lua-5.1 |  Since 1.0 | Work with LuaSocket 3.0 RC1 (not released yet). | Lua 5.1 Execution environment could be used. | |
| wxLua | Lua-5.1 | Not officially supported, but should work. | LuaSocket 2.0 needed. | Tested v2.8.10 on windows with LuaSocket 2.0 and LDT 0.9: works out of the box. | We don't know about any. Perhaps it could be partially generated from doxygen documentation (we are looking for community help). Lua 5.1 execution environment could be used waiting for better. | 
| MOAI | Lua-5.1 | Not officially supported. | LuaSocket shipped by MOAI. | Tested MOAI sdk v1.3-149 on windows : Works only with the [[LDT/Developer_Area/User_Guides/User_Guide_0.9#Attach_session|Lua Attach To Application] and seems there are problems with coroutines created with MOAI's API. Could be nice to offer a better support. Could work out of the box if MOAI's interpreter was able to handle "-e" option. :/ | Available at Execution Environment page | 
| Gideros | Lua-5.1 | Not officially supported. | LuaSocket ? | Not tested. | Available at Execution Environment page | 
| Corona | Lua-5.1 | Not officially supported. | Included in Corona | Successfully tested, see [Corona forum] | We don't know about any (we are looking for community help). Lua 5.1 execution environment could be used waiting for better. | 
| LÖVE | Lua-5.1 | Not officially supported. | LuaSocket shipped by LOVE. | Successfully tested on windows but need to define interpeter which does not support -e and file as arguments. Need to bootstrap debugger manually with if os.getenv('DEBUG_MODE') then require "debugger"() end. And add project path as interpreter arguments. | Available at Execution Environment page | 
Make my VM LDT Compatible
If you want to provide an execution environment for your VM, you could read this.
To be compatible with our debugger, you need to :
- be based on a Lua VM 5.1 or 5.2.
- integrate (or be compatible) with "standard" luasocket (2.0 or 2.1) to create a TCP connection between the VM and the IDE.
(if you cannot/do not want to use luasocket, you can also implement your own transport layer : see the transport parameter of debuger in the user guide)
To have full debug integration with the IDE, you need to :
- have an interpreter which handles the '-e' option to bootstrap the debugger code.
- have an interpreter which takes in parameter the lua script file to run (see lua interpreter documentation).
-  respect the LUA_PATHandLUA_CPATHenvironment variable.
- (optional) ship luasocket.