rufus-lua-win 5.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +69 -0
- data/Rakefile +1 -0
- data/lib/rufus/lua/win.rb +18 -0
- data/lib/rufus/lua/win/version.rb +7 -0
- data/rufus-lua-win.gemspec +23 -0
- data/vendor/lua/bin/liblua.dll +0 -0
- data/vendor/lua/lib/lua/LuaXml.lua +119 -0
- data/vendor/lua/lib/lua/alien.lua +250 -0
- data/vendor/lua/lib/lua/alien/core.dll +0 -0
- data/vendor/lua/lib/lua/alien/struct.dll +0 -0
- data/vendor/lua/lib/lua/base.lua +536 -0
- data/vendor/lua/lib/lua/bin.lua +20 -0
- data/vendor/lua/lib/lua/bit.dll +0 -0
- data/vendor/lua/lib/lua/cdlua.dll +0 -0
- data/vendor/lua/lib/lua/cdluacontextplus.dll +0 -0
- data/vendor/lua/lib/lua/cdluagl.dll +0 -0
- data/vendor/lua/lib/lua/cdluaim.dll +0 -0
- data/vendor/lua/lib/lua/cdluapdf.dll +0 -0
- data/vendor/lua/lib/lua/copas.lua +543 -0
- data/vendor/lua/lib/lua/coxpcall.lua +57 -0
- data/vendor/lua/lib/lua/date.lua +745 -0
- data/vendor/lua/lib/lua/debug_ext.lua +84 -0
- data/vendor/lua/lib/lua/debug_init.lua +2 -0
- data/vendor/lua/lib/lua/des56.dll +0 -0
- data/vendor/lua/lib/lua/dist/config.lua +109 -0
- data/vendor/lua/lib/lua/dist/constraints.lua +271 -0
- data/vendor/lua/lib/lua/dist/depends.lua +601 -0
- data/vendor/lua/lib/lua/dist/git.lua +307 -0
- data/vendor/lua/lib/lua/dist/init.lua +278 -0
- data/vendor/lua/lib/lua/dist/manifest.lua +225 -0
- data/vendor/lua/lib/lua/dist/package.lua +583 -0
- data/vendor/lua/lib/lua/dist/sys.lua +367 -0
- data/vendor/lua/lib/lua/dist/utils.lua +130 -0
- data/vendor/lua/lib/lua/ex.dll +0 -0
- data/vendor/lua/lib/lua/fstable.lua +116 -0
- data/vendor/lua/lib/lua/getopt.lua +273 -0
- data/vendor/lua/lib/lua/git.lua +5 -0
- data/vendor/lua/lib/lua/git/core.dll +0 -0
- data/vendor/lua/lib/lua/git/objects.lua +121 -0
- data/vendor/lua/lib/lua/git/pack.lua +316 -0
- data/vendor/lua/lib/lua/git/protocol.lua +188 -0
- data/vendor/lua/lib/lua/git/repo.lua +283 -0
- data/vendor/lua/lib/lua/git/util.lua +233 -0
- data/vendor/lua/lib/lua/gzio.dll +0 -0
- data/vendor/lua/lib/lua/gzip.lua +81 -0
- data/vendor/lua/lib/lua/iconv.dll +0 -0
- data/vendor/lua/lib/lua/imlua.dll +0 -0
- data/vendor/lua/lib/lua/imlua_fftw.dll +0 -0
- data/vendor/lua/lib/lua/imlua_jp2.dll +0 -0
- data/vendor/lua/lib/lua/imlua_process.dll +0 -0
- data/vendor/lua/lib/lua/imlua_process_omp.dll +0 -0
- data/vendor/lua/lib/lua/io_ext.lua +115 -0
- data/vendor/lua/lib/lua/iuplua.dll +0 -0
- data/vendor/lua/lib/lua/iuplua_mglplot.dll +0 -0
- data/vendor/lua/lib/lua/iuplua_pplot.dll +0 -0
- data/vendor/lua/lib/lua/iupluacd.dll +0 -0
- data/vendor/lua/lib/lua/iupluacontrols.dll +0 -0
- data/vendor/lua/lib/lua/iupluagl.dll +0 -0
- data/vendor/lua/lib/lua/iupluaim.dll +0 -0
- data/vendor/lua/lib/lua/iupluaimglib.dll +0 -0
- data/vendor/lua/lib/lua/iupluatuio.dll +0 -0
- data/vendor/lua/lib/lua/lanes-keeper.lua +302 -0
- data/vendor/lua/lib/lua/lanes.lua +591 -0
- data/vendor/lua/lib/lua/lanes/core.dll +0 -0
- data/vendor/lua/lib/lua/lcs.lua +55 -0
- data/vendor/lua/lib/lua/lemock.lua +659 -0
- data/vendor/lua/lib/lua/lfs.dll +0 -0
- data/vendor/lua/lib/lua/list.lua +375 -0
- data/vendor/lua/lib/lua/logging.lua +189 -0
- data/vendor/lua/lib/lua/logging/console.lua +22 -0
- data/vendor/lua/lib/lua/logging/email.lua +44 -0
- data/vendor/lua/lib/lua/logging/file.lua +55 -0
- data/vendor/lua/lib/lua/logging/rolling_file.lua +81 -0
- data/vendor/lua/lib/lua/logging/socket.lua +35 -0
- data/vendor/lua/lib/lua/logging/sql.lua +64 -0
- data/vendor/lua/lib/lua/loop/base.lua +68 -0
- data/vendor/lua/lib/lua/loop/cached.lua +312 -0
- data/vendor/lua/lib/lua/loop/collection/MapWithArrayOfKeys.lua +64 -0
- data/vendor/lua/lib/lua/loop/collection/ObjectCache.lua +39 -0
- data/vendor/lua/lib/lua/loop/collection/OrderedSet.lua +164 -0
- data/vendor/lua/lib/lua/loop/collection/PriorityQueue.lua +86 -0
- data/vendor/lua/lib/lua/loop/collection/UnorderedArray.lua +32 -0
- data/vendor/lua/lib/lua/loop/collection/UnorderedArraySet.lua +56 -0
- data/vendor/lua/lib/lua/loop/compiler/Arguments.lua +108 -0
- data/vendor/lua/lib/lua/loop/compiler/Conditional.lua +50 -0
- data/vendor/lua/lib/lua/loop/compiler/Expression.lua +215 -0
- data/vendor/lua/lib/lua/loop/component/base.lua +221 -0
- data/vendor/lua/lib/lua/loop/component/contained.lua +71 -0
- data/vendor/lua/lib/lua/loop/component/dynamic.lua +223 -0
- data/vendor/lua/lib/lua/loop/component/intercepted.lua +354 -0
- data/vendor/lua/lib/lua/loop/component/wrapped.lua +195 -0
- data/vendor/lua/lib/lua/loop/debug/Inspector.lua +521 -0
- data/vendor/lua/lib/lua/loop/debug/Matcher.lua +192 -0
- data/vendor/lua/lib/lua/loop/debug/Verbose.lua +266 -0
- data/vendor/lua/lib/lua/loop/debug/Viewer.lua +200 -0
- data/vendor/lua/lib/lua/loop/multiple.lua +105 -0
- data/vendor/lua/lib/lua/loop/object/Exception.lua +57 -0
- data/vendor/lua/lib/lua/loop/object/Publisher.lua +43 -0
- data/vendor/lua/lib/lua/loop/object/Wrapper.lua +39 -0
- data/vendor/lua/lib/lua/loop/scoped.lua +585 -0
- data/vendor/lua/lib/lua/loop/serial/FileStream.lua +48 -0
- data/vendor/lua/lib/lua/loop/serial/Serializer.lua +291 -0
- data/vendor/lua/lib/lua/loop/serial/SocketStream.lua +51 -0
- data/vendor/lua/lib/lua/loop/serial/StringStream.lua +47 -0
- data/vendor/lua/lib/lua/loop/simple.lua +75 -0
- data/vendor/lua/lib/lua/loop/table.lua +71 -0
- data/vendor/lua/lib/lua/loop/thread/CoSocket.lua +416 -0
- data/vendor/lua/lib/lua/loop/thread/IOScheduler.lua +170 -0
- data/vendor/lua/lib/lua/loop/thread/Scheduler.lua +327 -0
- data/vendor/lua/lib/lua/loop/thread/SocketScheduler.lua +88 -0
- data/vendor/lua/lib/lua/loop/thread/Timer.lua +54 -0
- data/vendor/lua/lib/lua/lpeg.dll +0 -0
- data/vendor/lua/lib/lua/ltn12.lua +292 -0
- data/vendor/lua/lib/lua/luaXML_lib.dll +0 -0
- data/vendor/lua/lib/lua/luacurl.dll +0 -0
- data/vendor/lua/lib/lua/luadoc/config.lua +34 -0
- data/vendor/lua/lib/lua/luadoc/doclet/debug.lua +46 -0
- data/vendor/lua/lib/lua/luadoc/doclet/formatter.lua +84 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html.lua +289 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/file.lp +113 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/function.lp +64 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/index.lp +70 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/luadoc.css +286 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/menu.lp +55 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/module.lp +109 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/table.lp +15 -0
- data/vendor/lua/lib/lua/luadoc/doclet/raw.lua +12 -0
- data/vendor/lua/lib/lua/luadoc/init.lua +58 -0
- data/vendor/lua/lib/lua/luadoc/lp.lua +130 -0
- data/vendor/lua/lib/lua/luadoc/taglet/standard.lua +495 -0
- data/vendor/lua/lib/lua/luadoc/taglet/standard/tags.lua +171 -0
- data/vendor/lua/lib/lua/luadoc/util.lua +233 -0
- data/vendor/lua/lib/lua/luagl.dll +0 -0
- data/vendor/lua/lib/lua/luaglu.dll +0 -0
- data/vendor/lua/lib/lua/luaidl.lua +113 -0
- data/vendor/lua/lib/lua/luaidl/lex.lua +793 -0
- data/vendor/lua/lib/lua/luaidl/pre.lua +149 -0
- data/vendor/lua/lib/lua/luaidl/sin.lua +3631 -0
- data/vendor/lua/lib/lua/luarocks/add.lua +108 -0
- data/vendor/lua/lib/lua/luarocks/admin_remove.lua +87 -0
- data/vendor/lua/lib/lua/luarocks/build.lua +330 -0
- data/vendor/lua/lib/lua/luarocks/build/builtin.lua +253 -0
- data/vendor/lua/lib/lua/luarocks/build/cmake.lua +54 -0
- data/vendor/lua/lib/lua/luarocks/build/command.lua +32 -0
- data/vendor/lua/lib/lua/luarocks/build/make.lua +92 -0
- data/vendor/lua/lib/lua/luarocks/cache.lua +85 -0
- data/vendor/lua/lib/lua/luarocks/cfg.lua +449 -0
- data/vendor/lua/lib/lua/luarocks/command_line.lua +163 -0
- data/vendor/lua/lib/lua/luarocks/deps.lua +654 -0
- data/vendor/lua/lib/lua/luarocks/dir.lua +69 -0
- data/vendor/lua/lib/lua/luarocks/download.lua +90 -0
- data/vendor/lua/lib/lua/luarocks/fetch.lua +321 -0
- data/vendor/lua/lib/lua/luarocks/fetch/cvs.lua +44 -0
- data/vendor/lua/lib/lua/luarocks/fetch/git.lua +81 -0
- data/vendor/lua/lib/lua/luarocks/fetch/git_file.lua +17 -0
- data/vendor/lua/lib/lua/luarocks/fetch/hg.lua +54 -0
- data/vendor/lua/lib/lua/luarocks/fetch/sscm.lua +42 -0
- data/vendor/lua/lib/lua/luarocks/fetch/svn.lua +53 -0
- data/vendor/lua/lib/lua/luarocks/fs.lua +40 -0
- data/vendor/lua/lib/lua/luarocks/fs/lua.lua +676 -0
- data/vendor/lua/lib/lua/luarocks/fs/unix.lua +88 -0
- data/vendor/lua/lib/lua/luarocks/fs/unix/tools.lua +325 -0
- data/vendor/lua/lib/lua/luarocks/fs/win32.lua +107 -0
- data/vendor/lua/lib/lua/luarocks/fs/win32/tools.lua +334 -0
- data/vendor/lua/lib/lua/luarocks/help.lua +101 -0
- data/vendor/lua/lib/lua/luarocks/index.lua +172 -0
- data/vendor/lua/lib/lua/luarocks/install.lua +151 -0
- data/vendor/lua/lib/lua/luarocks/list.lua +35 -0
- data/vendor/lua/lib/lua/luarocks/loader.lua +228 -0
- data/vendor/lua/lib/lua/luarocks/make.lua +71 -0
- data/vendor/lua/lib/lua/luarocks/make_manifest.lua +34 -0
- data/vendor/lua/lib/lua/luarocks/manif.lua +360 -0
- data/vendor/lua/lib/lua/luarocks/manif_core.lua +75 -0
- data/vendor/lua/lib/lua/luarocks/new_version.lua +141 -0
- data/vendor/lua/lib/lua/luarocks/pack.lua +205 -0
- data/vendor/lua/lib/lua/luarocks/path.lua +315 -0
- data/vendor/lua/lib/lua/luarocks/persist.lua +173 -0
- data/vendor/lua/lib/lua/luarocks/refresh_cache.lua +30 -0
- data/vendor/lua/lib/lua/luarocks/remove.lua +135 -0
- data/vendor/lua/lib/lua/luarocks/rep.lua +313 -0
- data/vendor/lua/lib/lua/luarocks/require.lua +6 -0
- data/vendor/lua/lib/lua/luarocks/search.lua +399 -0
- data/vendor/lua/lib/lua/luarocks/show.lua +138 -0
- data/vendor/lua/lib/lua/luarocks/site_config.lua +23 -0
- data/vendor/lua/lib/lua/luarocks/tools/patch.lua +712 -0
- data/vendor/lua/lib/lua/luarocks/tools/tar.lua +144 -0
- data/vendor/lua/lib/lua/luarocks/tools/zip.lua +245 -0
- data/vendor/lua/lib/lua/luarocks/type_check.lua +267 -0
- data/vendor/lua/lib/lua/luarocks/unpack.lua +151 -0
- data/vendor/lua/lib/lua/luarocks/util.lua +420 -0
- data/vendor/lua/lib/lua/luarocks/validate.lua +164 -0
- data/vendor/lua/lib/lua/luars232.dll +0 -0
- data/vendor/lua/lib/lua/luasql/mysql.dll +0 -0
- data/vendor/lua/lib/lua/luasql/postgres.dll +0 -0
- data/vendor/lua/lib/lua/luasql/sqlite3.dll +0 -0
- data/vendor/lua/lib/lua/luaunit.lua +601 -0
- data/vendor/lua/lib/lua/lxp.dll +0 -0
- data/vendor/lua/lib/lua/lxp/lom.lua +60 -0
- data/vendor/lua/lib/lua/math_ext.lua +27 -0
- data/vendor/lua/lib/lua/mbox.lua +53 -0
- data/vendor/lua/lib/lua/md5.lua +19 -0
- data/vendor/lua/lib/lua/md5/core.dll +0 -0
- data/vendor/lua/lib/lua/metalua.lua +0 -0
- data/vendor/lua/lib/lua/metalua/ast_to_string.mlua +553 -0
- data/vendor/lua/lib/lua/metalua/base.lua +104 -0
- data/vendor/lua/lib/lua/metalua/bytecode.lua +0 -0
- data/vendor/lua/lib/lua/metalua/clopts.mlua +204 -0
- data/vendor/lua/lib/lua/metalua/compiler.lua +3 -0
- data/vendor/lua/lib/lua/metalua/dollar.mlua +24 -0
- data/vendor/lua/lib/lua/metalua/extension/H-runtime.mlua +216 -0
- data/vendor/lua/lib/lua/metalua/extension/H.mlua +22 -0
- data/vendor/lua/lib/lua/metalua/extension/anaphoric.mlua +54 -0
- data/vendor/lua/lib/lua/metalua/extension/clist.mlua +149 -0
- data/vendor/lua/lib/lua/metalua/extension/continue.mlua +53 -0
- data/vendor/lua/lib/lua/metalua/extension/localin.mlua +2 -0
- data/vendor/lua/lib/lua/metalua/extension/log.mlua +39 -0
- data/vendor/lua/lib/lua/metalua/extension/match.mlua +374 -0
- data/vendor/lua/lib/lua/metalua/extension/ternary.mlua +10 -0
- data/vendor/lua/lib/lua/metalua/extension/trycatch.mlua +189 -0
- data/vendor/lua/lib/lua/metalua/extension/types-runtime.mlua +159 -0
- data/vendor/lua/lib/lua/metalua/extension/types.mlua +352 -0
- data/vendor/lua/lib/lua/metalua/extension/withdo.mlua +30 -0
- data/vendor/lua/lib/lua/metalua/extension/xglobal-runtime.lua +41 -0
- data/vendor/lua/lib/lua/metalua/extension/xglobal.mlua +20 -0
- data/vendor/lua/lib/lua/metalua/extension/xloop.mlua +100 -0
- data/vendor/lua/lib/lua/metalua/extension/xmatch.mlua +216 -0
- data/vendor/lua/lib/lua/metalua/metaloop.mlua +76 -0
- data/vendor/lua/lib/lua/metalua/mlc.lua +0 -0
- data/vendor/lua/lib/lua/metalua/mlc_xcall.lua +119 -0
- data/vendor/lua/lib/lua/metalua/mlp.lua +0 -0
- data/vendor/lua/lib/lua/metalua/package2.lua +101 -0
- data/vendor/lua/lib/lua/metalua/runtime.lua +3 -0
- data/vendor/lua/lib/lua/metalua/string2.lua +44 -0
- data/vendor/lua/lib/lua/metalua/table2.lua +372 -0
- data/vendor/lua/lib/lua/metalua/walk.mlua +304 -0
- data/vendor/lua/lib/lua/metalua/walk/bindings.mlua +41 -0
- data/vendor/lua/lib/lua/metalua/walk/id.mlua +186 -0
- data/vendor/lua/lib/lua/metalua/walk/scope.lua +54 -0
- data/vendor/lua/lib/lua/mime.lua +87 -0
- data/vendor/lua/lib/lua/mime/core.dll +0 -0
- data/vendor/lua/lib/lua/mobdebug.lua +1484 -0
- data/vendor/lua/lib/lua/modules.lua +16 -0
- data/vendor/lua/lib/lua/object.lua +56 -0
- data/vendor/lua/lib/lua/oil/Exception.lua +26 -0
- data/vendor/lua/lib/lua/oil/arch.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/basic/client.lua +29 -0
- data/vendor/lua/lib/lua/oil/arch/basic/common.lua +13 -0
- data/vendor/lua/lib/lua/oil/arch/basic/server.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/cooperative/common.lua +10 -0
- data/vendor/lua/lib/lua/oil/arch/cooperative/server.lua +16 -0
- data/vendor/lua/lib/lua/oil/arch/corba/client.lua +39 -0
- data/vendor/lua/lib/lua/oil/arch/corba/common.lua +58 -0
- data/vendor/lua/lib/lua/oil/arch/corba/intercepted/client.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/corba/intercepted/server.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/corba/server.lua +35 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/byref.lua +18 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/client.lua +19 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/common.lua +18 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/server.lua +19 -0
- data/vendor/lua/lib/lua/oil/arch/typed/client.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/typed/common.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/typed/server.lua +18 -0
- data/vendor/lua/lib/lua/oil/assert.lua +87 -0
- data/vendor/lua/lib/lua/oil/builder.lua +45 -0
- data/vendor/lua/lib/lua/oil/builder/basic/client.lua +31 -0
- data/vendor/lua/lib/lua/oil/builder/basic/common.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/basic/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/cooperative/common.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/cooperative/server.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/client.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/corba/common.lua +24 -0
- data/vendor/lua/lib/lua/oil/builder/corba/gencode.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/corba/intercepted/client.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/intercepted/server.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/lua/client.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/lua/server.lua +12 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/byref.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/client.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/common.lua +14 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/typed/client.lua +16 -0
- data/vendor/lua/lib/lua/oil/builder/typed/server.lua +12 -0
- data/vendor/lua/lib/lua/oil/compat.lua +846 -0
- data/vendor/lua/lib/lua/oil/component.lua +1 -0
- data/vendor/lua/lib/lua/oil/corba/giop.lua +301 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Codec.lua +1568 -0
- data/vendor/lua/lib/lua/oil/corba/giop/CodecGen.lua +589 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Exception.lua +25 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Indexer.lua +63 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Listener.lua +343 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Messenger.lua +228 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Referrer.lua +180 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Requester.lua +462 -0
- data/vendor/lua/lib/lua/oil/corba/idl.lua +597 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Compiler.lua +133 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Importer.lua +235 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Indexer.lua +95 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Registry.lua +1821 -0
- data/vendor/lua/lib/lua/oil/corba/idl/ir.lua +847 -0
- data/vendor/lua/lib/lua/oil/corba/idl/sysex.lua +21 -0
- data/vendor/lua/lib/lua/oil/corba/iiop/Profiler.lua +200 -0
- data/vendor/lua/lib/lua/oil/corba/intercepted/Listener.lua +158 -0
- data/vendor/lua/lib/lua/oil/corba/intercepted/Requester.lua +181 -0
- data/vendor/lua/lib/lua/oil/corba/services/event.lua +126 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ConsumerAdmin.lua +50 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/EventFactory.lua +15 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/EventQueue.lua +37 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushConsumer.lua +75 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushSupplier.lua +62 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SingleDeferredDispatcher.lua +60 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SingleSynchronousDispatcher.lua +39 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SupplierAdmin.lua +50 -0
- data/vendor/lua/lib/lua/oil/corba/services/naming.lua +436 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Acceptor.lua +268 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Channels.lua +121 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Connector.lua +147 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Dispatcher.lua +99 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies.lua +86 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/asynchronous.lua +56 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/protected.lua +17 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/synchronous.lua +17 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/utils.lua +29 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Receiver.lua +110 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Servants.lua +207 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Sockets.lua +44 -0
- data/vendor/lua/lib/lua/oil/kernel/cooperative/Receiver.lua +139 -0
- data/vendor/lua/lib/lua/oil/kernel/intercepted/Listener.lua +47 -0
- data/vendor/lua/lib/lua/oil/kernel/intercepted/Requester.lua +58 -0
- data/vendor/lua/lib/lua/oil/kernel/lua/Dispatcher.lua +76 -0
- data/vendor/lua/lib/lua/oil/kernel/lua/Proxies.lua +69 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Dispatcher.lua +91 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Proxies.lua +153 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Servants.lua +137 -0
- data/vendor/lua/lib/lua/oil/ludo/Codec.lua +66 -0
- data/vendor/lua/lib/lua/oil/ludo/CodecByRef.lua +103 -0
- data/vendor/lua/lib/lua/oil/ludo/Listener.lua +151 -0
- data/vendor/lua/lib/lua/oil/ludo/Referrer.lua +72 -0
- data/vendor/lua/lib/lua/oil/ludo/Requester.lua +107 -0
- data/vendor/lua/lib/lua/oil/oo.lua +1 -0
- data/vendor/lua/lib/lua/oil/port.lua +1 -0
- data/vendor/lua/lib/lua/oil/properties.lua +57 -0
- data/vendor/lua/lib/lua/oil/verbose.lua +133 -0
- data/vendor/lua/lib/lua/package_ext.lua +15 -0
- data/vendor/lua/lib/lua/parser.lua +268 -0
- data/vendor/lua/lib/lua/pl/Date.lua +555 -0
- data/vendor/lua/lib/lua/pl/List.lua +613 -0
- data/vendor/lua/lib/lua/pl/Map.lua +113 -0
- data/vendor/lua/lib/lua/pl/MultiMap.lua +62 -0
- data/vendor/lua/lib/lua/pl/OrderedMap.lua +151 -0
- data/vendor/lua/lib/lua/pl/Set.lua +153 -0
- data/vendor/lua/lib/lua/pl/app.lua +165 -0
- data/vendor/lua/lib/lua/pl/array2d.lua +501 -0
- data/vendor/lua/lib/lua/pl/class.lua +180 -0
- data/vendor/lua/lib/lua/pl/comprehension.lua +286 -0
- data/vendor/lua/lib/lua/pl/config.lua +176 -0
- data/vendor/lua/lib/lua/pl/data.lua +606 -0
- data/vendor/lua/lib/lua/pl/dir.lua +475 -0
- data/vendor/lua/lib/lua/pl/file.lua +70 -0
- data/vendor/lua/lib/lua/pl/func.lua +376 -0
- data/vendor/lua/lib/lua/pl/init.lua +68 -0
- data/vendor/lua/lib/lua/pl/input.lua +173 -0
- data/vendor/lua/lib/lua/pl/lapp.lua +407 -0
- data/vendor/lua/lib/lua/pl/lexer.lua +456 -0
- data/vendor/lua/lib/lua/pl/luabalanced.lua +264 -0
- data/vendor/lua/lib/lua/pl/operator.lua +201 -0
- data/vendor/lua/lib/lua/pl/path.lua +398 -0
- data/vendor/lua/lib/lua/pl/permute.lua +63 -0
- data/vendor/lua/lib/lua/pl/platf/luajava.lua +101 -0
- data/vendor/lua/lib/lua/pl/pretty.lua +285 -0
- data/vendor/lua/lib/lua/pl/seq.lua +551 -0
- data/vendor/lua/lib/lua/pl/sip.lua +344 -0
- data/vendor/lua/lib/lua/pl/strict.lua +70 -0
- data/vendor/lua/lib/lua/pl/stringio.lua +158 -0
- data/vendor/lua/lib/lua/pl/stringx.lua +440 -0
- data/vendor/lua/lib/lua/pl/tablex.lua +817 -0
- data/vendor/lua/lib/lua/pl/template.lua +103 -0
- data/vendor/lua/lib/lua/pl/test.lua +135 -0
- data/vendor/lua/lib/lua/pl/text.lua +243 -0
- data/vendor/lua/lib/lua/pl/utils.lua +550 -0
- data/vendor/lua/lib/lua/pl/xml.lua +689 -0
- data/vendor/lua/lib/lua/profiler.dll +0 -0
- data/vendor/lua/lib/lua/re.lua +248 -0
- data/vendor/lua/lib/lua/rex_onig.dll +0 -0
- data/vendor/lua/lib/lua/rex_pcre.dll +0 -0
- data/vendor/lua/lib/lua/rex_posix.dll +0 -0
- data/vendor/lua/lib/lua/rings.dll +0 -0
- data/vendor/lua/lib/lua/serialize.lua +193 -0
- data/vendor/lua/lib/lua/set.lua +149 -0
- data/vendor/lua/lib/lua/socket.lua +133 -0
- data/vendor/lua/lib/lua/socket/core.dll +0 -0
- data/vendor/lua/lib/lua/socket/ftp.lua +281 -0
- data/vendor/lua/lib/lua/socket/http.lua +350 -0
- data/vendor/lua/lib/lua/socket/smtp.lua +251 -0
- data/vendor/lua/lib/lua/socket/tp.lua +123 -0
- data/vendor/lua/lib/lua/socket/url.lua +297 -0
- data/vendor/lua/lib/lua/ssl.dll +0 -0
- data/vendor/lua/lib/lua/ssl.lua +93 -0
- data/vendor/lua/lib/lua/ssl/https.lua +138 -0
- data/vendor/lua/lib/lua/stable.lua +28 -0
- data/vendor/lua/lib/lua/std.lua +16 -0
- data/vendor/lua/lib/lua/strbuf.lua +32 -0
- data/vendor/lua/lib/lua/strict.lua +45 -0
- data/vendor/lua/lib/lua/string_ext.lua +274 -0
- data/vendor/lua/lib/lua/table_ext.lua +117 -0
- data/vendor/lua/lib/lua/tar.lua +262 -0
- data/vendor/lua/lib/lua/task.dll +0 -0
- data/vendor/lua/lib/lua/tree.lua +81 -0
- data/vendor/lua/lib/lua/unicode.dll +0 -0
- data/vendor/lua/lib/lua/verbose_require.lua +11 -0
- data/vendor/lua/lib/lua/vstruct.lua +86 -0
- data/vendor/lua/lib/lua/vstruct/ast.lua +192 -0
- data/vendor/lua/lib/lua/vstruct/ast/Bitpack.lua +33 -0
- data/vendor/lua/lib/lua/vstruct/ast/Generator.lua +174 -0
- data/vendor/lua/lib/lua/vstruct/ast/IO.lua +45 -0
- data/vendor/lua/lib/lua/vstruct/ast/List.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/ast/Name.lua +20 -0
- data/vendor/lua/lib/lua/vstruct/ast/Repeat.lua +23 -0
- data/vendor/lua/lib/lua/vstruct/ast/Root.lua +19 -0
- data/vendor/lua/lib/lua/vstruct/ast/Table.lua +65 -0
- data/vendor/lua/lib/lua/vstruct/cursor.lua +81 -0
- data/vendor/lua/lib/lua/vstruct/io.lua +45 -0
- data/vendor/lua/lib/lua/vstruct/io/a.lua +24 -0
- data/vendor/lua/lib/lua/vstruct/io/b.lua +28 -0
- data/vendor/lua/lib/lua/vstruct/io/bigendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/c.lua +25 -0
- data/vendor/lua/lib/lua/vstruct/io/defaults.lua +24 -0
- data/vendor/lua/lib/lua/vstruct/io/endianness.lua +41 -0
- data/vendor/lua/lib/lua/vstruct/io/f.lua +129 -0
- data/vendor/lua/lib/lua/vstruct/io/hostendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/i.lua +42 -0
- data/vendor/lua/lib/lua/vstruct/io/littleendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/m.lua +62 -0
- data/vendor/lua/lib/lua/vstruct/io/p.lua +23 -0
- data/vendor/lua/lib/lua/vstruct/io/s.lua +27 -0
- data/vendor/lua/lib/lua/vstruct/io/seekb.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/seekf.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/seekto.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/u.lua +54 -0
- data/vendor/lua/lib/lua/vstruct/io/x.lua +34 -0
- data/vendor/lua/lib/lua/vstruct/io/z.lua +63 -0
- data/vendor/lua/lib/lua/vstruct/lexer.lua +100 -0
- data/vendor/lua/lib/lua/vstruct/pack.lua +142 -0
- data/vendor/lua/lib/lua/vstruct/test.lua +47 -0
- data/vendor/lua/lib/lua/vstruct/test/basic.lua +73 -0
- data/vendor/lua/lib/lua/vstruct/test/common.lua +100 -0
- data/vendor/lua/lib/lua/vstruct/test/fp-bigendian.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/test/fp-littleendian.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/test/struct-test-gen.lua +1230 -0
- data/vendor/lua/lib/lua/vstruct/unpack.lua +126 -0
- data/vendor/lua/lib/lua/wx.dll +0 -0
- data/vendor/lua/lib/lua/xml.lua +75 -0
- data/vendor/lua/lib/lua/zip.dll +0 -0
- data/vendor/lua/lib/lua/zlib.dll +0 -0
- metadata +529 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
----------------------------------------------------------------------------
|
|
2
|
+
-- LuaSec 0.4
|
|
3
|
+
-- Copyright (C) 2009 PUC-Rio
|
|
4
|
+
--
|
|
5
|
+
-- Author: Pablo Musa
|
|
6
|
+
-- Author: Tomas Guisasola
|
|
7
|
+
---------------------------------------------------------------------------
|
|
8
|
+
|
|
9
|
+
local socket = require("socket")
|
|
10
|
+
local ssl = require("ssl")
|
|
11
|
+
local ltn12 = require("ltn12")
|
|
12
|
+
local http = require("socket.http")
|
|
13
|
+
local url = require("socket.url")
|
|
14
|
+
|
|
15
|
+
local table = require("table")
|
|
16
|
+
local string = require("string")
|
|
17
|
+
|
|
18
|
+
local try = socket.try
|
|
19
|
+
local type = type
|
|
20
|
+
local pairs = pairs
|
|
21
|
+
local getmetatable = getmetatable
|
|
22
|
+
|
|
23
|
+
module("ssl.https")
|
|
24
|
+
|
|
25
|
+
_VERSION = "0.4"
|
|
26
|
+
_COPYRIGHT = "LuaSec 0.4 - Copyright (C) 2009 PUC-Rio"
|
|
27
|
+
|
|
28
|
+
-- Default settings
|
|
29
|
+
PORT = 443
|
|
30
|
+
|
|
31
|
+
local cfg = {
|
|
32
|
+
protocol = "tlsv1",
|
|
33
|
+
options = "all",
|
|
34
|
+
verify = "none",
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
--------------------------------------------------------------------
|
|
38
|
+
-- Auxiliar Functions
|
|
39
|
+
--------------------------------------------------------------------
|
|
40
|
+
|
|
41
|
+
-- Insert default HTTPS port.
|
|
42
|
+
local function default_https_port(u)
|
|
43
|
+
return url.build(url.parse(u, {port = PORT}))
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
-- Convert an URL to a table according to Luasocket needs.
|
|
47
|
+
local function urlstring_totable(url, body, result_table)
|
|
48
|
+
url = {
|
|
49
|
+
url = default_https_port(url),
|
|
50
|
+
method = body and "POST" or "GET",
|
|
51
|
+
sink = ltn12.sink.table(result_table)
|
|
52
|
+
}
|
|
53
|
+
if body then
|
|
54
|
+
url.source = ltn12.source.string(body)
|
|
55
|
+
url.headers = {
|
|
56
|
+
["content-length"] = #body,
|
|
57
|
+
["content-type"] = "application/x-www-form-urlencoded",
|
|
58
|
+
}
|
|
59
|
+
end
|
|
60
|
+
return url
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
-- Forward calls to the real connection object.
|
|
64
|
+
local function reg(conn)
|
|
65
|
+
local mt = getmetatable(conn.sock).__index
|
|
66
|
+
for name, method in pairs(mt) do
|
|
67
|
+
if type(method) == "function" then
|
|
68
|
+
conn[name] = function (self, ...)
|
|
69
|
+
return method(self.sock, ...)
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
-- Return a function which performs the SSL/TLS connection.
|
|
76
|
+
local function tcp(params)
|
|
77
|
+
params = params or {}
|
|
78
|
+
-- Default settings
|
|
79
|
+
for k, v in pairs(cfg) do
|
|
80
|
+
params[k] = params[k] or v
|
|
81
|
+
end
|
|
82
|
+
-- Force client mode
|
|
83
|
+
params.mode = "client"
|
|
84
|
+
-- 'create' function for LuaSocket
|
|
85
|
+
return function ()
|
|
86
|
+
local conn = {}
|
|
87
|
+
conn.sock = try(socket.tcp())
|
|
88
|
+
local st = getmetatable(conn.sock).__index.settimeout
|
|
89
|
+
function conn:settimeout(...)
|
|
90
|
+
return st(self.sock, ...)
|
|
91
|
+
end
|
|
92
|
+
-- Replace TCP's connection function
|
|
93
|
+
function conn:connect(host, port)
|
|
94
|
+
try(self.sock:connect(host, port))
|
|
95
|
+
self.sock = try(ssl.wrap(self.sock, params))
|
|
96
|
+
try(self.sock:dohandshake())
|
|
97
|
+
reg(self, getmetatable(self.sock))
|
|
98
|
+
return 1
|
|
99
|
+
end
|
|
100
|
+
return conn
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
--------------------------------------------------------------------
|
|
105
|
+
-- Main Function
|
|
106
|
+
--------------------------------------------------------------------
|
|
107
|
+
|
|
108
|
+
-- Make a HTTP request over secure connection. This function receives
|
|
109
|
+
-- the same parameters of LuaSocket's HTTP module (except 'proxy' and
|
|
110
|
+
-- 'redirect') plus LuaSec parameters.
|
|
111
|
+
--
|
|
112
|
+
-- @param url mandatory (string or table)
|
|
113
|
+
-- @param body optional (string)
|
|
114
|
+
-- @return (string if url == string or 1), code, headers, status
|
|
115
|
+
--
|
|
116
|
+
function request(url, body)
|
|
117
|
+
local result_table = {}
|
|
118
|
+
local stringrequest = type(url) == "string"
|
|
119
|
+
if stringrequest then
|
|
120
|
+
url = urlstring_totable(url, body, result_table)
|
|
121
|
+
else
|
|
122
|
+
url.url = default_https_port(url.url)
|
|
123
|
+
end
|
|
124
|
+
if http.PROXY or url.proxy then
|
|
125
|
+
return nil, "proxy not supported"
|
|
126
|
+
elseif url.redirect then
|
|
127
|
+
return nil, "redirect not supported"
|
|
128
|
+
elseif url.create then
|
|
129
|
+
return nil, "create function not permitted"
|
|
130
|
+
end
|
|
131
|
+
-- New 'create' function to establish a secure connection
|
|
132
|
+
url.create = tcp(url)
|
|
133
|
+
local res, code, headers, status = http.request(url)
|
|
134
|
+
if res and stringrequest then
|
|
135
|
+
return table.concat(result_table), code, headers, status
|
|
136
|
+
end
|
|
137
|
+
return res, code, headers, status
|
|
138
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
----------------------------------------------------------------------------
|
|
2
|
+
-- Stable: State persistent table for Rings.
|
|
3
|
+
--
|
|
4
|
+
-- Copyright (c) 2006-2007 Kepler Project
|
|
5
|
+
-- $Id: stable.lua,v 1.7 2008/06/30 17:52:31 carregal Exp $
|
|
6
|
+
----------------------------------------------------------------------------
|
|
7
|
+
|
|
8
|
+
local remotedostring = assert (remotedostring, "There is no `remotedostring'. Probably not in a slave state")
|
|
9
|
+
-- creating persistent table at master state.
|
|
10
|
+
assert (remotedostring[[_state_persistent_table_ = _state_persistent_table_ or {}]])
|
|
11
|
+
|
|
12
|
+
module"stable"
|
|
13
|
+
|
|
14
|
+
----------------------------------------------------------------------------
|
|
15
|
+
_COPYRIGHT = "Copyright (C) 2006 Kepler Project"
|
|
16
|
+
_DESCRIPTION = "State persistent table"
|
|
17
|
+
_VERSION = "Stable 1.0"
|
|
18
|
+
|
|
19
|
+
----------------------------------------------------------------------------
|
|
20
|
+
function get (i)
|
|
21
|
+
local ok, value = remotedostring ("return _state_persistent_table_[...]", i)
|
|
22
|
+
return value
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
----------------------------------------------------------------------------
|
|
26
|
+
function set (i, v)
|
|
27
|
+
remotedostring ("_state_persistent_table_[select(1,...)] = select(2,...)", i, v)
|
|
28
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
--- Lua standard library
|
|
2
|
+
-- <ul>
|
|
3
|
+
-- <li>TODO: Write a style guide (indenting/wrapping, capitalisation,
|
|
4
|
+
-- function and variable names); library functions should call
|
|
5
|
+
-- error, not die; OO vs non-OO (a thorny problem).</li>
|
|
6
|
+
-- <li>TODO: Add tests for each function immediately after the function;
|
|
7
|
+
-- this also helps to check module dependencies.</li>
|
|
8
|
+
-- <li>TODO: pre-compile.</li>
|
|
9
|
+
-- </ul>
|
|
10
|
+
module ("std", package.seeall)
|
|
11
|
+
|
|
12
|
+
version = "General Lua libraries / 29"
|
|
13
|
+
|
|
14
|
+
for _, m in ipairs (require "modules") do
|
|
15
|
+
require (m)
|
|
16
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
--- String buffers
|
|
2
|
+
module ("strbuf", package.seeall)
|
|
3
|
+
|
|
4
|
+
--- Create a new string buffer
|
|
5
|
+
local metatable = {}
|
|
6
|
+
function new ()
|
|
7
|
+
return setmetatable ({}, metatable)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
--- Add a string to a buffer
|
|
11
|
+
-- @param b buffer
|
|
12
|
+
-- @param s string to add
|
|
13
|
+
-- @return buffer
|
|
14
|
+
function concat (b, s)
|
|
15
|
+
table.insert (b, s)
|
|
16
|
+
return b
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
--- Convert a buffer to a string
|
|
20
|
+
-- @param b buffer
|
|
21
|
+
-- @return string
|
|
22
|
+
function tostring (b)
|
|
23
|
+
return table.concat (b)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
--- Metamethods for string buffers
|
|
27
|
+
-- buffer:method ()
|
|
28
|
+
metatable.__index = _M
|
|
29
|
+
-- buffer .. string
|
|
30
|
+
metatable.__concat = concat
|
|
31
|
+
-- tostring
|
|
32
|
+
metatable.__tostring = tostring
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
--
|
|
2
|
+
-- strict.lua
|
|
3
|
+
-- checks uses of undeclared global variables
|
|
4
|
+
-- All global variables must be 'declared' through a regular assignment
|
|
5
|
+
-- (even assigning nil will do) in a main chunk before being used
|
|
6
|
+
-- anywhere or assigned to inside a function.
|
|
7
|
+
--
|
|
8
|
+
|
|
9
|
+
local getinfo, error, rawset, rawget = debug.getinfo, error, rawset, rawget
|
|
10
|
+
|
|
11
|
+
local mt = getmetatable(_G)
|
|
12
|
+
if mt == nil then
|
|
13
|
+
mt = {}
|
|
14
|
+
setmetatable(_G, mt)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
__strict = true
|
|
18
|
+
mt.__declared = {}
|
|
19
|
+
|
|
20
|
+
local function what ()
|
|
21
|
+
local d = getinfo(3, "S")
|
|
22
|
+
return d and d.what or "C"
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
mt.__newindex = function (t, n, v)
|
|
26
|
+
if __strict and not mt.__declared[n] then
|
|
27
|
+
local w = what()
|
|
28
|
+
if w ~= "main" and w ~= "C" then
|
|
29
|
+
error("assign to undeclared variable '"..n.."'", 2)
|
|
30
|
+
end
|
|
31
|
+
mt.__declared[n] = true
|
|
32
|
+
end
|
|
33
|
+
rawset(t, n, v)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
mt.__index = function (t, n)
|
|
37
|
+
if __strict and not mt.__declared[n] and what() ~= "C" then
|
|
38
|
+
error("variable '"..n.."' is not declared", 2)
|
|
39
|
+
end
|
|
40
|
+
return rawget(t, n)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
function global(...)
|
|
44
|
+
for _, v in ipairs{...} do mt.__declared[v] = true end
|
|
45
|
+
end
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
--- Additions to the string module
|
|
2
|
+
-- TODO: Pretty printing (use in getopt); see source for details.
|
|
3
|
+
module ("string", package.seeall)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
-- Write pretty-printing based on:
|
|
7
|
+
--
|
|
8
|
+
-- John Hughes's and Simon Peyton Jones's Pretty Printer Combinators
|
|
9
|
+
--
|
|
10
|
+
-- Based on "The Design of a Pretty-printing Library in Advanced
|
|
11
|
+
-- Functional Programming", Johan Jeuring and Erik Meijer (eds), LNCS 925
|
|
12
|
+
-- http://www.cs.chalmers.se/~rjmh/Papers/pretty.ps
|
|
13
|
+
-- Heavily modified by Simon Peyton Jones, Dec 96
|
|
14
|
+
--
|
|
15
|
+
-- Haskell types:
|
|
16
|
+
-- data Doc list of lines
|
|
17
|
+
-- quote :: Char -> Char -> Doc -> Doc Wrap document in ...
|
|
18
|
+
-- (<>) :: Doc -> Doc -> Doc Beside
|
|
19
|
+
-- (<+>) :: Doc -> Doc -> Doc Beside, separated by space
|
|
20
|
+
-- ($$) :: Doc -> Doc -> Doc Above; if there is no overlap it "dovetails" the two
|
|
21
|
+
-- nest :: Int -> Doc -> Doc Nested
|
|
22
|
+
-- punctuate :: Doc -> [Doc] -> [Doc] punctuate p [d1, ... dn] = [d1 <> p, d2 <> p, ... dn-1 <> p, dn]
|
|
23
|
+
-- render :: Int Line length
|
|
24
|
+
-- -> Float Ribbons per line
|
|
25
|
+
-- -> (TextDetails -> a -> a) What to do with text
|
|
26
|
+
-- -> a What to do at the end
|
|
27
|
+
-- -> Doc The document
|
|
28
|
+
-- -> a Result
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
--- Give strings a subscription operator.
|
|
32
|
+
-- @param s string
|
|
33
|
+
-- @param i index
|
|
34
|
+
-- @return <code>string.sub (s, i, i)</code> if i is a number, or
|
|
35
|
+
-- falls back to any previous metamethod (by default, string methods)
|
|
36
|
+
local old__index = getmetatable ("").__index
|
|
37
|
+
getmetatable ("").__index = function (s, i)
|
|
38
|
+
if type (i) == "number" then
|
|
39
|
+
return sub (s, i, i)
|
|
40
|
+
-- Fall back to old metamethods
|
|
41
|
+
elseif type (old__index) == "function" then
|
|
42
|
+
return old__index (s, i)
|
|
43
|
+
else
|
|
44
|
+
return old__index[i]
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
--- Give strings an append metamethod.
|
|
49
|
+
-- @param s string
|
|
50
|
+
-- @param c character (1-character string)
|
|
51
|
+
-- @return <code>s .. c</code>
|
|
52
|
+
getmetatable ("").__append = function (s, c)
|
|
53
|
+
return s .. c
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
--- Give strings a concat metamethod.
|
|
57
|
+
-- @param s string
|
|
58
|
+
-- @param o object
|
|
59
|
+
-- @return s .. tostring (o)
|
|
60
|
+
getmetatable ("").__concat = function (s, o)
|
|
61
|
+
return tostring (s) .. tostring (o)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
--- Capitalise each word in a string.
|
|
65
|
+
-- @param s string
|
|
66
|
+
-- @return capitalised string
|
|
67
|
+
function caps (s)
|
|
68
|
+
return (gsub (s, "(%w)([%w]*)",
|
|
69
|
+
function (l, ls)
|
|
70
|
+
return upper (l) .. ls
|
|
71
|
+
end))
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
--- Remove any final newline from a string.
|
|
75
|
+
-- @param s string to process
|
|
76
|
+
-- @return processed string
|
|
77
|
+
function chomp (s)
|
|
78
|
+
return (gsub (s, "\n$", ""))
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
--- Escape a string to be used as a pattern
|
|
82
|
+
-- @param s string to process
|
|
83
|
+
-- @return
|
|
84
|
+
-- @param s_: processed string
|
|
85
|
+
function escapePattern (s)
|
|
86
|
+
return (gsub (s, "(%W)", "%%%1"))
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
-- Escape a string to be used as a shell token.
|
|
90
|
+
-- Quotes spaces, parentheses, brackets, quotes, apostrophes and
|
|
91
|
+
-- whitespace.
|
|
92
|
+
-- @param s string to process
|
|
93
|
+
-- @return processed string
|
|
94
|
+
function escapeShell (s)
|
|
95
|
+
return (gsub (s, "([ %(%)%\\%[%]\"'])", "\\%1"))
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
--- Return the English suffix for an ordinal.
|
|
99
|
+
-- @param n number of the day
|
|
100
|
+
-- @return suffix
|
|
101
|
+
function ordinalSuffix (n)
|
|
102
|
+
n = math.mod (n, 100)
|
|
103
|
+
local d = math.mod (n, 10)
|
|
104
|
+
if d == 1 and n ~= 11 then
|
|
105
|
+
return "st"
|
|
106
|
+
elseif d == 2 and n ~= 12 then
|
|
107
|
+
return "nd"
|
|
108
|
+
elseif d == 3 and n ~= 13 then
|
|
109
|
+
return "rd"
|
|
110
|
+
else
|
|
111
|
+
return "th"
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
--- Extend to work better with one argument.
|
|
116
|
+
-- If only one argument is passed, no formatting is attempted.
|
|
117
|
+
-- @param f format
|
|
118
|
+
-- @param ... arguments to format
|
|
119
|
+
-- @return formatted string
|
|
120
|
+
local _format = format
|
|
121
|
+
function format (f, arg1, ...)
|
|
122
|
+
if arg1 == nil then
|
|
123
|
+
return f
|
|
124
|
+
else
|
|
125
|
+
return _format (f, arg1, ...)
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
--- Justify a string.
|
|
130
|
+
-- When the string is longer than w, it is truncated (left or right
|
|
131
|
+
-- according to the sign of w).
|
|
132
|
+
-- @param s string to justify
|
|
133
|
+
-- @param w width to justify to (-ve means right-justify; +ve means
|
|
134
|
+
-- left-justify)
|
|
135
|
+
-- @param p string to pad with (default: <code>" "</code>)
|
|
136
|
+
-- @return justified string
|
|
137
|
+
function pad (s, w, p)
|
|
138
|
+
p = rep (p or " ", math.abs (w))
|
|
139
|
+
if w < 0 then
|
|
140
|
+
return sub (p .. s, w)
|
|
141
|
+
end
|
|
142
|
+
return sub (s .. p, 1, w)
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
--- Wrap a string into a paragraph.
|
|
146
|
+
-- @param s string to wrap
|
|
147
|
+
-- @param w width to wrap to (default: 78)
|
|
148
|
+
-- @param ind indent (default: 0)
|
|
149
|
+
-- @param ind1 indent of first line (default: ind)
|
|
150
|
+
-- @return wrapped paragraph
|
|
151
|
+
function wrap (s, w, ind, ind1)
|
|
152
|
+
w = w or 78
|
|
153
|
+
ind = ind or 0
|
|
154
|
+
ind1 = ind1 or ind
|
|
155
|
+
assert (ind1 < w and ind < w,
|
|
156
|
+
"the indents must be less than the line width")
|
|
157
|
+
s = rep (" ", ind1) .. s
|
|
158
|
+
local lstart, len = 1, len (s)
|
|
159
|
+
while len - lstart > w - ind do
|
|
160
|
+
local i = lstart + w - ind
|
|
161
|
+
while i > lstart and sub (s, i, i) ~= " " do
|
|
162
|
+
i = i - 1
|
|
163
|
+
end
|
|
164
|
+
local j = i
|
|
165
|
+
while j > lstart and sub (s, j, j) == " " do
|
|
166
|
+
j = j - 1
|
|
167
|
+
end
|
|
168
|
+
s = sub (s, 1, j) .. "\n" .. rep (" ", ind) ..
|
|
169
|
+
sub (s, i + 1, -1)
|
|
170
|
+
local change = ind + 1 - (i - j)
|
|
171
|
+
lstart = j + change
|
|
172
|
+
len = len + change
|
|
173
|
+
end
|
|
174
|
+
return s
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
--- Write a number using SI suffixes.
|
|
178
|
+
-- The number is always written to 3 s.f.
|
|
179
|
+
-- @param n number
|
|
180
|
+
-- @return string
|
|
181
|
+
function numbertosi (n)
|
|
182
|
+
local SIprefix = {
|
|
183
|
+
[-8] = "y", [-7] = "z", [-6] = "a", [-5] = "f",
|
|
184
|
+
[-4] = "p", [-3] = "n", [-2] = "mu", [-1] = "m",
|
|
185
|
+
[0] = "", [1] = "k", [2] = "M", [3] = "G",
|
|
186
|
+
[4] = "T", [5] = "P", [6] = "E", [7] = "Z",
|
|
187
|
+
[8] = "Y"
|
|
188
|
+
}
|
|
189
|
+
local t = format("% #.2e", n)
|
|
190
|
+
local _, _, m, e = t:find(".(.%...)e(.+)")
|
|
191
|
+
local man, exp = tonumber (m), tonumber (e)
|
|
192
|
+
local siexp = math.floor (exp / 3)
|
|
193
|
+
local shift = exp - siexp * 3
|
|
194
|
+
local s = SIprefix[siexp] or "e" .. tostring (siexp)
|
|
195
|
+
man = man * (10 ^ shift)
|
|
196
|
+
return tostring (man) .. s
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
--- Do find, returning captures as a list.
|
|
200
|
+
-- @param s target string
|
|
201
|
+
-- @param p pattern
|
|
202
|
+
-- @param init start position (default: 1)
|
|
203
|
+
-- @param plain inhibit magic characters (default: nil)
|
|
204
|
+
-- @return start of match, end of match, table of captures
|
|
205
|
+
function tfind (s, p, init, plain)
|
|
206
|
+
local function pack (from, to, ...)
|
|
207
|
+
return from, to, {...}
|
|
208
|
+
end
|
|
209
|
+
return pack (p.find (s, p, init, plain))
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
--- Do multiple <code>find</code>s on a string.
|
|
213
|
+
-- @param s target string
|
|
214
|
+
-- @param p pattern
|
|
215
|
+
-- @param init start position (default: 1)
|
|
216
|
+
-- @param plain inhibit magic characters (default: nil)
|
|
217
|
+
-- @return list of <code>{from, to; capt = {captures}}</code>
|
|
218
|
+
function finds (s, p, init, plain)
|
|
219
|
+
init = init or 1
|
|
220
|
+
local l = {}
|
|
221
|
+
local from, to, r
|
|
222
|
+
repeat
|
|
223
|
+
from, to, r = tfind (s, p, init, plain)
|
|
224
|
+
if from ~= nil then
|
|
225
|
+
table.insert (l, {from, to, capt = r})
|
|
226
|
+
init = to + 1
|
|
227
|
+
end
|
|
228
|
+
until not from
|
|
229
|
+
return l
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
--- Split a string at a given separator.
|
|
233
|
+
-- FIXME: Consider Perl and Python versions.
|
|
234
|
+
-- @param s string to split
|
|
235
|
+
-- @param sep separator regex
|
|
236
|
+
-- @return list of strings
|
|
237
|
+
function split (s, sep)
|
|
238
|
+
-- finds gets a list of {from, to, capt = {}} lists; we then
|
|
239
|
+
-- flatten the result, discarding the captures, and prepend 0 (1
|
|
240
|
+
-- before the first character) and append 0 (1 after the last
|
|
241
|
+
-- character), and then read off the result in pairs.
|
|
242
|
+
local pairs = list.concat ({0}, list.flatten (finds (s, sep)), {0})
|
|
243
|
+
local l = {}
|
|
244
|
+
for i = 1, #pairs, 2 do
|
|
245
|
+
table.insert (l, sub (s, pairs[i] + 1, pairs[i + 1] - 1))
|
|
246
|
+
end
|
|
247
|
+
return l
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
--- Remove leading matter from a string.
|
|
251
|
+
-- @param s string
|
|
252
|
+
-- @param r leading regex (default: <code>"%s+"</code>)
|
|
253
|
+
-- @return string without leading r
|
|
254
|
+
function ltrim (s, r)
|
|
255
|
+
r = r or "%s+"
|
|
256
|
+
return (gsub (s, "^" .. r, ""))
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
--- Remove trailing matter from a string.
|
|
260
|
+
-- @param s string
|
|
261
|
+
-- @param r trailing regex (default: <code>"%s+"</code>)
|
|
262
|
+
-- @return string without trailing r
|
|
263
|
+
function rtrim (s, r)
|
|
264
|
+
r = r or "%s+"
|
|
265
|
+
return (gsub (s, r .. "$", ""))
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
--- Remove leading and trailing matter from a string.
|
|
269
|
+
-- @param s string
|
|
270
|
+
-- @param r leading/trailing regex (default: <code>"%s+"</code>)
|
|
271
|
+
-- @return string without leading/trailing r
|
|
272
|
+
function trim (s, r)
|
|
273
|
+
return rtrim (ltrim (s, r), r)
|
|
274
|
+
end
|