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
|
Binary file
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
--- Tables mapped to the filing system
|
|
2
|
+
-- Only string keys are permitted; package.dirsep characters are
|
|
3
|
+
-- converted to underscores.
|
|
4
|
+
-- Values are stored as strings (converted by tostring).
|
|
5
|
+
-- As with disk operations, a table's elements must be set to nil
|
|
6
|
+
-- (deleted) before the table itself can be set to nil.
|
|
7
|
+
module ("fstable", package.seeall)
|
|
8
|
+
|
|
9
|
+
require "io_ext"
|
|
10
|
+
require "table_ext"
|
|
11
|
+
|
|
12
|
+
require "io_ext"
|
|
13
|
+
require "lfs"
|
|
14
|
+
require "posix"
|
|
15
|
+
|
|
16
|
+
local function fsnext (dir)
|
|
17
|
+
local f
|
|
18
|
+
repeat
|
|
19
|
+
f = dir:next ()
|
|
20
|
+
until f ~= "." and f ~= ".."
|
|
21
|
+
return f
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
-- Metamethods for persistent tables
|
|
25
|
+
local metatable = {}
|
|
26
|
+
|
|
27
|
+
metatable.__index =
|
|
28
|
+
function (t, k)
|
|
29
|
+
local path = io.catfile (getmetatable (t).directory, k)
|
|
30
|
+
local attrs = lfs.attributes (path)
|
|
31
|
+
if attrs then
|
|
32
|
+
if attrs.mode == "file" then
|
|
33
|
+
return io.slurp (path)
|
|
34
|
+
elseif attrs.mode == "directory" then
|
|
35
|
+
return new (path)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
return attrs
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
metatable.__newindex =
|
|
42
|
+
function (t, k, v)
|
|
43
|
+
local ty = type (v)
|
|
44
|
+
if ty == "thread" or ty == "function" or ty == "userdata" then
|
|
45
|
+
error ("cannot persist a " .. ty .. "")
|
|
46
|
+
elseif type (k) ~= "string" then
|
|
47
|
+
error ("keys of persistent tables must be of type string")
|
|
48
|
+
else
|
|
49
|
+
k = string.gsub (k, package.dirsep, "_")
|
|
50
|
+
local path = io.catfile (getmetatable (t).directory, k)
|
|
51
|
+
local vm = getmetatable (v)
|
|
52
|
+
if v == nil then
|
|
53
|
+
os.remove (path)
|
|
54
|
+
elseif type (v) ~= "table" then
|
|
55
|
+
local h = io.open (path, "w")
|
|
56
|
+
h:write (tostring (v))
|
|
57
|
+
h:close ()
|
|
58
|
+
elseif type (vm) == "table" and vm.metatable == metatable then
|
|
59
|
+
-- To match Lua semantics we'd hardlink, but that's not allowed for directories
|
|
60
|
+
local ok, errmsg = posix.link (vm.directory, path, true)
|
|
61
|
+
else
|
|
62
|
+
local ok, errmsg = lfs.mkdir (path)
|
|
63
|
+
if not ok then
|
|
64
|
+
error (errmsg)
|
|
65
|
+
end
|
|
66
|
+
new (path, v)
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
metatable.__pairs =
|
|
72
|
+
function (t)
|
|
73
|
+
local _, dir = lfs.dir (getmetatable (t).directory)
|
|
74
|
+
return function (dir)
|
|
75
|
+
local f = fsnext (dir)
|
|
76
|
+
if f then
|
|
77
|
+
return f, t[f]
|
|
78
|
+
end
|
|
79
|
+
end,
|
|
80
|
+
dir
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
metatable.__ipairs =
|
|
84
|
+
function (t)
|
|
85
|
+
local _, dir = lfs.dir (getmetatable (t).directory)
|
|
86
|
+
return function (dir, i)
|
|
87
|
+
local f = fsnext (dir)
|
|
88
|
+
if f then
|
|
89
|
+
return i + 1, f
|
|
90
|
+
end
|
|
91
|
+
end,
|
|
92
|
+
dir, 0
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
--- Bind a directory to a table
|
|
96
|
+
-- @param path directory path
|
|
97
|
+
-- @param t table to merge with directory
|
|
98
|
+
-- @return table bound to directory
|
|
99
|
+
function new (path, t)
|
|
100
|
+
if not path:find ("^" .. package.dirsep) then
|
|
101
|
+
path = io.catfile (lfs.currentdir (), path)
|
|
102
|
+
end
|
|
103
|
+
if lfs.attributes (path, "mode") ~= "directory" then
|
|
104
|
+
error ("`" .. path .. "' does not exist or is not a directory")
|
|
105
|
+
end
|
|
106
|
+
local m = table.clone (metatable)
|
|
107
|
+
m.directory = path
|
|
108
|
+
m.metatable = metatable
|
|
109
|
+
local d = setmetatable ({}, m)
|
|
110
|
+
if t then
|
|
111
|
+
for i, v in pairs (t) do
|
|
112
|
+
d[i] = v
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
return d
|
|
116
|
+
end
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
--- Simplified getopt, based on Svenne Panne's Haskell GetOpt.<br>
|
|
2
|
+
-- Usage:
|
|
3
|
+
-- <ul>
|
|
4
|
+
-- <li><code>options = {Option {...}, ...}</br>
|
|
5
|
+
-- getopt.processArgs ()</code></li>
|
|
6
|
+
-- <li>Assumes <code>prog = {name[, banner] [, purpose] [, notes] [, usage]}</code></li>
|
|
7
|
+
-- <li>Options take a single dash, but may have a double dash.</li>
|
|
8
|
+
-- <li>Arguments may be given as <code>-opt=arg</code> or <code>-opt arg</code>.</li>
|
|
9
|
+
-- <li>If an option taking an argument is given multiple times, only the
|
|
10
|
+
-- last value is returned; missing arguments are returned as 1.</li>
|
|
11
|
+
-- </ul>
|
|
12
|
+
-- getOpt, usageInfo and usage can be called directly (see
|
|
13
|
+
-- below, and the example at the end). Set _DEBUG.std to a non-nil
|
|
14
|
+
-- value to run the example.
|
|
15
|
+
-- <ul>
|
|
16
|
+
-- <li>TODO: Sort out the packaging. getopt.Option is tedious to type, but
|
|
17
|
+
-- surely Option shouldn't be in the root namespace?</li>
|
|
18
|
+
-- <li>TODO: Wrap all messages; do all wrapping in processArgs, not
|
|
19
|
+
-- usageInfo; use sdoc-like library (see string.format todos).</li>
|
|
20
|
+
-- <li>TODO: Don't require name to be repeated in banner.</li>
|
|
21
|
+
-- <li>TODO: Store version separately (construct banner?).</li>
|
|
22
|
+
-- </ul>
|
|
23
|
+
module ("getopt", package.seeall)
|
|
24
|
+
|
|
25
|
+
require "base"
|
|
26
|
+
require "list"
|
|
27
|
+
require "string_ext"
|
|
28
|
+
require "object"
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
--- Perform argument processing
|
|
32
|
+
-- @param argIn list of command-line args
|
|
33
|
+
-- @param options options table
|
|
34
|
+
-- @return table of remaining non-options
|
|
35
|
+
-- @return table of option key-value list pairs
|
|
36
|
+
-- @return table of error messages
|
|
37
|
+
function getOpt (argIn, options)
|
|
38
|
+
local noProcess = nil
|
|
39
|
+
local argOut, optOut, errors = {[0] = argIn[0]}, {}, {}
|
|
40
|
+
-- get an argument for option opt
|
|
41
|
+
local function getArg (o, opt, arg, oldarg)
|
|
42
|
+
if o.type == nil then
|
|
43
|
+
if arg ~= nil then
|
|
44
|
+
table.insert (errors, "option `" .. opt .. "' doesn't take an argument")
|
|
45
|
+
end
|
|
46
|
+
else
|
|
47
|
+
if arg == nil and argIn[1] and
|
|
48
|
+
string.sub (argIn[1], 1, 1) ~= "-" then
|
|
49
|
+
arg = argIn[1]
|
|
50
|
+
table.remove (argIn, 1)
|
|
51
|
+
end
|
|
52
|
+
if arg == nil and o.type == "Req" then
|
|
53
|
+
table.insert (errors, "option `" .. opt ..
|
|
54
|
+
"' requires an argument `" .. o.var .. "'")
|
|
55
|
+
return nil
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
return arg or 1 -- make sure arg has a value
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
local function parseOpt (opt, arg)
|
|
62
|
+
local o = options.name[opt]
|
|
63
|
+
if o ~= nil then
|
|
64
|
+
optOut[o.name[1]] = optOut[o.name[1]] or {}
|
|
65
|
+
table.insert (optOut[o.name[1]], getArg (o, opt, arg, optOut[o.name[1]]))
|
|
66
|
+
else
|
|
67
|
+
table.insert (errors, "unrecognized option `-" .. opt .. "'")
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
while argIn[1] do
|
|
71
|
+
local v = argIn[1]
|
|
72
|
+
table.remove (argIn, 1)
|
|
73
|
+
local _, _, dash, opt = string.find (v, "^(%-%-?)([^=-][^=]*)")
|
|
74
|
+
local _, _, arg = string.find (v, "=(.*)$")
|
|
75
|
+
if v == "--" then
|
|
76
|
+
noProcess = 1
|
|
77
|
+
elseif dash == nil or noProcess then -- non-option
|
|
78
|
+
table.insert (argOut, v)
|
|
79
|
+
else -- option
|
|
80
|
+
parseOpt (opt, arg)
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
return argOut, optOut, errors
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
--- Options table type.
|
|
88
|
+
-- @class table
|
|
89
|
+
-- @name _G.Option
|
|
90
|
+
-- @field name list of names
|
|
91
|
+
-- @field desc description of this option
|
|
92
|
+
-- @field type type of argument (if any): <code>Req</code>(uired),
|
|
93
|
+
-- <code>Opt</code>(ional)
|
|
94
|
+
-- @field var descriptive name for the argument
|
|
95
|
+
_G.Option = Object {_init = {"name", "desc", "type", "var"}}
|
|
96
|
+
|
|
97
|
+
--- Options table constructor: adds lookup tables for the option names
|
|
98
|
+
local function makeOptions (t)
|
|
99
|
+
t = list.concat (t or {},
|
|
100
|
+
{Option {{"version", "V"},
|
|
101
|
+
"output version information and exit"},
|
|
102
|
+
Option {{"help", "h"},
|
|
103
|
+
"display this help and exit"}}
|
|
104
|
+
)
|
|
105
|
+
local name = {}
|
|
106
|
+
for v in list.elems (t) do
|
|
107
|
+
for j, s in pairs (v.name) do
|
|
108
|
+
if name[s] then
|
|
109
|
+
warn ("duplicate option '%s'", s)
|
|
110
|
+
end
|
|
111
|
+
name[s] = v
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
t.name = name
|
|
115
|
+
return t
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
--- Produce usage info for the given options
|
|
120
|
+
-- @param header header string
|
|
121
|
+
-- @param optDesc option descriptors
|
|
122
|
+
-- @param pageWidth width to format to [78]
|
|
123
|
+
-- @return formatted string
|
|
124
|
+
function usageInfo (header, optDesc, pageWidth)
|
|
125
|
+
pageWidth = pageWidth or 78
|
|
126
|
+
-- Format the usage info for a single option
|
|
127
|
+
-- @param opt the Option table
|
|
128
|
+
-- @return options
|
|
129
|
+
-- @return description
|
|
130
|
+
local function fmtOpt (opt)
|
|
131
|
+
local function fmtName (o)
|
|
132
|
+
return "-" .. o
|
|
133
|
+
end
|
|
134
|
+
local function fmtArg ()
|
|
135
|
+
if opt.type == nil then
|
|
136
|
+
return ""
|
|
137
|
+
elseif opt.type == "Req" then
|
|
138
|
+
return "=" .. opt.var
|
|
139
|
+
else
|
|
140
|
+
return "[=" .. opt.var .. "]"
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
local textName = list.reverse (list.map (fmtName, opt.name))
|
|
144
|
+
textName[#textName] = textName[#textName] .. fmtArg ()
|
|
145
|
+
return {table.concat ({table.concat (textName, ", ")}, ", "),
|
|
146
|
+
opt.desc}
|
|
147
|
+
end
|
|
148
|
+
local function sameLen (xs)
|
|
149
|
+
local n = math.max (unpack (list.map (string.len, xs)))
|
|
150
|
+
for i, v in pairs (xs) do
|
|
151
|
+
xs[i] = string.sub (v .. string.rep (" ", n), 1, n)
|
|
152
|
+
end
|
|
153
|
+
return xs, n
|
|
154
|
+
end
|
|
155
|
+
local function paste (x, y)
|
|
156
|
+
return " " .. x .. " " .. y
|
|
157
|
+
end
|
|
158
|
+
local function wrapper (w, i)
|
|
159
|
+
return function (s)
|
|
160
|
+
return string.wrap (s, w, i, 0)
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
local optText = ""
|
|
164
|
+
if #optDesc > 0 then
|
|
165
|
+
local cols = list.transpose (list.map (fmtOpt, optDesc))
|
|
166
|
+
local width
|
|
167
|
+
cols[1], width = sameLen (cols[1])
|
|
168
|
+
cols[2] = list.map (wrapper (pageWidth, width + 4), cols[2])
|
|
169
|
+
optText = "\n\n" ..
|
|
170
|
+
table.concat (list.mapWith (paste,
|
|
171
|
+
list.transpose ({sameLen (cols[1]),
|
|
172
|
+
cols[2]})),
|
|
173
|
+
"\n")
|
|
174
|
+
end
|
|
175
|
+
return header .. optText
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
--- Emit a usage message.
|
|
179
|
+
function usage ()
|
|
180
|
+
local usage, purpose, notes = "[OPTION]... [FILE]...", "", ""
|
|
181
|
+
if prog.usage then
|
|
182
|
+
usage = prog.usage
|
|
183
|
+
end
|
|
184
|
+
if prog.purpose then
|
|
185
|
+
purpose = "\n" .. prog.purpose
|
|
186
|
+
end
|
|
187
|
+
if prog.notes then
|
|
188
|
+
notes = "\n\n"
|
|
189
|
+
if not string.find (prog.notes, "\n") then
|
|
190
|
+
notes = notes .. string.wrap (prog.notes)
|
|
191
|
+
else
|
|
192
|
+
notes = notes .. prog.notes
|
|
193
|
+
end
|
|
194
|
+
end
|
|
195
|
+
io.writelines (getopt.usageInfo ("Usage: " .. prog.name .. " " .. usage .. purpose,
|
|
196
|
+
options)
|
|
197
|
+
.. notes)
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
--- Simple getOpt wrapper.
|
|
202
|
+
-- Adds <code>-version</code>/<code>-V</code> and
|
|
203
|
+
-- <code>-help</code>/<code>-h</code> automatically;
|
|
204
|
+
-- stops program if there was an error, or if <code>-help</code> or
|
|
205
|
+
-- <code>-version</code> was used.
|
|
206
|
+
function processArgs ()
|
|
207
|
+
local totArgs = #arg
|
|
208
|
+
options = makeOptions (options)
|
|
209
|
+
local errors
|
|
210
|
+
_G.arg, opt, errors = getopt.getOpt (arg, options)
|
|
211
|
+
if (opt.version or opt.help) and prog.banner then
|
|
212
|
+
io.writelines (prog.banner)
|
|
213
|
+
end
|
|
214
|
+
if #errors > 0 or opt.help then
|
|
215
|
+
local name = prog.name
|
|
216
|
+
prog.name = nil
|
|
217
|
+
if #errors > 0 then
|
|
218
|
+
warn (table.concat (errors, "\n") .. "\n")
|
|
219
|
+
end
|
|
220
|
+
prog.name = name
|
|
221
|
+
getopt.usage ()
|
|
222
|
+
if #errors > 0 then
|
|
223
|
+
error ()
|
|
224
|
+
end
|
|
225
|
+
end
|
|
226
|
+
if opt.version or opt.help then
|
|
227
|
+
os.exit ()
|
|
228
|
+
end
|
|
229
|
+
end
|
|
230
|
+
_G.options = nil
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
-- A small and hopefully enlightening example:
|
|
234
|
+
if type (_DEBUG) == "table" and _DEBUG.std then
|
|
235
|
+
|
|
236
|
+
options = makeOptions ({
|
|
237
|
+
Option {{"verbose", "v"}, "verbosely list files"},
|
|
238
|
+
Option {{"output", "o"}, "dump to FILE", "Opt", "FILE"},
|
|
239
|
+
Option {{"name", "n"}, "only dump USER's files", "Req", "USER"},
|
|
240
|
+
})
|
|
241
|
+
|
|
242
|
+
function test (cmdLine)
|
|
243
|
+
local nonOpts, opts, errors = getopt.getOpt (cmdLine, options)
|
|
244
|
+
if #errors == 0 then
|
|
245
|
+
print ("options=" .. tostring (opts) ..
|
|
246
|
+
" args=" .. tostring (nonOpts) .. "\n")
|
|
247
|
+
else
|
|
248
|
+
print (table.concat (errors, "\n") .. "\n" ..
|
|
249
|
+
getopt.usageInfo ("Usage: foobar [OPTION...] FILE...",
|
|
250
|
+
options))
|
|
251
|
+
end
|
|
252
|
+
end
|
|
253
|
+
|
|
254
|
+
-- FIXME: Turn the following documentation into unit tests
|
|
255
|
+
prog = {name = "foobar"} -- for errors
|
|
256
|
+
-- Example runs:
|
|
257
|
+
test {"foo", "-v"}
|
|
258
|
+
-- options={verbose={1}} args={1=foo}
|
|
259
|
+
test {"foo", "--", "-v"}
|
|
260
|
+
-- options={} args={1=foo,2=-v}
|
|
261
|
+
test {"-o", "-V", "-name", "bar", "--name=baz"}
|
|
262
|
+
-- options={name={"baz"},version={1},output={1}} args={}
|
|
263
|
+
test {"-foo"}
|
|
264
|
+
-- unrecognized option `-foo'
|
|
265
|
+
-- Usage: foobar [OPTION]... [FILE]...
|
|
266
|
+
--
|
|
267
|
+
-- -v, -verbose verbosely list files
|
|
268
|
+
-- -o, -output[=FILE] dump to FILE
|
|
269
|
+
-- -n, -name=USER only dump USER's files
|
|
270
|
+
-- -V, -version output version information and exit
|
|
271
|
+
-- -h, -help display this help and exit
|
|
272
|
+
|
|
273
|
+
end
|
|
Binary file
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
local util = require 'git.util'
|
|
2
|
+
|
|
3
|
+
local assert, next, io, print, os, type, string, pairs, tostring =
|
|
4
|
+
assert, next, io, print, os, type, string, pairs, tostring
|
|
5
|
+
local join_path = git.util.join_path
|
|
6
|
+
|
|
7
|
+
local require = require
|
|
8
|
+
|
|
9
|
+
local isPosix = package.config:sub(1,1) == '/' -- wild guess
|
|
10
|
+
|
|
11
|
+
module(...)
|
|
12
|
+
|
|
13
|
+
Commit = {}
|
|
14
|
+
Commit.__index = Commit
|
|
15
|
+
|
|
16
|
+
function Commit:tree()
|
|
17
|
+
return self.repo:tree(self.tree_sha)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
function Commit:checkout(path)
|
|
21
|
+
assert(path, 'path argument missing')
|
|
22
|
+
self:tree():checkoutTo(path)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
Tree = {}
|
|
27
|
+
Tree.__index = function (t,k)
|
|
28
|
+
if Tree[k] then return Tree[k] end
|
|
29
|
+
return t:entry(k)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
function Tree:entries()
|
|
33
|
+
return function(t, n)
|
|
34
|
+
local n, entry = next(t, n)
|
|
35
|
+
if entry then
|
|
36
|
+
local object
|
|
37
|
+
if entry.type == 'tree' then
|
|
38
|
+
object = self.repo:tree(entry.id)
|
|
39
|
+
elseif entry.type == 'blob' then
|
|
40
|
+
object = self.repo:blob(entry.id)
|
|
41
|
+
object.mode = entry.mode
|
|
42
|
+
elseif entry.type == 'commit' then
|
|
43
|
+
-- this is possibly a commit in a submodule,
|
|
44
|
+
-- do not retrieve it from current repo
|
|
45
|
+
object = entry
|
|
46
|
+
else
|
|
47
|
+
error('Unknown entry type: ' .. entry.type)
|
|
48
|
+
end
|
|
49
|
+
return n, entry.type, object
|
|
50
|
+
end
|
|
51
|
+
end, self._entries
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
function Tree:entry(n)
|
|
55
|
+
local e = self._entries[n]
|
|
56
|
+
if not e then return end
|
|
57
|
+
if e.type == 'tree' then
|
|
58
|
+
return self.repo:tree(e.id)
|
|
59
|
+
elseif e.type == 'commit' then
|
|
60
|
+
return self.repo:commit(e.id)
|
|
61
|
+
elseif e.type == 'blob' then
|
|
62
|
+
return self.repo:blob(e.id)
|
|
63
|
+
else
|
|
64
|
+
error('Unknown entry type: ' .. e.type)
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
function Tree:walk(func, path)
|
|
69
|
+
path = path or '.'
|
|
70
|
+
assert(type(func) == "function", "argument is not a function")
|
|
71
|
+
local function walk(tree, path)
|
|
72
|
+
for name, type, entry in tree:entries() do
|
|
73
|
+
local entry_path = join_path(path, name)
|
|
74
|
+
func(entry, entry_path, type)
|
|
75
|
+
|
|
76
|
+
if type == "tree" then
|
|
77
|
+
walk(entry, entry_path)
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
walk(self, path)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
function Tree:checkoutTo(path)
|
|
85
|
+
util.make_dir(path)
|
|
86
|
+
self:walk(function (entry, entry_path, type)
|
|
87
|
+
if type == 'tree' then
|
|
88
|
+
util.make_dir(entry_path)
|
|
89
|
+
elseif type == 'blob' then
|
|
90
|
+
local out = assert(io.open(entry_path, 'wb'))
|
|
91
|
+
out:write(entry:content())
|
|
92
|
+
out:close()
|
|
93
|
+
if isPosix then
|
|
94
|
+
local mode = entry.mode:sub(-3,-1) -- fixme: is this ok?
|
|
95
|
+
local cmd = 'chmod '..mode..' "'..entry_path..'"'
|
|
96
|
+
os.execute(cmd)
|
|
97
|
+
end
|
|
98
|
+
elseif type == 'commit' then
|
|
99
|
+
-- this is a submodule referencing a commit,
|
|
100
|
+
-- make a directory for it
|
|
101
|
+
util.make_dir(entry_path)
|
|
102
|
+
else
|
|
103
|
+
error('Unknown entry type: ', type)
|
|
104
|
+
end
|
|
105
|
+
end, path)
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
Blob = {}
|
|
109
|
+
Blob.__index = Blob
|
|
110
|
+
|
|
111
|
+
function Blob:content()
|
|
112
|
+
if self.stored then
|
|
113
|
+
local f = self.repo:raw_object(self.id)
|
|
114
|
+
local ret = f:read('*a') or ""
|
|
115
|
+
f:close()
|
|
116
|
+
return ret
|
|
117
|
+
else
|
|
118
|
+
return self.data
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
|