diff options
author | Remko Tronçon <git@el-tramo.be> | 2013-12-28 16:13:08 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2014-01-03 11:09:06 (GMT) |
commit | 0b19dc7292b7672c9fbb711a411c392bc5b2bb34 (patch) | |
tree | d5af147193d52a3e63d348dd794ca92cdd934974 /Sluift/linit.c | |
parent | 5a89265623214164fa7ce36721de05183d53058d (diff) | |
download | swift-contrib-0b19dc7292b7672c9fbb711a411c392bc5b2bb34.zip swift-contrib-0b19dc7292b7672c9fbb711a411c392bc5b2bb34.tar.bz2 |
Sluift: Custom console/interpreter
- Prints results of each command (if it can be interpreted as an
expression)
- Stores results of last command in _1, _2, ...
- Supports tab completion
- Compatible with Lua 5.2
Other changes:
- Add support for specifying custom editline library
- Don't load sluift into global namespace. Tab completion should be
convenient enough.
Change-Id: I2a26346469d67c281d09d47cacaa0b267f5ea9f9
Diffstat (limited to 'Sluift/linit.c')
-rw-r--r-- | Sluift/linit.c | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/Sluift/linit.c b/Sluift/linit.c deleted file mode 100644 index ad27b37..0000000 --- a/Sluift/linit.c +++ /dev/null @@ -1,37 +0,0 @@ -#include <lua.h> -#include <lualib.h> -#include <lauxlib.h> -#include "sluift.h" - -static const luaL_Reg lualibs[] = { - {"", luaopen_base}, - {LUA_LOADLIBNAME, luaopen_package}, - {LUA_TABLIBNAME, luaopen_table}, - {LUA_IOLIBNAME, luaopen_io}, - {LUA_OSLIBNAME, luaopen_os}, - {LUA_STRLIBNAME, luaopen_string}, - {LUA_MATHLIBNAME, luaopen_math}, - {LUA_DBLIBNAME, luaopen_debug}, - {"sluift", luaopen_sluift}, - {NULL, NULL} -}; - - -LUALIB_API void luaL_openlibs (lua_State *L) { - const luaL_Reg *lib = lualibs; - for (; lib->func; lib++) { - lua_pushcfunction(L, lib->func); - lua_pushstring(L, lib->name); - lua_call(L, 1, 0); - } - - /* Import sluift into global namespace */ - lua_pushglobaltable(L); - lua_getfield(L, -1, "sluift"); - for (lua_pushnil(L); lua_next(L, -2); ) { - lua_pushvalue(L, -2); - lua_pushvalue(L, -2); - lua_settable(L, -6); - lua_pop(L, 1); - } -} |