Koneki/LDT/User Area/New and Noteworthy/New and Noteworthy 1.0
New & Noteworthy 1.0
Here are the new features available in Lua Development Tools 1.0 M1, released on April 19th, 2013.
Keep in mind that this version in still under development and can be unstable. Anyway, this version is available from the Koneki p2 repository at http://download.eclipse.org/koneki/releases/milestones.
Support of Lua 5.2
LDT now provides a Lua 5.2 user experience directly shipped with the product. Which means LDT provide out of the box:
- Embedded Lua 5.2 Execution Environment which provide great user-assistance (content-assist, documentation,...)
- Lua 5.2 Debugger
- Built-in Lua 5.2 interpreter based on JNLua which enable running and debugging applications out of the box.
Note: The debugger need LuaSocket version 2.1.x to work on top of Lua 5.2, see the vm compatibility page.
Support of LuaJIT debug
LDT debugger is now compatible LuaJIT 2.0.x interpreter. LuaJIT is a Just-In-Time Compiler(JIT) for the Lua programming language.
Note: The debugger need LuaSocket version 2.1.x to work on top of LuaJIT, see the vm compatibility page.
Enhanced support of non-standard interpreters
It's now possible to define an interpreter which doesn't handle the
-e option, right from interpreter preferences page.
This option enables to execute a piece Lua before runtime. It was used by Koneki LDT to start all debugging sessions. Now it is possible to bootstrap a debug session without it, it makes Koneki LDT compatible with more kinds of interpreters, but be aware that in this case the user is responsible for launching the debugger by adding the following code as first statement of its application:
if os.getenv('DEBUG_MODE') then require "debugger"() end
DEBUG_MODE environment variable is set only for debug, to avoid to start the debugger for a regular run.
Koneki LDT is now able to provide you support for globals. First of all, what is a global: when the first occurrence of an identifier in a file is an assignment LDT considers it as a global variable declaration. So globals are now available for completion, parameters are even available for functions.
Koneki LDT was already detecting local variables, but there were no distinction between functions and other types, which was inconvenient for function parameters. They were not guessed from the code. It is over. Now local functions are handled in current file properly. They are shown in user assistance, with their parameters.
Explicit Variable Description & Typing
It's now possible to type and set a description for a variable by adding a comment before or after its declaration. Typing a variable allow to have auto-completion on it and explicit your code.
Function Parameters Typing
When function parameters are documented with a type using the Lua Documentation Language, they will be available for auto-completion in the function body.
Fluent Variable Type Association
Once a Lua Documentation Language tag such as
@module is immediately followed by a variable declaration, the declared
module type is associated to the variable.
The outline now contains new items such as global variables and functions. Also the type of outline elements is displayed if any.
Integration of lastest Metalua version
Metalua is the key component that analyze the Lua code. Koneki LDT now uses the last version of Metalua which the enhance syntax error handling and fix some bugs.