summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2013-12-28 16:13:08 (GMT)
committerRemko Tronçon <git@el-tramo.be>2014-01-03 11:09:06 (GMT)
commit0b19dc7292b7672c9fbb711a411c392bc5b2bb34 (patch)
treed5af147193d52a3e63d348dd794ca92cdd934974 /Sluift/linit.c
parent5a89265623214164fa7ce36721de05183d53058d (diff)
downloadswift-0b19dc7292b7672c9fbb711a411c392bc5b2bb34.zip
swift-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.c37
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);
- }
-}