rufus-lua-win 5.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +69 -0
- data/Rakefile +1 -0
- data/lib/rufus/lua/win.rb +18 -0
- data/lib/rufus/lua/win/version.rb +7 -0
- data/rufus-lua-win.gemspec +23 -0
- data/vendor/lua/bin/liblua.dll +0 -0
- data/vendor/lua/lib/lua/LuaXml.lua +119 -0
- data/vendor/lua/lib/lua/alien.lua +250 -0
- data/vendor/lua/lib/lua/alien/core.dll +0 -0
- data/vendor/lua/lib/lua/alien/struct.dll +0 -0
- data/vendor/lua/lib/lua/base.lua +536 -0
- data/vendor/lua/lib/lua/bin.lua +20 -0
- data/vendor/lua/lib/lua/bit.dll +0 -0
- data/vendor/lua/lib/lua/cdlua.dll +0 -0
- data/vendor/lua/lib/lua/cdluacontextplus.dll +0 -0
- data/vendor/lua/lib/lua/cdluagl.dll +0 -0
- data/vendor/lua/lib/lua/cdluaim.dll +0 -0
- data/vendor/lua/lib/lua/cdluapdf.dll +0 -0
- data/vendor/lua/lib/lua/copas.lua +543 -0
- data/vendor/lua/lib/lua/coxpcall.lua +57 -0
- data/vendor/lua/lib/lua/date.lua +745 -0
- data/vendor/lua/lib/lua/debug_ext.lua +84 -0
- data/vendor/lua/lib/lua/debug_init.lua +2 -0
- data/vendor/lua/lib/lua/des56.dll +0 -0
- data/vendor/lua/lib/lua/dist/config.lua +109 -0
- data/vendor/lua/lib/lua/dist/constraints.lua +271 -0
- data/vendor/lua/lib/lua/dist/depends.lua +601 -0
- data/vendor/lua/lib/lua/dist/git.lua +307 -0
- data/vendor/lua/lib/lua/dist/init.lua +278 -0
- data/vendor/lua/lib/lua/dist/manifest.lua +225 -0
- data/vendor/lua/lib/lua/dist/package.lua +583 -0
- data/vendor/lua/lib/lua/dist/sys.lua +367 -0
- data/vendor/lua/lib/lua/dist/utils.lua +130 -0
- data/vendor/lua/lib/lua/ex.dll +0 -0
- data/vendor/lua/lib/lua/fstable.lua +116 -0
- data/vendor/lua/lib/lua/getopt.lua +273 -0
- data/vendor/lua/lib/lua/git.lua +5 -0
- data/vendor/lua/lib/lua/git/core.dll +0 -0
- data/vendor/lua/lib/lua/git/objects.lua +121 -0
- data/vendor/lua/lib/lua/git/pack.lua +316 -0
- data/vendor/lua/lib/lua/git/protocol.lua +188 -0
- data/vendor/lua/lib/lua/git/repo.lua +283 -0
- data/vendor/lua/lib/lua/git/util.lua +233 -0
- data/vendor/lua/lib/lua/gzio.dll +0 -0
- data/vendor/lua/lib/lua/gzip.lua +81 -0
- data/vendor/lua/lib/lua/iconv.dll +0 -0
- data/vendor/lua/lib/lua/imlua.dll +0 -0
- data/vendor/lua/lib/lua/imlua_fftw.dll +0 -0
- data/vendor/lua/lib/lua/imlua_jp2.dll +0 -0
- data/vendor/lua/lib/lua/imlua_process.dll +0 -0
- data/vendor/lua/lib/lua/imlua_process_omp.dll +0 -0
- data/vendor/lua/lib/lua/io_ext.lua +115 -0
- data/vendor/lua/lib/lua/iuplua.dll +0 -0
- data/vendor/lua/lib/lua/iuplua_mglplot.dll +0 -0
- data/vendor/lua/lib/lua/iuplua_pplot.dll +0 -0
- data/vendor/lua/lib/lua/iupluacd.dll +0 -0
- data/vendor/lua/lib/lua/iupluacontrols.dll +0 -0
- data/vendor/lua/lib/lua/iupluagl.dll +0 -0
- data/vendor/lua/lib/lua/iupluaim.dll +0 -0
- data/vendor/lua/lib/lua/iupluaimglib.dll +0 -0
- data/vendor/lua/lib/lua/iupluatuio.dll +0 -0
- data/vendor/lua/lib/lua/lanes-keeper.lua +302 -0
- data/vendor/lua/lib/lua/lanes.lua +591 -0
- data/vendor/lua/lib/lua/lanes/core.dll +0 -0
- data/vendor/lua/lib/lua/lcs.lua +55 -0
- data/vendor/lua/lib/lua/lemock.lua +659 -0
- data/vendor/lua/lib/lua/lfs.dll +0 -0
- data/vendor/lua/lib/lua/list.lua +375 -0
- data/vendor/lua/lib/lua/logging.lua +189 -0
- data/vendor/lua/lib/lua/logging/console.lua +22 -0
- data/vendor/lua/lib/lua/logging/email.lua +44 -0
- data/vendor/lua/lib/lua/logging/file.lua +55 -0
- data/vendor/lua/lib/lua/logging/rolling_file.lua +81 -0
- data/vendor/lua/lib/lua/logging/socket.lua +35 -0
- data/vendor/lua/lib/lua/logging/sql.lua +64 -0
- data/vendor/lua/lib/lua/loop/base.lua +68 -0
- data/vendor/lua/lib/lua/loop/cached.lua +312 -0
- data/vendor/lua/lib/lua/loop/collection/MapWithArrayOfKeys.lua +64 -0
- data/vendor/lua/lib/lua/loop/collection/ObjectCache.lua +39 -0
- data/vendor/lua/lib/lua/loop/collection/OrderedSet.lua +164 -0
- data/vendor/lua/lib/lua/loop/collection/PriorityQueue.lua +86 -0
- data/vendor/lua/lib/lua/loop/collection/UnorderedArray.lua +32 -0
- data/vendor/lua/lib/lua/loop/collection/UnorderedArraySet.lua +56 -0
- data/vendor/lua/lib/lua/loop/compiler/Arguments.lua +108 -0
- data/vendor/lua/lib/lua/loop/compiler/Conditional.lua +50 -0
- data/vendor/lua/lib/lua/loop/compiler/Expression.lua +215 -0
- data/vendor/lua/lib/lua/loop/component/base.lua +221 -0
- data/vendor/lua/lib/lua/loop/component/contained.lua +71 -0
- data/vendor/lua/lib/lua/loop/component/dynamic.lua +223 -0
- data/vendor/lua/lib/lua/loop/component/intercepted.lua +354 -0
- data/vendor/lua/lib/lua/loop/component/wrapped.lua +195 -0
- data/vendor/lua/lib/lua/loop/debug/Inspector.lua +521 -0
- data/vendor/lua/lib/lua/loop/debug/Matcher.lua +192 -0
- data/vendor/lua/lib/lua/loop/debug/Verbose.lua +266 -0
- data/vendor/lua/lib/lua/loop/debug/Viewer.lua +200 -0
- data/vendor/lua/lib/lua/loop/multiple.lua +105 -0
- data/vendor/lua/lib/lua/loop/object/Exception.lua +57 -0
- data/vendor/lua/lib/lua/loop/object/Publisher.lua +43 -0
- data/vendor/lua/lib/lua/loop/object/Wrapper.lua +39 -0
- data/vendor/lua/lib/lua/loop/scoped.lua +585 -0
- data/vendor/lua/lib/lua/loop/serial/FileStream.lua +48 -0
- data/vendor/lua/lib/lua/loop/serial/Serializer.lua +291 -0
- data/vendor/lua/lib/lua/loop/serial/SocketStream.lua +51 -0
- data/vendor/lua/lib/lua/loop/serial/StringStream.lua +47 -0
- data/vendor/lua/lib/lua/loop/simple.lua +75 -0
- data/vendor/lua/lib/lua/loop/table.lua +71 -0
- data/vendor/lua/lib/lua/loop/thread/CoSocket.lua +416 -0
- data/vendor/lua/lib/lua/loop/thread/IOScheduler.lua +170 -0
- data/vendor/lua/lib/lua/loop/thread/Scheduler.lua +327 -0
- data/vendor/lua/lib/lua/loop/thread/SocketScheduler.lua +88 -0
- data/vendor/lua/lib/lua/loop/thread/Timer.lua +54 -0
- data/vendor/lua/lib/lua/lpeg.dll +0 -0
- data/vendor/lua/lib/lua/ltn12.lua +292 -0
- data/vendor/lua/lib/lua/luaXML_lib.dll +0 -0
- data/vendor/lua/lib/lua/luacurl.dll +0 -0
- data/vendor/lua/lib/lua/luadoc/config.lua +34 -0
- data/vendor/lua/lib/lua/luadoc/doclet/debug.lua +46 -0
- data/vendor/lua/lib/lua/luadoc/doclet/formatter.lua +84 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html.lua +289 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/file.lp +113 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/function.lp +64 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/index.lp +70 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/luadoc.css +286 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/menu.lp +55 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/module.lp +109 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/table.lp +15 -0
- data/vendor/lua/lib/lua/luadoc/doclet/raw.lua +12 -0
- data/vendor/lua/lib/lua/luadoc/init.lua +58 -0
- data/vendor/lua/lib/lua/luadoc/lp.lua +130 -0
- data/vendor/lua/lib/lua/luadoc/taglet/standard.lua +495 -0
- data/vendor/lua/lib/lua/luadoc/taglet/standard/tags.lua +171 -0
- data/vendor/lua/lib/lua/luadoc/util.lua +233 -0
- data/vendor/lua/lib/lua/luagl.dll +0 -0
- data/vendor/lua/lib/lua/luaglu.dll +0 -0
- data/vendor/lua/lib/lua/luaidl.lua +113 -0
- data/vendor/lua/lib/lua/luaidl/lex.lua +793 -0
- data/vendor/lua/lib/lua/luaidl/pre.lua +149 -0
- data/vendor/lua/lib/lua/luaidl/sin.lua +3631 -0
- data/vendor/lua/lib/lua/luarocks/add.lua +108 -0
- data/vendor/lua/lib/lua/luarocks/admin_remove.lua +87 -0
- data/vendor/lua/lib/lua/luarocks/build.lua +330 -0
- data/vendor/lua/lib/lua/luarocks/build/builtin.lua +253 -0
- data/vendor/lua/lib/lua/luarocks/build/cmake.lua +54 -0
- data/vendor/lua/lib/lua/luarocks/build/command.lua +32 -0
- data/vendor/lua/lib/lua/luarocks/build/make.lua +92 -0
- data/vendor/lua/lib/lua/luarocks/cache.lua +85 -0
- data/vendor/lua/lib/lua/luarocks/cfg.lua +449 -0
- data/vendor/lua/lib/lua/luarocks/command_line.lua +163 -0
- data/vendor/lua/lib/lua/luarocks/deps.lua +654 -0
- data/vendor/lua/lib/lua/luarocks/dir.lua +69 -0
- data/vendor/lua/lib/lua/luarocks/download.lua +90 -0
- data/vendor/lua/lib/lua/luarocks/fetch.lua +321 -0
- data/vendor/lua/lib/lua/luarocks/fetch/cvs.lua +44 -0
- data/vendor/lua/lib/lua/luarocks/fetch/git.lua +81 -0
- data/vendor/lua/lib/lua/luarocks/fetch/git_file.lua +17 -0
- data/vendor/lua/lib/lua/luarocks/fetch/hg.lua +54 -0
- data/vendor/lua/lib/lua/luarocks/fetch/sscm.lua +42 -0
- data/vendor/lua/lib/lua/luarocks/fetch/svn.lua +53 -0
- data/vendor/lua/lib/lua/luarocks/fs.lua +40 -0
- data/vendor/lua/lib/lua/luarocks/fs/lua.lua +676 -0
- data/vendor/lua/lib/lua/luarocks/fs/unix.lua +88 -0
- data/vendor/lua/lib/lua/luarocks/fs/unix/tools.lua +325 -0
- data/vendor/lua/lib/lua/luarocks/fs/win32.lua +107 -0
- data/vendor/lua/lib/lua/luarocks/fs/win32/tools.lua +334 -0
- data/vendor/lua/lib/lua/luarocks/help.lua +101 -0
- data/vendor/lua/lib/lua/luarocks/index.lua +172 -0
- data/vendor/lua/lib/lua/luarocks/install.lua +151 -0
- data/vendor/lua/lib/lua/luarocks/list.lua +35 -0
- data/vendor/lua/lib/lua/luarocks/loader.lua +228 -0
- data/vendor/lua/lib/lua/luarocks/make.lua +71 -0
- data/vendor/lua/lib/lua/luarocks/make_manifest.lua +34 -0
- data/vendor/lua/lib/lua/luarocks/manif.lua +360 -0
- data/vendor/lua/lib/lua/luarocks/manif_core.lua +75 -0
- data/vendor/lua/lib/lua/luarocks/new_version.lua +141 -0
- data/vendor/lua/lib/lua/luarocks/pack.lua +205 -0
- data/vendor/lua/lib/lua/luarocks/path.lua +315 -0
- data/vendor/lua/lib/lua/luarocks/persist.lua +173 -0
- data/vendor/lua/lib/lua/luarocks/refresh_cache.lua +30 -0
- data/vendor/lua/lib/lua/luarocks/remove.lua +135 -0
- data/vendor/lua/lib/lua/luarocks/rep.lua +313 -0
- data/vendor/lua/lib/lua/luarocks/require.lua +6 -0
- data/vendor/lua/lib/lua/luarocks/search.lua +399 -0
- data/vendor/lua/lib/lua/luarocks/show.lua +138 -0
- data/vendor/lua/lib/lua/luarocks/site_config.lua +23 -0
- data/vendor/lua/lib/lua/luarocks/tools/patch.lua +712 -0
- data/vendor/lua/lib/lua/luarocks/tools/tar.lua +144 -0
- data/vendor/lua/lib/lua/luarocks/tools/zip.lua +245 -0
- data/vendor/lua/lib/lua/luarocks/type_check.lua +267 -0
- data/vendor/lua/lib/lua/luarocks/unpack.lua +151 -0
- data/vendor/lua/lib/lua/luarocks/util.lua +420 -0
- data/vendor/lua/lib/lua/luarocks/validate.lua +164 -0
- data/vendor/lua/lib/lua/luars232.dll +0 -0
- data/vendor/lua/lib/lua/luasql/mysql.dll +0 -0
- data/vendor/lua/lib/lua/luasql/postgres.dll +0 -0
- data/vendor/lua/lib/lua/luasql/sqlite3.dll +0 -0
- data/vendor/lua/lib/lua/luaunit.lua +601 -0
- data/vendor/lua/lib/lua/lxp.dll +0 -0
- data/vendor/lua/lib/lua/lxp/lom.lua +60 -0
- data/vendor/lua/lib/lua/math_ext.lua +27 -0
- data/vendor/lua/lib/lua/mbox.lua +53 -0
- data/vendor/lua/lib/lua/md5.lua +19 -0
- data/vendor/lua/lib/lua/md5/core.dll +0 -0
- data/vendor/lua/lib/lua/metalua.lua +0 -0
- data/vendor/lua/lib/lua/metalua/ast_to_string.mlua +553 -0
- data/vendor/lua/lib/lua/metalua/base.lua +104 -0
- data/vendor/lua/lib/lua/metalua/bytecode.lua +0 -0
- data/vendor/lua/lib/lua/metalua/clopts.mlua +204 -0
- data/vendor/lua/lib/lua/metalua/compiler.lua +3 -0
- data/vendor/lua/lib/lua/metalua/dollar.mlua +24 -0
- data/vendor/lua/lib/lua/metalua/extension/H-runtime.mlua +216 -0
- data/vendor/lua/lib/lua/metalua/extension/H.mlua +22 -0
- data/vendor/lua/lib/lua/metalua/extension/anaphoric.mlua +54 -0
- data/vendor/lua/lib/lua/metalua/extension/clist.mlua +149 -0
- data/vendor/lua/lib/lua/metalua/extension/continue.mlua +53 -0
- data/vendor/lua/lib/lua/metalua/extension/localin.mlua +2 -0
- data/vendor/lua/lib/lua/metalua/extension/log.mlua +39 -0
- data/vendor/lua/lib/lua/metalua/extension/match.mlua +374 -0
- data/vendor/lua/lib/lua/metalua/extension/ternary.mlua +10 -0
- data/vendor/lua/lib/lua/metalua/extension/trycatch.mlua +189 -0
- data/vendor/lua/lib/lua/metalua/extension/types-runtime.mlua +159 -0
- data/vendor/lua/lib/lua/metalua/extension/types.mlua +352 -0
- data/vendor/lua/lib/lua/metalua/extension/withdo.mlua +30 -0
- data/vendor/lua/lib/lua/metalua/extension/xglobal-runtime.lua +41 -0
- data/vendor/lua/lib/lua/metalua/extension/xglobal.mlua +20 -0
- data/vendor/lua/lib/lua/metalua/extension/xloop.mlua +100 -0
- data/vendor/lua/lib/lua/metalua/extension/xmatch.mlua +216 -0
- data/vendor/lua/lib/lua/metalua/metaloop.mlua +76 -0
- data/vendor/lua/lib/lua/metalua/mlc.lua +0 -0
- data/vendor/lua/lib/lua/metalua/mlc_xcall.lua +119 -0
- data/vendor/lua/lib/lua/metalua/mlp.lua +0 -0
- data/vendor/lua/lib/lua/metalua/package2.lua +101 -0
- data/vendor/lua/lib/lua/metalua/runtime.lua +3 -0
- data/vendor/lua/lib/lua/metalua/string2.lua +44 -0
- data/vendor/lua/lib/lua/metalua/table2.lua +372 -0
- data/vendor/lua/lib/lua/metalua/walk.mlua +304 -0
- data/vendor/lua/lib/lua/metalua/walk/bindings.mlua +41 -0
- data/vendor/lua/lib/lua/metalua/walk/id.mlua +186 -0
- data/vendor/lua/lib/lua/metalua/walk/scope.lua +54 -0
- data/vendor/lua/lib/lua/mime.lua +87 -0
- data/vendor/lua/lib/lua/mime/core.dll +0 -0
- data/vendor/lua/lib/lua/mobdebug.lua +1484 -0
- data/vendor/lua/lib/lua/modules.lua +16 -0
- data/vendor/lua/lib/lua/object.lua +56 -0
- data/vendor/lua/lib/lua/oil/Exception.lua +26 -0
- data/vendor/lua/lib/lua/oil/arch.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/basic/client.lua +29 -0
- data/vendor/lua/lib/lua/oil/arch/basic/common.lua +13 -0
- data/vendor/lua/lib/lua/oil/arch/basic/server.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/cooperative/common.lua +10 -0
- data/vendor/lua/lib/lua/oil/arch/cooperative/server.lua +16 -0
- data/vendor/lua/lib/lua/oil/arch/corba/client.lua +39 -0
- data/vendor/lua/lib/lua/oil/arch/corba/common.lua +58 -0
- data/vendor/lua/lib/lua/oil/arch/corba/intercepted/client.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/corba/intercepted/server.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/corba/server.lua +35 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/byref.lua +18 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/client.lua +19 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/common.lua +18 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/server.lua +19 -0
- data/vendor/lua/lib/lua/oil/arch/typed/client.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/typed/common.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/typed/server.lua +18 -0
- data/vendor/lua/lib/lua/oil/assert.lua +87 -0
- data/vendor/lua/lib/lua/oil/builder.lua +45 -0
- data/vendor/lua/lib/lua/oil/builder/basic/client.lua +31 -0
- data/vendor/lua/lib/lua/oil/builder/basic/common.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/basic/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/cooperative/common.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/cooperative/server.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/client.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/corba/common.lua +24 -0
- data/vendor/lua/lib/lua/oil/builder/corba/gencode.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/corba/intercepted/client.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/intercepted/server.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/lua/client.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/lua/server.lua +12 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/byref.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/client.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/common.lua +14 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/typed/client.lua +16 -0
- data/vendor/lua/lib/lua/oil/builder/typed/server.lua +12 -0
- data/vendor/lua/lib/lua/oil/compat.lua +846 -0
- data/vendor/lua/lib/lua/oil/component.lua +1 -0
- data/vendor/lua/lib/lua/oil/corba/giop.lua +301 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Codec.lua +1568 -0
- data/vendor/lua/lib/lua/oil/corba/giop/CodecGen.lua +589 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Exception.lua +25 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Indexer.lua +63 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Listener.lua +343 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Messenger.lua +228 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Referrer.lua +180 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Requester.lua +462 -0
- data/vendor/lua/lib/lua/oil/corba/idl.lua +597 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Compiler.lua +133 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Importer.lua +235 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Indexer.lua +95 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Registry.lua +1821 -0
- data/vendor/lua/lib/lua/oil/corba/idl/ir.lua +847 -0
- data/vendor/lua/lib/lua/oil/corba/idl/sysex.lua +21 -0
- data/vendor/lua/lib/lua/oil/corba/iiop/Profiler.lua +200 -0
- data/vendor/lua/lib/lua/oil/corba/intercepted/Listener.lua +158 -0
- data/vendor/lua/lib/lua/oil/corba/intercepted/Requester.lua +181 -0
- data/vendor/lua/lib/lua/oil/corba/services/event.lua +126 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ConsumerAdmin.lua +50 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/EventFactory.lua +15 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/EventQueue.lua +37 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushConsumer.lua +75 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushSupplier.lua +62 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SingleDeferredDispatcher.lua +60 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SingleSynchronousDispatcher.lua +39 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SupplierAdmin.lua +50 -0
- data/vendor/lua/lib/lua/oil/corba/services/naming.lua +436 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Acceptor.lua +268 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Channels.lua +121 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Connector.lua +147 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Dispatcher.lua +99 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies.lua +86 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/asynchronous.lua +56 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/protected.lua +17 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/synchronous.lua +17 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/utils.lua +29 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Receiver.lua +110 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Servants.lua +207 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Sockets.lua +44 -0
- data/vendor/lua/lib/lua/oil/kernel/cooperative/Receiver.lua +139 -0
- data/vendor/lua/lib/lua/oil/kernel/intercepted/Listener.lua +47 -0
- data/vendor/lua/lib/lua/oil/kernel/intercepted/Requester.lua +58 -0
- data/vendor/lua/lib/lua/oil/kernel/lua/Dispatcher.lua +76 -0
- data/vendor/lua/lib/lua/oil/kernel/lua/Proxies.lua +69 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Dispatcher.lua +91 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Proxies.lua +153 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Servants.lua +137 -0
- data/vendor/lua/lib/lua/oil/ludo/Codec.lua +66 -0
- data/vendor/lua/lib/lua/oil/ludo/CodecByRef.lua +103 -0
- data/vendor/lua/lib/lua/oil/ludo/Listener.lua +151 -0
- data/vendor/lua/lib/lua/oil/ludo/Referrer.lua +72 -0
- data/vendor/lua/lib/lua/oil/ludo/Requester.lua +107 -0
- data/vendor/lua/lib/lua/oil/oo.lua +1 -0
- data/vendor/lua/lib/lua/oil/port.lua +1 -0
- data/vendor/lua/lib/lua/oil/properties.lua +57 -0
- data/vendor/lua/lib/lua/oil/verbose.lua +133 -0
- data/vendor/lua/lib/lua/package_ext.lua +15 -0
- data/vendor/lua/lib/lua/parser.lua +268 -0
- data/vendor/lua/lib/lua/pl/Date.lua +555 -0
- data/vendor/lua/lib/lua/pl/List.lua +613 -0
- data/vendor/lua/lib/lua/pl/Map.lua +113 -0
- data/vendor/lua/lib/lua/pl/MultiMap.lua +62 -0
- data/vendor/lua/lib/lua/pl/OrderedMap.lua +151 -0
- data/vendor/lua/lib/lua/pl/Set.lua +153 -0
- data/vendor/lua/lib/lua/pl/app.lua +165 -0
- data/vendor/lua/lib/lua/pl/array2d.lua +501 -0
- data/vendor/lua/lib/lua/pl/class.lua +180 -0
- data/vendor/lua/lib/lua/pl/comprehension.lua +286 -0
- data/vendor/lua/lib/lua/pl/config.lua +176 -0
- data/vendor/lua/lib/lua/pl/data.lua +606 -0
- data/vendor/lua/lib/lua/pl/dir.lua +475 -0
- data/vendor/lua/lib/lua/pl/file.lua +70 -0
- data/vendor/lua/lib/lua/pl/func.lua +376 -0
- data/vendor/lua/lib/lua/pl/init.lua +68 -0
- data/vendor/lua/lib/lua/pl/input.lua +173 -0
- data/vendor/lua/lib/lua/pl/lapp.lua +407 -0
- data/vendor/lua/lib/lua/pl/lexer.lua +456 -0
- data/vendor/lua/lib/lua/pl/luabalanced.lua +264 -0
- data/vendor/lua/lib/lua/pl/operator.lua +201 -0
- data/vendor/lua/lib/lua/pl/path.lua +398 -0
- data/vendor/lua/lib/lua/pl/permute.lua +63 -0
- data/vendor/lua/lib/lua/pl/platf/luajava.lua +101 -0
- data/vendor/lua/lib/lua/pl/pretty.lua +285 -0
- data/vendor/lua/lib/lua/pl/seq.lua +551 -0
- data/vendor/lua/lib/lua/pl/sip.lua +344 -0
- data/vendor/lua/lib/lua/pl/strict.lua +70 -0
- data/vendor/lua/lib/lua/pl/stringio.lua +158 -0
- data/vendor/lua/lib/lua/pl/stringx.lua +440 -0
- data/vendor/lua/lib/lua/pl/tablex.lua +817 -0
- data/vendor/lua/lib/lua/pl/template.lua +103 -0
- data/vendor/lua/lib/lua/pl/test.lua +135 -0
- data/vendor/lua/lib/lua/pl/text.lua +243 -0
- data/vendor/lua/lib/lua/pl/utils.lua +550 -0
- data/vendor/lua/lib/lua/pl/xml.lua +689 -0
- data/vendor/lua/lib/lua/profiler.dll +0 -0
- data/vendor/lua/lib/lua/re.lua +248 -0
- data/vendor/lua/lib/lua/rex_onig.dll +0 -0
- data/vendor/lua/lib/lua/rex_pcre.dll +0 -0
- data/vendor/lua/lib/lua/rex_posix.dll +0 -0
- data/vendor/lua/lib/lua/rings.dll +0 -0
- data/vendor/lua/lib/lua/serialize.lua +193 -0
- data/vendor/lua/lib/lua/set.lua +149 -0
- data/vendor/lua/lib/lua/socket.lua +133 -0
- data/vendor/lua/lib/lua/socket/core.dll +0 -0
- data/vendor/lua/lib/lua/socket/ftp.lua +281 -0
- data/vendor/lua/lib/lua/socket/http.lua +350 -0
- data/vendor/lua/lib/lua/socket/smtp.lua +251 -0
- data/vendor/lua/lib/lua/socket/tp.lua +123 -0
- data/vendor/lua/lib/lua/socket/url.lua +297 -0
- data/vendor/lua/lib/lua/ssl.dll +0 -0
- data/vendor/lua/lib/lua/ssl.lua +93 -0
- data/vendor/lua/lib/lua/ssl/https.lua +138 -0
- data/vendor/lua/lib/lua/stable.lua +28 -0
- data/vendor/lua/lib/lua/std.lua +16 -0
- data/vendor/lua/lib/lua/strbuf.lua +32 -0
- data/vendor/lua/lib/lua/strict.lua +45 -0
- data/vendor/lua/lib/lua/string_ext.lua +274 -0
- data/vendor/lua/lib/lua/table_ext.lua +117 -0
- data/vendor/lua/lib/lua/tar.lua +262 -0
- data/vendor/lua/lib/lua/task.dll +0 -0
- data/vendor/lua/lib/lua/tree.lua +81 -0
- data/vendor/lua/lib/lua/unicode.dll +0 -0
- data/vendor/lua/lib/lua/verbose_require.lua +11 -0
- data/vendor/lua/lib/lua/vstruct.lua +86 -0
- data/vendor/lua/lib/lua/vstruct/ast.lua +192 -0
- data/vendor/lua/lib/lua/vstruct/ast/Bitpack.lua +33 -0
- data/vendor/lua/lib/lua/vstruct/ast/Generator.lua +174 -0
- data/vendor/lua/lib/lua/vstruct/ast/IO.lua +45 -0
- data/vendor/lua/lib/lua/vstruct/ast/List.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/ast/Name.lua +20 -0
- data/vendor/lua/lib/lua/vstruct/ast/Repeat.lua +23 -0
- data/vendor/lua/lib/lua/vstruct/ast/Root.lua +19 -0
- data/vendor/lua/lib/lua/vstruct/ast/Table.lua +65 -0
- data/vendor/lua/lib/lua/vstruct/cursor.lua +81 -0
- data/vendor/lua/lib/lua/vstruct/io.lua +45 -0
- data/vendor/lua/lib/lua/vstruct/io/a.lua +24 -0
- data/vendor/lua/lib/lua/vstruct/io/b.lua +28 -0
- data/vendor/lua/lib/lua/vstruct/io/bigendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/c.lua +25 -0
- data/vendor/lua/lib/lua/vstruct/io/defaults.lua +24 -0
- data/vendor/lua/lib/lua/vstruct/io/endianness.lua +41 -0
- data/vendor/lua/lib/lua/vstruct/io/f.lua +129 -0
- data/vendor/lua/lib/lua/vstruct/io/hostendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/i.lua +42 -0
- data/vendor/lua/lib/lua/vstruct/io/littleendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/m.lua +62 -0
- data/vendor/lua/lib/lua/vstruct/io/p.lua +23 -0
- data/vendor/lua/lib/lua/vstruct/io/s.lua +27 -0
- data/vendor/lua/lib/lua/vstruct/io/seekb.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/seekf.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/seekto.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/u.lua +54 -0
- data/vendor/lua/lib/lua/vstruct/io/x.lua +34 -0
- data/vendor/lua/lib/lua/vstruct/io/z.lua +63 -0
- data/vendor/lua/lib/lua/vstruct/lexer.lua +100 -0
- data/vendor/lua/lib/lua/vstruct/pack.lua +142 -0
- data/vendor/lua/lib/lua/vstruct/test.lua +47 -0
- data/vendor/lua/lib/lua/vstruct/test/basic.lua +73 -0
- data/vendor/lua/lib/lua/vstruct/test/common.lua +100 -0
- data/vendor/lua/lib/lua/vstruct/test/fp-bigendian.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/test/fp-littleendian.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/test/struct-test-gen.lua +1230 -0
- data/vendor/lua/lib/lua/vstruct/unpack.lua +126 -0
- data/vendor/lua/lib/lua/wx.dll +0 -0
- data/vendor/lua/lib/lua/xml.lua +75 -0
- data/vendor/lua/lib/lua/zip.dll +0 -0
- data/vendor/lua/lib/lua/zlib.dll +0 -0
- metadata +529 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
3
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
4
|
+
<html>
|
|
5
|
+
<head>
|
|
6
|
+
<title><%= module_doc.name %>: Module Index</title>
|
|
7
|
+
<link rel="stylesheet" href="<%=luadoc.doclet.html.link('luadoc.css', 'modules/'..module_doc.name)%>" type="text/css" />
|
|
8
|
+
<!--meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/-->
|
|
9
|
+
</head>
|
|
10
|
+
|
|
11
|
+
<body>
|
|
12
|
+
<div id="container">
|
|
13
|
+
|
|
14
|
+
<div id="product">
|
|
15
|
+
<div id="product_logo"></div>
|
|
16
|
+
<div id="product_name"><big><b></b></big></div>
|
|
17
|
+
<div id="product_description"></div>
|
|
18
|
+
</div> <!-- id="product" -->
|
|
19
|
+
|
|
20
|
+
<div id="main">
|
|
21
|
+
|
|
22
|
+
<div id="navigation">
|
|
23
|
+
<%=luadoc.doclet.html.include("menu.lp", { doc=doc, module_doc=module_doc })%>
|
|
24
|
+
|
|
25
|
+
</div><!-- id="navigation" -->
|
|
26
|
+
|
|
27
|
+
<div id="content">
|
|
28
|
+
|
|
29
|
+
<h1>Module <code><%=module_doc.name%></code></h1>
|
|
30
|
+
|
|
31
|
+
<p><%=module_doc.description%></p>
|
|
32
|
+
<%if module_doc.author then%>
|
|
33
|
+
<p><b><%= #module_doc.author>1 and "Authors" or "Author" %>:</b>
|
|
34
|
+
<table class="authors_list">
|
|
35
|
+
<%for _, author in ipairs(module_doc.author) do%>
|
|
36
|
+
<tr><td class="name"><%= author %></td></tr>
|
|
37
|
+
<%end%>
|
|
38
|
+
</table>
|
|
39
|
+
</p>
|
|
40
|
+
<%end%>
|
|
41
|
+
<%if module_doc.copyright then%>
|
|
42
|
+
<p>Copyright© <%=module_doc.copyright%></p>
|
|
43
|
+
<%end%>
|
|
44
|
+
<%if module_doc.release then%>
|
|
45
|
+
<p><small><b>Release:</b> <%=module_doc.release%></small></p>
|
|
46
|
+
<%end%>
|
|
47
|
+
|
|
48
|
+
<%if #module_doc.functions > 0 then%>
|
|
49
|
+
<h2>Functions</h2>
|
|
50
|
+
<table class="function_list">
|
|
51
|
+
<%for _, func_name in ipairs(module_doc.functions) do
|
|
52
|
+
local func_data = module_doc.functions[func_name]%>
|
|
53
|
+
<tr>
|
|
54
|
+
<td class="name" nowrap><%=func_data.private and "local " or ""%><a href="#<%=func_name%>"><%=func_name%></a> (<%=table.concat(module_doc.functions[func_name].param, ", ")%>)</td>
|
|
55
|
+
<td class="summary"><%=module_doc.functions[func_name].summary%></td>
|
|
56
|
+
</tr>
|
|
57
|
+
<%end%>
|
|
58
|
+
</table>
|
|
59
|
+
<%end%>
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
<%if #module_doc.tables > 0 then%>
|
|
63
|
+
<h2>Tables</h2>
|
|
64
|
+
<table class="table_list">
|
|
65
|
+
<%for _, tab_name in ipairs(module_doc.tables) do%>
|
|
66
|
+
<tr>
|
|
67
|
+
<td class="name" nowrap><a href="#<%=tab_name%>"><%=tab_name%></a></td>
|
|
68
|
+
<td class="summary"><%=module_doc.tables[tab_name].summary%></td>
|
|
69
|
+
</tr>
|
|
70
|
+
<%end%>
|
|
71
|
+
</table>
|
|
72
|
+
<%end%>
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
<br/>
|
|
76
|
+
<br/>
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
<%if #module_doc.functions > 0 then%>
|
|
80
|
+
<h2><a name="functions"></a>Functions</h2>
|
|
81
|
+
<dl class="function">
|
|
82
|
+
<%for _, func_name in ipairs(module_doc.functions) do%>
|
|
83
|
+
<%=luadoc.doclet.html.include("function.lp", { doc=doc, module_doc=module_doc, func=module_doc.functions[func_name] })%>
|
|
84
|
+
<%end%>
|
|
85
|
+
</dl>
|
|
86
|
+
<%end%>
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
<%if #module_doc.tables > 0 then%>
|
|
90
|
+
<h2><a name="tables"></a>Tables</h2>
|
|
91
|
+
<dl class="table">
|
|
92
|
+
<%for _, tab_name in ipairs(module_doc.tables) do%>
|
|
93
|
+
<%=luadoc.doclet.html.include("table.lp", { doc=doc, module_doc=module_doc, tab=module_doc.tables[tab_name] })%>
|
|
94
|
+
<%end%>
|
|
95
|
+
</dl>
|
|
96
|
+
<%end%>
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
</div> <!-- id="content" -->
|
|
100
|
+
|
|
101
|
+
</div> <!-- id="main" -->
|
|
102
|
+
|
|
103
|
+
<div id="about">
|
|
104
|
+
<p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /></a></p>
|
|
105
|
+
</div> <!-- id="about" -->
|
|
106
|
+
|
|
107
|
+
</div> <!-- id="container" -->
|
|
108
|
+
</body>
|
|
109
|
+
</html>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<dt><a name="<%=tab.name%>"></a><strong><%=tab.name%></strong></dt>
|
|
2
|
+
<dd><%=tab.description%>
|
|
3
|
+
|
|
4
|
+
<%if type(tab.field) == "table" and #tab.field > 0 then%>
|
|
5
|
+
<h3>Fields</h3>
|
|
6
|
+
<ul>
|
|
7
|
+
<%for p = 1, #tab.field do%>
|
|
8
|
+
<li>
|
|
9
|
+
<%=tab.field[p]%>: <%=tab.field[tab.field[p]] or ""%>
|
|
10
|
+
</li>
|
|
11
|
+
<%end%>
|
|
12
|
+
</ul>
|
|
13
|
+
<%end%>
|
|
14
|
+
|
|
15
|
+
</dd>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
-----------------------------------------------------------------
|
|
2
|
+
-- @release $Id: raw.lua,v 1.5 2007/04/18 14:28:39 tomas Exp $
|
|
3
|
+
-----------------------------------------------------------------
|
|
4
|
+
|
|
5
|
+
module "luadoc.doclet.raw"
|
|
6
|
+
|
|
7
|
+
-----------------------------------------------------------------
|
|
8
|
+
-- Generate the output.
|
|
9
|
+
-- @param doc Table with the structured documentation.
|
|
10
|
+
|
|
11
|
+
function start (doc)
|
|
12
|
+
end
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
-------------------------------------------------------------------------------
|
|
2
|
+
-- LuaDoc main function.
|
|
3
|
+
-- @release $Id: init.lua,v 1.4 2008/02/17 06:42:51 jasonsantos Exp $
|
|
4
|
+
-------------------------------------------------------------------------------
|
|
5
|
+
|
|
6
|
+
local require, pairs, string = require, pairs, string
|
|
7
|
+
|
|
8
|
+
local util = require "luadoc.util"
|
|
9
|
+
|
|
10
|
+
logger = {}
|
|
11
|
+
|
|
12
|
+
module ("luadoc")
|
|
13
|
+
|
|
14
|
+
-------------------------------------------------------------------------------
|
|
15
|
+
-- LuaDoc version number.
|
|
16
|
+
|
|
17
|
+
_COPYRIGHT = "Copyright (c) 2003-2007 The Kepler Project"
|
|
18
|
+
_DESCRIPTION = "Documentation Generator Tool for the Lua language"
|
|
19
|
+
_VERSION = "LuaDoc 3.0.1"
|
|
20
|
+
|
|
21
|
+
-------------------------------------------------------------------------------
|
|
22
|
+
-- Main function
|
|
23
|
+
-- @see luadoc.doclet.html, luadoc.doclet.formatter, luadoc.doclet.raw
|
|
24
|
+
-- @see luadoc.taglet.standard
|
|
25
|
+
|
|
26
|
+
function main (files, options)
|
|
27
|
+
logger = util.loadlogengine(options)
|
|
28
|
+
|
|
29
|
+
-- load config file
|
|
30
|
+
if options.config ~= nil then
|
|
31
|
+
-- load specified config file
|
|
32
|
+
dofile(options.config)
|
|
33
|
+
else
|
|
34
|
+
-- load default config file
|
|
35
|
+
require("luadoc.config")
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
local taglet = require(options.taglet)
|
|
39
|
+
local doclet = require(options.doclet)
|
|
40
|
+
|
|
41
|
+
-- fix bad windows paths (mix of / and \ in a path)
|
|
42
|
+
-- standardize on forward slash
|
|
43
|
+
if util.iswindows then
|
|
44
|
+
for k, v in pairs(files) do
|
|
45
|
+
files[k] = string.gsub(v, "\\", "/")
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
-- analyze input
|
|
50
|
+
taglet.options = options
|
|
51
|
+
taglet.logger = logger
|
|
52
|
+
local doc = taglet.start(files)
|
|
53
|
+
|
|
54
|
+
-- generate output
|
|
55
|
+
doclet.options = options
|
|
56
|
+
doclet.logger = logger
|
|
57
|
+
doclet.start(doc)
|
|
58
|
+
end
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
----------------------------------------------------------------------------
|
|
2
|
+
-- Lua Pages Template Preprocessor.
|
|
3
|
+
--
|
|
4
|
+
-- @release $Id: lp.lua,v 1.7 2007/04/18 14:28:39 tomas Exp $
|
|
5
|
+
----------------------------------------------------------------------------
|
|
6
|
+
|
|
7
|
+
local assert, error, getfenv, loadstring, setfenv = assert, error, getfenv, loadstring, setfenv
|
|
8
|
+
local find, format, gsub, strsub = string.find, string.format, string.gsub, string.sub
|
|
9
|
+
local concat, tinsert = table.concat, table.insert
|
|
10
|
+
local open = io.open
|
|
11
|
+
|
|
12
|
+
module (...)
|
|
13
|
+
|
|
14
|
+
----------------------------------------------------------------------------
|
|
15
|
+
-- function to do output
|
|
16
|
+
local outfunc = "io.write"
|
|
17
|
+
-- accepts the old expression field: `$| <Lua expression> |$'
|
|
18
|
+
local compatmode = true
|
|
19
|
+
|
|
20
|
+
--
|
|
21
|
+
-- Builds a piece of Lua code which outputs the (part of the) given string.
|
|
22
|
+
-- @param s String.
|
|
23
|
+
-- @param i Number with the initial position in the string.
|
|
24
|
+
-- @param f Number with the final position in the string (default == -1).
|
|
25
|
+
-- @return String with the correspondent Lua code which outputs the part of the string.
|
|
26
|
+
--
|
|
27
|
+
local function out (s, i, f)
|
|
28
|
+
s = strsub(s, i, f or -1)
|
|
29
|
+
if s == "" then return s end
|
|
30
|
+
-- we could use `%q' here, but this way we have better control
|
|
31
|
+
s = gsub(s, "([\\\n\'])", "\\%1")
|
|
32
|
+
-- substitute '\r' by '\'+'r' and let `loadstring' reconstruct it
|
|
33
|
+
s = gsub(s, "\r", "\\r")
|
|
34
|
+
return format(" %s('%s'); ", outfunc, s)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
----------------------------------------------------------------------------
|
|
39
|
+
-- Translate the template to Lua code.
|
|
40
|
+
-- @param s String to translate.
|
|
41
|
+
-- @return String with translated code.
|
|
42
|
+
----------------------------------------------------------------------------
|
|
43
|
+
function translate (s)
|
|
44
|
+
if compatmode then
|
|
45
|
+
s = gsub(s, "$|(.-)|%$", "<?lua = %1 ?>")
|
|
46
|
+
s = gsub(s, "<!%-%-$$(.-)$$%-%->", "<?lua %1 ?>")
|
|
47
|
+
end
|
|
48
|
+
s = gsub(s, "<%%(.-)%%>", "<?lua %1 ?>")
|
|
49
|
+
local res = {}
|
|
50
|
+
local start = 1 -- start of untranslated part in `s'
|
|
51
|
+
while true do
|
|
52
|
+
local ip, fp, target, exp, code = find(s, "<%?(%w*)[ \t]*(=?)(.-)%?>", start)
|
|
53
|
+
if not ip then break end
|
|
54
|
+
tinsert(res, out(s, start, ip-1))
|
|
55
|
+
if target ~= "" and target ~= "lua" then
|
|
56
|
+
-- not for Lua; pass whole instruction to the output
|
|
57
|
+
tinsert(res, out(s, ip, fp))
|
|
58
|
+
else
|
|
59
|
+
if exp == "=" then -- expression?
|
|
60
|
+
tinsert(res, format(" %s(%s);", outfunc, code))
|
|
61
|
+
else -- command
|
|
62
|
+
tinsert(res, format(" %s ", code))
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
start = fp + 1
|
|
66
|
+
end
|
|
67
|
+
tinsert(res, out(s, start))
|
|
68
|
+
return concat(res)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
----------------------------------------------------------------------------
|
|
73
|
+
-- Defines the name of the output function.
|
|
74
|
+
-- @param f String with the name of the function which produces output.
|
|
75
|
+
|
|
76
|
+
function setoutfunc (f)
|
|
77
|
+
outfunc = f
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
----------------------------------------------------------------------------
|
|
81
|
+
-- Turns on or off the compatibility with old CGILua 3.X behavior.
|
|
82
|
+
-- @param c Boolean indicating if the compatibility mode should be used.
|
|
83
|
+
|
|
84
|
+
function setcompatmode (c)
|
|
85
|
+
compatmode = c
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
----------------------------------------------------------------------------
|
|
89
|
+
-- Internal compilation cache.
|
|
90
|
+
|
|
91
|
+
local cache = {}
|
|
92
|
+
|
|
93
|
+
----------------------------------------------------------------------------
|
|
94
|
+
-- Translates a template into a Lua function.
|
|
95
|
+
-- Does NOT execute the resulting function.
|
|
96
|
+
-- Uses a cache of templates.
|
|
97
|
+
-- @param string String with the template to be translated.
|
|
98
|
+
-- @param chunkname String with the name of the chunk, for debugging purposes.
|
|
99
|
+
-- @return Function with the resulting translation.
|
|
100
|
+
|
|
101
|
+
function compile (string, chunkname)
|
|
102
|
+
local f, err = cache[string]
|
|
103
|
+
if f then return f end
|
|
104
|
+
f, err = loadstring (translate (string), chunkname)
|
|
105
|
+
if not f then error (err, 3) end
|
|
106
|
+
cache[string] = f
|
|
107
|
+
return f
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
----------------------------------------------------------------------------
|
|
111
|
+
-- Translates and executes a template in a given file.
|
|
112
|
+
-- The translation creates a Lua function which will be executed in an
|
|
113
|
+
-- optionally given environment.
|
|
114
|
+
-- @param filename String with the name of the file containing the template.
|
|
115
|
+
-- @param env Table with the environment to run the resulting function.
|
|
116
|
+
|
|
117
|
+
function include (filename, env)
|
|
118
|
+
-- read the whole contents of the file
|
|
119
|
+
local fh = assert (open (filename))
|
|
120
|
+
local src = fh:read("*a")
|
|
121
|
+
fh:close()
|
|
122
|
+
-- translates the file into a function
|
|
123
|
+
local prog = compile (src, '@'..filename)
|
|
124
|
+
local _env
|
|
125
|
+
if env then
|
|
126
|
+
_env = getfenv (prog)
|
|
127
|
+
setfenv (prog, env)
|
|
128
|
+
end
|
|
129
|
+
prog ()
|
|
130
|
+
end
|
|
@@ -0,0 +1,495 @@
|
|
|
1
|
+
-------------------------------------------------------------------------------
|
|
2
|
+
-- @release $Id: standard.lua,v 1.39 2007/12/21 17:50:48 tomas Exp $
|
|
3
|
+
-------------------------------------------------------------------------------
|
|
4
|
+
|
|
5
|
+
local assert, pairs, tostring, type = assert, pairs, tostring, type
|
|
6
|
+
local io = require "io"
|
|
7
|
+
local lfs = require "lfs"
|
|
8
|
+
local luadoc = require "luadoc"
|
|
9
|
+
local util = require "luadoc.util"
|
|
10
|
+
local tags = require "luadoc.taglet.standard.tags"
|
|
11
|
+
local string = require "string"
|
|
12
|
+
local table = require "table"
|
|
13
|
+
|
|
14
|
+
module 'luadoc.taglet.standard'
|
|
15
|
+
|
|
16
|
+
-------------------------------------------------------------------------------
|
|
17
|
+
-- Creates an iterator for an array base on a class type.
|
|
18
|
+
-- @param t array to iterate over
|
|
19
|
+
-- @param class name of the class to iterate over
|
|
20
|
+
|
|
21
|
+
function class_iterator (t, class)
|
|
22
|
+
return function ()
|
|
23
|
+
local i = 1
|
|
24
|
+
return function ()
|
|
25
|
+
while t[i] and t[i].class ~= class do
|
|
26
|
+
i = i + 1
|
|
27
|
+
end
|
|
28
|
+
local v = t[i]
|
|
29
|
+
i = i + 1
|
|
30
|
+
return v
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
-- Patterns for function recognition
|
|
36
|
+
local identifiers_list_pattern = "%s*(.-)%s*"
|
|
37
|
+
local identifier_pattern = "[^%(%s]+"
|
|
38
|
+
local function_patterns = {
|
|
39
|
+
"^()%s*function%s*("..identifier_pattern..")%s*%("..identifiers_list_pattern.."%)",
|
|
40
|
+
"^%s*(local%s)%s*function%s*("..identifier_pattern..")%s*%("..identifiers_list_pattern.."%)",
|
|
41
|
+
"^()%s*("..identifier_pattern..")%s*%=%s*function%s*%("..identifiers_list_pattern.."%)",
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
-------------------------------------------------------------------------------
|
|
45
|
+
-- Checks if the line contains a function definition
|
|
46
|
+
-- @param line string with line text
|
|
47
|
+
-- @return function information or nil if no function definition found
|
|
48
|
+
|
|
49
|
+
local function check_function (line)
|
|
50
|
+
line = util.trim(line)
|
|
51
|
+
|
|
52
|
+
local info = table.foreachi(function_patterns, function (_, pattern)
|
|
53
|
+
local r, _, l, id, param = string.find(line, pattern)
|
|
54
|
+
if r ~= nil then
|
|
55
|
+
return {
|
|
56
|
+
name = id,
|
|
57
|
+
private = (l == "local"),
|
|
58
|
+
param = util.split("%s*,%s*", param),
|
|
59
|
+
}
|
|
60
|
+
end
|
|
61
|
+
end)
|
|
62
|
+
|
|
63
|
+
-- TODO: remove these assert's?
|
|
64
|
+
if info ~= nil then
|
|
65
|
+
assert(info.name, "function name undefined")
|
|
66
|
+
assert(info.param, string.format("undefined parameter list for function `%s'", info.name))
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
return info
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
-------------------------------------------------------------------------------
|
|
73
|
+
-- Checks if the line contains a module definition.
|
|
74
|
+
-- @param line string with line text
|
|
75
|
+
-- @param currentmodule module already found, if any
|
|
76
|
+
-- @return the name of the defined module, or nil if there is no module
|
|
77
|
+
-- definition
|
|
78
|
+
|
|
79
|
+
local function check_module (line, currentmodule)
|
|
80
|
+
line = util.trim(line)
|
|
81
|
+
|
|
82
|
+
-- module"x.y"
|
|
83
|
+
-- module'x.y'
|
|
84
|
+
-- module[[x.y]]
|
|
85
|
+
-- module("x.y")
|
|
86
|
+
-- module('x.y')
|
|
87
|
+
-- module([[x.y]])
|
|
88
|
+
-- module(...)
|
|
89
|
+
|
|
90
|
+
local r, _, modulename = string.find(line, "^module%s*[%s\"'(%[]+([^,\"')%]]+)")
|
|
91
|
+
if r then
|
|
92
|
+
-- found module definition
|
|
93
|
+
logger:debug(string.format("found module `%s'", modulename))
|
|
94
|
+
return modulename
|
|
95
|
+
end
|
|
96
|
+
return currentmodule
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
-------------------------------------------------------------------------------
|
|
100
|
+
-- Extracts summary information from a description. The first sentence of each
|
|
101
|
+
-- doc comment should be a summary sentence, containing a concise but complete
|
|
102
|
+
-- description of the item. It is important to write crisp and informative
|
|
103
|
+
-- initial sentences that can stand on their own
|
|
104
|
+
-- @param description text with item description
|
|
105
|
+
-- @return summary string or nil if description is nil
|
|
106
|
+
|
|
107
|
+
local function parse_summary (description)
|
|
108
|
+
-- summary is never nil...
|
|
109
|
+
description = description or ""
|
|
110
|
+
|
|
111
|
+
-- append an " " at the end to make the pattern work in all cases
|
|
112
|
+
description = description.." "
|
|
113
|
+
|
|
114
|
+
-- read until the first period followed by a space or tab
|
|
115
|
+
local summary = string.match(description, "(.-%.)[%s\t]")
|
|
116
|
+
|
|
117
|
+
-- if pattern did not find the first sentence, summary is the whole description
|
|
118
|
+
summary = summary or description
|
|
119
|
+
|
|
120
|
+
return summary
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
-------------------------------------------------------------------------------
|
|
124
|
+
-- @param f file handle
|
|
125
|
+
-- @param line current line being parsed
|
|
126
|
+
-- @param modulename module already found, if any
|
|
127
|
+
-- @return current line
|
|
128
|
+
-- @return code block
|
|
129
|
+
-- @return modulename if found
|
|
130
|
+
|
|
131
|
+
local function parse_code (f, line, modulename)
|
|
132
|
+
local code = {}
|
|
133
|
+
while line ~= nil do
|
|
134
|
+
if string.find(line, "^[\t ]*%-%-%-") then
|
|
135
|
+
-- reached another luadoc block, end this parsing
|
|
136
|
+
return line, code, modulename
|
|
137
|
+
else
|
|
138
|
+
-- look for a module definition
|
|
139
|
+
modulename = check_module(line, modulename)
|
|
140
|
+
|
|
141
|
+
table.insert(code, line)
|
|
142
|
+
line = f:read()
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
-- reached end of file
|
|
146
|
+
return line, code, modulename
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
-------------------------------------------------------------------------------
|
|
150
|
+
-- Parses the information inside a block comment
|
|
151
|
+
-- @param block block with comment field
|
|
152
|
+
-- @return block parameter
|
|
153
|
+
|
|
154
|
+
local function parse_comment (block, first_line)
|
|
155
|
+
|
|
156
|
+
-- get the first non-empty line of code
|
|
157
|
+
local code = table.foreachi(block.code, function(_, line)
|
|
158
|
+
if not util.line_empty(line) then
|
|
159
|
+
-- `local' declarations are ignored in two cases:
|
|
160
|
+
-- when the `nolocals' option is turned on; and
|
|
161
|
+
-- when the first block of a file is parsed (this is
|
|
162
|
+
-- necessary to avoid confusion between the top
|
|
163
|
+
-- local declarations and the `module' definition.
|
|
164
|
+
if (options.nolocals or first_line) and line:find"^%s*local" then
|
|
165
|
+
return
|
|
166
|
+
end
|
|
167
|
+
return line
|
|
168
|
+
end
|
|
169
|
+
end)
|
|
170
|
+
|
|
171
|
+
-- parse first line of code
|
|
172
|
+
if code ~= nil then
|
|
173
|
+
local func_info = check_function(code)
|
|
174
|
+
local module_name = check_module(code)
|
|
175
|
+
if func_info then
|
|
176
|
+
block.class = "function"
|
|
177
|
+
block.name = func_info.name
|
|
178
|
+
block.param = func_info.param
|
|
179
|
+
block.private = func_info.private
|
|
180
|
+
elseif module_name then
|
|
181
|
+
block.class = "module"
|
|
182
|
+
block.name = module_name
|
|
183
|
+
block.param = {}
|
|
184
|
+
else
|
|
185
|
+
block.param = {}
|
|
186
|
+
end
|
|
187
|
+
else
|
|
188
|
+
-- TODO: comment without any code. Does this means we are dealing
|
|
189
|
+
-- with a file comment?
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
-- parse @ tags
|
|
193
|
+
local currenttag = "description"
|
|
194
|
+
local currenttext -- trimmed and concatenated lines
|
|
195
|
+
local ocurrenttext -- concatenated lines with linebreaks (eg. original non-stripped text format)
|
|
196
|
+
local currenttagpostfix -- postfix '#' for current tag
|
|
197
|
+
|
|
198
|
+
table.foreachi(block.comment, function (_, line)
|
|
199
|
+
tline = util.trim_comment(line)
|
|
200
|
+
oline = util.no_trim_comment(line)
|
|
201
|
+
|
|
202
|
+
local r, _, tag, tagpostfix, text = string.find(tline, "@([_%w%.]+)(#?)%s+(.*)")
|
|
203
|
+
if r ~= nil then
|
|
204
|
+
-- found new tag, add previous one, and start a new one
|
|
205
|
+
-- TODO: what to do with invalid tags? issue an error? or log a warning?
|
|
206
|
+
tags.handle(currenttag, block, currenttext)
|
|
207
|
+
|
|
208
|
+
currenttag = tag
|
|
209
|
+
currenttext = text
|
|
210
|
+
ocurrenttext = text
|
|
211
|
+
currenttagpostfix = tagpostfix
|
|
212
|
+
else
|
|
213
|
+
currenttext = util.concat(currenttext, tline)
|
|
214
|
+
ocurrenttext = util.no_concat(ocurrenttext, oline)
|
|
215
|
+
assert(string.sub(currenttext, 1, 1) ~= " ", string.format("`%s', `%s'", currenttext, tline))
|
|
216
|
+
end
|
|
217
|
+
end)
|
|
218
|
+
if currenttagpostfix == "#" then
|
|
219
|
+
tags.handle(currenttag, block, ocurrenttext) -- dispatch text with original linebreaks and indentations
|
|
220
|
+
else
|
|
221
|
+
tags.handle(currenttag, block, currenttext) -- dispatch text with trimmed and concatenated
|
|
222
|
+
end
|
|
223
|
+
|
|
224
|
+
-- extracts summary information from the description
|
|
225
|
+
block.summary = parse_summary(block.description)
|
|
226
|
+
assert(string.sub(block.description, 1, 1) ~= " ", string.format("`%s'", block.description))
|
|
227
|
+
|
|
228
|
+
return block
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
-------------------------------------------------------------------------------
|
|
232
|
+
-- Parses a block of comment, started with ---. Read until the next block of
|
|
233
|
+
-- comment.
|
|
234
|
+
-- @param f file handle
|
|
235
|
+
-- @param line being parsed
|
|
236
|
+
-- @param modulename module already found, if any
|
|
237
|
+
-- @return line
|
|
238
|
+
-- @return block parsed
|
|
239
|
+
-- @return modulename if found
|
|
240
|
+
|
|
241
|
+
local function parse_block (f, line, modulename, first)
|
|
242
|
+
local block = {
|
|
243
|
+
comment = {},
|
|
244
|
+
code = {},
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
while line ~= nil do
|
|
248
|
+
if string.find(line, "^[\t ]*%-%-") == nil then
|
|
249
|
+
-- reached end of comment, read the code below it
|
|
250
|
+
-- TODO: allow empty lines
|
|
251
|
+
line, block.code, modulename = parse_code(f, line, modulename)
|
|
252
|
+
|
|
253
|
+
-- parse information in block comment
|
|
254
|
+
block = parse_comment(block, first)
|
|
255
|
+
|
|
256
|
+
return line, block, modulename
|
|
257
|
+
else
|
|
258
|
+
table.insert(block.comment, line)
|
|
259
|
+
line = f:read()
|
|
260
|
+
end
|
|
261
|
+
end
|
|
262
|
+
-- reached end of file
|
|
263
|
+
|
|
264
|
+
-- parse information in block comment
|
|
265
|
+
block = parse_comment(block, first)
|
|
266
|
+
|
|
267
|
+
return line, block, modulename
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
-------------------------------------------------------------------------------
|
|
271
|
+
-- Parses a file documented following luadoc format.
|
|
272
|
+
-- @param filepath full path of file to parse
|
|
273
|
+
-- @param doc table with documentation
|
|
274
|
+
-- @return table with documentation
|
|
275
|
+
|
|
276
|
+
function parse_file (filepath, doc)
|
|
277
|
+
local blocks = {}
|
|
278
|
+
local modulename = nil
|
|
279
|
+
|
|
280
|
+
-- read each line
|
|
281
|
+
local f = io.open(filepath, "r")
|
|
282
|
+
local i = 1
|
|
283
|
+
local line = f:read()
|
|
284
|
+
local first = true
|
|
285
|
+
while line ~= nil do
|
|
286
|
+
if string.find(line, "^[\t ]*%-%-%-") then
|
|
287
|
+
-- reached a luadoc block
|
|
288
|
+
local block
|
|
289
|
+
line, block, modulename = parse_block(f, line, modulename, first)
|
|
290
|
+
table.insert(blocks, block)
|
|
291
|
+
else
|
|
292
|
+
-- look for a module definition
|
|
293
|
+
modulename = check_module(line, modulename)
|
|
294
|
+
|
|
295
|
+
-- TODO: keep beginning of file somewhere
|
|
296
|
+
|
|
297
|
+
line = f:read()
|
|
298
|
+
end
|
|
299
|
+
first = false
|
|
300
|
+
i = i + 1
|
|
301
|
+
end
|
|
302
|
+
f:close()
|
|
303
|
+
-- store blocks in file hierarchy
|
|
304
|
+
assert(doc.files[filepath] == nil, string.format("doc for file `%s' already defined", filepath))
|
|
305
|
+
table.insert(doc.files, filepath)
|
|
306
|
+
doc.files[filepath] = {
|
|
307
|
+
type = "file",
|
|
308
|
+
name = filepath,
|
|
309
|
+
doc = blocks,
|
|
310
|
+
-- functions = class_iterator(blocks, "function"),
|
|
311
|
+
-- tables = class_iterator(blocks, "table"),
|
|
312
|
+
}
|
|
313
|
+
--
|
|
314
|
+
local first = doc.files[filepath].doc[1]
|
|
315
|
+
if first and modulename then
|
|
316
|
+
doc.files[filepath].author = first.author
|
|
317
|
+
doc.files[filepath].copyright = first.copyright
|
|
318
|
+
doc.files[filepath].description = first.description
|
|
319
|
+
doc.files[filepath].release = first.release
|
|
320
|
+
doc.files[filepath].summary = first.summary
|
|
321
|
+
end
|
|
322
|
+
|
|
323
|
+
-- if module definition is found, store in module hierarchy
|
|
324
|
+
if modulename ~= nil then
|
|
325
|
+
if modulename == "..." then
|
|
326
|
+
modulename = string.gsub (filepath, "%.lua$", "")
|
|
327
|
+
modulename = string.gsub (modulename, "/", ".")
|
|
328
|
+
end
|
|
329
|
+
if doc.modules[modulename] ~= nil then
|
|
330
|
+
-- module is already defined, just add the blocks
|
|
331
|
+
table.foreachi(blocks, function (_, v)
|
|
332
|
+
table.insert(doc.modules[modulename].doc, v)
|
|
333
|
+
end)
|
|
334
|
+
else
|
|
335
|
+
-- TODO: put this in a different module
|
|
336
|
+
table.insert(doc.modules, modulename)
|
|
337
|
+
doc.modules[modulename] = {
|
|
338
|
+
type = "module",
|
|
339
|
+
name = modulename,
|
|
340
|
+
doc = blocks,
|
|
341
|
+
-- functions = class_iterator(blocks, "function"),
|
|
342
|
+
-- tables = class_iterator(blocks, "table"),
|
|
343
|
+
author = first and first.author,
|
|
344
|
+
copyright = first and first.copyright,
|
|
345
|
+
description = "",
|
|
346
|
+
release = first and first.release,
|
|
347
|
+
summary = "",
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
-- find module description
|
|
351
|
+
for m in class_iterator(blocks, "module")() do
|
|
352
|
+
doc.modules[modulename].description = util.concat(
|
|
353
|
+
doc.modules[modulename].description,
|
|
354
|
+
m.description)
|
|
355
|
+
doc.modules[modulename].summary = util.concat(
|
|
356
|
+
doc.modules[modulename].summary,
|
|
357
|
+
m.summary)
|
|
358
|
+
if m.author then
|
|
359
|
+
doc.modules[modulename].author = m.author
|
|
360
|
+
end
|
|
361
|
+
if m.copyright then
|
|
362
|
+
doc.modules[modulename].copyright = m.copyright
|
|
363
|
+
end
|
|
364
|
+
if m.release then
|
|
365
|
+
doc.modules[modulename].release = m.release
|
|
366
|
+
end
|
|
367
|
+
if m.name then
|
|
368
|
+
doc.modules[modulename].name = m.name
|
|
369
|
+
end
|
|
370
|
+
end
|
|
371
|
+
doc.modules[modulename].description = doc.modules[modulename].description or (first and first.description) or ""
|
|
372
|
+
doc.modules[modulename].summary = doc.modules[modulename].summary or (first and first.summary) or ""
|
|
373
|
+
end
|
|
374
|
+
|
|
375
|
+
-- make functions table
|
|
376
|
+
doc.modules[modulename].functions = {}
|
|
377
|
+
for f in class_iterator(blocks, "function")() do
|
|
378
|
+
table.insert(doc.modules[modulename].functions, f.name)
|
|
379
|
+
doc.modules[modulename].functions[f.name] = f
|
|
380
|
+
end
|
|
381
|
+
|
|
382
|
+
-- make tables table
|
|
383
|
+
doc.modules[modulename].tables = {}
|
|
384
|
+
for t in class_iterator(blocks, "table")() do
|
|
385
|
+
table.insert(doc.modules[modulename].tables, t.name)
|
|
386
|
+
doc.modules[modulename].tables[t.name] = t
|
|
387
|
+
end
|
|
388
|
+
end
|
|
389
|
+
|
|
390
|
+
-- make functions table
|
|
391
|
+
doc.files[filepath].functions = {}
|
|
392
|
+
for f in class_iterator(blocks, "function")() do
|
|
393
|
+
table.insert(doc.files[filepath].functions, f.name)
|
|
394
|
+
doc.files[filepath].functions[f.name] = f
|
|
395
|
+
end
|
|
396
|
+
|
|
397
|
+
-- make tables table
|
|
398
|
+
doc.files[filepath].tables = {}
|
|
399
|
+
for t in class_iterator(blocks, "table")() do
|
|
400
|
+
table.insert(doc.files[filepath].tables, t.name)
|
|
401
|
+
doc.files[filepath].tables[t.name] = t
|
|
402
|
+
end
|
|
403
|
+
|
|
404
|
+
return doc
|
|
405
|
+
end
|
|
406
|
+
|
|
407
|
+
-------------------------------------------------------------------------------
|
|
408
|
+
-- Checks if the file is terminated by ".lua" or ".luadoc" and calls the
|
|
409
|
+
-- function that does the actual parsing
|
|
410
|
+
-- @param filepath full path of the file to parse
|
|
411
|
+
-- @param doc table with documentation
|
|
412
|
+
-- @return table with documentation
|
|
413
|
+
-- @see parse_file
|
|
414
|
+
|
|
415
|
+
function file (filepath, doc)
|
|
416
|
+
local patterns = { "%.lua$", "%.luadoc$" }
|
|
417
|
+
local valid = table.foreachi(patterns, function (_, pattern)
|
|
418
|
+
if string.find(filepath, pattern) ~= nil then
|
|
419
|
+
return true
|
|
420
|
+
end
|
|
421
|
+
end)
|
|
422
|
+
|
|
423
|
+
if valid then
|
|
424
|
+
logger:info(string.format("processing file `%s'", filepath))
|
|
425
|
+
doc = parse_file(filepath, doc)
|
|
426
|
+
end
|
|
427
|
+
|
|
428
|
+
return doc
|
|
429
|
+
end
|
|
430
|
+
|
|
431
|
+
-------------------------------------------------------------------------------
|
|
432
|
+
-- Recursively iterates through a directory, parsing each file
|
|
433
|
+
-- @param path directory to search
|
|
434
|
+
-- @param doc table with documentation
|
|
435
|
+
-- @return table with documentation
|
|
436
|
+
|
|
437
|
+
function directory (path, doc)
|
|
438
|
+
for f in lfs.dir(path) do
|
|
439
|
+
local fullpath = path .. "/" .. f
|
|
440
|
+
local attr = lfs.attributes(fullpath)
|
|
441
|
+
assert(attr, string.format("error stating file `%s'", fullpath))
|
|
442
|
+
|
|
443
|
+
if attr.mode == "file" then
|
|
444
|
+
doc = file(fullpath, doc)
|
|
445
|
+
elseif attr.mode == "directory" and f ~= "." and f ~= ".." then
|
|
446
|
+
doc = directory(fullpath, doc)
|
|
447
|
+
end
|
|
448
|
+
end
|
|
449
|
+
return doc
|
|
450
|
+
end
|
|
451
|
+
|
|
452
|
+
-- Recursively sorts the documentation table
|
|
453
|
+
local function recsort (tab)
|
|
454
|
+
table.sort (tab)
|
|
455
|
+
-- sort list of functions by name alphabetically
|
|
456
|
+
for f, doc in pairs(tab) do
|
|
457
|
+
if doc.functions then
|
|
458
|
+
table.sort(doc.functions)
|
|
459
|
+
end
|
|
460
|
+
if doc.tables then
|
|
461
|
+
table.sort(doc.tables)
|
|
462
|
+
end
|
|
463
|
+
end
|
|
464
|
+
end
|
|
465
|
+
|
|
466
|
+
-------------------------------------------------------------------------------
|
|
467
|
+
|
|
468
|
+
function start (files, doc)
|
|
469
|
+
assert(files, "file list not specified")
|
|
470
|
+
|
|
471
|
+
-- Create an empty document, or use the given one
|
|
472
|
+
doc = doc or {
|
|
473
|
+
files = {},
|
|
474
|
+
modules = {},
|
|
475
|
+
}
|
|
476
|
+
assert(doc.files, "undefined `files' field")
|
|
477
|
+
assert(doc.modules, "undefined `modules' field")
|
|
478
|
+
|
|
479
|
+
table.foreachi(files, function (_, path)
|
|
480
|
+
local attr = lfs.attributes(path)
|
|
481
|
+
assert(attr, string.format("error stating path `%s'", path))
|
|
482
|
+
|
|
483
|
+
if attr.mode == "file" then
|
|
484
|
+
doc = file(path, doc)
|
|
485
|
+
elseif attr.mode == "directory" then
|
|
486
|
+
doc = directory(path, doc)
|
|
487
|
+
end
|
|
488
|
+
end)
|
|
489
|
+
|
|
490
|
+
-- order arrays alphabetically
|
|
491
|
+
recsort(doc.files)
|
|
492
|
+
recsort(doc.modules)
|
|
493
|
+
|
|
494
|
+
return doc
|
|
495
|
+
end
|