lua-users home
lua-l archive

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


Hi all,

I would like to invite you to give a shot at the latest beta version of
Lua Development Tools which leverages an LDoc-like language enhanced with
the ability to document modules, as well as to type the fields and methods
of these modules.
This gives access not only to documentation in the IDE when you hover your
mouse over the code, but, more importantly this open the doors to advanced
content assist in the IDE.
If you go to [1], you'll see a more complete description of where we are
now, and where we would like to go.
As mentioned in the Wiki page, the beta is downloadable from [2]. There
you'll find:

* products/ - The standalone IDE for Windows, Linux, and MacOSX 32/64bits,
* sampleSdks/ - The zip files containing the definition of the Lua 5.1
APIs, as well as a partial definition of Corona and VLC SDKs.
* luadocumentor/ - The command-line tool allowing to generate online HTML
documentation, or a stripped version of Lua source code, including solely
documented APIs, ready to be shipped as "SDK definitions".
* lua-5.1-generatedSite/ - An example of the generated website for the Lua
5.1 SDK.

If you try to type the following snippet of code, you should see that
content assist is available all along, as well as documentation when
hovering the code:

local myfile = io.open('file.txt','w+')
myfile:write('foo')
local myfilealias = myfile
myfilealias:write('bar')

There are two small limitations in the current version that I would like
to warn you about: 

* Since we don't yet support the construction of partial ASTs, you may
find yourself in situations where your code is not in a syntactically
valid state, thus the content-assist mechanism won't work. The content
assist is performed on the basis of the latest valid version of the source
code held in cache, so when in trouble, you should put your code back in a
valid state, so as the AST can be safely rebuilt.
* Autocompletion does not work for global variables unless they have
proper documentation (such as the ones of the Lua SDK, actually). Thus,
don't expect to get autocompletion for things such as "myfile =
io.open('file.txt','r')"

We are looking forward to your feedback regarding this approach. We
believe that with a small overhead (i.e. adding type info to modules who
should already be documented with LuaDoc/Ldoc anyway), it opens the door
to a lot of "IDE magic". FWIW, it should be possible to have heuristics to
guess the API even though it is not properly documented...

FWIW, the project website is still at [3], should you need to get more
information or download the stable/official version of the IDE.

Cheers,
Benjamin ­

[1] - 
http://wiki.eclipse.org/Koneki/LDT/Technical_Discussions/User_Assistance#Pr
ototype
[2] - http://91.121.117.128/koneki
[3] - http://www.eclipse.org/koneki/ldt