Jump to: navigation, search

Difference between revisions of "Koneki/LDT/User Area/New and Noteworthy/New and Noteworthy 1.0"

< Koneki‎ | LDT‎ | User Area/New and NoteworthyRedirect page
(New & Noteworthy 1.0)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=New & Noteworthy 1.0=
+
#REDIRECT [[LDT/User_Area/New_Noteworthy/New_Noteworthy_1.0]]
Here are the new features available in Lua Development Tools 1.0, released on June 11<sup>th</sup>, 2013. <br />
+
 
+
== 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 [http://code.google.com/p/jnlua/ 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 [[Koneki/LDT/User_Area/Compatible_Lua_VMs| the vm compatibility page]].
+
 
+
==Support of LuaJIT debug==
+
 
+
LDT debugger is now compatible LuaJIT 2.0.x interpreter. [http://luajit.org 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 [[Koneki/LDT/User_Area/Compatible_Lua_VMs| the vm compatibility page]].
+
 
+
==Enhanced support of non-standard interpreters==
+
 
+
It's now possible to define an interpreter which doesn't handle the ''<code>-e</code>'' option, right from interpreter preferences page.
+
 
+
[[Image:AddInterpreter_1.0.png|center]]
+
 
+
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:
+
 
+
<code><pre>if os.getenv('DEBUG_MODE') then require "debugger"() end</pre></code>
+
 
+
'''Note:''' The ''<code>DEBUG_MODE</code>'' environment variable is set only for ''debug'', to avoid to start the debugger for a regular ''run''.
+
 
+
[[Image:DebugWithoutParameters.png|center]]
+
 
+
==Better user-assistance==
+
 
+
===Globals detection===
+
 
+
''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.
+
 
+
[[Image:HandlingGlobals.png|center]]
+
 
+
===Function detection===
+
 
+
''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.
+
 
+
[[Image:LocalFunctionHandling.png|center]]
+
 
+
===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.
+
 
+
[[Image:QuickTyping.png|center]]
+
 
+
===Function Parameters Typing===
+
 
+
When function parameters are documented with a type using the [[Koneki/LDT/User_Area/Documentation_Language#Function_comment_block|Lua Documentation Language]], they will be available for auto-completion in the function body.
+
 
+
[[Image:InnerFunctionParameters.png|center]]
+
 
+
===Fluent Variable Type Association===
+
 
+
Once a [[Koneki/LDT/User_Area/Documentation_Language#Function_comment_block|Lua Documentation Language]] tag such as ''<code>@type</code>'' or ''<code>@module</code>'' is immediately followed by a variable declaration, the declared ''<code>type</code>'' or ''<code>module type</code>'' is associated to the variable.
+
 
+
[[Image:TypedVariable.png|center]]
+
[[Image:ModuleVariableDeclaration.png|center]]
+
 
+
==Enhanced outline==
+
 
+
The outline now contains new items such as global variables and functions. Also the type of outline elements is displayed if any.
+
 
+
[[Image:OutlineElements.png|center]]
+
 
+
==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.
+

Latest revision as of 10:59, 16 July 2014