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.
Files changed (459) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +69 -0
  6. data/Rakefile +1 -0
  7. data/lib/rufus/lua/win.rb +18 -0
  8. data/lib/rufus/lua/win/version.rb +7 -0
  9. data/rufus-lua-win.gemspec +23 -0
  10. data/vendor/lua/bin/liblua.dll +0 -0
  11. data/vendor/lua/lib/lua/LuaXml.lua +119 -0
  12. data/vendor/lua/lib/lua/alien.lua +250 -0
  13. data/vendor/lua/lib/lua/alien/core.dll +0 -0
  14. data/vendor/lua/lib/lua/alien/struct.dll +0 -0
  15. data/vendor/lua/lib/lua/base.lua +536 -0
  16. data/vendor/lua/lib/lua/bin.lua +20 -0
  17. data/vendor/lua/lib/lua/bit.dll +0 -0
  18. data/vendor/lua/lib/lua/cdlua.dll +0 -0
  19. data/vendor/lua/lib/lua/cdluacontextplus.dll +0 -0
  20. data/vendor/lua/lib/lua/cdluagl.dll +0 -0
  21. data/vendor/lua/lib/lua/cdluaim.dll +0 -0
  22. data/vendor/lua/lib/lua/cdluapdf.dll +0 -0
  23. data/vendor/lua/lib/lua/copas.lua +543 -0
  24. data/vendor/lua/lib/lua/coxpcall.lua +57 -0
  25. data/vendor/lua/lib/lua/date.lua +745 -0
  26. data/vendor/lua/lib/lua/debug_ext.lua +84 -0
  27. data/vendor/lua/lib/lua/debug_init.lua +2 -0
  28. data/vendor/lua/lib/lua/des56.dll +0 -0
  29. data/vendor/lua/lib/lua/dist/config.lua +109 -0
  30. data/vendor/lua/lib/lua/dist/constraints.lua +271 -0
  31. data/vendor/lua/lib/lua/dist/depends.lua +601 -0
  32. data/vendor/lua/lib/lua/dist/git.lua +307 -0
  33. data/vendor/lua/lib/lua/dist/init.lua +278 -0
  34. data/vendor/lua/lib/lua/dist/manifest.lua +225 -0
  35. data/vendor/lua/lib/lua/dist/package.lua +583 -0
  36. data/vendor/lua/lib/lua/dist/sys.lua +367 -0
  37. data/vendor/lua/lib/lua/dist/utils.lua +130 -0
  38. data/vendor/lua/lib/lua/ex.dll +0 -0
  39. data/vendor/lua/lib/lua/fstable.lua +116 -0
  40. data/vendor/lua/lib/lua/getopt.lua +273 -0
  41. data/vendor/lua/lib/lua/git.lua +5 -0
  42. data/vendor/lua/lib/lua/git/core.dll +0 -0
  43. data/vendor/lua/lib/lua/git/objects.lua +121 -0
  44. data/vendor/lua/lib/lua/git/pack.lua +316 -0
  45. data/vendor/lua/lib/lua/git/protocol.lua +188 -0
  46. data/vendor/lua/lib/lua/git/repo.lua +283 -0
  47. data/vendor/lua/lib/lua/git/util.lua +233 -0
  48. data/vendor/lua/lib/lua/gzio.dll +0 -0
  49. data/vendor/lua/lib/lua/gzip.lua +81 -0
  50. data/vendor/lua/lib/lua/iconv.dll +0 -0
  51. data/vendor/lua/lib/lua/imlua.dll +0 -0
  52. data/vendor/lua/lib/lua/imlua_fftw.dll +0 -0
  53. data/vendor/lua/lib/lua/imlua_jp2.dll +0 -0
  54. data/vendor/lua/lib/lua/imlua_process.dll +0 -0
  55. data/vendor/lua/lib/lua/imlua_process_omp.dll +0 -0
  56. data/vendor/lua/lib/lua/io_ext.lua +115 -0
  57. data/vendor/lua/lib/lua/iuplua.dll +0 -0
  58. data/vendor/lua/lib/lua/iuplua_mglplot.dll +0 -0
  59. data/vendor/lua/lib/lua/iuplua_pplot.dll +0 -0
  60. data/vendor/lua/lib/lua/iupluacd.dll +0 -0
  61. data/vendor/lua/lib/lua/iupluacontrols.dll +0 -0
  62. data/vendor/lua/lib/lua/iupluagl.dll +0 -0
  63. data/vendor/lua/lib/lua/iupluaim.dll +0 -0
  64. data/vendor/lua/lib/lua/iupluaimglib.dll +0 -0
  65. data/vendor/lua/lib/lua/iupluatuio.dll +0 -0
  66. data/vendor/lua/lib/lua/lanes-keeper.lua +302 -0
  67. data/vendor/lua/lib/lua/lanes.lua +591 -0
  68. data/vendor/lua/lib/lua/lanes/core.dll +0 -0
  69. data/vendor/lua/lib/lua/lcs.lua +55 -0
  70. data/vendor/lua/lib/lua/lemock.lua +659 -0
  71. data/vendor/lua/lib/lua/lfs.dll +0 -0
  72. data/vendor/lua/lib/lua/list.lua +375 -0
  73. data/vendor/lua/lib/lua/logging.lua +189 -0
  74. data/vendor/lua/lib/lua/logging/console.lua +22 -0
  75. data/vendor/lua/lib/lua/logging/email.lua +44 -0
  76. data/vendor/lua/lib/lua/logging/file.lua +55 -0
  77. data/vendor/lua/lib/lua/logging/rolling_file.lua +81 -0
  78. data/vendor/lua/lib/lua/logging/socket.lua +35 -0
  79. data/vendor/lua/lib/lua/logging/sql.lua +64 -0
  80. data/vendor/lua/lib/lua/loop/base.lua +68 -0
  81. data/vendor/lua/lib/lua/loop/cached.lua +312 -0
  82. data/vendor/lua/lib/lua/loop/collection/MapWithArrayOfKeys.lua +64 -0
  83. data/vendor/lua/lib/lua/loop/collection/ObjectCache.lua +39 -0
  84. data/vendor/lua/lib/lua/loop/collection/OrderedSet.lua +164 -0
  85. data/vendor/lua/lib/lua/loop/collection/PriorityQueue.lua +86 -0
  86. data/vendor/lua/lib/lua/loop/collection/UnorderedArray.lua +32 -0
  87. data/vendor/lua/lib/lua/loop/collection/UnorderedArraySet.lua +56 -0
  88. data/vendor/lua/lib/lua/loop/compiler/Arguments.lua +108 -0
  89. data/vendor/lua/lib/lua/loop/compiler/Conditional.lua +50 -0
  90. data/vendor/lua/lib/lua/loop/compiler/Expression.lua +215 -0
  91. data/vendor/lua/lib/lua/loop/component/base.lua +221 -0
  92. data/vendor/lua/lib/lua/loop/component/contained.lua +71 -0
  93. data/vendor/lua/lib/lua/loop/component/dynamic.lua +223 -0
  94. data/vendor/lua/lib/lua/loop/component/intercepted.lua +354 -0
  95. data/vendor/lua/lib/lua/loop/component/wrapped.lua +195 -0
  96. data/vendor/lua/lib/lua/loop/debug/Inspector.lua +521 -0
  97. data/vendor/lua/lib/lua/loop/debug/Matcher.lua +192 -0
  98. data/vendor/lua/lib/lua/loop/debug/Verbose.lua +266 -0
  99. data/vendor/lua/lib/lua/loop/debug/Viewer.lua +200 -0
  100. data/vendor/lua/lib/lua/loop/multiple.lua +105 -0
  101. data/vendor/lua/lib/lua/loop/object/Exception.lua +57 -0
  102. data/vendor/lua/lib/lua/loop/object/Publisher.lua +43 -0
  103. data/vendor/lua/lib/lua/loop/object/Wrapper.lua +39 -0
  104. data/vendor/lua/lib/lua/loop/scoped.lua +585 -0
  105. data/vendor/lua/lib/lua/loop/serial/FileStream.lua +48 -0
  106. data/vendor/lua/lib/lua/loop/serial/Serializer.lua +291 -0
  107. data/vendor/lua/lib/lua/loop/serial/SocketStream.lua +51 -0
  108. data/vendor/lua/lib/lua/loop/serial/StringStream.lua +47 -0
  109. data/vendor/lua/lib/lua/loop/simple.lua +75 -0
  110. data/vendor/lua/lib/lua/loop/table.lua +71 -0
  111. data/vendor/lua/lib/lua/loop/thread/CoSocket.lua +416 -0
  112. data/vendor/lua/lib/lua/loop/thread/IOScheduler.lua +170 -0
  113. data/vendor/lua/lib/lua/loop/thread/Scheduler.lua +327 -0
  114. data/vendor/lua/lib/lua/loop/thread/SocketScheduler.lua +88 -0
  115. data/vendor/lua/lib/lua/loop/thread/Timer.lua +54 -0
  116. data/vendor/lua/lib/lua/lpeg.dll +0 -0
  117. data/vendor/lua/lib/lua/ltn12.lua +292 -0
  118. data/vendor/lua/lib/lua/luaXML_lib.dll +0 -0
  119. data/vendor/lua/lib/lua/luacurl.dll +0 -0
  120. data/vendor/lua/lib/lua/luadoc/config.lua +34 -0
  121. data/vendor/lua/lib/lua/luadoc/doclet/debug.lua +46 -0
  122. data/vendor/lua/lib/lua/luadoc/doclet/formatter.lua +84 -0
  123. data/vendor/lua/lib/lua/luadoc/doclet/html.lua +289 -0
  124. data/vendor/lua/lib/lua/luadoc/doclet/html/file.lp +113 -0
  125. data/vendor/lua/lib/lua/luadoc/doclet/html/function.lp +64 -0
  126. data/vendor/lua/lib/lua/luadoc/doclet/html/index.lp +70 -0
  127. data/vendor/lua/lib/lua/luadoc/doclet/html/luadoc.css +286 -0
  128. data/vendor/lua/lib/lua/luadoc/doclet/html/menu.lp +55 -0
  129. data/vendor/lua/lib/lua/luadoc/doclet/html/module.lp +109 -0
  130. data/vendor/lua/lib/lua/luadoc/doclet/html/table.lp +15 -0
  131. data/vendor/lua/lib/lua/luadoc/doclet/raw.lua +12 -0
  132. data/vendor/lua/lib/lua/luadoc/init.lua +58 -0
  133. data/vendor/lua/lib/lua/luadoc/lp.lua +130 -0
  134. data/vendor/lua/lib/lua/luadoc/taglet/standard.lua +495 -0
  135. data/vendor/lua/lib/lua/luadoc/taglet/standard/tags.lua +171 -0
  136. data/vendor/lua/lib/lua/luadoc/util.lua +233 -0
  137. data/vendor/lua/lib/lua/luagl.dll +0 -0
  138. data/vendor/lua/lib/lua/luaglu.dll +0 -0
  139. data/vendor/lua/lib/lua/luaidl.lua +113 -0
  140. data/vendor/lua/lib/lua/luaidl/lex.lua +793 -0
  141. data/vendor/lua/lib/lua/luaidl/pre.lua +149 -0
  142. data/vendor/lua/lib/lua/luaidl/sin.lua +3631 -0
  143. data/vendor/lua/lib/lua/luarocks/add.lua +108 -0
  144. data/vendor/lua/lib/lua/luarocks/admin_remove.lua +87 -0
  145. data/vendor/lua/lib/lua/luarocks/build.lua +330 -0
  146. data/vendor/lua/lib/lua/luarocks/build/builtin.lua +253 -0
  147. data/vendor/lua/lib/lua/luarocks/build/cmake.lua +54 -0
  148. data/vendor/lua/lib/lua/luarocks/build/command.lua +32 -0
  149. data/vendor/lua/lib/lua/luarocks/build/make.lua +92 -0
  150. data/vendor/lua/lib/lua/luarocks/cache.lua +85 -0
  151. data/vendor/lua/lib/lua/luarocks/cfg.lua +449 -0
  152. data/vendor/lua/lib/lua/luarocks/command_line.lua +163 -0
  153. data/vendor/lua/lib/lua/luarocks/deps.lua +654 -0
  154. data/vendor/lua/lib/lua/luarocks/dir.lua +69 -0
  155. data/vendor/lua/lib/lua/luarocks/download.lua +90 -0
  156. data/vendor/lua/lib/lua/luarocks/fetch.lua +321 -0
  157. data/vendor/lua/lib/lua/luarocks/fetch/cvs.lua +44 -0
  158. data/vendor/lua/lib/lua/luarocks/fetch/git.lua +81 -0
  159. data/vendor/lua/lib/lua/luarocks/fetch/git_file.lua +17 -0
  160. data/vendor/lua/lib/lua/luarocks/fetch/hg.lua +54 -0
  161. data/vendor/lua/lib/lua/luarocks/fetch/sscm.lua +42 -0
  162. data/vendor/lua/lib/lua/luarocks/fetch/svn.lua +53 -0
  163. data/vendor/lua/lib/lua/luarocks/fs.lua +40 -0
  164. data/vendor/lua/lib/lua/luarocks/fs/lua.lua +676 -0
  165. data/vendor/lua/lib/lua/luarocks/fs/unix.lua +88 -0
  166. data/vendor/lua/lib/lua/luarocks/fs/unix/tools.lua +325 -0
  167. data/vendor/lua/lib/lua/luarocks/fs/win32.lua +107 -0
  168. data/vendor/lua/lib/lua/luarocks/fs/win32/tools.lua +334 -0
  169. data/vendor/lua/lib/lua/luarocks/help.lua +101 -0
  170. data/vendor/lua/lib/lua/luarocks/index.lua +172 -0
  171. data/vendor/lua/lib/lua/luarocks/install.lua +151 -0
  172. data/vendor/lua/lib/lua/luarocks/list.lua +35 -0
  173. data/vendor/lua/lib/lua/luarocks/loader.lua +228 -0
  174. data/vendor/lua/lib/lua/luarocks/make.lua +71 -0
  175. data/vendor/lua/lib/lua/luarocks/make_manifest.lua +34 -0
  176. data/vendor/lua/lib/lua/luarocks/manif.lua +360 -0
  177. data/vendor/lua/lib/lua/luarocks/manif_core.lua +75 -0
  178. data/vendor/lua/lib/lua/luarocks/new_version.lua +141 -0
  179. data/vendor/lua/lib/lua/luarocks/pack.lua +205 -0
  180. data/vendor/lua/lib/lua/luarocks/path.lua +315 -0
  181. data/vendor/lua/lib/lua/luarocks/persist.lua +173 -0
  182. data/vendor/lua/lib/lua/luarocks/refresh_cache.lua +30 -0
  183. data/vendor/lua/lib/lua/luarocks/remove.lua +135 -0
  184. data/vendor/lua/lib/lua/luarocks/rep.lua +313 -0
  185. data/vendor/lua/lib/lua/luarocks/require.lua +6 -0
  186. data/vendor/lua/lib/lua/luarocks/search.lua +399 -0
  187. data/vendor/lua/lib/lua/luarocks/show.lua +138 -0
  188. data/vendor/lua/lib/lua/luarocks/site_config.lua +23 -0
  189. data/vendor/lua/lib/lua/luarocks/tools/patch.lua +712 -0
  190. data/vendor/lua/lib/lua/luarocks/tools/tar.lua +144 -0
  191. data/vendor/lua/lib/lua/luarocks/tools/zip.lua +245 -0
  192. data/vendor/lua/lib/lua/luarocks/type_check.lua +267 -0
  193. data/vendor/lua/lib/lua/luarocks/unpack.lua +151 -0
  194. data/vendor/lua/lib/lua/luarocks/util.lua +420 -0
  195. data/vendor/lua/lib/lua/luarocks/validate.lua +164 -0
  196. data/vendor/lua/lib/lua/luars232.dll +0 -0
  197. data/vendor/lua/lib/lua/luasql/mysql.dll +0 -0
  198. data/vendor/lua/lib/lua/luasql/postgres.dll +0 -0
  199. data/vendor/lua/lib/lua/luasql/sqlite3.dll +0 -0
  200. data/vendor/lua/lib/lua/luaunit.lua +601 -0
  201. data/vendor/lua/lib/lua/lxp.dll +0 -0
  202. data/vendor/lua/lib/lua/lxp/lom.lua +60 -0
  203. data/vendor/lua/lib/lua/math_ext.lua +27 -0
  204. data/vendor/lua/lib/lua/mbox.lua +53 -0
  205. data/vendor/lua/lib/lua/md5.lua +19 -0
  206. data/vendor/lua/lib/lua/md5/core.dll +0 -0
  207. data/vendor/lua/lib/lua/metalua.lua +0 -0
  208. data/vendor/lua/lib/lua/metalua/ast_to_string.mlua +553 -0
  209. data/vendor/lua/lib/lua/metalua/base.lua +104 -0
  210. data/vendor/lua/lib/lua/metalua/bytecode.lua +0 -0
  211. data/vendor/lua/lib/lua/metalua/clopts.mlua +204 -0
  212. data/vendor/lua/lib/lua/metalua/compiler.lua +3 -0
  213. data/vendor/lua/lib/lua/metalua/dollar.mlua +24 -0
  214. data/vendor/lua/lib/lua/metalua/extension/H-runtime.mlua +216 -0
  215. data/vendor/lua/lib/lua/metalua/extension/H.mlua +22 -0
  216. data/vendor/lua/lib/lua/metalua/extension/anaphoric.mlua +54 -0
  217. data/vendor/lua/lib/lua/metalua/extension/clist.mlua +149 -0
  218. data/vendor/lua/lib/lua/metalua/extension/continue.mlua +53 -0
  219. data/vendor/lua/lib/lua/metalua/extension/localin.mlua +2 -0
  220. data/vendor/lua/lib/lua/metalua/extension/log.mlua +39 -0
  221. data/vendor/lua/lib/lua/metalua/extension/match.mlua +374 -0
  222. data/vendor/lua/lib/lua/metalua/extension/ternary.mlua +10 -0
  223. data/vendor/lua/lib/lua/metalua/extension/trycatch.mlua +189 -0
  224. data/vendor/lua/lib/lua/metalua/extension/types-runtime.mlua +159 -0
  225. data/vendor/lua/lib/lua/metalua/extension/types.mlua +352 -0
  226. data/vendor/lua/lib/lua/metalua/extension/withdo.mlua +30 -0
  227. data/vendor/lua/lib/lua/metalua/extension/xglobal-runtime.lua +41 -0
  228. data/vendor/lua/lib/lua/metalua/extension/xglobal.mlua +20 -0
  229. data/vendor/lua/lib/lua/metalua/extension/xloop.mlua +100 -0
  230. data/vendor/lua/lib/lua/metalua/extension/xmatch.mlua +216 -0
  231. data/vendor/lua/lib/lua/metalua/metaloop.mlua +76 -0
  232. data/vendor/lua/lib/lua/metalua/mlc.lua +0 -0
  233. data/vendor/lua/lib/lua/metalua/mlc_xcall.lua +119 -0
  234. data/vendor/lua/lib/lua/metalua/mlp.lua +0 -0
  235. data/vendor/lua/lib/lua/metalua/package2.lua +101 -0
  236. data/vendor/lua/lib/lua/metalua/runtime.lua +3 -0
  237. data/vendor/lua/lib/lua/metalua/string2.lua +44 -0
  238. data/vendor/lua/lib/lua/metalua/table2.lua +372 -0
  239. data/vendor/lua/lib/lua/metalua/walk.mlua +304 -0
  240. data/vendor/lua/lib/lua/metalua/walk/bindings.mlua +41 -0
  241. data/vendor/lua/lib/lua/metalua/walk/id.mlua +186 -0
  242. data/vendor/lua/lib/lua/metalua/walk/scope.lua +54 -0
  243. data/vendor/lua/lib/lua/mime.lua +87 -0
  244. data/vendor/lua/lib/lua/mime/core.dll +0 -0
  245. data/vendor/lua/lib/lua/mobdebug.lua +1484 -0
  246. data/vendor/lua/lib/lua/modules.lua +16 -0
  247. data/vendor/lua/lib/lua/object.lua +56 -0
  248. data/vendor/lua/lib/lua/oil/Exception.lua +26 -0
  249. data/vendor/lua/lib/lua/oil/arch.lua +27 -0
  250. data/vendor/lua/lib/lua/oil/arch/basic/client.lua +29 -0
  251. data/vendor/lua/lib/lua/oil/arch/basic/common.lua +13 -0
  252. data/vendor/lua/lib/lua/oil/arch/basic/server.lua +27 -0
  253. data/vendor/lua/lib/lua/oil/arch/cooperative/common.lua +10 -0
  254. data/vendor/lua/lib/lua/oil/arch/cooperative/server.lua +16 -0
  255. data/vendor/lua/lib/lua/oil/arch/corba/client.lua +39 -0
  256. data/vendor/lua/lib/lua/oil/arch/corba/common.lua +58 -0
  257. data/vendor/lua/lib/lua/oil/arch/corba/intercepted/client.lua +9 -0
  258. data/vendor/lua/lib/lua/oil/arch/corba/intercepted/server.lua +9 -0
  259. data/vendor/lua/lib/lua/oil/arch/corba/server.lua +35 -0
  260. data/vendor/lua/lib/lua/oil/arch/ludo/byref.lua +18 -0
  261. data/vendor/lua/lib/lua/oil/arch/ludo/client.lua +19 -0
  262. data/vendor/lua/lib/lua/oil/arch/ludo/common.lua +18 -0
  263. data/vendor/lua/lib/lua/oil/arch/ludo/server.lua +19 -0
  264. data/vendor/lua/lib/lua/oil/arch/typed/client.lua +27 -0
  265. data/vendor/lua/lib/lua/oil/arch/typed/common.lua +9 -0
  266. data/vendor/lua/lib/lua/oil/arch/typed/server.lua +18 -0
  267. data/vendor/lua/lib/lua/oil/assert.lua +87 -0
  268. data/vendor/lua/lib/lua/oil/builder.lua +45 -0
  269. data/vendor/lua/lib/lua/oil/builder/basic/client.lua +31 -0
  270. data/vendor/lua/lib/lua/oil/builder/basic/common.lua +11 -0
  271. data/vendor/lua/lib/lua/oil/builder/basic/server.lua +13 -0
  272. data/vendor/lua/lib/lua/oil/builder/cooperative/common.lua +11 -0
  273. data/vendor/lua/lib/lua/oil/builder/cooperative/server.lua +11 -0
  274. data/vendor/lua/lib/lua/oil/builder/corba/client.lua +13 -0
  275. data/vendor/lua/lib/lua/oil/builder/corba/common.lua +24 -0
  276. data/vendor/lua/lib/lua/oil/builder/corba/gencode.lua +13 -0
  277. data/vendor/lua/lib/lua/oil/builder/corba/intercepted/client.lua +11 -0
  278. data/vendor/lua/lib/lua/oil/builder/corba/intercepted/server.lua +11 -0
  279. data/vendor/lua/lib/lua/oil/builder/corba/server.lua +13 -0
  280. data/vendor/lua/lib/lua/oil/builder/lua/client.lua +11 -0
  281. data/vendor/lua/lib/lua/oil/builder/lua/server.lua +12 -0
  282. data/vendor/lua/lib/lua/oil/builder/ludo/byref.lua +13 -0
  283. data/vendor/lua/lib/lua/oil/builder/ludo/client.lua +13 -0
  284. data/vendor/lua/lib/lua/oil/builder/ludo/common.lua +14 -0
  285. data/vendor/lua/lib/lua/oil/builder/ludo/server.lua +13 -0
  286. data/vendor/lua/lib/lua/oil/builder/typed/client.lua +16 -0
  287. data/vendor/lua/lib/lua/oil/builder/typed/server.lua +12 -0
  288. data/vendor/lua/lib/lua/oil/compat.lua +846 -0
  289. data/vendor/lua/lib/lua/oil/component.lua +1 -0
  290. data/vendor/lua/lib/lua/oil/corba/giop.lua +301 -0
  291. data/vendor/lua/lib/lua/oil/corba/giop/Codec.lua +1568 -0
  292. data/vendor/lua/lib/lua/oil/corba/giop/CodecGen.lua +589 -0
  293. data/vendor/lua/lib/lua/oil/corba/giop/Exception.lua +25 -0
  294. data/vendor/lua/lib/lua/oil/corba/giop/Indexer.lua +63 -0
  295. data/vendor/lua/lib/lua/oil/corba/giop/Listener.lua +343 -0
  296. data/vendor/lua/lib/lua/oil/corba/giop/Messenger.lua +228 -0
  297. data/vendor/lua/lib/lua/oil/corba/giop/Referrer.lua +180 -0
  298. data/vendor/lua/lib/lua/oil/corba/giop/Requester.lua +462 -0
  299. data/vendor/lua/lib/lua/oil/corba/idl.lua +597 -0
  300. data/vendor/lua/lib/lua/oil/corba/idl/Compiler.lua +133 -0
  301. data/vendor/lua/lib/lua/oil/corba/idl/Importer.lua +235 -0
  302. data/vendor/lua/lib/lua/oil/corba/idl/Indexer.lua +95 -0
  303. data/vendor/lua/lib/lua/oil/corba/idl/Registry.lua +1821 -0
  304. data/vendor/lua/lib/lua/oil/corba/idl/ir.lua +847 -0
  305. data/vendor/lua/lib/lua/oil/corba/idl/sysex.lua +21 -0
  306. data/vendor/lua/lib/lua/oil/corba/iiop/Profiler.lua +200 -0
  307. data/vendor/lua/lib/lua/oil/corba/intercepted/Listener.lua +158 -0
  308. data/vendor/lua/lib/lua/oil/corba/intercepted/Requester.lua +181 -0
  309. data/vendor/lua/lib/lua/oil/corba/services/event.lua +126 -0
  310. data/vendor/lua/lib/lua/oil/corba/services/event/ConsumerAdmin.lua +50 -0
  311. data/vendor/lua/lib/lua/oil/corba/services/event/EventFactory.lua +15 -0
  312. data/vendor/lua/lib/lua/oil/corba/services/event/EventQueue.lua +37 -0
  313. data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushConsumer.lua +75 -0
  314. data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushSupplier.lua +62 -0
  315. data/vendor/lua/lib/lua/oil/corba/services/event/SingleDeferredDispatcher.lua +60 -0
  316. data/vendor/lua/lib/lua/oil/corba/services/event/SingleSynchronousDispatcher.lua +39 -0
  317. data/vendor/lua/lib/lua/oil/corba/services/event/SupplierAdmin.lua +50 -0
  318. data/vendor/lua/lib/lua/oil/corba/services/naming.lua +436 -0
  319. data/vendor/lua/lib/lua/oil/kernel/base/Acceptor.lua +268 -0
  320. data/vendor/lua/lib/lua/oil/kernel/base/Channels.lua +121 -0
  321. data/vendor/lua/lib/lua/oil/kernel/base/Connector.lua +147 -0
  322. data/vendor/lua/lib/lua/oil/kernel/base/Dispatcher.lua +99 -0
  323. data/vendor/lua/lib/lua/oil/kernel/base/Proxies.lua +86 -0
  324. data/vendor/lua/lib/lua/oil/kernel/base/Proxies/asynchronous.lua +56 -0
  325. data/vendor/lua/lib/lua/oil/kernel/base/Proxies/protected.lua +17 -0
  326. data/vendor/lua/lib/lua/oil/kernel/base/Proxies/synchronous.lua +17 -0
  327. data/vendor/lua/lib/lua/oil/kernel/base/Proxies/utils.lua +29 -0
  328. data/vendor/lua/lib/lua/oil/kernel/base/Receiver.lua +110 -0
  329. data/vendor/lua/lib/lua/oil/kernel/base/Servants.lua +207 -0
  330. data/vendor/lua/lib/lua/oil/kernel/base/Sockets.lua +44 -0
  331. data/vendor/lua/lib/lua/oil/kernel/cooperative/Receiver.lua +139 -0
  332. data/vendor/lua/lib/lua/oil/kernel/intercepted/Listener.lua +47 -0
  333. data/vendor/lua/lib/lua/oil/kernel/intercepted/Requester.lua +58 -0
  334. data/vendor/lua/lib/lua/oil/kernel/lua/Dispatcher.lua +76 -0
  335. data/vendor/lua/lib/lua/oil/kernel/lua/Proxies.lua +69 -0
  336. data/vendor/lua/lib/lua/oil/kernel/typed/Dispatcher.lua +91 -0
  337. data/vendor/lua/lib/lua/oil/kernel/typed/Proxies.lua +153 -0
  338. data/vendor/lua/lib/lua/oil/kernel/typed/Servants.lua +137 -0
  339. data/vendor/lua/lib/lua/oil/ludo/Codec.lua +66 -0
  340. data/vendor/lua/lib/lua/oil/ludo/CodecByRef.lua +103 -0
  341. data/vendor/lua/lib/lua/oil/ludo/Listener.lua +151 -0
  342. data/vendor/lua/lib/lua/oil/ludo/Referrer.lua +72 -0
  343. data/vendor/lua/lib/lua/oil/ludo/Requester.lua +107 -0
  344. data/vendor/lua/lib/lua/oil/oo.lua +1 -0
  345. data/vendor/lua/lib/lua/oil/port.lua +1 -0
  346. data/vendor/lua/lib/lua/oil/properties.lua +57 -0
  347. data/vendor/lua/lib/lua/oil/verbose.lua +133 -0
  348. data/vendor/lua/lib/lua/package_ext.lua +15 -0
  349. data/vendor/lua/lib/lua/parser.lua +268 -0
  350. data/vendor/lua/lib/lua/pl/Date.lua +555 -0
  351. data/vendor/lua/lib/lua/pl/List.lua +613 -0
  352. data/vendor/lua/lib/lua/pl/Map.lua +113 -0
  353. data/vendor/lua/lib/lua/pl/MultiMap.lua +62 -0
  354. data/vendor/lua/lib/lua/pl/OrderedMap.lua +151 -0
  355. data/vendor/lua/lib/lua/pl/Set.lua +153 -0
  356. data/vendor/lua/lib/lua/pl/app.lua +165 -0
  357. data/vendor/lua/lib/lua/pl/array2d.lua +501 -0
  358. data/vendor/lua/lib/lua/pl/class.lua +180 -0
  359. data/vendor/lua/lib/lua/pl/comprehension.lua +286 -0
  360. data/vendor/lua/lib/lua/pl/config.lua +176 -0
  361. data/vendor/lua/lib/lua/pl/data.lua +606 -0
  362. data/vendor/lua/lib/lua/pl/dir.lua +475 -0
  363. data/vendor/lua/lib/lua/pl/file.lua +70 -0
  364. data/vendor/lua/lib/lua/pl/func.lua +376 -0
  365. data/vendor/lua/lib/lua/pl/init.lua +68 -0
  366. data/vendor/lua/lib/lua/pl/input.lua +173 -0
  367. data/vendor/lua/lib/lua/pl/lapp.lua +407 -0
  368. data/vendor/lua/lib/lua/pl/lexer.lua +456 -0
  369. data/vendor/lua/lib/lua/pl/luabalanced.lua +264 -0
  370. data/vendor/lua/lib/lua/pl/operator.lua +201 -0
  371. data/vendor/lua/lib/lua/pl/path.lua +398 -0
  372. data/vendor/lua/lib/lua/pl/permute.lua +63 -0
  373. data/vendor/lua/lib/lua/pl/platf/luajava.lua +101 -0
  374. data/vendor/lua/lib/lua/pl/pretty.lua +285 -0
  375. data/vendor/lua/lib/lua/pl/seq.lua +551 -0
  376. data/vendor/lua/lib/lua/pl/sip.lua +344 -0
  377. data/vendor/lua/lib/lua/pl/strict.lua +70 -0
  378. data/vendor/lua/lib/lua/pl/stringio.lua +158 -0
  379. data/vendor/lua/lib/lua/pl/stringx.lua +440 -0
  380. data/vendor/lua/lib/lua/pl/tablex.lua +817 -0
  381. data/vendor/lua/lib/lua/pl/template.lua +103 -0
  382. data/vendor/lua/lib/lua/pl/test.lua +135 -0
  383. data/vendor/lua/lib/lua/pl/text.lua +243 -0
  384. data/vendor/lua/lib/lua/pl/utils.lua +550 -0
  385. data/vendor/lua/lib/lua/pl/xml.lua +689 -0
  386. data/vendor/lua/lib/lua/profiler.dll +0 -0
  387. data/vendor/lua/lib/lua/re.lua +248 -0
  388. data/vendor/lua/lib/lua/rex_onig.dll +0 -0
  389. data/vendor/lua/lib/lua/rex_pcre.dll +0 -0
  390. data/vendor/lua/lib/lua/rex_posix.dll +0 -0
  391. data/vendor/lua/lib/lua/rings.dll +0 -0
  392. data/vendor/lua/lib/lua/serialize.lua +193 -0
  393. data/vendor/lua/lib/lua/set.lua +149 -0
  394. data/vendor/lua/lib/lua/socket.lua +133 -0
  395. data/vendor/lua/lib/lua/socket/core.dll +0 -0
  396. data/vendor/lua/lib/lua/socket/ftp.lua +281 -0
  397. data/vendor/lua/lib/lua/socket/http.lua +350 -0
  398. data/vendor/lua/lib/lua/socket/smtp.lua +251 -0
  399. data/vendor/lua/lib/lua/socket/tp.lua +123 -0
  400. data/vendor/lua/lib/lua/socket/url.lua +297 -0
  401. data/vendor/lua/lib/lua/ssl.dll +0 -0
  402. data/vendor/lua/lib/lua/ssl.lua +93 -0
  403. data/vendor/lua/lib/lua/ssl/https.lua +138 -0
  404. data/vendor/lua/lib/lua/stable.lua +28 -0
  405. data/vendor/lua/lib/lua/std.lua +16 -0
  406. data/vendor/lua/lib/lua/strbuf.lua +32 -0
  407. data/vendor/lua/lib/lua/strict.lua +45 -0
  408. data/vendor/lua/lib/lua/string_ext.lua +274 -0
  409. data/vendor/lua/lib/lua/table_ext.lua +117 -0
  410. data/vendor/lua/lib/lua/tar.lua +262 -0
  411. data/vendor/lua/lib/lua/task.dll +0 -0
  412. data/vendor/lua/lib/lua/tree.lua +81 -0
  413. data/vendor/lua/lib/lua/unicode.dll +0 -0
  414. data/vendor/lua/lib/lua/verbose_require.lua +11 -0
  415. data/vendor/lua/lib/lua/vstruct.lua +86 -0
  416. data/vendor/lua/lib/lua/vstruct/ast.lua +192 -0
  417. data/vendor/lua/lib/lua/vstruct/ast/Bitpack.lua +33 -0
  418. data/vendor/lua/lib/lua/vstruct/ast/Generator.lua +174 -0
  419. data/vendor/lua/lib/lua/vstruct/ast/IO.lua +45 -0
  420. data/vendor/lua/lib/lua/vstruct/ast/List.lua +56 -0
  421. data/vendor/lua/lib/lua/vstruct/ast/Name.lua +20 -0
  422. data/vendor/lua/lib/lua/vstruct/ast/Repeat.lua +23 -0
  423. data/vendor/lua/lib/lua/vstruct/ast/Root.lua +19 -0
  424. data/vendor/lua/lib/lua/vstruct/ast/Table.lua +65 -0
  425. data/vendor/lua/lib/lua/vstruct/cursor.lua +81 -0
  426. data/vendor/lua/lib/lua/vstruct/io.lua +45 -0
  427. data/vendor/lua/lib/lua/vstruct/io/a.lua +24 -0
  428. data/vendor/lua/lib/lua/vstruct/io/b.lua +28 -0
  429. data/vendor/lua/lib/lua/vstruct/io/bigendian.lua +21 -0
  430. data/vendor/lua/lib/lua/vstruct/io/c.lua +25 -0
  431. data/vendor/lua/lib/lua/vstruct/io/defaults.lua +24 -0
  432. data/vendor/lua/lib/lua/vstruct/io/endianness.lua +41 -0
  433. data/vendor/lua/lib/lua/vstruct/io/f.lua +129 -0
  434. data/vendor/lua/lib/lua/vstruct/io/hostendian.lua +21 -0
  435. data/vendor/lua/lib/lua/vstruct/io/i.lua +42 -0
  436. data/vendor/lua/lib/lua/vstruct/io/littleendian.lua +21 -0
  437. data/vendor/lua/lib/lua/vstruct/io/m.lua +62 -0
  438. data/vendor/lua/lib/lua/vstruct/io/p.lua +23 -0
  439. data/vendor/lua/lib/lua/vstruct/io/s.lua +27 -0
  440. data/vendor/lua/lib/lua/vstruct/io/seekb.lua +18 -0
  441. data/vendor/lua/lib/lua/vstruct/io/seekf.lua +18 -0
  442. data/vendor/lua/lib/lua/vstruct/io/seekto.lua +18 -0
  443. data/vendor/lua/lib/lua/vstruct/io/u.lua +54 -0
  444. data/vendor/lua/lib/lua/vstruct/io/x.lua +34 -0
  445. data/vendor/lua/lib/lua/vstruct/io/z.lua +63 -0
  446. data/vendor/lua/lib/lua/vstruct/lexer.lua +100 -0
  447. data/vendor/lua/lib/lua/vstruct/pack.lua +142 -0
  448. data/vendor/lua/lib/lua/vstruct/test.lua +47 -0
  449. data/vendor/lua/lib/lua/vstruct/test/basic.lua +73 -0
  450. data/vendor/lua/lib/lua/vstruct/test/common.lua +100 -0
  451. data/vendor/lua/lib/lua/vstruct/test/fp-bigendian.lua +56 -0
  452. data/vendor/lua/lib/lua/vstruct/test/fp-littleendian.lua +56 -0
  453. data/vendor/lua/lib/lua/vstruct/test/struct-test-gen.lua +1230 -0
  454. data/vendor/lua/lib/lua/vstruct/unpack.lua +126 -0
  455. data/vendor/lua/lib/lua/wx.dll +0 -0
  456. data/vendor/lua/lib/lua/xml.lua +75 -0
  457. data/vendor/lua/lib/lua/zip.dll +0 -0
  458. data/vendor/lua/lib/lua/zlib.dll +0 -0
  459. 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&copy; <%=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>&nbsp;(<%=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