25 lines
925 B
Diff
25 lines
925 B
Diff
|
Add support of linenoise (replace readline)
|
||
|
|
||
|
see discussion, http://lua-users.org/lists/lua-l/2010-03/msg00879.html
|
||
|
|
||
|
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
|
||
|
|
||
|
Index: b/src/luaconf.h
|
||
|
===================================================================
|
||
|
--- a/src/luaconf.h
|
||
|
+++ b/src/luaconf.h
|
||
|
@@ -279,6 +279,13 @@
|
||
|
if (lua_strlen(L,idx) > 0) /* non-empty line? */ \
|
||
|
add_history(lua_tostring(L, idx)); /* add it to history */
|
||
|
#define lua_freeline(L,b) ((void)L, free(b))
|
||
|
+#elif defined(LUA_USE_LINENOISE)
|
||
|
+#include <linenoise.h>
|
||
|
+#define lua_readline(L,b,p) ((void)L, ((b)=linenoise(p)) != NULL)
|
||
|
+#define lua_saveline(L,idx) \
|
||
|
+ if (lua_strlen(L,idx) > 0) /* non-empty line? */ \
|
||
|
+ linenoiseHistoryAdd(lua_tostring(L, idx)); /* add it to history */
|
||
|
+#define lua_freeline(L,b) ((void)L, free(b))
|
||
|
#else
|
||
|
#define lua_readline(L,b,p) \
|
||
|
((void)L, fputs(p, stdout), fflush(stdout), /* show prompt */ \
|